Design · Debug · Record · Replay

A studio for
behavior trees

Maestree is more than a viewer. Build trees on a visual canvas, connect to a running system to watch every tick live, set breakpoints, record a run, and replay it later — for BehaviorTree.CPP and py_trees, in one interface.

Everything you need around a tree

From first sketch to live debugging on hardware.

🎨

Visual editor

Compose trees on a canvas. Drag nodes from a palette of built-ins, tidy auto-layout, edit ports and blackboard remappings, undo/redo.

📡

Live debugging

Connect to a running tree and watch node statuses light up every tick — RUNNING, SUCCESS, FAILURE — in real time, straight from the canvas.

⏸️

Breakpoints

Pause the tick at any node, inspect state, then resume with the status you choose. Step through decision logic on real hardware (BehaviorTree.CPP).

⏺️

Record & replay

Capture a run to a .btlog and scrub through it afterwards — node transitions and blackboard state, tick by tick.

🗂️

Blackboard inspection

See live values for every blackboard key, plus a full change history — what was written, when, and by which node.

🔎

Project scanning

Point Maestree at your code. It discovers custom node types from C++ (registerNodeType) and Python (py_trees classes) into the palette.

See it in action

Short clips of the studio at work.

🎬 xml-editing
Design & edit — build the tree and export it as XML
🎬 live-debug
Live debugging — statuses tick in real time
🎬 breakpoints
Breakpoints — pause a tick and resume with a chosen status
🎬 record & replay
Record & replay — scrub a captured run tick by tick

One studio, two engines

Maestree speaks to both major behavior-tree runtimes through a single bridge — same canvas, same debugging, same recording pipeline.

  • BehaviorTree.CPP — via the Groot2 protocol (ZMQ). Full live view, breakpoints, and hooks.
  • py_trees — via ROS 2 snapshot streams. Live view, blackboard access per node, recording and replay.
BehaviorTree.CPPGroot2 · ZMQ
py_treesROS 2 · snapshots

How it works

A lightweight bridge sits between your automated system and the browser.

Your automated system BehaviorTree.CPP (ZMQ) or py_trees (ROS 2)
Maestree bridge Runs locally · normalizes both engines · WebSocket
Studio (browser) Live view · debug · record · replay

The bridge runs on your machine and streams the tree to the studio over a WebSocket. Nothing about your tree leaves your network — the hosted service only handles login & accounts.

Download

Get the Maestree studio for your platform.

Latest
v0.1.0
Linux Windows soon