pub struct NodeDescribe {
pub type: NodeTypeStr,
pub status: NodeStatus,
pub value: Option<HandleId>,
pub deps: Vec<String>,
pub meta: Option<Value>,
}Expand description
Per-node descriptor.
Fields§
§type: NodeTypeStr"state" / "derived" / "dynamic" / "producer".
Producer-vs-state inference: a state node with no fn-id but
has_fired_once=true may stem from a producer pattern; the
rust-side classifier just reports kind directly. (Producer
inference is a binding-side concern — see canonical §3.6.1.)
status: NodeStatusLifecycle status (canonical Appendix B enum).
value: Option<HandleId>Raw handle of the node’s current cache. None when the cache
is sentinel (NO_HANDLE). Bindings render to T before
surfacing to end users.
deps: Vec<String>Dep names in declaration order. Unnamed deps surface as
_anon_<NodeId> to keep the output lossless without
elevating Core-only nodes into the namespace.
meta: Option<Value>Free-form metadata per canonical Appendix B (e.g. { "description": "...", "type": "integer", "range": [1, 10] }).
Always None in this slice — the metadata-storage primitive
on Core hasn’t shipped yet. Reserved as Option<serde_json::Value>
so the JSON shape stays forward-compatible (omitted via
skip_serializing_if when None to keep current outputs slim).
Trait Implementations§
Source§impl Clone for NodeDescribe
impl Clone for NodeDescribe
Source§fn clone(&self) -> NodeDescribe
fn clone(&self) -> NodeDescribe
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more