statig
statig copied to clipboard
Hierarchical state machines for designing event-driven systems
Looking to continue the discussion from https://github.com/mdeloof/statig/issues/3 for refactoring the async implementation to work in both `no_std` and `no_alloc` environments. In particular, I would like to use this crate within...
Although on_dispatch and on_transition hook are intend to be used for loging in some cases it can be useful to abuse them to have a global even handler that stores...
It would be convenient if superstates supported initial states just like the state_machine does. Any possibility of adding support for this? Or perhaps adding support for "initial transitions" rather than...
These changes enable the async feature to be used in no_std when alloc is still available. All tests still passed. - Use hashbrown::HashMap instead of std::collections::HashMap for alloc compatibility. -...
Hey all, I've been trying to integrate this library into Bevy for helping managing entity states. However I've encountered some issues with the borrow checker and passing in mutable references...
Thinking something like ```rust #[state_machine(visualize)] impl MyStruct { ... } fn main() { let mut state_machine = Blinky::default().uninitialized_state_machine().init(); let ascii_visualization: String = state_machine.visualize(); println!("{}", ascii_visualiztion); } ``` Which would print...
Hey, thanks for the cool library! It'd be nice to add the possibility of creating a [.dot file](https://en.wikipedia.org/wiki/DOT_(graph_description_language)) (or similar) for a defined state machine. This would enable deriving a...
Resolve #22
Problem: Currently, the macro does not support user-defined state enums. This limitation is particularly noticeable when users require fine-grained control over Serde serialization/deserialization, specifically when needing to leverage attributes like...