diff options
Diffstat (limited to 'rif/src/lib.rs')
-rw-r--r-- | rif/src/lib.rs | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/rif/src/lib.rs b/rif/src/lib.rs new file mode 100644 index 0000000..047dc24 --- /dev/null +++ b/rif/src/lib.rs @@ -0,0 +1,29 @@ +//! # Recipe Instruction Format +//! +//! A structured format for expression recipes, and work steps with +//! variable actor counts. Ingredients and work steps are typed via +//! an internally provided schema. The backing file-format for +//! serialisation is [`g3f`](https://github.com/spacekookie/g3f). +//! +//! Each recipe is separated into threads, with a set of inputs, work +//! steps and an output. A thread is a set of work steps that can be +//! executed by a single actor, consecutively. Ingredients can be +//! added at every step, and can be outputs of previous threads. This +//! creates a graph, coloured by the set of possible concurrent actors +//! that can execute the recipe. +//! +//! ## Example +//! +//! ```rust +//! let mut r = Recipe::new(); +//! let mut t = r.add_thread().name("a"); +//! +//! ``` + +mod recipe; +mod schema; +mod thread; + +pub use recipe::{Metadata, Recipe}; +pub use schema::{Ingredient, Schema, Workstep}; +pub use thread::Thread; |