Reference / Nodes

Modifiers

Float-in, float-out, these are the nodes you wire between a raw value source (a sound band, a time, a knob) and the port it's driving.

Most modifiers are stateless and trivially cheap. The accumulator, delay, smoothing and trigger nodes are the exceptions, they hold per- frame state so the value you read this frame depends on the previous ones.

Sine Wave

sineWaveModifier

Sine oscillator at a chosen frequency, amplitude and phase offset.

Inputs
PortTypeDefaultRangeNotes
frequencyfloat1,
amplitudefloat1,
offsetfloat0,
Outputs
PortTypeDefaultRangeNotes
valuefloat,,

Output runs in [-amplitude, amplitude]; add offset to shift the centre.

Range Remap

rangeRemapModifier

Linear remap from [inMin, inMax] to [outMin, outMax]. The most-used utility in the engine.

Inputs
PortTypeDefaultRangeNotes
valuefloat0,
inMinfloat0,
inMaxfloat1,
outMinfloat0,
outMaxfloat1,
Outputs
PortTypeDefaultRangeNotes
resultfloat,,

Same node as in Math & Logic, listed here too because it's the second-most-reached-for modifier after Sine Wave.

Step Sequencer

stepSequencerModifier

Outputs a value from an 8-step sequence advancing at a given BPM.

Inputs
PortTypeDefaultRangeNotes
bpmfloat120,
Outputs
PortTypeDefaultRangeNotes
valuefloat,,
stepint,,

The eight step values are set on the inspector. The step output is the integer index, useful for triggering different actions per beat.

Accumulator

accumulatorModifier

Running sum of input × dt. Reset goes back to zero. The integrator primitive.

Inputs
PortTypeDefaultRangeNotes
inputfloat1,
ratefloat1,
resetfloat0,
Outputs
PortTypeDefaultRangeNotes
valuefloat,,

Drive a continuously-increasing rotation, fake an energy bar that fills over time, or build a one-shot ramp by feeding constant 1.

Smooth Value

smoothValueModifier

Exponential smoothing with separate up / down rates.

Inputs
PortTypeDefaultRangeNotes
valuefloat0,
smoothUpfloat0.9,
smoothDownfloat0.9,
Outputs
PortTypeDefaultRangeNotes
resultfloat,,

Asymmetric smoothing means a snappy attack and a slow release, exactly what you want when an audio band drives a brightness or scale.

Quantise

quantiseModifier

Snaps a continuous value to N discrete steps.

Inputs
PortTypeDefaultRangeNotes
valuefloat0,
stepsfloat4,
Outputs
PortTypeDefaultRangeNotes
resultfloat,,

Useful for stepped color shifts, pixel-art-style scale jumps or for making a smooth control feel notched.

Delay Value

delayValueModifier

Delays the input by N seconds using a ring buffer.

Inputs
PortTypeDefaultRangeNotes
valuefloat0,
delayfloat0.5,
Outputs
PortTypeDefaultRangeNotes
resultfloat,,

Wire several at increasing delays to spread one signal across multiple downstream targets, like a lighting console's strobe-chase.

Limiter

limiterModifier

Hard clamp between min and max.

Inputs
PortTypeDefaultRangeNotes
valuefloat0,
minfloat0,
maxfloat1,
Outputs
PortTypeDefaultRangeNotes
resultfloat,,

Math Modifier

mathModifierModifier

Unary math, abs, floor, sin, cos, sqrt, exp, log, sign, etc. Pick the function on the inspector.

Inputs
PortTypeDefaultRangeNotes
valuefloat0,
Outputs
PortTypeDefaultRangeNotes
resultfloat,,

Curve Remap

curveRemapModifier

Power-curve easing, pow(value, exponent). Set exponent < 1 for ease-out, > 1 for ease-in.

Inputs
PortTypeDefaultRangeNotes
valuefloat0,
exponentfloat2,
Outputs
PortTypeDefaultRangeNotes
resultfloat,,

Trigger Value

triggerValueModifier

Attack / hold / release envelope retriggered by a threshold crossing.

Inputs
PortTypeDefaultRangeNotes
triggerfloat0,
attackfloat0.05,
holdfloat0.1,
releasefloat0.3,
Outputs
PortTypeDefaultRangeNotes
valuefloat,,

