Canvas navigation
| Gesture | Result |
|---|---|
| Middle-mouse drag | Pan |
| Right-mouse drag | Pan (once the drag passes the OS drag threshold) |
| Right-mouse click on empty canvas | Opens the Add Node menu at that point |
| Left-drag on empty canvas | Marquee-selects every node and comment box that intersects the box. Hold Ctrl or Shift to add to the current selection. |
| Left-click on empty canvas (no drag) | Clears the selection |
| Mouse wheel | Zoom, one discrete step per notch, centred on the cursor |
F |
Frame the selection if there is one, otherwise frame the whole graph |
Ctrl+F |
Opens the Find panel - see below |
| Double-click a wire | Inserts a Reroute knot on it, splitting the wire in two, in one undo step |
| Double-click a subgraph card | Steps into it |
Esc |
Closes the Find panel if it is open; otherwise steps out one subgraph level |
Zoom ladder: the wheel steps through a fixed set of levels rather than a smooth range: 0.10, 0.15, 0.25, 0.375, 0.50, 0.625, 0.75, 0.825, 0.875, 0.925, 0.95, 0.975, 1.00, 1.125, 1.25, 1.50, 1.75, 2.00.
Framing never magnifies past 1:1. Pressing F snaps its target zoom down to the nearest level on that same ladder and caps it at 1.00, so framing a small selection never zooms in past actual size. Comments are only included in the frame when you frame the whole graph, not when you frame a selection.
The Add Node menu
Right-click empty canvas, or drop a wire onto empty canvas, to open it. Its header reads Add Node normally, or Compatible with {0} when it was opened by dropping a wire, where {0} is the pin category you dragged from (one of struct, float, int, bool, object, string, name, text, enum, byte, real, double, int64, vector3, wildcard, texture2d or generate_settings).
How search matches: typing in the search field filters live. A node matches if your text appears, case-insensitively, in its displayed title, its short name, its raw class name, its category path (so typing a category name surfaces everything under it - see the category map in the Introduction), or its tooltip. An installed node preset (see Files, Autosave and Recovery) matches on its title, author, category or description instead.
Below the search field: an Add Comment entry; an Insert Simulation Template submenu of ready-made cloth, garment and flesh setups, shown only when simulation nodes are enabled for this install and you did not open the menu by dropping a wire; an Installed Nodes submenu listing every node preset installed on this machine, shown only when at least one is installed (and never offered in wire-drop mode, because a preset's pin surface is not known without placing it); and finally the full node catalogue, a nested tree built from each node's category path, sorted alphabetically, with every category collapsible.
Compatible-with filtering: when you drag a wire out and drop it on empty canvas, only nodes that have at least one pin of the opposite direction whose category is compatible with the pin you dragged from are listed - including the schema's scalar-override coercion exception, and, for struct pins, only nodes whose pin names the same struct type. The picker never offers a node the connection would then refuse, and never refuses one the connection would have accepted.
Auto-wiring: picking a node this way wires it in the same gesture. The graph tries an exact struct-shape match first - so dragging from a Mesh pin prefers offering a Mesh pin over a Selection pin on the new node - then falls back to a category-only match.
Comment boxes
Create one with C, Edit > Add Comment, the Add Node menu's Add Comment entry, or a node's right-click Add Comment Around Selection (see Nodes and Wires). A new box is titled Comment, coloured from the theme's info colour, and sized at least 60x40 free-standing (80x80 once you start resizing it).
Double-click the title bar to rename it in place. Drag anywhere on the body to move the box - this also moves every node it encloses. Drag an edge or corner to resize it. Right-clicking a comment does nothing special - the click falls through to the canvas, so pan and Add Node still work; text, colour, position, size and a Delete Comment button all live in the Details panel instead.
Comments live only at the top level of a graph - they are not drawn inside a subgraph card.
Find panel
Open it with Ctrl+F. It floats over the top-right of the canvas, with a field hinting Find node by title, class or comment; your previous query is pre-selected when you reopen it.
Press Enter in the field to jump to the best hit (not whatever the list happens to have selected); press Down to move focus into the results list instead. Esc closes the panel from the field, the list or the canvas. Each result row shows the node's title with its class name underneath, plus (in subgraph) when the node lives inside a collapsed card. The status line reads No matching nodes, or {0} of {1} nodes, and the list is capped at 50 results.
Clicking or entering a result selects that node, steps into any subgraph cards needed to reach it, and frames it - the panel stays open afterwards so you can try the next hit. Typing in the field never affects the canvas itself, so searching for a node named "Cone" cannot accidentally create a comment box.
Minimap
Bottom-right corner of the canvas, with a toggle button underneath labelled Hide Map or Show Map depending on its state. Tooltip: "Show or hide the graph overview map. Remembered between sessions." It is visible by default, and the setting is remembered between sessions.
It draws every node and comment as a small box (never smaller than 2 px), the selected node outlined, and a rectangle showing the current view. Click or drag on the map to jump the canvas there; right-click, middle-click and the wheel are swallowed so they never reach the canvas underneath, and a double-click is routed to the same jump rather than being able to split a wire beneath the map. The toggle button never takes keyboard focus, so clicking it does not steal focus from the canvas.
Copy, paste and duplicate
Ctrl+C or Edit > Copy copies the selection to the OS clipboard in an internal format, carrying every selected node's properties and pin bytes, the wires between them, and any selected comments. Copying a collapsed subgraph card copies its contents recursively. Only wires whose both ends are inside the selection are copied, and a selection larger than 512 MB is refused silently (logged, not shown).
Paste accepts either that internal format or a shared text envelope (from Copy as Shareable Text - see Nodes and Wires); if the clipboard holds a shared envelope, pasting opens the Import Node Preset dialog instead of placing nodes directly. A clipboard the app does not recognise shows the toast Paste failed / The clipboard does not contain a MeshMorpher node selection or a shared node's text.
Pasting from the menu is not the same as pasting with the keyboard. Edit > Paste always lands the pasted nodes near the top-left of the visible canvas, at a fixed graph position. Pressing Ctrl+V instead pastes at the view centre.
Ctrl+D or Edit > Duplicate copies the selection and pastes it at the view centre, offset by (40, 40) - duplicates appear in the middle of the view rather than beside the original.
Subgraphs
Collapsing: select nodes and right-click Collapse to Subgraph (or Collapse {N} Nodes to Subgraph). Wires that cross the boundary become pins on the new card; nothing already inside is rewired, and this is the only way to create a meaningful subgraph card - there is no equivalent entry in the Add Node menu.
Entering: double-click the card, or right-click it and choose Edit Subgraph Contents. Only that card's contents are drawn while you are inside it, your selection is cleared, and the editor restores that subgraph's own last pan and zoom rather than reframing.
Breadcrumb: a small bar at the top-left of the canvas reads GraphName > Card > Card, with every crumb except the current one a clickable button (tooltip: "Go back to this level."). The root crumb uses the graph's display name, or "Graph" if it has none; a card whose node has been deleted shows "Subgraph". The bar is entirely absent at the top level of the graph.
Leaving: press Esc, or click a breadcrumb - either way, the card you just stepped out of is left selected.
Promoted pins: right-click an interior pin's connector and choose Promote to Subgraph Pin to add a connector for it on the card, with or without a wire attached - see Nodes and Wires for the full set of pin-menu entries.
Nodes you create while inside a card - from the picker, a paste, a drop, or an Agentic tool - are adopted into that card even though the tools themselves always add at the top level first; you never lose track of something you just placed.
Deleting a subgraph card deletes its contents. It is still one undo step, so Ctrl+Z restores everything, but there is no separate "delete card only" option.
Copying a card copies its contents the same way. Select All, marquee-select and Frame all operate only on the subgraph scope you are currently viewing, never reaching into cards you have not entered.