# 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)"`
