Define a finite state machine as JSON (states, transitions, guard expressions) and simulate it for real — fire events, evaluate guards against a live context object, and watch the current state highlighted on a live Graphviz diagram. A genuine interpreter, not a scripted animation.
Diagram will render here once a valid definition is entered.
Simulation controls will appear here once a valid definition is entered.
A real finite-state-machine interpreter — firing an event evaluates the transition table (and any guard expression, a short JS expression checked against the Context JSON) and genuinely transitions, rejects, or reports a guard failure. The diagram is rendered client-side via Graphviz (@viz-js/viz), with the current state highlighted.
Define a finite state machine as JSON (states, transitions, guard expressions) and simulate it for real — fire events, evaluate guards against a live context object, and watch the current state highlighted on a live Graphviz diagram. A genuine interpreter, not a scripted animation.
Write it as JSON with states, transitions and guard expressions, then fire events to simulate it.
Guards are evaluated against a live context object you can edit, so a transition only fires when its guard is true.
Yes, it is a genuine interpreter rather than a scripted animation, and the current state is highlighted on a live Graphviz diagram.
It is a simple, in-browser way to design and test finite state machines using its own JSON format, not a drop-in XState runtime.
No. This tool runs entirely in your browser — your input is processed locally on your device and is never uploaded or stored on a server.