--- /dev/null
+struct Recipe {\r
+ ingredients: Vec<Ingredient>,\r
+ process: Vec<Group>,\r
+}\r
+\r
+struct Ingredient {\r
+ quantity: Quantity,\r
+ name: String,\r
+}\r
+\r
+struct Quantity {\r
+ value: f32,\r
+ unit: String,\r
+}\r
+struct Group {\r
+ name: String,\r
+ steps: Vec<Step>,\r
+}\r
+\r
+struct Step {\r
+ action: String,\r
+ input: Vec<StepInput>,\r
+ output: Vec<IntermediateSubstance>,\r
+}\r
+\r
+struct IntermediateSubstance {\r
+ name: String,\r
+ quantity: Option<Quantity>,\r
+}\r
+\r
+enum StepInput {\r
+ Ingredient(Ingredient),\r
+ IntermediateSubstance,\r
+}
\ No newline at end of file