Skip to main content

Crate ezu_graph

Crate ezu_graph 

Source
Expand description

Typed DAG evaluator for the Ezu Style Spec.

  • portPortKind, PortSpec, CoordSpace
  • buf / value — concrete buffers and the PortValue enum
  • node — the Node trait every operation implements
  • graphGraphBuilder / Graph with topo sort, type checking, cycle detection, and pad propagation
  • registry / build — turn a parsed ezu_style::Document into a typed Graph using a registry of node factories
  • eval / cache / evaluator — render a tile

Re-exports§

pub use buf::GeoScale;
pub use buf::OpaqueValue;
pub use buf::RasterBuf;
pub use buf::ScalarField;
pub use build::build_graph;
pub use build::BuildGraphError;
pub use cache::Cache;
pub use cache::CacheKey;
pub use cache::Hash128;
pub use eval::Asset;
pub use eval::AssetError;
pub use eval::AssetLoader;
pub use eval::CanvasInfo;
pub use eval::EvalCtx;
pub use eval::EvalError;
pub use eval::NoAssets;
pub use eval::ParamValues;
pub use eval::TileId;
pub use evaluator::Evaluator;
pub use evaluator::RenderError;
pub use graph::BuildError;
pub use graph::Edge;
pub use graph::Graph;
pub use graph::GraphBuilder;
pub use graph::NodeId;
pub use graph::NodeIx;
pub use graph::MAX_PAD;
pub use node::Node;
pub use port::CoordSpace;
pub use port::PortKind;
pub use port::PortSpec;
pub use registry::schema_frag;
pub use registry::take_input_ref;
pub use registry::take_optional_input_ref;
pub use registry::BuiltNode;
pub use registry::Connection;
pub use registry::FactoryCtx;
pub use registry::FactoryError;
pub use registry::NodeFactory;
pub use registry::NodeRegistry;
pub use registry::StaticOp;
pub use value::PortValue;
pub use value::ScalarValue;

Modules§

buf
Concrete buffer types flowing along Raster edges.
build
Drive GraphBuilder from a parsed spec::Document using a NodeRegistry.
cache
Render-time intermediate cache, keyed by a content-derived hash.
eval
Evaluation context, asset loader, and error types used during Node::eval.
evaluator
Walk the DAG and evaluate one tile.
graph
The DAG itself: building, type-checking, topology, pad propagation.
node
The Node trait — what every operation in the graph implements.
port
Port kinds — the type system of the DAG.
registry
Node registry — maps op names to factory functions.
value
PortValue — the runtime values flowing along DAG edges.

Macros§

submit_node
Submit a unit-struct NodeFactory to the global inventory so NodeRegistry::from_inventory picks it up.