Meet the Dramies
Dramies are the little agents that bring your diagrams to life. They walk, wait, get stuck, throw tantrums, and carry luggage.
Carry Luggage
Dramies carry state as "luggage" — JSON data that accumulates as they move through nodes.
Show Emotions
When stuck, Dramies get frustrated. Leave them too long and they'll throw a tantrum!
Customizable
Give each Dramie a unique color and mark to track different user types or scenarios.
Dramie States & Animations
Explore all the ways a Dramie can look and feel
Default Dramie - All States
Direction (Walking)
Luggage Variations
Clerks
Clerks are helper characters that belong to a node. They don't represent real users. They exist only to carry requests and responses between parts of the diagram.
When a Dramie reaches a situation that depends on someone else:
- A Clerk takes the request
- Travels to the relevant node
- Waits for an answer
- Returns with the result
Think of them as old-school office messengers — calm, dutiful, and a little dramatic.
Clerks never make decisions, never choose paths, and never roam freely. They simply make dependencies visible. The destination place answers via System rules.
System rules
Places can own simple declarative logic: if luggage matches conditions (AND), write outputs and optionally update persistent storage.
- Dramie — runs when a Dramie occupies the place
- Clerk — runs when a clerk delivers luggage here
- Both — same rule for either trigger
First matching rule wins. No scripting — just boolean conditions, outputs, and storage updates.
Guards
Guards appear at nodes that have entry requirements (`requires`). They check if a Dramie (or a Clerk-delivered request) has enough luggage to pass.
If not, they block entry and the Dramie stays stuck until the condition is satisfied.