What it is
Runic draws the diagram; you never place a box. The engine is deterministic, so the same document always produces the same picture, and the toolbar offers a few global choices instead of a thousand local ones. Slides want left-to-right; a wiki page wants top-down. Same text.
The toolbar
Flow direction switches between top-to-bottom and left-to-right; branches fan out horizontally in one and vertically in the other. Compact cards shrinks every card to 60% width and hides the icon chips, so big flows read denser. Branch alignment centers branches under a decision, or keeps the first branch on the parent’s axis so a long main path reads straight. Tight packing, on by default, moves a sibling branch aside only where its boxes would collide with the arm before it, instead of reserving each arm’s full bounding box. Compact, alignment and packing are remembered in your browser once you have allowed Preferences in the cookie dialog; direction resets to top-down on reload.
Zoom runs from 25% to 250%, Ctrl/⌘ + scroll zooms toward the cursor, and fullscreen returns with Esc.
Captions and return arrows
End a step line with a colon and a caption, Customer pays: payment confirmed, and the caption rides the outgoing arrow as a pill. The colon needs a space on at least one side, so https:// and 14:30 never split. It works on plain steps, .input, .wait, .fail and .do; an .if cannot carry one, since branch arrows are labeled by their .then chips. A caption on a path that ends has no arrow and is dropped.
.back <a few words of a step> draws a dashed arrow from the box above it to any step or .input in the document, earlier or later; no card is drawn and the flow continues below. .back Created: cancel order captions it. Routes are orthogonal with rounded corners, through a gutter to the right (below, in left-to-right) proven clear of every node by a 14-pixel margin; parallel routes keep 14 pixels apart, several arrows into one box get staggered entries, a far-side target gets a direct arrow between the columns, and a self-loop draws a small out-and-around. Until the target text matches a step, a dashed hint pill shows beside the box.
Limits
No manual placement, no per-node override. Empty branches show an “Add a step…” placeholder. Left-to-right runs its own layout pass but reuses the same return-arrow router, transposed, so return arrows behave the same way in both orientations.
How to use it
- Flip directionClick the arrow button in the diagram toolbar (“Flow direction”). The flow re-lays out left-to-right; click again for top-down.
- Densify a big flowClick “Compact cards” for 60%-width cards. Tight packing is already on; toggle it to compare with roomy branches.
- Straighten the main pathClick “Branch alignment”. The first branch of each decision continues straight from its parent; siblings fan out one way.
- Caption an arrowEnd a line with
: caption, for exampleOrder ships: within 24h. A pill appears on the arrow leaving that card. - Add a return arrowUnder any step type
.back, pick a target from the menu, and add: labelif you want a caption. A dashed arrow routes around every box.
Commands & shortcuts
| Flow direction | Toolbar: top-to-bottom ↔ left-to-right (not persisted) |
| Compact cards | Toolbar: 60% card width, icon chips hidden (remembered with Preferences consent) |
| Branch alignment | Toolbar: center vs first-branch-on-axis (remembered with Preferences consent) |
| Tight packing | Toolbar: contour packing, on by default (remembered with Preferences consent) |
| step: caption | Caption on the outgoing arrow; space beside the colon required |
| .back target: label | Dashed return arrow to any step, optionally captioned |
| Ctrl / ⌘ + scroll | Zoom toward the cursor, 25%–250% |
| Esc | Exit fullscreen |
Tips
- Left-to-right plus branch alignment reads like a timeline; use it for slide exports.
- If two arms look crowded, toggle tight packing off to compare, then decide.
- Keep captions to two or three words; they sit beside the arrow and do not reflow the layout.
- Direction is not saved, so set it right before an export.
Questions
Can I move one box?
No. Every position is computed from the text. Change the order or nesting of lines, and use the toolbar toggles for the overall shape.
Why does my .if line turn red when I add a caption?
Decisions cannot carry an arrow caption; each branch arrow is already labeled by its .then chip. Move the caption to the step before the decision.
Why did a .back become a small dashed pill?
Its target matches no step text yet. Pick one from the .back menu or type a few words that appear in the step; the pill becomes the arrow when it matches.