pub struct NodeOpts {
pub initial: HandleId,
pub equals: EqualsMode,
pub partial: bool,
pub is_dynamic: bool,
pub pausable: PausableMode,
pub replay_buffer: Option<usize>,
pub terminal_as_real_input: bool,
}Expand description
Per-kind opts for Core::register. Cross-kind config knobs live
here; per-kind specifics (deps, fn_or_op) live on
NodeRegistration.
Fields§
§initial: HandleIdInitial cached value. Only valid for state nodes (no deps + no
fn + no op). NO_HANDLE starts the node sentinel.
equals: EqualsModeEquality mode for outgoing emissions (R1.3.2). Defaults to
EqualsMode::Identity.
partial: boolFirst-run gate (R2.5.3 / D011). When true, the node fires as
soon as ANY dep delivers a real handle; when false (default),
the node holds until every dep has delivered.
is_dynamic: boolDynamic flag (R2.5.3) — fn declares actually-tracked dep indices
per fire. Only meaningful when fn_or_op == Some(Fn(_)) AND
deps non-empty.
pausable: PausableModePause behavior mode (canonical §2.6). Default is
PausableMode::Default. See PausableMode for the trade-offs.
replay_buffer: Option<usize>Replay buffer cap (canonical R2.6.5 / Lock 6.G — Slice E1, 2026-05-07).
None (default) disables; Some(N) keeps a circular buffer of the
last N DATA emissions and replays them to late subscribers as part
of the per-tier handshake (between Message::Start and any
terminal slice). Only DATA is buffered; RESOLVED entries are NOT
(R2.6.5 explicit “DATA only”).
terminal_as_real_input: boolD263 — when true, the fire_fn first-run gate (R2.5.3) treats a
terminal dep as “real input” so the node fires even if the only
signal a dep ever delivered was a COMPLETE (no DATA). Mirrors the
unconditional fire_operator semantics (fire_operator’s gate
already counts dep terminals as real input — e.g. for Reduce).
Default false preserves the historical gate (sentinel deps hold
the node until they deliver real DATA). NOT yet widened onto the
Impl parity contract per D196 + the parity-tests comment
(“NOT widened onto Impl”); kept substrate-internal until a
cross-arm scenario surfaces.