Об этом проекте

Bonsai — это библиотека на Rust для построения деревьев поведения (Behavior Trees, BTs) — структуры данных, используемой для определения того, как выполняются поведения и в каком порядке. Она ориентирована на детерминированные приложения ИИ, такие как робототехника и игровое программирование, где важны модульность и реактивность потока управления. Крейт опубликован как bonsai-bt на crates.io и также предлагает привязки к Python через PyPI под тем же именем. Библиотека предоставляет ряд управляющих узлов: Sequence, Select, If, Invert, AlwaysSucceed, Timeout, While, WhileAll, WhenAll, WhenAny, Race и After. Узлы сигнализируют о состоянии Success, Failure или Running, позволяя родительским узлам решать, какой процесс будет следующим. Для длительных задач Bonsai поддерживает отправку асинхронных или синхронных заданий в фоновые потоки и получение статуса через каналы, сохраняя отзывчивость обхода дерева. Документация включает руководства по концепциям, примеры и руководство по разработке. Проект имеет сборки CI, отчётность о покрытии кода и поддерживается под лицензией MIT. Примеры использования и дополнительные сведения доступны в папке examples и каталоге docs.