matthewp / robot

🤖 A functional, immutable Finite State Machine library
https://thisrobot.life
BSD 2-Clause "Simplified" License
1.9k stars 87 forks source link

Robot Visualizer #79

Open jjenzz opened 4 years ago

jjenzz commented 4 years ago

Are there any plans to build something similar to @statecharts/xstate-viz and @xstate/test?

matthewp commented 4 years ago

There are no plans currently, but I'm not against either such thing. It's just a matter of time and the right project to motivate building them. Happy to have contributions of course.

jjenzz commented 4 years ago

Thanks @matthewp. It's useful to know that these types of features are not already being worked on and are open for someone to pick up. I would love to help out because I prefer the FP approach here but like you have already said, time 🙈

osdiab commented 4 years ago

Wanted to say I too am interested in this! I tried out xstate and it is just dauntingly huge to me, and the functional approach here is appealing - syntax errors are much more tightly scoped to where they occur and it has way less overloading, plus the much smaller bundle size :) excited to see what tools can be built on top of this and maybe I can contribute some as time comes!

matthewp commented 4 years ago

A visualizer is more appealing to me now than it used to be. Especially one that could import/export statecharts XML, as that would then allow you to build a Robot codegenerator from statecharts XML. Maybe the XML import/export is something the XState visualizer would be willing to have added.

kayodebristol commented 4 years ago

Just some thoughts

So, I thought about how to compile a thisrobot machine to dot language and along the way realized that only a valid thisrobot could generate a valid graph. Hence, visualization could yield validation for free. 2 robots one wrench.

(wow, two cheesy jokes in one post. think it's time for break)

ehuelsmann commented 2 years ago

See #178 ; @matthewp : I propose that that implements the requested functionality and this issue can be closed.