# 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<T>` 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 <name>;` by Tasks 2, 3, 4, 5, 6, 12.
- `reikhelm-core/src/passes/mod.rs` — appended with `pub mod <name>;` by Tasks 7–11 (parallel; orchestrator merges).
