Optional ReadonlydefaultValue used when the inlet is left unconnected. Without it, pulling
through an unconnected inlet throws UnconnectedInputError.
Outputs ignore this field.
Optional ReadonlyequalsDecides whether a newly computed value differs from the cached one.
Returning true suppresses the version bump, so every downstream
node skips recomputation even though it was marked dirty.
It also keeps the previously cached value — the newly computed
one is discarded. That is what makes the cutoff work (downstream
Object.is checks still see the same reference), but it means a
loose equals loses data: an equals comparing only an id field
will keep serving the old object after the rest of it changed.
Compare everything a consumer can observe.
Defaults to Object.is. For immutable pond values (TimeSeries,
Event) identity is the right test — a transform that genuinely
changed something returns a new instance. Supply a structural
comparison when a node produces scalars or small records, where
"same number as last time" is common and downstream work is not
free.
Optional ReadonlyvaluePhantom type marker. Never present at runtime.
Declares one port's value type.
valueTypeis a phantom marker: never set at runtime, present only soTis inferable from a spec (PortSpec<infer T>). Together with theequalsparameter position it also makesPortSpecinvariant inT, so aPortSpec<string>is not silently accepted where aPortSpec<number>is required.