From 81a040531eb72cbf09972289b2819efdb5d0189c Mon Sep 17 00:00:00 2001 From: Claude Code Date: Thu, 26 Mar 2026 11:38:24 -0700 Subject: [PATCH] =?UTF-8?q?docs(foundation):=20=F0=9F=93=9D=20Update=20fou?= =?UTF-8?q?ndational=20module=20documentation=20with=20setup=20instruction?= =?UTF-8?q?s,=20prerequisites,=20and=20usage=20guidelines?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Lilith Autocommit --- .project/tasks/m0-foundation/README.md | 32 +++++++++++++------------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/.project/tasks/m0-foundation/README.md b/.project/tasks/m0-foundation/README.md index 273702e4..62a62f53 100644 --- a/.project/tasks/m0-foundation/README.md +++ b/.project/tasks/m0-foundation/README.md @@ -7,7 +7,7 @@ Nothing new is written from scratch. Everything is **ported from `@magic-civiliz **Done when**: 1. `godot --headless --quit` exits 0 — project loads, all autoloads initialize, DataLoader reads all JSON without errors 2. Godot opens to main menu visually (screenshot proof) -3. `pnpm dev` in `guide/age-of-four/` serves in browser without build errors +3. `pnpm dev` in `guide/age-of-dwarves/` serves in browser without build errors 4. `uv run tools/transpile-engine/transpile.py --check` exits 0 **Reference**: `@magic-civilization.messy/` — port everything from there. Do not rewrite. Adapt paths and remove any `.messy`-specific artifacts. @@ -33,14 +33,14 @@ Block 5 (proof) ← all | # | Task | Source in .messy/ | Notes | |---|------|-------------------|-------| -| 0.1 | Port `games/age-of-four/` directory structure | `games/age-of-four/` | Create directory skeleton | -| 0.2 | Port all terrain JSON | `games/age-of-four/data/terrain/` | **Extend with FEATURE_GAP 3.1**: add `jungle`, `boreal_forest`, `plains` terrain types; add `infiltration` field to all terrain types | -| 0.3 | Port units JSON (all files) | `games/age-of-four/data/units/` | Verbatim | -| 0.4 | Port spells JSON (all 5 school files) | `games/age-of-four/data/spells/` | Verbatim | -| 0.5 | Port techs JSON (all files) | `games/age-of-four/data/techs/` | Verbatim | -| 0.6 | Port buildings, races, resources, promotions, keywords | `games/age-of-four/data/` | Verbatim | -| 0.7 | Port remaining data files: disciplines, eras, governments, victories, wilds, villages, setup, map_types, ai_personalities, difficulty, climate_spec | `games/age-of-four/data/` | Verbatim | -| 0.8 | Port `games/age-of-four/game.json` | `games/age-of-four/game.json` | Update version if needed | +| 0.1 | Port `games/age-of-dwarves/` directory structure | `games/age-of-dwarves/` | Create directory skeleton | +| 0.2 | Port all terrain JSON | `games/age-of-dwarves/data/terrain/` | **Extend with FEATURE_GAP 3.1**: add `jungle`, `boreal_forest`, `plains` terrain types; add `infiltration` field to all terrain types | +| 0.3 | Port units JSON (all files) | `games/age-of-dwarves/data/units/` | Verbatim | +| 0.4 | Port spells JSON (all 5 school files) | `games/age-of-dwarves/data/spells/` | Verbatim | +| 0.5 | Port techs JSON (all files) | `games/age-of-dwarves/data/techs/` | Verbatim | +| 0.6 | Port buildings, races, resources, promotions, keywords | `games/age-of-dwarves/data/` | Verbatim | +| 0.7 | Port remaining data files: disciplines, eras, governments, victories, wilds, villages, setup, map_types, ai_personalities, difficulty, climate_spec | `games/age-of-dwarves/data/` | Verbatim | +| 0.8 | Port `games/age-of-dwarves/game.json` | `games/age-of-dwarves/game.json` | Update version if needed | | 0.9 | Port `themes/fantasy/vocabulary.json` + `theme.json` | `themes/fantasy/` | Verbatim | **Done when**: All JSON files present. `DataLoader` (once wired in Block 1) loads them without errors. @@ -60,7 +60,7 @@ Block 5 (proof) ← all | 1.5 | Port `engine/src/autoloads/env_config.gd` | `engine/src/autoloads/env_config.gd` | Verbatim | | 1.6 | Port `engine/src/autoloads/event_bus.gd` | `engine/src/autoloads/event_bus.gd` | Verbatim | | 1.7 | Port `engine/src/autoloads/game_logger.gd` | `engine/src/autoloads/game_logger.gd` | Verbatim | -| 1.8 | Port `engine/src/autoloads/data_loader.gd` | `engine/src/autoloads/data_loader.gd` | Verify path to `games/age-of-four/` is correct | +| 1.8 | Port `engine/src/autoloads/data_loader.gd` | `engine/src/autoloads/data_loader.gd` | Verify path to `games/age-of-dwarves/` is correct | | 1.9 | Port `engine/src/autoloads/game_state.gd` | `engine/src/autoloads/game_state.gd` | Verbatim | | 1.10 | Port `engine/src/autoloads/turn_manager.gd` | `engine/src/autoloads/turn_manager.gd` | Verbatim | | 1.11 | Port `engine/src/autoloads/theme_vocabulary.gd` | `engine/src/autoloads/theme_vocabulary.gd` | Verbatim | @@ -82,8 +82,8 @@ Block 5 (proof) ← all |---|------|-------------------|-------| | 2.1 | Port `engine/scenes/main/` — entry point scene + main.gd | `engine/scenes/main/` | Verbatim | | 2.2 | Port `engine/scenes/menus/main_menu.tscn` + controller | `engine/scenes/menus/main_menu.tscn` | Verbatim | -| 2.3 | Port `games/age-of-four/assets/icons/` — placeholder icon PNGs | `games/age-of-four/assets/icons/` | Prevents missing texture errors on launch | -| 2.4 | Port placeholder terrain/unit sprites from `games/age-of-four/assets/` | `games/age-of-four/assets/` | Only what main menu references; bulk sprites come later | +| 2.3 | Port `games/age-of-dwarves/assets/icons/` — placeholder icon PNGs | `games/age-of-dwarves/assets/icons/` | Prevents missing texture errors on launch | +| 2.4 | Port placeholder terrain/unit sprites from `games/age-of-dwarves/assets/` | `games/age-of-dwarves/assets/` | Only what main menu references; bulk sprites come later | **Done when**: `godot` (GUI launch) shows main menu. No missing resource errors in output log. @@ -95,14 +95,14 @@ Block 5 (proof) ← all | # | Task | Source in .messy/ | Notes | |---|------|-------------------|-------| -| 3.1 | Port `pnpm-workspace.yaml` | `pnpm-workspace.yaml` | Verify packages: `packages/engine-ts`, `guide/engine`, `guide/age-of-four` | +| 3.1 | Port `pnpm-workspace.yaml` | `pnpm-workspace.yaml` | Verify packages: `packages/engine-ts`, `guide/engine`, `guide/age-of-dwarves` | | 3.2 | Port `packages/engine-ts/` | `packages/engine-ts/` | package.json (`@magic-civ/engine-ts`), src/index.ts. Keep generated file as placeholder stub — Block 4 will regenerate it | | 3.3 | Port `guide/engine/` | `guide/engine/` | Full package: all components, types, utils, index.ts, package.json, tsconfig, vite.config.ts | -| 3.4 | Port `guide/age-of-four/` shell | `guide/age-of-four/` | App.tsx, all pages, vite.config.ts, package.json, tsconfig, index.html, src/data/ | +| 3.4 | Port `guide/age-of-dwarves/` shell | `guide/age-of-dwarves/` | App.tsx, all pages, vite.config.ts, package.json, tsconfig, index.html, src/data/ | | 3.5 | Run `pnpm install` at workspace root | — | Verify all workspace deps resolve; fix any version conflicts | -| 3.6 | Verify `pnpm build` in `guide/age-of-four/` | — | Fix any TypeScript errors from path changes | +| 3.6 | Verify `pnpm build` in `guide/age-of-dwarves/` | — | Fix any TypeScript errors from path changes | -**Done when**: `pnpm dev` in `guide/age-of-four/` serves without errors. App renders in browser. +**Done when**: `pnpm dev` in `guide/age-of-dwarves/` serves without errors. App renders in browser. ---