Selection, layout and the viewport
Selecting
| Action | Effect |
|---|---|
| Click a node | select it (and expand once, see Expanding) |
| Click a line | select the relationship |
| ⇧-click a node | add it to the selection, or take it out |
| Drag on empty canvas | draw a box; every node inside is selected (⇧-drag adds to the selection) |
| Click empty canvas | deselect; also closes the search bar |
| Esc | deselect; close an open composer |
| Command palette, a connection in the inspector, a result in the search panel | select that node and fly to it |
With several nodes selected the inspector shows them by type, lets you edit their shared properties at once, and offers Show more of each, Hide and Delete. Lines between selected nodes light up.
Dragging and pinning
Drag a node and it moves with the pointer; let go and it’s pinned there: the layout no longer moves it. Drag one of several selected nodes and they all move together and are all pinned. Pinned nodes show a centre dot on hover and a pin in the hover card and inspector.
- Double-click a node to unpin it (the layout can move it again).
- The inspector’s pin button unpins one node.
- Tidy Layout (View menu or command palette) unpins every node.
On an arranged canvas nodes aren’t pinned by dragging: where a node stands says what it is, so a dragged node glides back.
The force layout
Nodes you haven’t pinned are placed by a force simulation: nodes repel each other, connections pull like springs, and nodes don’t overlap. It runs off the main thread, two ticks at a time, and cools until it stops; any change (a node brought in, a connection added, a drag) reheats it a little so things settle around the change rather than reshuffling everything. New nodes start on a sunflower spiral around the node they came from, or around the middle of the view.
Panning and zooming
- Scroll to pan. Hold Space or ⌘ and drag empty canvas to pan (a plain drag selects).
- ⌘-scroll or pinch to zoom around the pointer.
- The zoom control at the foot shows the percentage; its fit button and ⌘0 frame everything on the canvas (an arranged canvas frames its ruler and lanes too).
- Flying to a node (from a list or a search) centres it and, if zoomed out below 60%, zooms to 100%.
The viewport is clear of the floating panels: fitting and centring use only the area no panel covers.
What’s saved, and when
Positions, pins, which nodes are on the canvas, and which node brought each in are saved to the project’s layout.json about half a second after the layout stops moving, and when the project closes. Pinned nodes are saved where you pinned them even while an arrangement has them elsewhere. The answer canvas isn’t saved: it’s the latest answer. The Graph canvas’s arrangement is saved per project; its filters aren’t.