Accumulator
accumulatorIntegrate a scalar over time. Output grows or oscillates as the input accumulates each frame. Auto-resets on scene time 0; an optional reset input clears to the initial value while held.
Cross-type helpers: scalar math, vec2 packing, grouping, arraying, and polymorphic transforms that work on image / spline / point inputs.
accumulatorIntegrate a scalar over time. Output grows or oscillates as the input accumulates each frame. Auto-resets on scene time 0; an optional reset input clears to the initial value while held.
arraypolymorphicTile an image, spline, or points into a grid. Image mode supports modulator inputs for per-cell scale/position/rotation variation; spline / point modes emit transformed CPU geometry — feed Jitter or Transform downstream for noise / uniform tweaks.
combine-vec2Build a vec2 from two scalars. Inputs default to the x/y params when unconnected, so the node also doubles as a vec2 constant.
group-lengthpolymorphicCount distinct group members as a scalar. Image mode counts image_group items; spline and points modes count distinct groupIndex values carried on subpaths / points (un-grouped input reports 1).
grouppolymorphicBundle N homogeneous inputs. For images, produces an image_group. For splines and points, concatenates into a single value with per-subpath / per-point groupIndex metadata matching the socket order (a=0, b=1, c=2…). Nodes that don't understand groupIndex just treat the output as a normal spline/points value; Select by Index and Count Indices key off the tags.
jitterpolymorphicPer-anchor positional jitter. Samples optional X-noise and Y-noise images at each anchor's own UV and displaces by the sampled value mapped to [-1..1] times the strength. Wire one Perlin Noise into both X and Y for diagonal jitter; wire two noises with different seeds for decorrelated 2D scatter. Disconnected inputs give 0 displacement on that axis.
mathpolymorphicScalar math: arithmetic, comparison, rounding, trig, and conversion. Each input can be a connected scalar or a value typed in the panel.
proximity-mergepolymorphicSnap nearby spline anchors or points together when they're within a distance threshold in UV space. Clusters merge to their shared centroid. Animate exposes a `t` scalar (0..1) for smoothly lerping positions, and Dedupe collapses each cluster to a single item once t reaches 1 — turning a snap into a true count-reducing merge.
remappolymorphicRemap an input from [in_min, in_max] to [out_min, out_max]. Scalar mode drives animation; image mode remaps every pixel's channels through the same range.
scene-timeEmits the current playback time as a scalar. Modes: linear, ping-pong, or stepped with easing. Connect to an exposed scalar input to drive animation.
group-pickpolymorphicFilter to one index of a group. For images, indexes into an image_group's array. For splines and points, keeps only subpaths / points whose groupIndex matches the chosen index — Group's output uses socket-order tags (a=0, b=1, c=2…). Index clamps to valid range.
split-vec2Pull the x and y components out of a vec2 as scalars. Primary = x, aux = y.
timelinepolymorphicEvaluates an authored bezier curve. Internal source uses scene time × time_scale; switch to external to drive t from a wired scalar (e.g. SceneTime → Remap).
transformpolymorphicScale, rotate, and translate the input around a pivot. Works on images (pixels outside the frame become transparent) or splines (anchors and handles transform in place).