Teaching Case — An Arrow to a State That Does Not Exist
One character changed: the transition out of `Paid` goes to `Shipd`. Every tool that draws what it is handed omits that arrow entirely — the renderer this engine replaces did `if (!a || !b) continue;` — so the figure showed a complete machine with one fewer edge, and nothing anywhere said an edge was missing. Here the arrow is drawn to a dashed box carrying the name that does not exist, and the reachability checks report a GAP rather than blaming the states the missing edge would have reached.
Make it your own.
title "Order lifecycle"
state Cart
state Pending
state Paid
state Shipped
state Delivered final
initial Cart
transition Cart -> Pending on "checkout"
transition Pending -> Paid on "payment"
transition Paid -> Shipd on "dispatch"
transition Shipped -> Delivered on "delivered"