reikhelm/.dev/2026-05-28-procgen-map-core/files.md
Parley Hatch 08e99e38a3 chore: scaffold reikhelm cargo workspace (core + viz crates)
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-05-28 20:56:24 -06:00

40 lines
2.6 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 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 711.
- 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 711 (parallel; orchestrator merges).