d2f4ca05b0
simplify the recipes in the common case where only 1 of an input is needed
2025-01-18 21:18:56 -07:00
e7b5e60aae
impl std::default::Default for Quantity, simplifies the code a bunch
2025-01-18 21:18:22 -07:00
dd2f41e3cf
more functional handling of Quantity
2025-01-18 11:22:05 -07:00
424cbaedf8
include tools & actions when compiling a job
2025-01-18 07:08:14 -07:00
a42031917c
WIP: report target recipe inputs better
2025-01-17 23:30:20 -07:00
92ac5497e4
add missing vitamins, minor tweak to peristaltic pump
...
This compiles, try:
`$ cargo run -- --repo ../modular-recipes/recipes/ peristaltic_pump`
2025-01-17 22:00:05 -07:00
ed5ec61e94
add repo.compile(target)
2025-01-17 21:57:45 -07:00
cd1f922953
update all modular recipes to work with new parser schemas
2025-01-17 20:45:50 -07:00
11e97d3dcb
Recipe: make Action an enum with process and print
2025-01-17 20:45:10 -07:00
4890611460
Recipe: Operator is optional
2025-01-17 20:44:58 -07:00
af053c33b7
Recipe: richer Output
2025-01-17 20:44:47 -07:00
f28aeaf321
load all recipes from repo
2025-01-17 20:10:00 -07:00
57b8dae357
move Repo and Recipe into the library
2025-01-17 18:45:39 -07:00
20c49c62a0
give this silly test program a name
2025-01-13 00:15:27 -07:00
d3b6350894
more comments
2025-01-13 00:14:24 -07:00
d71c4b015a
add some comments
2025-01-13 00:11:14 -07:00
dd4961c6e7
git ignore the build directory
2025-01-12 23:49:20 -07:00
b8029db9a9
help serde disambiguate between numeric quantities and "freeform string"
...
I don't love this, but i couldn't figure out how to tell TOML's
Deserialize to accept an enum of a usize or a string for `quantity`.
2025-01-12 23:49:20 -07:00
d6f3c404b2
peristaltic-pump recipe: action is a Table, not Array
2025-01-12 23:49:20 -07:00
0f50979af2
peristaltic-pump recipe: tweak dependencies
...
`[dependencies]` is now a Table rather than an Array.
Operators can have more than one skill.
2025-01-12 23:49:20 -07:00
d9df686f1c
peristaltic-pump recipe: remove version from inputs
...
The version is implicitly tracked by the version control of the recipe
file for the input thing.
Or did i misunderstand something here?
2025-01-12 23:49:20 -07:00
2f65e08afc
peristaltic-pump recipe: make inputs a Table, not an Array
...
`[inputs]` is now a TOML Table (a key/value store). Each input is
represented in the `[inputs]` table by a key/value pair.
The key is a unique name (which also maps to the recipe file for building
that input thing).
The value is another table describing that input, that we'll represent
with an Input struct.
2025-01-12 23:49:20 -07:00
aca1e0715f
WIP: start parsing recipes
2025-01-12 23:49:20 -07:00
86bd75b63e
fixup: this recipe step only yields one bearing roller assembly
2025-01-12 23:49:20 -07:00
dd1d93b12e
move some files around and add test recipes
2025-01-12 22:40:31 -07:00
8fda9c2c3e
minimal config file parsing
2025-01-12 22:40:08 -07:00
b4e5967845
try at a more modular recipe architecture.
...
NOTE: some of this syntax isn't toml i don't think, so this should be
treated more like pseudo-toml
2025-01-11 23:42:48 -07:00
39f3116c13
first attempt at a recipe
...
Inspect with `tomlq . peristaltic-pump.recipe`.
I don't like how i have to name the intermediate subassemblies.
And the the toml syntax for "array of tables" feels pretty clunky:
<https://toml.io/en/v1.0.0#array-of-tables >
2025-01-11 21:56:24 -07:00
faa0109d5c
add initial architecture sketches
2025-01-11 17:29:06 -07:00