Triggers, events & booleans

A boolean is a state, true or false, held until it changes. A trigger is an event, a single moment when something happens.

State against event

There is no separate trigger type. A trigger is a boolean caught at the instant it changes. That moment of change is an edge: a rising edge when something turns true, a falling edge when it turns false.

Rule of thumb: if you'd say 'while …', use a boolean (a held state). If you'd say 'when …', use a trigger (an edge/event).

The trigger button

Some parameters show a trigger button in place of a checkbox. Click it and it fires for a single frame, then resets itself: 'reset this feedback loop now', 'fire this burst now'. A checkbox stays where you leave it.

Turning one into the other

Which node does which

NodeGives youState or event
LogicAND / OR / XOR / NOT / NAND / NOR of booleansState (no memory)
Compareresult (A vs B) + an edge that fires on changeBoth: state and event
Conditionalroutes data based on a conditionState
Holdsample-and-hold: grab a value when triggeredEvent in, value held out
State Machineadvances state on a trigger; fires on each transitionEvent-driven
Triggerwhich elements entered / are inside / exited a regionEvent (enter/exit) + state (inside)
Collision Detectthe same enter/exit moments, for contactEvent

Events need identity

'Entered' and 'exited' mean something only when an element can be identified from one frame to the next, which is what the @id attribute is for. Points from the Points node or a particle sim already carry one. Turn on Trigger's Track Identity, which is off by default, and it diffs that @id column frame to frame and reports exactly which element crossed the line rather than that something did. Left off, only inside and distance are meaningful. Collision Detect carries the same switch, on the same terms, for contacts rather than zones. See Attributes.

Triggers live in time, so they only make sense while playback is advancing. A paused graph never produces an edge, because nothing is changing frame to frame. See Time & playback.

See also