//! # 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, Material, Schema, Workstep}; pub use thread::{IngredientLike, Instruction, Measure, Thread};