Node Reference
Every built-in block on the canvas — 126 nodes across 14 categories. Each entry documents its ports, parameters, and the math behind it.
Sources
6Constant
ShippingEmit fixed value as source node
constantMatrix Generator
ShippingSynthetic 2-D matrix source: gaussian, product, ripple, checkerboard
matrix_generatorNoise Generator
ShippingStochastic waveform source: white, pink, brown, Gaussian
noise_generatorSignal Generator
ShippingPeriodic waveform source: sine, square, triangle, sawtooth, pulse, DC
signal_generatorSignal Source
ShippingForwards workspace signal from memory registry by handle ID
signal_sourceTime Base
ShippingTime-ramp source: value at each sample equals its timestamp
time_baseMath & Logic
15Absolute Value
ShippingElement-wise |x| on a signal (stateless)
absoluteComparator
ShippingElement-wise comparison → boolean signal (1.0/0.0)
comparatorComplex (Mag ∠ Phase)
ShippingBuild a complex array from magnitude and phase: z = mag·(cos φ + i·sin φ)
complex_polarComplex (Re + Im)
ShippingFuse two real arrays into one complex array: z = re + i·im (rectangular form)
complex_packConjugate z*
ShippingComplex conjugate z* = re − i·im (negates the imaginary part)
conjugateFormula
ShippingElement-wise expression evaluation with optional operands y, z
formulaImag Part
ShippingExtract the imaginary part Im(z) of a complex array (zeros for real input)
imag_partLogic Gate
ShippingElement-wise boolean logic: AND, OR, NOT, NAND, NOR, XOR, XNOR
logic_gateMagnitude |z|
ShippingElement-wise modulus |z| = √(re² + im²) of a complex (or real) array
magnitudeMath Operator
ShippingElement-wise binary operations: add, subtract, multiply, divide, power, modulo, min, max
math_operatorPhase ∠z
ShippingElement-wise argument arg(z) = atan2(im, re) in radians
phaseReal Part
ShippingExtract the real part Re(z) of a complex array as a real array
real_partScale & Offset
ShippingLinear transform y = a·x + b with configurable order
scale_offsetSplit Re / Im
ShippingSplit a complex array into its real and imaginary parts (inverse of complex_pack)
complex_unpackTrigonometry
ShippingElement-wise trig/inverse/hyperbolic with degree/radian conversion
trigonometryArrays & Tensors
27Arange
Shippingnumpy arange: a half-open [start, stop) sequence spaced by step
array_arangeConcatenate
ShippingJoin 2–4 Signals or Vectors end-to-end along axis 0, rebuilding a monotonic time axis
concatDiagonal
Shippingnumpy diag: 1-D input → diagonal matrix, 2-D input → extract the k-th diagonal
array_diagExpand Dims
ShippingInsert a size-1 axis into an array at a chosen position (numpy expand_dims)
tensor_expand_dimsEye / Identity
Shippingnumpy eye(n, m, k): an n×m matrix with ones on the k-th diagonal (identity when square)
array_eyeFlatten
ShippingRavel a Matrix / Tensor / Vector into a 1-D Vector in C- or Fortran-order (numpy ravel)
flattenFrom Values
ShippingParse a pasted list of numbers into an array; optional shape folds it into a grid
array_from_valuesFull (constant)
Shippingnumpy-style array filled with one constant value; shape rank picks the variant
array_fullGeomspace
Shippingnumpy geomspace: num samples geometrically (log-) spaced between actual start and stop
array_geomspaceIndex / Gather
Shippingnumpy fancy indexing arr[i] / arr[[i,j,k]] over a Signal or Vector; single→Scalar, list→series
gather_indexLinspace
Shippingnumpy linspace: num evenly-spaced samples from start to stop with a pinned endpoint
array_linspaceLogspace
Shippingnumpy logspace: base raised to a linspace of exponents (spans base^start … base^stop)
array_logspaceOnes
Shippingnumpy-style one-filled array source; shape rank picks Vector / Matrix / Tensor
array_onesPad
ShippingExtend a Signal or Vector at its ends with constant / edge / reflect / wrap fill (numpy np.pad)
padRandom Normal
Shippingi.i.d. Gaussian samples N(mean, std) with a portable, reproducible RNG and seed output
array_random_normalRandom Uniform
Shippingi.i.d. uniform samples on [low, high) with a portable, reproducible RNG and seed output
array_random_uniformReshape
ShippingRe-lay a flat row-major array under a new shape (numpy reshape); rank picks Vector/Matrix/Tensor
reshapeSegment
ShippingCrop a Signal to a time window [t0, t1] by timestamp (not index), configurable endpoint inclusivity
segmentSlice
Shippingnumpy basic slicing arr[start:stop:step] over Signal / Vector / Matrix, with n-D multi-axis spec
sliceSqueeze
ShippingDrop size-1 axes from an array — all of them, or a single specified axis (numpy squeeze)
tensor_squeezeTensor Concat
ShippingConcatenate up to four arrays along an existing axis (numpy concatenate); no new dimension
tensor_concatTensor Math
ShippingElement-wise binary op on N-D arrays with numpy broadcasting; IEEE-pure, units propagate
tensor_mathTensor Reduce
ShippingReduce an N-D array along chosen axes: sum, mean, min, max, product, variance, std
tensor_reduceTensor Stack
ShippingStack up to four equal-shaped arrays along a NEW axis (numpy stack); result rank is ndim+1
tensor_stackTensor Transpose
ShippingPermute or reverse array axes (numpy transpose / .T); a pure reindex that preserves the unit
tensor_transposeTile / Repeat
ShippingReplicate a Signal or Vector reps times, whole-array (tile) or per-element (repeat)
tileZeros
Shippingnumpy-style zero-filled array source; shape rank picks Vector / Matrix / Tensor
array_zerosLinear Algebra
18Cholesky
ShippingCholesky factor L of a symmetric positive-definite matrix (A = L·Lᵀ)
matrix_choleskyCondition Number
ShippingCondition number κ(A) = σ_max / σ_min — sensitivity of the linear system
matrix_condDeterminant
ShippingScalar determinant det(A) via MKL LAPACK; dimensionless
matrix_determinantEig (General)
ShippingGeneral (non-symmetric) eigen-decomposition with real+imag facade ports and unified complex arrays
matrix_eigEigh (Symmetric)
ShippingEigen-decomposition of a symmetric/Hermitian matrix: real eigenvalues and orthonormal vectors
matrix_eighEinsum
ShippingEinstein summation over up to 3 operands via a subscripts string (matmul, trace, transpose, batched)
tensor_einsumInverse
ShippingDense matrix inverse A⁻¹ via MKL LAPACK; dimensionless result
matrix_inverseLeast Squares
ShippingLeast-squares solution of A·x ≈ b with residual, rank, and singular values
matrix_lstsqMatrix Multiply
Shippingnumpy @ matmul: 1-D/2-D/N-D with batch broadcasting; result unit = product of operand units
tensor_matmulNorm
ShippingSelectable vector/matrix norm (Euclidean, L1, L∞, Lᵖ, L0, spectral, nuclear, operator)
matrix_normPseudo-Inverse
ShippingMoore-Penrose pseudo-inverse A⁺ for rectangular / rank-deficient matrices
matrix_pinvQR
ShippingQR decomposition A = Q·R with orthonormal Q and upper-triangular R
matrix_qrRank
ShippingNumerical rank of a matrix (count of significant singular values)
matrix_rankSign & Log-Det
ShippingNumerically stable log-determinant: returns sign and ln|det A| separately
matrix_slogdetSolve A·x = b
ShippingSolve the linear system A·x = b directly via MKL LAPACK (preferred over forming A⁻¹)
matrix_solveSVD
ShippingFull singular value decomposition A = U·Σ·Vᵀ via MKL LAPACK
matrix_svdTensordot
ShippingGeneral axis contraction (numpy tensordot) over matched axis lists; unit = product of operand units
tensor_tensordotTrace
ShippingSum of the diagonal, tr(A) = Σ Aᵢᵢ
matrix_traceSignal Processing
15Area Integration
ShippingDefinite integral / area under curve
area_integrationClip / Saturation
ShippingAmplitude limiting: hard clip, soft clip, or wrap
clipDelay
ShippingTime-domain signal delay with ring buffer state persistence
delayDerivative
ShippingNumerical differentiation with state persistence across blocks
derivativeEnvelope
ShippingAmplitude envelope detection: peak, RMS, or Hilbert analytic
envelopeFast Fourier Transform
ShippingWindowed DFT: magnitude, phase, and frequency outputs
fftIIR Filter
ShippingStateful Butterworth filter with biquad cascade and DirectForm2Transposed
iir_filterIntegral
ShippingCumulative integration with running accumulator persistence
integralInverse FFT
ShippingReconstruct time signal from one-sided magnitude + optional phase spectrum
inverse_fftPeak Detection
ShippingLocal maxima/minima with prominence, threshold, and min_distance filtering
peak_detectionResample
ShippingChange signal sample rate using sinc anti-aliased resampling
resampleSample & Hold / Buffer / Decimate
ShippingStateful: classic S&H latch, ring-buffer capture, or decimation
sample_holdSchmitt Trigger
ShippingHysteresis comparator with state persistence across blocks
schmitt_triggerSmoothing
ShippingLow-pass / denoising: moving average, exponential, Gaussian, median, Savitzky-Golay
smoothingWindowed Max
ShippingSliding-window peak tracker: abs_max, signed_max, signed_min, or running_max
windowed_maxStatistics
13Array Quantile
ShippingQuantile / percentile of an array with NumPy-style interpolation methods
array_quantileArray Summary
ShippingTwelve descriptive statistics of any array in one pass: mean, spread, shape, extrema, count
array_summaryBivariate Distribution
ShippingFull joint X–Y analysis: correlation, covariance, KDE contours, ellipses, marginals, OLS + PCA axes
bivariate_distributionCentral Moment
ShippingThe n-th central moment E[(x-μ)ⁿ] of an array (2 = variance, 3 = skew, 4 = kurtosis)
array_central_momentCorrelation Matrix
ShippingPearson correlation matrix of a data matrix whose columns are variables
array_correlationCovariance Matrix
ShippingCovariance matrix of a data matrix (columns = variables), with sample/population DOF control
array_covarianceDeviation Metrics
ShippingSix error/deviation metrics between two arrays: L1, L2, L∞, MAE, MSE, RMSE
array_deviationGaussian Process
ShippingNon-parametric Bayesian fit that produces a calibrated posterior mean and ±σ confidence band
gaussian_processHistogram
ShippingEqual-width histogram of an array: bin counts and bin edges over [min, max]
array_histogramKL Divergence
ShippingKullback-Leibler divergence D(p‖q) between two probability distributions
array_kl_divergenceRegression / Curve Fit
ShippingFit a model (linear, polynomial, exponential, Gaussian, custom…) to a signal with weighted least squares
regressionShannon Entropy
ShippingShannon entropy of an array treated as a probability distribution
array_entropyStatistics
ShippingReduce signal to six scalar measures: mean, std, min, max, rms, median
statisticsDataFrames
7Concat Frames
ShippingCombine 2–4 DataFrames: stack rows (append) or join columns (side by side)
df_concatDataFrame → Signals
ShippingPlot every column against a chosen X column — emits one signal per remaining numeric column
df_to_signalsFilter Rows
ShippingKeep rows where a column matches a condition (=, ≠, <, >, contains, is null…)
df_filterSelect Columns
ShippingKeep or drop a subset of DataFrame columns by name or index; reorder in keep mode
df_selectSignals → DataFrame
ShippingPack a signal or bundle into a typed table: a time column plus one f64 column per channel
df_from_signalsSlice Rows
Shippingnumpy frame[start:stop:step] over rows — head, tail, reverse, decimate
df_sliceSort Rows
ShippingStable sort the rows by one column, ascending or descending, with nulls last
df_sortUnits & Uncertainty
4Quantity Split
ShippingDecompose a quantity into its magnitude, σ, relative uncertainty, and unit label as separate outputs
quantity_splitSet Uncertainty
ShippingAttach, override, or clear a quantity's standard uncertainty (±σ)
set_uncertaintySet Unit
ShippingAttach or relabel a quantity's unit without rescaling the numbers
set_unitUnit Convert
ShippingRe-express a quantity in another unit, or simplify/reduce its compound unit to canonical SI form
unit_convertSimulation
5Continuous Integrator
ShippingContinuous state block: integrates dx/dt into state x inside a Simulation compound
integrator_continuousHit Crossing
ShippingZero-crossing event source: fires when a signal crosses a level in the chosen direction
hit_crossingMacro Input (Boundary)
ShippingCompound-node input boundary: surfaces one outer input port on a custom subsystem
macro_inMacro Output (Boundary)
ShippingCompound-node output boundary: surfaces one outer output port from a custom subsystem
macro_outSimulation Clock
ShippingSimulation time source: emits the current sim time t for driving f(t) systems
sim_clockControl Flow
4If / Else Merge
ShippingWhole-branch If/Else select: forward the then or else input based on one boolean condition
cond_mergeInput Event
ShippingHuman/Hardware-in-the-loop input: keyboard/mouse drives a live scalar into a running simulation
input_eventStop Simulation (Auto-Stop)
ShippingTerminal event: end the sim run early when a watched signal crosses a level in a chosen direction
stop_simulationSwitch / Router
ShippingElement-wise IF/ELSE data router: forward A or B per sample based on a control criteria
switchBundles
4Pack / Multiplexer
ShippingCombine N signals into one SignalBundle with lossless per-channel metadata
packUnpack / Demultiplexer
ShippingSplit one SignalBundle back into N individual signals
unpackUnzip (Split Signal)
ShippingSplit a Signal into X (timestamps), Y (values), and σ (std-dev) as three Vectors
unzip_signalZip (Build Signal)
ShippingFuse an X array and a Y array into one Signal (X→timestamps, Y→values), σ optional
zip_signalImport & Export
3File Export
ShippingWrite the incoming value (Signal/Bundle/DataFrame/Matrix) to a CSV/TSV/TXT file
file_exportFile Import
ShippingRead a CSV/TSV/TXT file into a typed DataFrame, Signal, or Signal Bundle
file_importResource Source
ShippingReference any workspace resource by handle, optionally narrowed to one column
resource_sourceHardware & I/O
4Audio Output
ShippingSpeaker-playback sink with live re-trigger guard and monitor mode
audio_outputAudio Source
ShippingLive mic capture as continuous L/R Signals
audio_sourceGBF Source
On the roadmapExposes live GBF (SA1/SA2) sample tables from memory registry
gbf_sourceHardware Source
On the roadmapBridges live multi-channel DAQ: up to 8 channels (ea0-ea7) + alias
hardware_source