What the map shows
Every process is a node, sized by its line count: a 40-line process reads as bigger than a 4-line one. Every .do and .go line becomes an arrow from the calling process to the called one. The header counts processes, links and missing targets; a legend spells out the colors: violet for .do, blue for .go, dashed red for missing.
A referenced name with no process behind it becomes a ghost: a small hollow node with a dashed red outline. However many processes point at the same missing name, there is one ghost for it, so a typo shows up once instead of staying invisible. Processes that nothing references and that reference nothing draw in gray with a muted label; the tooltip says 'not linked yet'.
The process you came from is filled violet. A translucent ring marks incoming references and thickens with the number of distinct callers.
How the layout works
The layout is a force simulation: nodes repel each other, linked nodes pull toward a rest length, and gentle gravity keeps the graph centered. Runic starts from a deterministic ring and runs 320 steps before showing anything, so the same documents always open to the same picture, fitted to the screen.
Hover a node and everything outside its neighborhood dims, with a tooltip giving its line count and how many processes call it. Drag a node and it stays pinned under your pointer while the rest relax around it. Drag empty space to pan; scroll to zoom between 25% and 250%; Fit frames the whole graph again.
Why it matters
A sidebar lists processes; a map shows structure. Hubs stand out by their rings, orphans sit gray at the edge, and every broken link is a red dashed arrow you can see from across the room. It is the fastest way to answer 'what does this depend on' for a workspace you did not write yesterday.
Limits and gotchas
The map covers processes only; sequence diagrams are not on it. Self-references are not drawn, and repeated links of the same kind between the same two processes collapse into one arrow.
Clicking a ghost does nothing, because there is no document to open. Fix the reference in the calling process, or create the missing process from the 'Create as process' quick fix in the editor. Positions are recomputed whenever the document set changes; the map does not remember a manual arrangement.
How to use it
- Click Map in the top barThe map opens full-screen over the editor.
- Read the header'N processes · M links' plus a red '· K missing targets' when any reference points nowhere. The legend on the right decodes the arrow colors.
- Hover a nodeIts neighbors stay bright, everything else dims, and the tooltip in the corner shows line count and caller count, or 'Referenced but never written — a broken link.' for a ghost.
- Rearrange if you likeDrag a node to pin it while the rest settle. Drag the background to pan. Scroll to zoom. Click Fit to frame everything again.
- Click a node to open itThe map closes and that process opens in the editor. Close or Esc returns without changing documents.
Commands & shortcuts
| Map | Top-bar button; opens the process map |
| Fit | Frames the whole graph in the canvas |
| Close / Esc | Returns to the editor |
| Click a node | Opens that process in the editor |
| Drag a node | Pins it while the layout relaxes around it |
| Drag the background | Pans the map |
| Scroll | Zooms between 25% and 250% |
Tips
- Open the map after a big import or an AI-generated set of linked processes: any name the generator misspelled is a red ghost.
- Thick rings mark the hubs. Rename those with care; the rename feature updates every caller, but the map shows you how many there are first.
- Gray nodes with 'not linked yet' are candidates for a .do from a parent process, or for deletion.
- Names longer than 26 characters are cut to 25 plus an ellipsis on the canvas; hover to read the full name in the tooltip.
Questions
Why is a node hollow and red?
It is a ghost: some process references that name with .do or .go, but no process with that name exists. Fix the spelling or create the process.
Does the map include sequence diagrams?
No. It is built from processes and their .do and .go lines only.
Will my dragged layout be saved?
No. The layout is recomputed from the documents each time, deterministically, so it looks the same on every open.
What do the two arrow colors mean?
Violet is .do, a call that returns. Blue is .go, a jump that ends the current path. Dashed red means the target is missing.