Sobre el proyecto

Bonsai es una biblioteca de Rust para construir árboles de comportamiento (BTs), una estructura de datos utilizada para definir cómo se ejecutan los comportamientos y en qué orden. Está orientada a aplicaciones de IA determinista, como robótica y programación de juegos, donde el flujo de control modular y reactivo es importante. El crate se publica como bonsai-bt en crates.io y también ofrece bindings de Python a través de PyPI con el mismo nombre. La biblioteca proporciona una variedad de nodos de control: Sequence, Select, If, Invert, AlwaysSucceed, Timeout, While, WhileAll, WhenAll, WhenAny, Race y After. Los nodos señalan Success, Failure o Running, lo que permite a los nodos padre decidir el siguiente proceso. Para tareas de larga duración, Bonsai admite el envío de trabajos asíncronos o síncronos a hilos en segundo plano y la recepción del estado a través de canales, manteniendo el recorrido del árbol con capacidad de respuesta. La documentación incluye guías conceptuales, ejemplos y una guía de desarrollo. El proyecto cuenta con compilaciones de CI, informes de cobertura de código y se mantiene bajo la licencia MIT. Los casos de uso de ejemplo y detalles adicionales están disponibles en la carpeta de ejemplos y en el directorio de documentación.