Diagram representation of the state machine
Hey, thanks for the cool library!
It'd be nice to add the possibility of creating a .dot file (or similar) for a defined state machine.
This would enable deriving a graphical representation of the states and all the possible transitions via tools like Graphviz.
I've noticed there already is a similar issue open (#11), although I think that producing a .dot file is simpler than an ASCII representation.
Hi, thanks for trying out statig!
Having some sort of visualisation of state machines has been on my todo list for some time now. The major issue I don't really have a solution for is how to deduce the transitions between states. That logic is fully defined within the state handler so it can't be reliably understood by a macro. I've been considering the option to allow users to manually add the possible transitions with some sort of attribute, but then you could run into situations where code and documentation are out of sync, so it's not ideal. 😕
Another option is to let your UML diagram be the source of truth and codegen the statig state machine. That creates its own set of challenges... one is that it's challenging to add payloads to your events.
Btw., there is something similar in https://github.com/eugene-babichenko/rust-fsm . It uses the mermaid but PlantUml would also be great. Or even better to has the format as an option.