Add a child node, or link the selected nodes to the last one selected — on a link, jump to its destination
p
Back to the previous selection — or, on a link, jump to its source. Either way the node is centred
dd
Remove the selected node or link
s
Focus the search box
r
Recenter and reset zoom — and the timeline, on the selected node's events
l
Lasso select
m
Multi-select — tap nodes in order
e
Start or stop a timeline event — nodes made in between belong to it
Shift + n
Same as n, but the link it makes is weak
k
Show or close this panel
Ctrl + S
Save to a file
Ctrl + Z
Undo a create, delete, move or recolour — while typing it undoes the text instead
Ctrl + Shift + Z
Redo
Enter
Same as n
Delete
Same as dd. Backspace too
Esc
Put down the lasso, then clear the search, then clear the selection — or close this panel
Graph
Scroll
Zoom
Drag canvas
Pan
Drag node
Move it and everything under it
Click
Select a node or link
Shift + click
Select a second node
Shift + click +
Same as +, but the link it makes is weak
Hover link
Show its label
Double click
Expand one layer, or collapse the subtree
Shift + double click
Expand the whole subtree — anything still folded below opens, however deep
Ctrl + double click
Show only this node's children — again to go back
Touch
Press and hold
Same as shift + double click
Triple tap
Same as ctrl + double click
Hold +
Same as +, but the link it makes is weak
Multi-select
Tap nodes in order, then + to link them all to the one tapped last
Multi-select
Links can be tapped too, to recolour or delete several
Swatches
The row of dots under the label recolours everything selected
Timeline
Scroll
Coarser or finer — a second per bar up to a year
Drag
Select every node created in that stretch and draw a curve round them
Shift + drag
Pan along the timeline
Click
Open the event under the cursor in the editor below
Double click
Back to the default day window
Hover
Show the event at that moment, if there is one
Search
foo bar
Both words, in labels or markdown
a || b
Either; && for both, ! to negate
node::foo
Nodes only; link:: for links, event:: for timeline events, all three by default
event::standup
Timeline events by title or notes — Enter opens one and selects what it holds
color == red
By colour name
date > 2025-01-01
By creation date, or an event's start; id compares raw timestamps
label : plan
Field contains; == and != are exact. title says the same
path : plan/tasks
Nodes under that branch — the labels from the root down, so path:/plan anchors at the top
Elsewhere
New tab
Its own graph. Each tab keeps a separate workspace, and a reload comes back to the same one
Save states
In settings: keep a copy of the graph to come back to, and restore it later
Theme
In settings: light, dark, or whatever the system asks for
Save
Save everything, or just the selected node and what hangs
off it. A subgraph is appended under the current selection when opened.
Colours
Named colours available to nodes. Renaming one updates every
node using it.
Save states
A copy of the whole graph, kept in this browser. One is also
taken for you before a file is opened or a new graph is started. They
belong to this tab's workspace, and they are no substitute for saving to
a file — clearing browser data takes them with it.