The node graph
The canvas where nodes are added, wired together, and arranged.
Every node in the graph is part of the project. There is no hidden state, only the nodes you place and the wires between them.
Getting around
Pan with a middle-mouse drag or a two-finger trackpad scroll. Zoom with the scroll wheel, Cmd+scroll or a pinch, centred on the cursor and clamped between 10% and 1000%. Dragging the empty background draws a marquee selection rather than panning.
The graph keeps its own framing. It has nothing to do with the The viewport camera.
Adding nodes
Press Tab anywhere on the canvas to open the search palette at the cursor.
Typing fuzzy-matches node name, keywords, tags and description, so the exact name is not needed.
Typing the name of a setting's value, such as a blend mode, surfaces the nodes offering that choice, shown as a blue capsule. Parameter names themselves are not matched.
The family tabs browse by category: GENERATE, MODIFY, DATA, IO, STRUCTURE, PLUGIN.
Enterpicks the highlighted node and hands you a ghost that follows the cursor. Click the canvas to place it.
The footer carries a short description of whatever is highlighted.
The arrow keys do not move through the palette results. The search box takes focus when the palette opens, and the up and down bindings are suppressed while a text field has focus. Esc needs two presses for the same reason: the first leaves the search box, the second closes the palette.
Wiring nodes together
Nodes connect through sockets, the dots along their edges. Outputs sit on the right, inputs on the left. Drag from one socket to another and release.
Making the connection also turns the upstream node's opacity down to 0, so it stops drawing on its own and only the downstream result appears. Cutting the last wire out of it puts the opacity back. The value is yours to override: see The viewport.
While you drag, a polymorphic socket settles on the colour matching what you are carrying, and sockets that cannot accept the connection fade to 40%. The wire snaps to the nearest socket within about 48 px. That snap goes by direction and distance, not by type, so it can still land you on a socket the drag will not satisfy.
Socket shape says what kind of data flows through:
Circle, a single or polymorphic value. Most sockets are these.
Diamond, array-shaped data, such as one value for each point.
Capsule, several wires at once. Merge, Stack, Mesh and Physics World gather everything landing on one capsule, in the order the wires were made. Rewire to change that order; there is no drag gesture for it.
Hovering a wire shows the source output's current value and what that node cost to cook. A wire whose types do not match and for which no conversion exists gets an error tooltip instead, and draws as marching dashes.
Reordering stacked slots
A node that grows a slot per wire gives each slot its own socket rather than sharing one capsule. A Composite grows layer_0, layer_1 and so on, each carrying its own opacity on the same row, and a loop grows a state_N row per carried value. The rows read bottom-to-top, so layer_0 sits at the bottom of the node and at the bottom of the stack.
To move a slot, drag the grip handle in its row's left gutter. An accent line marks where the row will land, and the drop rewires the slots rather than nudging anything visually. Dragging the wire does not reorder anything, and a press on the socket itself still starts a wire. The Layer Manager's tap rows carry the same grip, as do parameter rows on a node that has named sections, where a drag can also carry a row into a different section.
Splicing a node onto a wire
Drop a new node on top of an existing wire and the wire reroutes through it, with no rewiring. The wire about to be spliced highlights in the accent colour while you drag, before you commit. This works both for a node placed from the Tab palette and for a single duplicate made with Alt+drag.
Peeling off a connection
Grab a wire at its input end and drag: that end detaches and follows the cursor, ready to drop on a new socket. Grabbing the output end starts a second wire from that output instead, which is how one output feeds several inputs. Right-click a wire for its menu, which carries the bidirectional conversion and Delete Wire.
Right-click an output socket for Pin to Data Viewer, which adds that one output to the stack of watched outputs in the Data Viewer and keeps it there while you select and edit elsewhere. The same menu reads Unpin from Data Viewer once it is pinned. Pins are saved beside the project and deleting the node drops them.
Selecting and arranging
Click a node to select it, Shift+click to add to the selection, and drag a box across empty canvas to marquee-select everything inside. Right-click a node for its menu: rename, duplicate, bypass, solo, set strength, pin to panel, recolour, and more. Right-click empty canvas for Add Node..., Paste, Select All and Frame All.
Two items in the node menu appear only when they apply. Collapse to Subgraph needs two or more nodes selected, and Save Selection as Node... needs at least one, so a single Expression can be written out as a node type of its own. On a subgraph node the menu also carries Edit in Window, covered in Pop-out windows.
Cmd+G is the same collapse, and it is contextual. With parameter rows selected on a single node it opens the Group... dialog for those rows instead, which is the accelerator for the same item on the parameter row's own menu. A parameter selection spanning two nodes has no single target, so it collapses the node selection as usual.
The node title bar
The title bar colour groups nodes by family. A mute dot marks a bypassed node, an S marks a soloed one, and a letter shows the cook policy. A red dot marks a node that is recording, and a purple badge marks GPU or PY.
There is no cooking indicator. A node that fails draws a red border around the whole box rather than an icon in the bar.