Expand description
Self-documenting node definitions for image processing pipelines.
zennode provides a trait-based system for defining pipeline operations
with full parameter schemas, RIAPI querystring parsing, and JSON Schema
generation — all with permanent backwards compatibility.
§Quick Start
ⓘ
use zennode::*;
#[derive(Node, Clone, Debug, Default)]
#[node(id = "myfilter.brightness", group = Tone, role = Filter)]
pub struct Brightness {
/// Amount of brightness adjustment
#[param(range(-1.0..=1.0), default = 0.0, identity = 0.0, step = 0.05)]
#[param(unit = "", section = "Main")]
pub amount: f32,
}§Features
derive(default) — enables#[derive(Node)]and#[derive(NodeEnum)]std(default) — enablesstd::error::Errorimplserde— enables serdeSerialize/Deserializeon param typesjson-schema— enables JSON Schema generation (impliesserde)
Re-exports§
pub use error::NodeError;pub use format::AlphaHandling;pub use format::FormatHint;pub use format::PixelFormatPreference;pub use kv::KvEntrySnapshot;pub use kv::KvPairs;pub use kv::KvWarning;pub use kv::KvWarningKind;pub use ordering::CoalesceInfo;pub use ordering::NodeRole;pub use param::ParamMap;pub use param::ParamValue;pub use registry::KvResult;pub use registry::NodeRegistry;pub use schema::EnumVariant;pub use schema::JsonParam;pub use schema::NodeGroup;pub use schema::NodeParams;pub use schema::NodeSchema;pub use schema::ParamDesc;pub use schema::ParamKind;pub use schema::SliderMapping;pub use schema::TaggedVariant;pub use traits::NodeDef;pub use traits::NodeInstance;pub use version::VersionSet;
Modules§
- error
- Error types for node operations.
- format
- Pixel format preference types.
- kv
- RIAPI key-value parsing with consumption tracking.
- nodes
- zennode does not define any built-in nodes. See
nodesmodule docs. zennode does not define any built-in nodes. - ordering
- Node classification and coalescing types.
- param
- Runtime parameter value types.
- registry
- Node registry — aggregation point for node definitions.
- schema
- Static schema types for node definitions.
- traits
- Core traits for node definitions and instances.
- version
- Version management for node registries.
Type Aliases§
- Phase
- Backwards compatibility alias.