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

2.6 KiB
Raw Blame History

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).