Skip to main content

Module input

Module input 

Source
Expand description

In<T> — a scalar node field that accepts an inline literal, a $param reference (resolved against EvalCtx::params at eval time), or a @node connection on a PortKind::Scalar input port.

Factories read fields through an InReader, which classifies each value and accumulates the scalar PortSpecs / Connections / param names the node must expose:

let mut r = InReader::new(fields, ctx, FIXED_PORTS.len());
let sigma = r.number(\"sigma\")?;          // In<f64>
let color = r.color_or(\"color\", WHITE)?; // In<[f32; 4]>
let parts = r.finish();
// node stores `sigma`, `color`, `parts.ports` (appended after the
// fixed ports), returns `parts.param_refs` from `Node::param_refs`,
// and the factory returns `parts.connections` alongside any fixed
// ones.

Cache correctness: In::param_hash feeds the static identity (literal value / param name / port index) into Node::param_hash; the runtime value of a $param is folded into the cache key by the evaluator via Node::param_refs, and a port-fed value arrives through the upstream node’s hash.

Structs§

InParts
What an InReader accumulated: scalar input ports (to append after the node’s fixed ports), their connections, and the names of $param references (returned from Node::param_refs).
InReader
Field reader used by node factories: classifies each field as literal / $param / @node and accumulates the node’s scalar port plumbing. See the module docs for the usage pattern.
PaddingIn
A numeric field whose value decides how much canvas padding the graph needs — a blur’s sigma, a morphology radius, a warp amplitude.

Enums§

In
A node field whose value is an inline literal, a $param reference, or a scalar input port. Resolve with In::get inside Node::eval.

Constants§

ACCEPTS_SCALAR
Accepts-list for a scalar input port.

Traits§

ScalarType
A scalar field type readable through In<T> / InReader.

Functions§

parse_param_value
Parse a caller-supplied parameter assignment (CLI --param k=v, server query string) against the document’s declarations. Unknown names, type mismatches, and out-of-range numbers are errors — hosts report them up front instead of silently clamping at eval time.