Cook policy
A badge on every node sets when it recomputes: on demand, every frame, or never.
What 'cook' means
A node cooks when it does its work and produces a fresh result: a shape is drawn, points are scattered, a frame is rendered. A node cooks only when something it depends on changes. If nothing changed, the existing result is reused, which is what keeps editing fast in a big graph.
The cook policy badge overrides that. It sits on the node's title bar; click it to cycle through the states.
The three states
The badge cycles A → S → F and back. Each click moves to the next.
Auto Cook (
A, green). The node recomputes every frame, whether or not its inputs changed. Use it for anything reading the outside world in real time: a pointer, a camera, a MIDI or audio input. Live input nodes already behave this way by default, so this is rarely set by hand.Selective (
S, dim). Demand-driven: cook when inputs change, otherwise reuse the last result. A Selective node follows the transport, so it stops updating while playback is paused. Setting a live input to Selective is how you make it stop flowing, pinning a camera or pointer so it no longer reacts.Freeze (
F, ice blue). The node holds its last result and serves it regardless of inputs, timeline, and upstream edits. Use it to pause an evolving simulation, capture a generative moment, or switch off an expensive node so the rest of the graph stays responsive.
Freeze the heaviest node while you work on the rest of the graph, then un-freeze when you are ready.
Auto
A fresh node shows either A or S without anything being set. That resting state is Auto: Auto Cook for live inputs (pointer, camera, MIDI), Selective for everything else. Auto is not a badge you select, and the badge shows the letter it resolved to.
Clicking cycles in resolved letters, so what you see always advances. Landing back on the node's own default puts it back on Auto rather than pinning that state explicitly, which keeps project files clean. For a live input that collapses the cycle to two clicks, between Auto and Freeze.
An explicit Freeze or Selective still overrides a live input's default, so a camera can be pinned and a pointer can freeze on pause like any other node.
Auto Cook and playback
Auto Cook controls whether a node re-runs, not whether time moves forward inside it. A camera on Auto Cook keeps re-reading the real camera, so its output genuinely changes. A paused simulation on Auto Cook re-runs while staying on its current state; it does not step forward. Stepping a simulation is what play does, not what this badge does.
Dragging on a slow graph
Dragging a number normally recooks as you go, so the picture follows the pointer. Once a graph gets expensive that stops helping: each result lands after the pointer has moved on, and is replaced before you have looked at it.
The scheduler therefore watches how long the last cook actually took. Under 100 milliseconds nothing changes and a drag stays live, frame for frame. At 100 milliseconds and above, a continuous gesture waits until the value has stopped changing for about a sixteenth of a second and then cooks once, so a two-second drag produces one result instead of a queue of stale ones. Viewport gizmo drags follow the same rule. Nothing you do to the playhead ever waits, and neither does a topology change.
It is measured, not declared, so there is no list of expensive nodes to keep up to date. A graph that becomes cheap goes back to cooking live on its own.
Reset Node State
Simulations, feedback loops, and recorders carry running state between frames. Reset State (right-click a node, or press Shift+R with the graph focused) clears that memory, so the node starts fresh from frame zero on the next cook. Use it when a sim has drifted somewhere you do not want, or to re-run a build-up from the start.
Live Mode
Live Mode is a global toggle (Cmd+Shift+L) that sets what happens to stored state when the graph is edited while it is running.
On, the default. Edits hot-reload without wiping state. A running simulation or feedback loop keeps its current state across the change, so parameters can be tweaked mid-performance without restarting.
Off. Node state is wiped before every cook, not just after an edit, so the output is a pure function of the current graph.
Keep it on while performing or dialling in a simulation. Turn it off for export and anywhere a cook has to be repeatable, accepting that nothing can accumulate across frames while it is off.