pub struct NodeDef {
pub id: String,
pub type_name: String,
pub config: Value,
pub activation: Option<ActivationDef>,
pub recovery: Option<RecoveryDef>,
pub merger: Option<String>,
pub max_executions: Option<u64>,
pub position: Option<(f64, f64)>,
}Expand description
A serializable node definition.
Fields§
§id: StringStable string id — survives graph editing (deletion, copy-paste) untouched.
type_name: StringRegistry key, e.g. "my-crate.generate".
config: ValueNode-specific configuration blob; the schema is owned (and versioned) by the consumer’s node type. The engine never looks inside.
activation: Option<ActivationDef>Activation override; absent means “the node type’s own default”.
recovery: Option<RecoveryDef>Recovery override; absent means “the node type’s own policy”. A retry here
reuses the node’s own classifier when it has one, and otherwise retries every
failure — prefer registering classification inside the node factory.
merger: Option<String>Optional named merger used when this node joins branch states.
max_executions: Option<u64>Optional per-run execution cap (poll-until circuit breaker).
position: Option<(f64, f64)>Inert GUI layout hint; the engine ignores it and round-trips it faithfully so the GUI never loses a human’s arrangement.