Sink / Display Terminal
ShippingsinkUniversal variadic terminal node: accepts any data, returns nothing
Signature
This node has no data ports.
Description
The Sink / Display Terminal is a universal variadic terminal: it accepts any CaptyseValue on any of its inputs and produces no output. It is the canonical way to terminate a graph branch so that a computation is actually evaluated and its result made observable in the inspector without feeding a downstream consumer.
Because its declared input_ports, output_ports, and parameters are all empty, the sink is fully polymorphic: inputs are added dynamically as you wire into it, and it imposes no type, shape, unit, or channel constraints. It transports whatever it is given — Scalar, Signal, Matrix, SignalBundle, Complex, Spectrum, UnitValue, and so on — and simply pins that value for display.
The sink is transparent to units and uncertainty: it neither strips, converts, nor rescales metadata. A value arriving with a physical unit (e.g. V, m/s) and an associated standard deviation is displayed exactly as-is, so the sink doubles as a probe for confirming that unit propagation and uncertainty flow through an upstream chain are correct.
The sink is stateless (stateful: false): it holds no memory across evaluations, applies no transform, and its presence never alters the numerical result of the graph. It is a pure observation point.
Examples
Terminating a branch to force evaluation
Wire the output of any producing node into a sink to evaluate and inspect it without building a consumer:
signal_generator ──▶ fft ──▶ sinkThe sink pins the resulting Spectrum for the inspector. Nothing flows out; the branch simply terminates cleanly.
Probing units and uncertainty
Feed a computed UnitValue carrying a unit and standard deviation into a sink to verify propagation. If math_operator divides a distance d = 10.0 \pm 0.2\,\text{m} by a time t = 2.0 \pm 0.05\,\text{s}, the sink displays the result with its derived unit and propagated — a quick correctness check for the whole upstream chain.
Applications
- Debug probe: tap any intermediate wire into a sink to observe values, units, and uncertainty mid-graph without disturbing the computation.
- Branch termination: cap output branches that have no downstream node so the engine still evaluates them and surfaces results in the inspector.
- Unit/uncertainty verification: confirm that physical units and $\sigma$ propagate correctly end-to-end through a processing chain before wiring to hardware or export.
- Ad-hoc inspection in teaching and prototyping: display the output of a single operator (FFT, filter, statistics) with zero boilerplate.
Neat
The sink is one of the few nodes with empty static input, output, and parameter lists — its inputs materialize dynamically at wire time, making it accept literally any value type the engine defines.
Because it is a pure terminal with no output, a sink can never introduce a cycle or feedback path, so it is always safe to attach anywhere in a graph.