Skip to main content

Crate rill_graph

Crate rill_graph 

Source
Expand description

§Rill Graph — Static DAG Signal Graph

This crate provides an immutable signal graph with static topology. Build once with GraphBuilder. The graph is a pure topology description — processing is driven by port-level methods (pre_process, snapshot_feedback, propagate) called from external code.

§Key Features

  • Static DAG topology — connections are fixed after build
  • Kahn’s algorithm — automatic topological sort with cycle detection
  • Auto FanOut/FanIn — connections classified by topology (user never chooses)
  • Port-owned routing — downstream connections and feedback state live on ports
  • Copy-based buffer routing — separate input/output buffer pools (zero-copy planned)
  • Safe Rust — no unsafe code

Re-exports§

pub use factory::NodeConstructor;
pub use factory::NodeFactory;
pub use factory::RegistryError;

Modules§

active
ActiveNode trait — nodes that drive graph processing. ActiveNode trait — moved to rill-core::traits. This module is kept empty for backward compatibility only.
backend_factory
Backend factory for constructing audio I/O backends by name.
factory
Node factory and registry for constructing nodes by type name.
prelude
Prelude for convenient imports

Macros§

node_ctor
Register a node constructor by type name.

Structs§

Graph
Immutable signal graph with static DAG topology.
GraphBuilder
Mutable builder for an immutable signal graph.
GraphResource
A named resource (tape loop) shared between nodes in the graph.

Enums§

BuildError
Errors that can occur during graph construction.