Introduction
This document describes the built-in Flow Graph modules of the following categories for compounds:
- Math / Logical - Modules that evaluate logical conditions and comparisons to control signal flow.
- Math / Vector - Modules that compose, analyze, and transform vectors, rotations, and geometric relationships.
- Math / Color - Modules that convert, decompose, compose, and blend color values across color models.
Math / Logical
This section describes the built-in Flow Graph modules that evaluate logical conditions and comparisons to control signal flow.
And
- Category: Math / Logical
- Access: All editions.
- Function: Combines two logical inputs with logical AND.
- Input pins:
- ⏺ A (logical) - First logical operand.
- ⏺ B (logical) - Second logical operand.
- Output pins:
- ⏺ Out (logical) - On when both inputs are on.
Array And
- Category: Math / Logical
- Access: All editions.
- Function: Combines logical values from a span of array-compound instances with logical AND, starting from on when no instance contributes.
- Input pins:
- ⏺ In (logical) - Logical value for this instance; other instances are read from matching modules in the compound.
- ⏺ Start Index (integer) - One-based index of the first instance in the range (clamped to the compound size).
- ⏺ Count (integer) - How many consecutive instances to include from the start index (clamped to the compound size).
- Output pins:
- ⏺ Out (logical) - Logical AND across the selected instances (skips missing instances).
Array Or
- Category: Math / Logical
- Access: All editions.
- Function: Combines logical values from a span of array-compound instances with logical OR, starting from off when no instance contributes.
- Input pins:
- ⏺ In (logical) - Logical value for this instance; other instances are read from matching modules in the compound.
- ⏺ Start Index (integer) - One-based index of the first instance in the range (clamped to the compound size).
- ⏺ Count (integer) - How many consecutive instances to include from the start index (clamped to the compound size).
- Output pins:
- ⏺ Out (logical) - Logical OR across the selected instances (skips missing instances).
Bit And
- Category: Math / Logical
- Access: All editions.
- Function: Bitwise AND of two integer values.
- Input pins:
- ⏺ A (integer) - First integer operand.
- ⏺ B (integer) - Second integer operand.
- Output pins:
- ⏺ Out (integer) - Integer with bits set where both operands have that bit set.
Bit Not
- Category: Math / Logical
- Access: All editions.
- Function: Bitwise complement of an integer value.
- Input pins:
- ⏺ In (integer) - Integer whose bits are inverted.
- Output pins:
- ⏺ Out (integer) - Integer with every bit toggled.
Bit Or
- Category: Math / Logical
- Access: All editions.
- Function: Bitwise OR of two integer values.
- Input pins:
- ⏺ A (integer) - First integer operand.
- ⏺ B (integer) - Second integer operand.
- Output pins:
- ⏺ Out (integer) - Integer with bits set where either operand has that bit set.
Bit Shift
- Category: Math / Logical
- Access: All editions.
- Function: Shifts an integer left for a non-negative amount, or right by the magnitude when the amount is negative.
- Input pins:
- ⏺ In (integer) - Integer value to shift.
- ⏺ Amount (integer) - Shift distance in bits (left for zero or positive, right for negative).
- Output pins:
- ⏺ Out (integer) - Shifted integer.
Bit Test
- Category: Math / Logical
- Access: All editions.
- Function: Reports whether a chosen bit is set in an integer.
- Input pins:
- ⏺ Bits (integer) - Integer bit pattern to inspect.
- ⏺ Index (integer) - One-based bit index (1 = least significant bit).
- Output pins:
- ⏺ Out (logical) - On if the selected bit is 1.
Bit Xor
- Category: Math / Logical
- Access: All editions.
- Function: Bitwise exclusive OR of two integer values.
- Input pins:
- ⏺ A (integer) - First integer operand.
- ⏺ B (integer) - Second integer operand.
- Output pins:
- ⏺ Out (integer) - Integer with bits set where exactly one operand has that bit set.
Bits To Vector
- Category: Math / Logical
- Access: All editions.
- Function: Unpacks a contiguous run of bits from an integer into vector components (1 or 0).
- Input pins:
- ⏺ Bits (integer) - Integer whose bits are read.
- ⏺ Start Index (integer) - One-based index of the first bit to extract (least significant is 1).
- ⏺ Count (integer) - How many bits to output, capped so reading stops at bit 31.
- Output pins:
- ⏺ Out (vector) - Vector with one component per bit, 1 when the bit is set and 0 when it is clear.
Equal
- Category: Math / Logical
- Access: All editions.
- Function: Compares two values for exact equality.
- Input pins:
- ⏺ A (scalar) - Left-hand value in the comparison.
- ⏺ B (scalar) - Right-hand value in the comparison.
- Output pins:
- ⏺ Out (logical) - On when the two values match exactly.
Greater
- Category: Math / Logical
- Access: All editions.
- Function: Tests whether the first value is strictly greater than the second.
- Input pins:
- ⏺ A (scalar) - Left-hand value in the comparison.
- ⏺ B (scalar) - Right-hand value in the comparison.
- Output pins:
- ⏺ Out (logical) - On when A is greater than B.
Greater Or Equal
- Category: Math / Logical
- Access: All editions.
- Function: Tests whether the first value is greater than or equal to the second.
- Input pins:
- ⏺ A (scalar) - Left-hand value in the comparison.
- ⏺ B (scalar) - Right-hand value in the comparison.
- Output pins:
- ⏺ Out (logical) - On when A is greater than or equal to B.
If
- Category: Math / Logical
- Access: All editions.
- Function: Selects between two vectors using a logical selector.
- Input pins:
- ⏺ If (logical) - When on, the Then vector is used; when off, the Else vector is used.
- ⏺ Then (vector) - Vector when the selector is on.
- ⏺ Else (vector) - Vector when the selector is off.
- ⏺ Force Both (logical) - When on, both inputs are pulled continuously; when off, only the selected input is pulled.
- Output pins:
- ⏺ Out (vector) - The selected vector.
If Collection
- Category: Math / Logical
- Access: All editions.
- Function: Selects one of two collections with a logical selector and updates the output when the selector changes or the active branch’s collection changes.
- Input pins:
- ⏺ If (logical) - When on, the Then collection is passed through; when off, the Else collection is passed through.
- ⏺ Then (collection) - Collection used when the selector is on.
- ⏺ Else (collection) - Collection used when the selector is off.
- ⏺ Force Both (logical) - When on, both inputs are pulled continuously; when off, only the selected input is pulled.
- Output pins:
- ⏺ Out (collection) - The active branch’s collection.
If Color
- Category: Math / Logical
- Access: All editions.
- Function: Selects between two colors using a logical selector.
- Input pins:
- ⏺ If (logical) - When on, the Then color is used; when off, the Else color is used.
- ⏺ Then (color) - Color when the selector is on.
- ⏺ Else (color) - Color when the selector is off.
- ⏺ Force Both (logical) - When on, both inputs are pulled continuously; when off, only the selected input is pulled.
- Output pins:
- ⏺ Out (color) - The selected color.
If Double
- Category: Math / Logical
- Access: All editions.
- Function: Selects between two values using a logical selector.
- Input pins:
- ⏺ If (logical) - When on, the Then value is used; when off, the Else value is used.
- ⏺ Then (double precision scalar) - Value when the selector is on.
- ⏺ Else (double precision scalar) - Value when the selector is off.
- ⏺ Force Both (logical) - When on, both inputs are pulled continuously; when off, only the selected input is pulled.
- Output pins:
- ⏺ Out (double precision scalar) - The selected value.
If Integer
- Category: Math / Logical
- Access: All editions.
- Function: Selects between two integers using a logical selector.
- Input pins:
- ⏺ If (logical) - When on, the Then value is used; when off, the Else value is used.
- ⏺ Then (integer) - Integer when the selector is on.
- ⏺ Else (integer) - Integer when the selector is off.
- ⏺ Force Both (logical) - When on, both inputs are pulled continuously; when off, only the selected input is pulled.
- Output pins:
- ⏺ Out (integer) - The selected integer.
If Scalar
- Category: Math / Logical
- Access: All editions.
- Function: Selects between two values using a logical selector.
- Input pins:
- ⏺ If (logical) - When on, the Then value is used; when off, the Else value is used.
- ⏺ Then (scalar) - Value when the selector is on.
- ⏺ Else (scalar) - Value when the selector is off.
- ⏺ Force Both (logical) - When on, both inputs are pulled continuously; when off, only the selected input is pulled.
- Output pins:
- ⏺ Out (scalar) - The selected value.
If Text
- Category: Math / Logical
- Access: All editions.
- Function: Selects between two text values using a logical selector.
- Input pins:
- ⏺ If (logical) - When on, the Then text is used; when off, the Else text is used.
- ⏺ Then (text) - Text when the selector is on.
- ⏺ Else (text) - Text when the selector is off.
- ⏺ Force Both (logical) - When on, both inputs are pulled continuously; when off, only the selected input is pulled.
- Output pins:
- ⏺ Out (text) - The selected text.
If Transformation
- Category: Math / Logical
- Access: All editions.
- Function: Selects between two transformations using a logical selector.
- Input pins:
- ⏺ If (logical) - When on, the Then transformation is used; when off, the Else transformation is used.
- ⏺ Then (transformation) - Transformation when the selector is on.
- ⏺ Else (transformation) - Transformation when the selector is off.
- ⏺ Force Both (logical) - When on, both inputs are pulled continuously; when off, only the selected input is pulled.
- Output pins:
- ⏺ Out (transformation) - The selected transformation.
Less
- Category: Math / Logical
- Access: All editions.
- Function: Tests whether the first value is strictly less than the second.
- Input pins:
- ⏺ A (scalar) - Left-hand value in the comparison.
- ⏺ B (scalar) - Right-hand value in the comparison.
- Output pins:
- ⏺ Out (logical) - On when A is less than B.
Less Or Equal
- Category: Math / Logical
- Access: All editions.
- Function: Tests whether the first value is less than or equal to the second.
- Input pins:
- ⏺ A (scalar) - Left-hand value in the comparison.
- ⏺ B (scalar) - Right-hand value in the comparison.
- Output pins:
- ⏺ Out (logical) - On when A is less than or equal to B.
Near Equal
- Category: Math / Logical
- Access: All editions.
- Function: Tests whether two values are within epsilon, optionally using circular distance over a wrap range.
- Input pins:
- ⏺ A (scalar) - First value in the comparison.
- ⏺ B (scalar) - Second value in the comparison.
- ⏺ Epsilon (scalar) - Largest allowed absolute difference (or circular separation when circular mode is on).
- ⏺ Circular (logical) - When on, uses shortest distance on a circle of the given range instead of linear difference.
- ⏺ Circular Range (scalar) - Full circle length used when circular mode is on (for example 360 for degrees).
- Output pins:
- ⏺ Out (logical) - On when the two values are near within epsilon.
Not
- Category: Math / Logical
- Access: All editions.
- Function: Logical inversion of a single logical input.
- Input pins:
- ⏺ In (logical) - The source value
- Output pins:
- ⏺ Out (logical) - On when the input is off, and off when the input is on.
Not Equal
- Category: Math / Logical
- Access: All editions.
- Function: Tests whether two values differ.
- Input pins:
- ⏺ A (scalar) - Left-hand value in the comparison.
- ⏺ B (scalar) - Right-hand value in the comparison.
- Output pins:
- ⏺ Out (logical) - On when the two values are not equal.
Or
- Category: Math / Logical
- Access: All editions.
- Function: Combines two logical inputs with logical OR.
- Input pins:
- ⏺ A (logical) - First logical operand.
- ⏺ B (logical) - Second logical operand.
- Output pins:
- ⏺ Out (logical) - On when at least one input is on.
Vector To Bits
- Category: Math / Logical
- Access: All editions.
- Function: Packs a vector into an integer, setting each bit when the corresponding component is non-zero (first component is the least significant bit).
- Input pins:
- ⏺ Vector (vector) - Vector whose non-zero components turn on matching bits in the integer.
- Output pins:
- ⏺ Out (integer) - Integer bit pattern built from the vector.
Xor
- Category: Math / Logical
- Access: All editions.
- Function: Combines two logical inputs with exclusive OR.
- Input pins:
- ⏺ A (logical) - First logical operand.
- ⏺ B (logical) - Second logical operand.
- Output pins:
- ⏺ Out (logical) - On when exactly one input is on.
Math / Vector
This section describes the built-in Flow Graph modules that compose, analyze, and transform vectors, rotations, and geometric relationships.
Array Vector Concat
- Category: Math / Vector
- Access: All editions.
- Function: Concatenates vectors along a chain of array-compound instances over a selectable index span.
- Input pins:
- ⏺ In (vector) - The source value
- ⏺ Start Index (integer) - First array-instance index (1-based) included in the chain.
- ⏺ Count (integer) - How many consecutive instances starting at StartIndex participate.
- Output pins:
- ⏺ Out (vector) - Carries the chained result across the selected instances.
Cross Product
- Category: Math / Vector
- Access: All editions.
- Function: Computes the 3D cross product from the first three components of each operand.
- Input pins:
- ⏺ A (vector) - First operand as a 3-component vector.
- ⏺ B (vector) - Second operand as a 3-component vector.
- Output pins:
- ⏺ Out (vector) - 3D cross product A × B.
Dir To Rotation
- Category: Math / Vector
- Access: All editions.
- Function: Builds a rotation that aligns forward with the direction vector and applies an extra roll angle from the scalar input.
- Input pins:
- ⏺ Direction (vector) - 3D direction used to define the rotation’s facing.
- ⏺ Z (scalar) - Roll angle in degrees combined with the direction (sign follows internal rotation conventions).
- Output pins:
- ⏺ Rotation (vector) - Resulting rotation as three angles in degrees.
Dot Product
- Category: Math / Vector
- Access: All editions.
- Function: Computes the dot product by summing pairwise products over the overlapping prefix of both inputs. When lengths differ, extra components are ignored.
- Input pins:
- ⏺ A (vector) - First operand vector.
- ⏺ B (vector) - Second operand vector.
- Output pins:
- ⏺ Out (scalar) - Scalar sum of matched element products.
Find Delay
- Category: Math / Vector
- Access: All editions.
- Function: Finds how many steps the delayed series must be shifted to best match the end of the original series inside a trailing window using normalized correlation, optionally refined with fractional delay, then reports delay, correlation, RMS energy ratio, and whether a search could run.
- Input pins:
- ⏺ Original (vector) - Series that is compared over the window; correlation uses its values at the shifted region.
- ⏺ Delayed (vector) - Series whose last window is the fixed reference segment for matching.
- ⏺ Window (integer) - Length of the compared segment in samples (at least two).
- ⏺ Max Delay (integer) - Upper bound on the integer delay shift in samples (also limited by available data).
- ⏺ Precision (integer) - Reciprocal step size for the fractional-delay refinement around the best integer delay.
- Output pins:
- ⏺ Valid (logical) - Outputs on when a correlation result is available from the search; otherwise off.
- ⏺ Delay (scalar) - Best-match delay in samples, including fractional refinement when enabled.
- ⏺ Correlation (scalar) - Normalized correlation coefficient for the best delay (roughly covariant energy scaled by RMS of both sides).
- ⏺ Scale (scalar) - Ratio of RMS energy in the shifted original window to RMS energy in the reference window.
From Polar
- Category: Math / Vector
- Access: All editions.
- Function: Turns polar angles and radius into a 3D Cartesian position by building a unit direction from pitch and yaw in degrees, then scaling by radius.
- Input pins:
- ⏺ Polar (vector) - Three values: pitch and yaw in degrees, then radius along the constructed direction.
- Output pins:
- ⏺ Position (vector) - Corresponding 3D position vector.
Length
- Category: Math / Vector
- Access: All editions.
- Function: Outputs the Euclidean length of the vector (square root of the sum of squared components).
- Input pins:
- ⏺ In (vector) - The source value
- Output pins:
- ⏺ Out (scalar) - Non-negative length of the input vector.
Matrix Transpose
- Category: Math / Vector
- Access: All editions.
- Function: Transposes a flat row-major matrix given as a vector and a column count, producing an empty output when the element count is not divisible by the column count.
- Input pins:
- ⏺ In (vector) - The source value
- ⏺ Columns (integer) - Number of columns in the row-major layout before transposing.
- Output pins:
- ⏺ Out (vector) - Row-major layout of the transposed matrix with rows and columns swapped.
Normalize
- Category: Math / Vector
- Access: All editions.
- Function: Scales the vector to unit length, or outputs all zeros when the length is zero.
- Input pins:
- ⏺ In (vector) - The source value
- Output pins:
- ⏺ Out (vector) - Same dimension as the input with length one when possible.
Quaternion Merge
- Category: Math / Vector
- Access: All editions.
- Function: Packs four scalar quaternion components into one four-component quaternion vector.
- Input pins:
- ⏺ X (scalar) - Quaternion X component.
- ⏺ Y (scalar) - Quaternion Y component.
- ⏺ Z (scalar) - Quaternion Z component.
- ⏺ W (scalar) - Quaternion W component.
- Output pins:
- ⏺ Quaternion (vector) - Combined quaternion as a four-component vector.
Quaternion Split
- Category: Math / Vector
- Access: All editions.
- Function: Splits one four-component quaternion into separate scalar components.
- Input pins:
- ⏺ Quaternion (vector) - Input quaternion as a four-component vector.
- Output pins:
- ⏺ X (scalar) - X component of the quaternion.
- ⏺ Y (scalar) - Y component of the quaternion.
- ⏺ Z (scalar) - Z component of the quaternion.
- ⏺ W (scalar) - W component of the quaternion.
Rotation Average
- Category: Math / Vector
- Access: All editions.
- Function: Averages a flat list of rotation triples by summing wrapped degree deltas from the first triple, then normalizing each channel to canonical degrees.
- Input pins:
- ⏺ Rotations (vector) - Concatenated X, Y, Z rotation angles in degrees, three components per rotation in order.
- Output pins:
- ⏺ Out (vector) - One normalized rotation triple (degrees) averaged across all inputs.
Rotation Merge
- Category: Math / Vector
- Access: All editions.
- Function: Packs three scalar rotation angles in degrees into one three-component rotation vector.
- Input pins:
- ⏺ X (scalar) - Rotation about the X axis in degrees.
- ⏺ Y (scalar) - Rotation about the Y axis in degrees.
- ⏺ Z (scalar) - Rotation about the Z axis in degrees.
- Output pins:
- ⏺ Rotation (vector) - Combined rotation triple.
Rotation Normalize
- Category: Math / Vector
- Access: All editions.
- Function: Maps each rotation component to a canonical degree range using either signed wrapping or unsigned 0–360 mapping.
- Input pins:
- ⏺ Rotation (vector) - Input rotation as three angles in degrees (X, Y, Z).
- ⏺ Signed (logical) - When on, maps each channel with signed angle normalization; when off, maps with unsigned normalization.
- Output pins:
- ⏺ Out (vector) - Rotation triple with each channel rewritten into the chosen canonical range.
Rotation Split
- Category: Math / Vector
- Access: All editions.
- Function: Splits one three-component rotation vector into separate angle components in degrees.
- Input pins:
- ⏺ Rotation (vector) - Rotation as three angles in degrees.
- Output pins:
- ⏺ X (scalar) - Rotation about the X axis in degrees.
- ⏺ Y (scalar) - Rotation about the Y axis in degrees.
- ⏺ Z (scalar) - Rotation about the Z axis in degrees.
Rotation To Dir
- Category: Math / Vector
- Access: All editions.
- Function: Derives the forward direction from a rotation triple and exposes roll as a separate scalar in degrees.
- Input pins:
- ⏺ Rotation (vector) - Rotation as three angles in degrees (X, Y, Z).
- Output pins:
- ⏺ Direction (vector) - 3D forward direction implied by the rotation.
- ⏺ Z (scalar) - Roll angle in degrees matching the rotation roll channel (sign follows internal conventions).
To Polar
- Category: Math / Vector
- Access: All editions.
- Function: Converts a 3D position to pitch, yaw in degrees, and radial length; when the length is zero, outputs the null-rotation pair instead of angles derived from direction.
- Input pins:
- ⏺ Position (vector) - 3D point to express in polar form.
- ⏺ Null Rotation (vector) - Pitch and yaw in degrees substituted when the position length is zero.
- Output pins:
- ⏺ Polar (vector) - Pitch, yaw (degrees), and radial length from the origin.
Vector Average
- Category: Math / Vector
- Access: All editions.
- Function: Splits the input into consecutive items of a fixed width and outputs the arithmetic mean per component across all complete items.
- Input pins:
- ⏺ Vector (vector) - Flat list of floats interpreted as consecutive items.
- ⏺ Item Size (integer) - Number of elements per item (at least one); only full items at the start are averaged.
- Output pins:
- ⏺ Out (vector) - One item whose components are the means over every complete input item.
Vector Bit Fill
- Category: Math / Vector
- Access: All editions.
- Function: Creates a zero vector of fixed length and sets elements to one at positions listed by the index vector (valid indices are one-based within that length).
- Input pins:
- ⏺ In (vector) - Values interpreted as integer indices; each valid index selects one output element to set to one.
- ⏺ Size (integer) - Output length in elements.
- Output pins:
- ⏺ Out (vector) - Filled vector with ones at listed indices and zeros elsewhere.
Vector Concat
- Category: Math / Vector
- Access: All editions.
- Function: Appends the second vector after the first, returning one longer vector in one step.
- Input pins:
- ⏺ A (vector) - Leading segment of the combined vector.
- ⏺ B (vector) - Trailing segment appended after A.
- Output pins:
- ⏺ Out (vector) - Concatenation of A followed by B.
Vector Concat Multi
- Category: Math / Vector
- Access: All editions.
- Function: Clears the output and appends sixteen vector inputs in fixed order into one combined vector.
- Input pins:
- ⏺ Vector 1 (vector) - First segment appended (may be empty).
- ⏺ Vector 2 (vector) - Second segment appended (may be empty).
- ⏺ Vector 3 (vector) - Third segment appended (may be empty).
- ⏺ Vector 4 (vector) - Fourth segment appended (may be empty).
- ⏺ Vector 5 (vector) - Fifth segment appended (may be empty).
- ⏺ Vector 6 (vector) - Sixth segment appended (may be empty).
- ⏺ Vector 7 (vector) - Seventh segment appended (may be empty).
- ⏺ Vector 8 (vector) - Eighth segment appended (may be empty).
- ⏺ Vector 9 (vector) - Ninth segment appended (may be empty).
- ⏺ Vector 10 (vector) - Tenth segment appended (may be empty).
- ⏺ Vector 11 (vector) - Eleventh segment appended (may be empty).
- ⏺ Vector 12 (vector) - Twelfth segment appended (may be empty).
- ⏺ Vector 13 (vector) - Thirteenth segment appended (may be empty).
- ⏺ Vector 14 (vector) - Fourteenth segment appended (may be empty).
- ⏺ Vector 15 (vector) - Fifteenth segment appended (may be empty).
- ⏺ Vector 16 (vector) - Sixteenth segment appended (may be empty).
- Output pins:
- ⏺ Out (vector) - Concatenation of Vector1 through Vector16 in ascending pin order.
Vector Contains
- Category: Math / Vector
- Access: All editions.
- Function: Outputs on when any element equals the search value; otherwise off.
- Input pins:
- ⏺ Vector (vector) - Vector searched for a matching component.
- ⏺ Item (scalar) - Value compared to each element using array membership rules.
- Output pins:
- ⏺ Out (logical) - Logical result of the containment test.
Vector Coord System
- Category: Math / Vector
- Access: All editions.
- Function: Applies model coordinate-system metadata (unit scale, up axis, handedness) to a 3D vector as position, direction, axis scales, or per-axis distances.
- Input pins:
- ⏺ In (vector) - Three-component vector interpreted according to the selected conversion type.
- ⏺ Type (integer, Coord Sys Vector Type) - Selects whether the vector is treated as position, direction, scale factors, or per-axis distances.
- ⏺ Unit (scalar) - Linear scale factor applied by the coordinate-system conversion.
- ⏺ Up Axis (integer, Model Coord Sys Up) - Which world axis is treated as up for the coordinate-system definition.
- ⏺ Right Handed (logical) - When on, uses a right-handed axis convention; when off, left-handed.
- Output pins:
- ⏺ Out (vector) - Transformed 3D vector after applying the coordinate-system rules.
Vector Equal
- Category: Math / Vector
- Access: All editions.
- Function: Outputs on when both vectors match element for element with the same length; otherwise off.
- Input pins:
- ⏺ A (vector) - First vector operand.
- ⏺ B (vector) - Second vector operand.
- Output pins:
- ⏺ Out (logical) - Logical equality of the two vectors.
Vector Fill
- Category: Math / Vector
- Access: All editions.
- Function: Builds a vector with a fixed length where every component equals one scalar.
- Input pins:
- ⏺ Value (scalar) - Number repeated for every output element.
- ⏺ Count (integer) - Requested output length (at least one).
- Output pins:
- ⏺ Out (vector) - Vector filled with the scalar value.
Vector Index
- Category: Math / Vector
- Access: All editions.
- Function: Returns the one-based index of the first element equal to the search value, or zero when no match exists.
- Input pins:
- ⏺ Vector (vector) - Vector scanned in order from the first element.
- ⏺ Item (scalar) - Value to locate by equality.
- Output pins:
- ⏺ Out (integer) - 1-based index of the first match, or zero if none.
Vector Insert
- Category: Math / Vector
- Access: All editions.
- Function: Inserts another vector at a one-based index, extending the base with zeros if the index lies past the former end.
- Input pins:
- ⏺ A (vector) - Original vector before insertion.
- ⏺ Index (integer) - 1-based position where the inserted segment begins (elements before it are retained in order).
- ⏺ B (vector) - Segment spliced in at the index.
- Output pins:
- ⏺ Out (vector) - Combined vector after insertion.
Vector Interleave
- Category: Math / Vector
- Access: All editions.
- Function: Builds one vector by repeating a multi-input round: take one fixed-width chunk from each slot in order per step, with shortest, longest, or longest-with-cycle length rules and zero fill when a source runs out in longest modes.
- Input pins:
- ⏺ Count Mode (integer, Vector Interleave Count Mode) - Sets whether the run count follows the shortest input, the longest, or the longest with cycling.
- ⏺ Vector 1 (vector) - First source vector for interleaved chunks.
- ⏺ Item Size 1 (integer) - Chunk size in elements taken from Vector1 each round (zero skips this slot).
- ⏺ Vector 2 (vector) - Second source vector for interleaved chunks.
- ⏺ Item Size 2 (integer) - Chunk size in elements taken from Vector2 each round (zero skips this slot).
- ⏺ Vector 3 (vector) - Third source vector for interleaved chunks.
- ⏺ Item Size 3 (integer) - Chunk size in elements taken from Vector3 each round (zero skips this slot).
- ⏺ Vector 4 (vector) - Fourth source vector for interleaved chunks.
- ⏺ Item Size 4 (integer) - Chunk size in elements taken from Vector4 each round (zero skips this slot).
- ⏺ Vector 5 (vector) - Fifth source vector for interleaved chunks.
- ⏺ Item Size 5 (integer) - Chunk size in elements taken from Vector5 each round (zero skips this slot).
- ⏺ Vector 6 (vector) - Sixth source vector for interleaved chunks.
- ⏺ Item Size 6 (integer) - Chunk size in elements taken from Vector6 each round (zero skips this slot).
- ⏺ Vector 7 (vector) - Seventh source vector for interleaved chunks.
- ⏺ Item Size 7 (integer) - Chunk size in elements taken from Vector7 each round (zero skips this slot).
- ⏺ Vector 8 (vector) - Eighth source vector for interleaved chunks.
- ⏺ Item Size 8 (integer) - Chunk size in elements taken from Vector8 each round (zero skips this slot).
- ⏺ Vector 9 (vector) - Ninth source vector for interleaved chunks.
- ⏺ Item Size 9 (integer) - Chunk size in elements taken from Vector9 each round (zero skips this slot).
- ⏺ Vector 10 (vector) - Tenth source vector for interleaved chunks.
- ⏺ Item Size 10 (integer) - Chunk size in elements taken from Vector10 each round (zero skips this slot).
- ⏺ Vector 11 (vector) - Eleventh source vector for interleaved chunks.
- ⏺ Item Size 11 (integer) - Chunk size in elements taken from Vector11 each round (zero skips this slot).
- ⏺ Vector 12 (vector) - Twelfth source vector for interleaved chunks.
- ⏺ Item Size 12 (integer) - Chunk size in elements taken from Vector12 each round (zero skips this slot).
- ⏺ Vector 13 (vector) - Thirteenth source vector for interleaved chunks.
- ⏺ Item Size 13 (integer) - Chunk size in elements taken from Vector13 each round (zero skips this slot).
- ⏺ Vector 14 (vector) - Fourteenth source vector for interleaved chunks.
- ⏺ Item Size 14 (integer) - Chunk size in elements taken from Vector14 each round (zero skips this slot).
- ⏺ Vector 15 (vector) - Fifteenth source vector for interleaved chunks.
- ⏺ Item Size 15 (integer) - Chunk size in elements taken from Vector15 each round (zero skips this slot).
- ⏺ Vector 16 (vector) - Sixteenth source vector for interleaved chunks.
- ⏺ Item Size 16 (integer) - Chunk size in elements taken from Vector16 each round (zero skips this slot).
- Output pins:
- ⏺ Out (vector) - Interleaved concatenation of chunks across rounds.
Vector Item
- Category: Math / Vector
- Access: All editions.
- Function: Copies one fixed-width item by 1-based item index, or leaves the output empty when the item is out of range or the item width is invalid.
- Input pins:
- ⏺ Vector (vector) - Source data interpreted as consecutive items.
- ⏺ Item Size (integer) - Number of elements per item; must be positive to extract a slice.
- ⏺ Index (integer) - 1-based item index to extract.
- Output pins:
- ⏺ Out (vector) - Elements of the selected item, or empty when unusable.
Vector Maximum
- Category: Math / Vector
- Access: All editions.
- Function: Interprets the input as consecutive fixed-width items and outputs the component-wise maximum across all complete items.
- Input pins:
- ⏺ Vector (vector) - Flat list of floats interpreted as consecutive items.
- ⏺ Item Size (integer) - Number of elements per item (at least one); only full items are considered.
- Output pins:
- ⏺ Out (vector) - One item whose components are the maxima over each slot across items.
Vector Merge
- Category: Math / Vector
- Access: All editions.
- Function: Packs three scalars into one three-component vector.
- Input pins:
- ⏺ X (scalar) - First component of the output vector.
- ⏺ Y (scalar) - Second component of the output vector.
- ⏺ Z (scalar) - Third component of the output vector.
- Output pins:
- ⏺ Vector (vector) - Merged 3D vector.
Vector Minimum
- Category: Math / Vector
- Access: All editions.
- Function: Interprets the input as consecutive fixed-width items and outputs the component-wise minimum across all complete items.
- Input pins:
- ⏺ Vector (vector) - Flat list of floats interpreted as consecutive items.
- ⏺ Item Size (integer) - Number of elements per item (at least one); only full items are considered.
- Output pins:
- ⏺ Out (vector) - One item whose components are the minima over each slot across items.
Vector Nonzero Indices
- Category: Math / Vector
- Access: All editions.
- Function: Collects one-based indices of every element that is not zero and outputs them as a vector in increasing order.
- Input pins:
- ⏺ In (vector) - The source value
- Output pins:
- ⏺ Out (vector) - Vector of 1-based indices where the input is non-zero.
Vector Not Equal
- Category: Math / Vector
- Access: All editions.
- Function: Outputs on when the vectors differ in length or any element; otherwise off.
- Input pins:
- ⏺ A (vector) - First vector operand.
- ⏺ B (vector) - Second vector operand.
- Output pins:
- ⏺ Out (logical) - Logical inequality of the two vectors.
Vector Set Item
- Category: Math / Vector
- Access: All editions.
- Function: Copies the base vector and overwrites one 1-based item with the value vector, extending with zeros if the item lies past the former end within engine limits.
- Input pins:
- ⏺ Vector (vector) - Starting vector whose data is copied before the item overwrite.
- ⏺ Item Size (integer) - Width in elements of each logical item (at least one).
- ⏺ Index (integer) - 1-based item index to replace.
- ⏺ Value (vector) - Replacement contents for that item, truncated or zero-padded to the item width.
- Output pins:
- ⏺ Out (vector) - Updated vector after replacing the selected item.
Vector Set Slice
- Category: Math / Vector
- Access: All editions.
- Function: Copies the base vector and overwrites a contiguous element span with a slice, extending with zeros before the slice when the start lands past the old end and shifting the slice start when the requested start is negative.
- Input pins:
- ⏺ Vector (vector) - Starting vector whose data is copied before the slice overwrite.
- ⏺ Item Size (integer) - Stride in elements per logical item used to map start index to element position (at least one).
- ⏺ Start Index (integer) - 1-based item index where the replacement slice begins in element space.
- ⏺ Slice (vector) - Replacement values written over the mapped element range.
- Output pins:
- ⏺ Out (vector) - Vector after applying the slice with any required growth or prefix fill.
Vector Size
- Category: Math / Vector
- Access: All editions.
- Function: Outputs the number of numeric elements stored in the vector.
- Input pins:
- ⏺ Vector (vector) - Vector whose component count is reported.
- Output pins:
- ⏺ Out (integer) - Element count.
Vector Slice
- Category: Math / Vector
- Access: All editions.
- Function: Extracts a contiguous run of items starting at a 1-based item index for a given item width and item count, clamped to available data.
- Input pins:
- ⏺ Vector (vector) - Source vector interpreted as consecutive items.
- ⏺ Item Size (integer) - Elements per item (at least one).
- ⏺ Start Index (integer) - 1-based index of the first item included in the slice.
- ⏺ Count (integer) - Number of consecutive items to include.
- Output pins:
- ⏺ Out (vector) - Flattened elements from the selected item span.
Vector Slice Multi
- Category: Math / Vector
- Access: All editions.
- Function: Cuts consecutive fixed-width segments along the source vector and sends each segment to successive outputs until data or outputs are exhausted.
- Input pins:
- ⏺ Vector (vector) - Source data interpreted as consecutive items.
- ⏺ Item Size (integer) - Elements per item (at least one).
- ⏺ Start Index (integer) - 1-based index of the first item in the first output segment.
- ⏺ Count (integer) - Number of items per segment for every output.
- Output pins:
- ⏺ Out 1 (vector) - Flattened elements of the first segment.
- ⏺ Out 2 (vector) - Flattened elements of the second segment.
- ⏺ Out 3 (vector) - Flattened elements of the third segment.
- ⏺ Out 4 (vector) - Flattened elements of the fourth segment.
- ⏺ Out 5 (vector) - Flattened elements of the fifth segment.
- ⏺ Out 6 (vector) - Flattened elements of the sixth segment.
- ⏺ Out 7 (vector) - Flattened elements of the seventh segment.
- ⏺ Out 8 (vector) - Flattened elements of the eighth segment.
- ⏺ Out 9 (vector) - Flattened elements of the ninth segment.
- ⏺ Out 10 (vector) - Flattened elements of the tenth segment.
- ⏺ Out 11 (vector) - Flattened elements of the eleventh segment.
- ⏺ Out 12 (vector) - Flattened elements of the twelfth segment.
- ⏺ Out 13 (vector) - Flattened elements of the thirteenth segment.
- ⏺ Out 14 (vector) - Flattened elements of the fourteenth segment.
- ⏺ Out 15 (vector) - Flattened elements of the fifteenth segment.
- ⏺ Out 16 (vector) - Flattened elements of the sixteenth segment.
Vector Split
- Category: Math / Vector
- Access: All editions.
- Function: Splits one three-component vector into separate scalar components.
- Input pins:
- ⏺ Vector (vector) - Three-component vector input.
- Output pins:
- ⏺ X (scalar) - First component.
- ⏺ Y (scalar) - Second component.
- ⏺ Z (scalar) - Third component.
Vector Sum
- Category: Math / Vector
- Access: All editions.
- Function: Splits the input into consecutive items of a fixed width and sums each component across all complete items.
- Input pins:
- ⏺ Vector (vector) - Flat list of floats interpreted as consecutive items.
- ⏺ Item Size (integer) - Number of elements per item (at least one); only full items at the start are summed.
- Output pins:
- ⏺ Out (vector) - One item whose components are the sums over every complete input item.
Math / Color
This section describes the built-in Flow Graph modules that convert, decompose, compose, and blend color values across color models.
Alpha Merge
- Category: Math / Color
- Access: All editions.
- Function: Builds one RGBA color from RGB channels on the color input and a separate alpha scalar.
- Input pins:
- ⏺ RGB (color) - Color supplying the red, green, and blue components; its previous alpha is replaced.
- ⏺ Alpha (scalar) - Alpha value combined with the RGB channels.
- Output pins:
- ⏺ Color (color) - Merged RGBA result.
Alpha Split
- Category: Math / Color
- Access: All editions.
- Function: Copies alpha to a scalar output and returns the color with alpha set to fully opaque.
- Input pins:
- ⏺ Color (color) - RGBA color whose alpha is read and removed from the color output.
- Output pins:
- ⏺ RGB (color) - Same red, green, and blue with alpha forced to one.
- ⏺ Alpha (scalar) - Alpha taken from the input.
Chroma Compose
- Category: Math / Color
- Access: All editions.
- Function: Adds one luma offset to all three chroma channels, sets alpha, and outputs the reconstructed RGBA color.
- Input pins:
- ⏺ Chroma (color) - Chroma residue on R, G, and B before the luma offset is applied.
- ⏺ Luma (scalar) - Uniform value added to red, green, and blue.
- ⏺ Alpha (scalar) - Alpha written to the output color.
- Output pins:
- ⏺ Color (color) - Reconstructed RGBA after adding luma and setting alpha.
Chroma Decompose
- Category: Math / Color
- Access: All editions.
- Function: Uses the smallest RGB channel as luma, subtracts that floor to form chroma, passes alpha separately, and leaves the chroma color fully opaque on its own output.
- Input pins:
- ⏺ Color (color) - RGBA color to separate into luma, chroma, and alpha.
- Output pins:
- ⏺ Chroma (color) - RGB with the luma floor subtracted from each channel and alpha set to one.
- ⏺ Luma (scalar) - Minimum of the input red, green, and blue channels.
- ⏺ Alpha (scalar) - Alpha copied from the input unchanged.
CMYK Compose
- Category: Math / Color
- Access: All editions.
- Function: Converts CMYK inks and alpha to RGBA, applying full-range scaling to the inks and alpha when the Norm control is off.
- Input pins:
- ⏺ Cyan (scalar) - Cyan ink component supplied to the conversion.
- ⏺ Magenta (scalar) - Magenta ink component supplied to the conversion.
- ⏺ Yellow (scalar) - Yellow ink component supplied to the conversion.
- ⏺ Key (scalar) - Black (key) ink component supplied to the conversion.
- ⏺ Alpha (scalar) - Alpha combined with the converted RGB.
- ⏺ Norm (logical) - When on, expects normalized ink and alpha ranges; when off, applies the engine CMYK and alpha range factors before converting.
- Output pins:
- ⏺ Color (color) - RGBA result of the CMYK composition.
CMYK Decompose
- Category: Math / Color
- Access: All editions.
- Function: Splits an RGBA color into cyan, magenta, yellow, key, and alpha, scaling inks and alpha to full range when the Norm control is off.
- Input pins:
- ⏺ Color (color) - RGBA color to express in CMYK.
- ⏺ Norm (logical) - When on, outputs normalized ink and alpha ranges; when off, scales inks and alpha by the engine CMYK and alpha range factors.
- Output pins:
- ⏺ Cyan (scalar) - Cyan ink component after conversion.
- ⏺ Magenta (scalar) - Magenta ink component after conversion.
- ⏺ Yellow (scalar) - Yellow ink component after conversion.
- ⏺ Key (scalar) - Black (key) ink component after conversion.
- ⏺ Alpha (scalar) - Alpha taken from the input with the same scaling as the ink outputs.
Color Add
- Category: Math / Color
- Access: All editions.
- Function: Adds two colors per channel; optionally adds alpha, otherwise the result keeps the first input alpha.
- Input pins:
- ⏺ A (color) - First operand color.
- ⏺ B (color) - Second operand color whose channels are added to A.
- ⏺ Alpha (logical) - When on, adds alpha channels; when off, keeps the alpha of A.
- Output pins:
- ⏺ Color (color) - Channel-wise sum with alpha rules chosen by the Alpha control.
Color Compose
- Category: Math / Color
- Access: All editions.
- Function: Builds RGBA from three model coordinates for the chosen space (RGB, CMY, HSB, HSL, Lab, Hunter Lab, Luv, LCH, YUV, or XYZ), with optional full-range rescaling when Norm is off.
- Input pins:
- ⏺ C 1 (scalar) - First coordinate for the selected color model (for example red, hue, or luminance depending on Space).
- ⏺ C 2 (scalar) - Second coordinate for the selected color model.
- ⏺ C 3 (scalar) - Third coordinate for the selected color model.
- ⏺ Alpha (scalar) - Alpha merged into the composed color.
- ⏺ Space (integer, Color Space HSX) - Which three-coordinate color model drives the conversion to RGBA.
- ⏺ Norm (logical) - When on, expects normalized coordinate and alpha ranges; when off, applies model-specific range factors before converting.
- Output pins:
- ⏺ Color (color) - RGBA result in working RGB form.
Color Convert
- Category: Math / Color
- Access: All editions.
- Function: Moves a color between chosen RGB spaces and gamma settings: undoes the source transfer, converts primaries through XYZ when needed, then applies the destination transfer.
- Input pins:
- ⏺ Color (color) - Input color to transform.
- ⏺ In Color Space (integer, Color Space) - RGB space used to interpret the input before conversion.
- ⏺ In Gamma Curve (integer, Gamma Usage) - Transfer curve paired with the input RGB space.
- ⏺ Out Color Space (integer, Color Space) - RGB space written to the output.
- ⏺ Out Gamma Curve (integer, Gamma Usage) - Transfer curve paired with the output RGB space.
- Output pins:
- ⏺ Out (color) - Color after space and gamma conversion when inputs differ; otherwise unchanged.
Color Decompose
- Category: Math / Color
- Access: All editions.
- Function: Expresses RGBA as three coordinates in the chosen model (same set as Color Compose), with optional full-range rescaling when Norm is off.
- Input pins:
- ⏺ Color (color) - RGBA color to break into model coordinates.
- ⏺ Space (integer, Color Space HSX) - Which three-coordinate color model is used for the outputs.
- ⏺ Norm (logical) - When on, emits normalized coordinate and alpha ranges; when off, scales coordinates and alpha into the model full ranges.
- Output pins:
- ⏺ C 1 (scalar) - First coordinate for the selected model.
- ⏺ C 2 (scalar) - Second coordinate for the selected model.
- ⏺ C 3 (scalar) - Third coordinate for the selected model.
- ⏺ Alpha (scalar) - Alpha extracted with the same scaling rule as the coordinates.
Color Dim
- Category: Math / Color
- Access: All editions.
- Function: Scales red, green, and blue by one factor; leaves alpha unchanged.
- Input pins:
- ⏺ Color (color) - Input color whose RGB channels are scaled.
- ⏺ Intensity (scalar) - Factor applied equally to red, green, and blue.
- Output pins:
- ⏺ Color (color) - Dimmed or brightened color with original alpha.
Color Fade
- Category: Math / Color
- Access: All editions.
- Function: Multiplies only the alpha channel by an opacity factor; RGB is unchanged.
- Input pins:
- ⏺ Color (color) - RGBA color whose alpha is scaled.
- ⏺ Opacity (scalar) - Factor multiplied into alpha.
- Output pins:
- ⏺ Color (color) - Same RGB with scaled alpha.
Color From Linear
- Category: Math / Color
- Access: All editions.
- Function: Applies the selected RGB transfer curve so the output matches display-style encoding.
- Input pins:
- ⏺ Color (color) - Scene-referred or linear RGBA color to encode.
- ⏺ Gamma Function (integer, RGB Gamma) - Transfer curve applied to the RGB channels.
- Output pins:
- ⏺ Out (color) - Color after transfer on red, green, and blue; alpha is unchanged.
Color Gray Level
- Category: Math / Color
- Access: All editions.
- Function: Outputs a single gray level as the dot product of RGB with the engine luma weights.
- Input pins:
- ⏺ Color (color) - Color whose red, green, and blue contribute to luma.
- Output pins:
- ⏺ Out (scalar) - Scalar luma value.
Color Merge
- Category: Math / Color
- Access: All editions.
- Function: Packs separate red, green, blue, and alpha scalars into one RGBA color.
- Input pins:
- ⏺ Red (scalar) - Red channel.
- ⏺ Green (scalar) - Green channel.
- ⏺ Blue (scalar) - Blue channel.
- ⏺ Alpha (scalar) - Alpha channel.
- Output pins:
- ⏺ Color (color) - Combined RGBA color.
Color Multiply
- Category: Math / Color
- Access: All editions.
- Function: Multiplies two colors per channel; optionally multiplies alpha, otherwise the result keeps the first input alpha.
- Input pins:
- ⏺ A (color) - First operand color.
- ⏺ B (color) - Second operand color multiplied into A per channel.
- ⏺ Alpha (logical) - When on, multiplies alpha channels; when off, keeps the alpha of A.
- Output pins:
- ⏺ Color (color) - Channel-wise product with alpha rules chosen by the Alpha control.
Color Space Params
- Category: Math / Color
- Access: All editions.
- Function: Resolves RGB and YCbCr interpretation from the chosen space, gamma, and optional YCbCr range and bit depth, then supplies IDs, matrices, names (when outputs are wired), and luma coefficients.
- Input pins:
- ⏺ Color Space (integer, Color Space) - Primary selector for RGB and related YCbCr interpretation; auto follows project defaults where applicable.
- ⏺ Gamma Curve (integer, Gamma Usage) - Gamma or transfer handling paired with the color space selection.
- ⏺ YCbCr Range (integer, YUV Range) - Nominal encoding range for YCbCr when not using auto resolution.
- ⏺ YCbCr Bits (integer, Channel Bits) - Channel bit depth assumption for YCbCr matrix selection when not using auto resolution.
- Output pins:
- ⏺ RGB Space (integer) - Resolved RGB space identifier.
- ⏺ RGB Space Name (text) - Display name of the resolved RGB space when this output is connected.
- ⏺ RGB To XYZ (transformation) - Transformation from RGB to XYZ for the resolved space.
- ⏺ XYZ To RGB (transformation) - Transformation from XYZ to RGB for the resolved space.
- ⏺ Gamma Function (integer) - Resolved transfer curve identifier used with the RGB space.
- ⏺ Gamma Function Name (text) - Display name of the resolved transfer when this output is connected.
- ⏺ YCbCr Space (integer) - Resolved YCbCr space identifier.
- ⏺ YCbCr Space Name (text) - Display name of the resolved YCbCr space when this output is connected.
- ⏺ R'G'B' To YCbCr (transformation) - Matrix from RGB to YCbCr for the resolved YCbCr space, range, and bit depth.
- ⏺ YCbCr To R'G'B' (transformation) - Matrix from YCbCr to RGB for the resolved YCbCr space, range, and bit depth.
- ⏺ R'G'B' To Luminance (vector) - Three luma coefficients from the RGB-to-Y row of the full-range YCbCr mapping for the resolved space and bit depth.
Color Split
- Category: Math / Color
- Access: All editions.
- Function: Reads an RGBA color and exposes red, green, blue, and alpha as separate scalars.
- Input pins:
- ⏺ Color (color) - RGBA color to split.
- Output pins:
- ⏺ Red (scalar) - Red channel.
- ⏺ Green (scalar) - Green channel.
- ⏺ Blue (scalar) - Blue channel.
- ⏺ Alpha (scalar) - Alpha channel.
Color Subtract
- Category: Math / Color
- Access: All editions.
- Function: Subtracts the second color from the first per channel; optionally subtracts alpha, otherwise the result keeps the first input alpha.
- Input pins:
- ⏺ A (color) - Minuend color.
- ⏺ B (color) - Subtrahend color whose channels are subtracted from A.
- ⏺ Alpha (logical) - When on, subtracts alpha channels; when off, keeps the alpha of A.
- Output pins:
- ⏺ Color (color) - Channel-wise difference with alpha rules chosen by the Alpha control.
Color To Linear
- Category: Math / Color
- Access: All editions.
- Function: Applies the inverse of the selected RGB transfer curve so the output is suitable for scene-referred processing.
- Input pins:
- ⏺ Color (color) - Non-linear RGBA color to decode.
- ⏺ Gamma Function (integer, RGB Gamma) - Transfer curve taken as the encoding of the input.
- Output pins:
- ⏺ Out (color) - Color after inverse transfer on red, green, and blue; alpha is unchanged.