For us the visual editor is a great sketching/design tool between engineers and product managers.
State factories are the generators for state pattern.
State machines are constraint systems which govern which states are allowed to transition to one another.
The use case for a visual editor is that as state machines get over a certain complexity (for me, usually around 15 states,) they start getting hard to reason about. Being able to see them helps.
Consider the case of a state machine representing some object's flow through a manufacturing process. There are three lines: one for main process, one for defect repair, and one for pull testing.
Each line has a set of steps going in both directions: one for progress and the other for Toyota Method style step-audits, going in reverse.
It turns out you forgot one of the steps in the defect repair process, near the middle.
If you're looking at this in code, it's down to reading all the text, looking for exceptions, differences, really working it over
If you're looking at this on a diagram, it's two stripes where it should be three, and there's these two half-stripes that shouldn't be there
This is one of the reasons I like programming my state machines in Rust using enums to represent states. If I forget to deal with that state in my match statement, the compiler yells at me.
Anyway, it's not that hard to come up with similar examples where a missing link in the mesh is easier to see than it is to read, and that's my core point.
Consider the case of writing out a small connectivity diagram for a near-grid of things. Now everybody but the edge has 4-5 links. One missing in that is brutally hard to find, if it's irregular, but probably still pretty easy to see.
> Our mission is to make app logic accessible to the entire team, including developers, designers, and stakeholders. Using state machines and statecharts as a common visual language, the software development cycle becomes more collaborative, eliminating handoff and tightening the feedback loop.
For me the more interesting benefit is how it might help an individual developer with designing/coding complex machines in the first place. Many devs value instant visual confirmation after each tiny code change, in a tight feedback loop that leads to a smooth, creative flow state. The GUI side of front-end dev is usually done this way in frameworks like Next.js. Using this new Stately editor via its VS Code plugin might create similar conditions when working on core application logic.