Fires a 0→1→0 envelope each time the trigger input crosses 0.5. Useful for one-shot punches off a bass band or a beat detector.

Texture utilities

These operate on texture streams rather than single floats - compositing, feedback, frame timing, and resolution changes. Most of their controls (blend mode, feedback amount, scale factor) live in the inspector; the connectable ports are listed below.

Composite Sources

compositeSourcesModifier

Layers two texture sources with a selectable blend mode and opacity.

Inputs
PortTypeDefaultRangeNotes
backgroundtexture,,Bottom layer. Null = opaque black.
foregroundtexture,,Top layer. Null = transparent.
opacityfloat101Foreground opacity.
Outputs
PortTypeDefaultRangeNotes
texturetexture,,

Proper premultiplied alpha-over compositing. The blend mode (Normal, Add, Multiply, Screen, Overlay, Lighten, Darken, Difference) is an inspector field. Use it to stack two finished chains.

Luminance Key

luminanceKeyModifier

Keys out pixels by brightness - a luma key for removing dark or bright areas.

Inputs
PortTypeDefaultRangeNotes
texturetexture,,Source. Null = transparent black.
lowfloat001Low luminance threshold.
highfloat0.101High luminance threshold.
Outputs
PortTypeDefaultRangeNotes
texturetexture,,

Modulates alpha by a luminance key (Rec. 601 weights). Softness, invert, and key mode (key dark / key bright / keep the range between the thresholds) are inspector fields.

Temporal Filter

temporalFilterModifier

Exponential moving average over frames for motion blur, ghost trails, or temporal denoising.

Inputs
PortTypeDefaultRangeNotes
texturetexture,,
smoothingfloat0.8,0 = no trail, 1 = infinite trail.
Outputs
PortTypeDefaultRangeNotes
texturetexture,,

Accumulates each frame into a running average. A motion threshold and a fade-to-black option (inspector) let you trail only moving regions or slowly clear the buffer.

Frame Delay

frameDelayModifier

Delays the input by N frames through a ring buffer, for time-offset effects and motion echo.

Inputs
PortTypeDefaultRangeNotes
texturetexture,,
Outputs
PortTypeDefaultRangeNotes
texturetexture,,

The delay length (1–30 frames) is an inspector field. Stack a few at different delays and composite them for a strobing echo trail.

Frame Buffer

frameBufferModifier

Feedback loop that blends the current input with its own previous output for trails and recursive effects.

Inputs
PortTypeDefaultRangeNotes
texturetexture,,
Outputs
PortTypeDefaultRangeNotes
texturetexture,,

The classic feedback primitive. Feedback amount, per-frame decay, and a momentary clear are inspector fields. Insert a transform in the loop for zooming / rotating tunnels.

Downsample

downsampleModifier

Reduces resolution by an integer factor with optional box filtering - for pixelation or blur chains.

Inputs
PortTypeDefaultRangeNotes
texturetexture,,
Outputs
PortTypeDefaultRangeNotes
texturetexture,,1/factor the input size.

Factor (2×–16×) and box-filter vs point-sample are inspector fields. Pair with upsample to build cheap blurs.

Upsample

upsampleModifier

Increases resolution by an integer factor with bilinear or nearest filtering.

Inputs
PortTypeDefaultRangeNotes
texturetexture,,
Outputs
PortTypeDefaultRangeNotes
texturetexture,,factor × input, capped at 8K.

Factor (2×–8×) and filter mode (bilinear or nearest, for pixel-art scaling) are inspector fields.

Resize

resizeModifier

Resizes the input to a scale factor or an absolute resolution, bilinear or nearest.

Inputs
PortTypeDefaultRangeNotes
texturetexture,,
scaleFactorfloat0.50.014Used in scale-factor mode.
Outputs
PortTypeDefaultRangeNotes
texturetexture,,

Mode (scale factor vs absolute), target width/height, and filter mode are inspector fields. Useful to pin a chain to a fixed working resolution.

Video Null

videoNullModifier

Pass-through node that forwards the input texture unchanged.

Inputs
PortTypeDefaultRangeNotes
texturetexture,,
Outputs
PortTypeDefaultRangeNotes
texturetexture,,

A no-op for organizing graphs: name a connection point, fan one signal out to several destinations, or leave a reroute handle while debugging. Null input returns transparent black.