Skip to main content

frp_engine/
lib.rs

1//! frp engine — graph execution runtime for the infinite-db frp backend.
2//!
3//! Provides:
4//! - [`Graph`] — the live container that holds blocks, edges, atoms, and port
5//!   values and drives the execution loop.
6//! - [`Executor`] — evaluates a single edge against the current port-value map.
7//! - [`Scheduler`] — decides which edges fire and when (OnChange / OnTick / OnEvent).
8//! - [`toposort`] — Kahn's algorithm for ordering edges by data dependency.
9//! - [`TransformRegistry`] / [`eval_transform`] — named and inline transforms.
10//! - [`EngineError`] — unified error type.
11
12pub mod error;
13pub mod executor;
14pub mod graph;
15pub mod scheduler;
16pub mod toposort;
17pub mod transform;
18
19pub use error::EngineError;
20pub use executor::Executor;
21pub use graph::Graph;
22pub use scheduler::Scheduler;
23pub use toposort::toposort;
24pub use transform::{BoxFuture, TransformRegistry, eval_transform};