Sink / Display Terminal

Shipping
sink

Universal 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 ──▶ sink

The 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.

See also

terminalsinkdisplayprobevariadicinspection