https://github.com/adobe/behavior_tree_editor
A visual editor for building behavior trees for the bots
https://github.com/adobe/behavior_tree_editor
Last synced: 6 days ago
JSON representation
A visual editor for building behavior trees for the bots
- Host: GitHub
- URL: https://github.com/adobe/behavior_tree_editor
- Owner: adobe
- License: mit
- Created: 2020-04-30T20:21:04.000Z (over 6 years ago)
- Default Branch: master
- Last Pushed: 2024-04-08T12:49:49.000Z (over 2 years ago)
- Last Synced: 2026-04-21T08:02:27.624Z (4 months ago)
- Language: JavaScript
- Homepage: https://opensource.adobe.com/behavior_tree_editor/#/dash/home
- Size: 2.45 MB
- Stars: 61
- Watchers: 6
- Forks: 12
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGES.md
- License: LICENSE
Awesome Lists containing this project
README
# Behavior Tree Editor
This tool has been adapted for the [Bot Testing Framework](https://hexdocs.pm/bot_army/1.0.0/readme.html) based on the existing [Behavior3 Editor](https://github.com/behavior3/behavior3editor/).
> See the [Releases tab](https://github.com/adobe/behavior_tree_editor/releases) to download a native (Mac only) application that will save and load flies from disk (recommended).
>
> You can also access a [web app](https://opensource.adobe.com/behavior_tree_editor/#/dash/home) version. Your data will be saved in your browser's local storage. Use "Project > Import > Project as JSON" and "Project > Export > Project as JSON" to load/save from/to a local source controlled .json file for running the tests.

## Basic usage
- Drag nodes from the left sidebar, drag the node "handles" to connect nodes
- Press "a" to auto organize the tree
- Make new trees under "Project/New tree" or hover over "Trees" side bar divider
- You can drag the tree names just like other nodes to nest trees
- You must name one tree "Root" (the name of the tree is set via the title of the tree's root node)
- Shift+click to pan the view (or middle mouse button)
- Del key (fn+delete on a macbook) deletes a node
- Each node has details/instructions in its description
- Be sure to save via the menu icon or cntr+s or "Project/Save project"
- You can create custom action nodes via "Project/New node" or the Nodes sidebar divider. They should have a unique name, the "actions" category, and a title in the same format as the generic function action.
- See [`mix bots.extract_actions`](https://hexdocs.pm/bot_army/1.0.0/Mix.Tasks.Bots.ExtractActions.html) on how to import custom actions from your code base.
- Using "" in a node's title will render the value for that property's key
- You can use "templates" in titles and properties to reference properties on the tree's root node. Templates look like "{{key_name}}".
## Main features
- **Custom Nodes**: you can create your own node types inside one of the three basic categories - _composite_, _decorator_, _action_.
- **Individual Node Properties**: you can modify node titles, description and custom properties.
- **Manual and Auto Organization**: organize by dragging nodes around or just type "a" to auto organize the whole tree.
- **Create and Manage Multiple Trees**: you can create and manage an unlimited number of trees.
- **Import and Export to JSON**: export your project, tree or nodes to JSON format.
- Import them back. Use JSON on your own custom library or tool. You decide.