# Files All files created or modified across the plan. One-line purpose each. ## Workspace root (Task 1) - Create `Cargo.toml` — workspace manifest; `members = ["reikhelm-core", "reikhelm-viz"]`, `resolver = "2"`. - Create `.gitignore` — ignore `/target`. - Create `reikhelm-core/Cargo.toml` — core lib manifest; deps: `rand`, `rand_chacha`, `serde` (derive). - Create `reikhelm-core/src/lib.rs` — crate root; module declarations (appended to by later tasks). - Create `reikhelm-viz/Cargo.toml` — viz bin manifest; deps: `reikhelm-core` (path), `macroquad`. - Create `reikhelm-viz/src/main.rs` — stub `main` (compiles; fleshed out in Task 13). ## reikhelm-core modules - Create `reikhelm-core/src/geometry.rs` (Task 2) — `Point`, `Rect`, `Line`. - Create `reikhelm-core/src/grid.rs` (Task 3) — generic `Grid` with neighbor/iterator queries. - Create `reikhelm-core/src/rng.rs` (Task 4) — `Rng` (ChaCha8 wrapper) with deterministic `fork` and helpers. - Create `reikhelm-core/src/region.rs` (Task 5) — `RegionId`, `RegionKind`, `Region`, `Edge`, `ConnGraph`. - Create `reikhelm-core/src/map.rs` (Task 5) — `Tile`, `Map` (the output contract), serde derives. - Create `reikhelm-core/src/ascii.rs` (Task 5) — ASCII renderer (`Map::to_ascii` / `print_ascii`). - Create `reikhelm-core/src/blackboard.rs` (Task 6) — `Blackboard` named typed-slot scratch store. - Create `reikhelm-core/src/pass.rs` (Task 6) — `GenContext`, `Pass` trait, `Pipeline`, `Snapshot`. - Create `reikhelm-core/src/passes/mod.rs` (Task 6) — passes module root + inter-pass contract doc; pass `pub mod` lines appended by Tasks 7–11. - Create `reikhelm-core/src/passes/bsp.rs` (Task 7) — `BspConfig`, `BspPartition` pass. - Create `reikhelm-core/src/passes/room.rs` (Task 8) — `RoomConfig`, `RoomCarver` pass. - Create `reikhelm-core/src/passes/connect.rs` (Task 9) — `ConnectConfig`, `MstConnect` pass. - Create `reikhelm-core/src/passes/corridor.rs` (Task 10) — `CorridorCarver` pass. - Create `reikhelm-core/src/passes/door.rs` (Task 11) — `DoorPlacer` pass. - Create `reikhelm-core/src/recipes/mod.rs` (Task 12) — recipes module root. - Create `reikhelm-core/src/recipes/dungeon.rs` (Task 12) — `DungeonConfig`, `ConfigError`, `dungeon()` recipe + integration tests. ## reikhelm-viz - Modify `reikhelm-viz/src/main.rs` (Task 13) — macroquad window: render `Map`, reroll key, seed display, stretch snapshot scrubber. ## Shared files modified by multiple tasks - `reikhelm-core/src/lib.rs` — appended with `pub mod ;` by Tasks 2, 3, 4, 5, 6, 12. - `reikhelm-core/src/passes/mod.rs` — appended with `pub mod ;` by Tasks 7–11 (parallel; orchestrator merges).