1.9 KiB
1.9 KiB
Task 1: Workspace Scaffold
Depends on: none
Context Files
.dev/2026-05-28-procgen-map-core/spec/design.md— §2 (workspace layout), §3 (theMapcontract these crates revolve around)..dev/2026-05-28-procgen-map-core/README.md— architecture + dependency direction.
Files
- Create:
Cargo.toml— workspace manifest. - Create:
.gitignore—/target. - Create:
reikhelm-core/Cargo.toml— core lib manifest. - Create:
reikhelm-core/src/lib.rs— empty crate root (later tasks appendpub modlines). - Create:
reikhelm-viz/Cargo.toml— viz binary manifest. - Create:
reikhelm-viz/src/main.rs— stubmainthat compiles.
What to Build
A two-crate Cargo workspace (spec §2). reikhelm-core is a library with no rendering dependencies — only rand, rand_chacha, and serde (with the derive feature). reikhelm-viz is a binary depending on reikhelm-core (by path) and macroquad. git init the repo first so per-task commits work. Use resolver = "2". Pin recent stable crate versions. lib.rs starts empty (a crate doc comment is fine); main.rs is a trivial fn main() placeholder — Task 13 replaces it. The point of this task is a workspace where cargo build and cargo test succeed with zero modules.
Interface Dependencies
- Produces: a compiling workspace;
reikhelm-corecrate (lib),reikhelm-vizcrate (bin).
Tests
- No unit tests yet. The success check is that the workspace compiles.
Success Criteria
git initdone;.gitignoreexcludes/target.reikhelm-coredeclaresrand,rand_chacha,serde(derive); declares no rendering/GUI dependency.reikhelm-vizdepends onreikhelm-coreby path and onmacroquad.cargo buildsucceeds from the workspace root.cargo testsucceeds (zero tests is fine).
Commit
"chore: scaffold reikhelm cargo workspace (core + viz crates)"