Cards become JSON data in course/cards (one file per card, validated against card.schema.json and the catalog); the M5 references load them via registerCards and interpret effects, replacing content closures. Adds assemble(base, donor, half), the assemble/buffHand effects with an injected chooser, Fleshshape as the data-only Expansion Drop, and stages course/cards in verify-references and start-module. Co-Authored-By: Claude Opus 5.5 <[email protected]>
12 lines
613 B
Markdown
12 lines
613 B
Markdown
# Systemic Design Course: Rust workspace
|
|
|
|
Your engine lives in `src/engine/` (generic rules machinery) and `src/content/` (card definitions; only this directory may name specific cards). `src/harness.rs` is the thin adapter the course tests call; wire its `todo!()` stubs to your engine.
|
|
|
|
Tests live in `tests/` and use `use engine::harness::*;`. Get a module's tests with `node tools/start-module.mjs NN <this-dir>` from the course repo.
|
|
|
|
```
|
|
cargo test
|
|
```
|
|
|
|
The crate has no dependencies yet. `serde` (with the `derive` feature) and `serde_json` are added at Module 5, when cards become JSON files in `cards/`.
|