Hold

Capture and hold a value when triggered. Works on any value type.

What it does

Hold captures a value at a moment in time and keeps outputting that frozen value until the next capture. Any type works: a number, a colour, a vector, an image, a collection. What goes into Input comes back out unchanged, frozen.

Trigger decides when a new capture happens. A boolean gives a direct on/off trigger. A number, vector or colour is watched for a Threshold crossing, using magnitude for a vector and brightness for a colour. Edge sets which crossing counts: rising, falling, either, or every frame.

When to use it

ParameterTypeDefault
inputAny
triggerOneOf([Boolean, Number, Vec3, Color])
thresholdNumber0.500
edgeString"Rising"
capture_initialBooleantrue

Gotchas

Set Edge to "Every Frame" to re-capture continuously, which makes Output track Input every frame. This disables the hold behaviour without removing the node.

With nothing wired into Trigger, Hold captures once, on the first frame, when Capture Initial is on. With no trigger and Capture Initial off, Output never updates.

Threshold and Edge matter only when Trigger carries a number, vector or colour; they describe a crossing. A boolean Trigger is read directly, true fires, and Threshold is ignored.

Worked example

  1. Add a Hold node and wire the value to freeze into Input.

  2. Wire a boolean signal, a beat, a button or a comparison, into Trigger.

  3. Leave Edge on "Rising" to capture each time the trigger switches on.

  4. Read Output downstream for the frozen value, or check Triggered/Count to react to capture events themselves.

See also

Value Tracker · Sample · Compare · Numbers, signals & audio