Skip to Content
GraphSelection, layout and the viewport

Selection, layout and the viewport

Drag, pan and zoomthe app's own web viewer · same engine, same canvas · read-onlyOpen full size ↗
Loading the graph…
Drag a node and it stays where you put it; scroll to pan; ⌘-scroll or pinch to zoom; ⌘0 fits. The viewer shares the app's layout engine.

Selecting

ActionEffect
Click a nodeselect it (and expand once, see Expanding)
Click a lineselect the relationship
⇧-click a nodeadd it to the selection, or take it out
Drag on empty canvasdraw a box; every node inside is selected (⇧-drag adds to the selection)
Click empty canvasdeselect; also closes the search bar
Escdeselect; close an open composer
Command palette, a connection in the inspector, a result in the search panelselect 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.