Ember
Loading...
Searching...
No Matches
Ember

A modern Linux behavior tree editor and visualizer

User Guide

Development

documentation

Reference


Overview

Ember is a modern, cross-platform behavior tree editor and visualizer designed for game developers, robotics engineers, and AI researchers. Built with C++14 and wxWidgets, it provides a powerful yet intuitive interface for creating, editing, and debugging behavior trees.

Key Features

Visual Editor

  • Interactive canvas for behavior tree visualization
  • Drag-and-drop node manipulation
  • Real-time preview of tree structure
  • Multiple tree support within a single project

Multi-File Project System

  • Load and manage multiple XML files as a single project
  • Cross-file SubTree references with automatic resolution
  • Project validation with detailed error reporting
  • Shared blackboard support across files

Flexible Parser System

  • Configurable XML parsing with parser profiles
  • Support for multiple XML formats (BehaviorTree.CPP, custom schemas)
  • Round-trip serialization preserving comments and formatting
  • libxml2-based robust parsing engine

Modern UI

  • Dockable panels for customizable workspace layout
  • Tabbed interface for multiple views
  • Dark/Light theme support
  • Preferences system for personalized workflow

Architecture

Ember is built with a clean separation between core logic and UI:

Ember Architecture
Component Description
EmberCore Framework-agnostic core library for behavior tree operations
EmberForge wxWidgets-based GUI application

See System Architecture for detailed architecture documentation.

Documentation

Guide Purpose
User Guide User Guide — How to use the application, workflows, and features
Development Developer Guide — Build, architecture, contribution, and API reference

Module Overview

EmberCore Modules

Module Description
Core Components Behavior tree data structures (Node, BehaviorTree, Blackboard)
Parsing System XML parsing, serialization, and configuration
Tree Adapters Abstraction layer for tree visualization
Abstract Interfaces Pure virtual interfaces for extensibility

EmberForge Modules

Module Description
Application Main application and frame window
Panels Dockable panel system
Tabs Tab components for different views
Dialog Windows Modal dialogs for user interaction
Scenes Scene containers and visualizations
Utilities Helper classes and converters

Quick Start

Building from Source

# Clone the repository
git clone https://github.com/Dmowmyh/BTV.git
cd BTV
# Build with the build script
./build.sh --auto-install
# Run the application
./bin/emberforge

Opening a Behavior Tree

  1. Launch EmberForge
  2. Go to File > Open or press Ctrl+O
  3. Select an XML behavior tree file
  4. The tree will be displayed in the main canvas

Creating a New Project

  1. Go to File > New Project
  2. Add XML files to your project
  3. Configure shared blackboards
  4. Save the project configuration

See Getting Started for a complete tutorial.

Documentation Sections

  • User GuideUser Guide for application usage and workflows
  • Developer GuideDevelopment for building, extending, and contributing

License

Ember is open source software. See the LICENSE file for details.

Contributing

Contributions are welcome! Please read the contributing guidelines before submitting pull requests.