reikhelm/.dev/2026-05-28-procgen-map-core/tasks/01-workspace-scaffold.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

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 (the Map contract 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 append pub mod lines).
  • Create: reikhelm-viz/Cargo.toml — viz binary manifest.
  • Create: reikhelm-viz/src/main.rs — stub main that 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-core crate (lib), reikhelm-viz crate (bin).

Tests

  • No unit tests yet. The success check is that the workspace compiles.

Success Criteria

  • git init done; .gitignore excludes /target.
  • reikhelm-core declares rand, rand_chacha, serde (derive); declares no rendering/GUI dependency.
  • reikhelm-viz depends on reikhelm-core by path and on macroquad.
  • cargo build succeeds from the workspace root.
  • cargo test succeeds (zero tests is fine).

Commit

"chore: scaffold reikhelm cargo workspace (core + viz crates)"