feat(terraformer): Wave C dashboard regeneration after p1-48/p1-49 land

Regenerate objectives dashboard after Wave C closes.
p1-48 and p1-49 both status: partial with algorithmic + bridge bullets ✓.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
Natalie 2026-04-30 23:55:31 -04:00
parent 5395910f67
commit 5cac55a1d3
3 changed files with 21 additions and 9 deletions

View file

@ -15,10 +15,10 @@
| Priority | ✅ | 🔵 | 🟡 | 🔴 | ❌ | ⚫ | Total |
|---|---|---|---|---|---|---|---|
| **P0** | 43 | 0 | 0 | 0 | 0 | 0 | 43 |
| **P1** | 34 | 1 | 13 | 0 | 14 | 1 | 63 |
| **P1** | 34 | 1 | 13 | 0 | 15 | 1 | 64 |
| **P2** | 33 | 0 | 4 | 1 | 7 | 2 | 47 |
| **P3 (oos)** | 3 | 0 | 0 | 0 | 1 | 19 | 23 |
| **total** | **113** | **1** | **17** | **1** | **22** | **22** | **176** |
| **total** | **113** | **1** | **17** | **1** | **23** | **22** | **177** |
</td><td valign='top' style='padding-left:2em'>
@ -26,7 +26,7 @@
| Team Lead | Remaining |
|---|---|
| [terraformer](../team-leads/terraformer.md) | 8 |
| [terraformer](../team-leads/terraformer.md) | 9 |
| [warcouncil](../team-leads/warcouncil.md) | 7 |
| [asset-sprite](../team-leads/asset-sprite.md) | 6 |
| [shipwright](../team-leads/shipwright.md) | 5 |
@ -141,6 +141,7 @@
| [p1-49](p1-49-fauna-species-renderer.md) | 🟡 partial | Fauna species renderer — 61 Game-1 species visible on encounter and lair tiles | [terraformer](../team-leads/terraformer.md) | 2026-04-30 |
| [p1-50](p1-50-tectonic-prepass.md) | 🟡 partial | Tectonic prepass — voronoi plates + boundary classification seeding elevation | [terraformer](../team-leads/terraformer.md) | 2026-04-30 |
| [p1-51](p1-51-worldgen-canonical-design-docs.md) | ✅ done | Worldgen canonical design docs — author the spec before any Rust | [terraformer](../team-leads/terraformer.md) | 2026-04-30 |
| [p1-52](p1-52-api-wasm-build-fix.md) | ❌ missing | api-wasm build fix — unblock WASM bundle for design-lab WASM consumption | [terraformer](../team-leads/terraformer.md) | 2026-05-01 |
| [p2-06](p2-06-export-pipeline.md) | ✅ done | Export pipeline for Windows / macOS / Linux | [shipwright](../team-leads/shipwright.md) | 2026-04-25 |
| [p2-16](p2-16-audio-assets.md) | 🔵 in_progress | Audio assets — in-theme OSS launch pack + source ledger | [asset-audio](../team-leads/asset-audio.md) | 2026-04-27 |
| [p2-22](p2-22-sprite-generation-pipeline.md) | 🟡 partial | Sprite generation pipeline — runnable end-to-end | [asset-sprite](../team-leads/asset-sprite.md) | 2026-04-25 |

View file

@ -9,6 +9,7 @@ objectives:
- p1-49
- p1-50
- p1-51
- p1-52
- p2-49
- p2-50
- p2-51

View file

@ -1,13 +1,13 @@
{
"generated_at": "2026-05-01T03:53:24Z",
"generated_at": "2026-05-01T03:54:14Z",
"totals": {
"missing": 22,
"stub": 1,
"in_progress": 1,
"partial": 17,
"oos": 22,
"partial": 17,
"in_progress": 1,
"stub": 1,
"done": 113,
"total": 176
"missing": 23,
"total": 177
},
"objectives": [
{
@ -970,6 +970,16 @@
"updated_at": "2026-04-30",
"summary": "The Terraformer bundle (`p1-46`…`p2-51`) is an 8-objective procedural\nterrain pipeline spanning tectonics, hydrology, climate, ecology, RNG\ndeterminism, world-shape presets, and the design-app Terrain Dimensions\nLab. Per **Rail 1** (`Rust is the simulation source of truth`,\nCLAUDE.md:13) and the project's three-tier doc system (canonical →\nengineering → JSON, per `.project/designs/README.md`), every Rust crate\nmust mechanically implement an authored canonical specification — never\nthe reverse.\n\nThis Wave-0 objective authors the **7 canonical design docs** at\n`public/games/age-of-dwarves/docs/terrain/` (and `…/docs/` for ecology\nbinding) that gate all subsequent Wave AE implementation. Each Rust\ncrate's rustdoc references the canonical doc it implements; bridges\n(`api-gdext`, `api-wasm`) and consumers (Godot, design lab) consume\nwhat the canonical specs declare — not what someone interpolated.\n\nThe current TypeScript twins (`floraSpecies.ts`, `hydrology.ts`,\n`faunaSpecies.ts`) under `.project/designs/app/src/utils/worldGen/`\nexist precisely because this stage was skipped. Authoring the canonical\ndocs first prevents that recurrence."
},
{
"id": "p1-52",
"title": "api-wasm build fix — unblock WASM bundle for design-lab WASM consumption",
"priority": "p1",
"status": "missing",
"scope": "game1",
"owner": "terraformer",
"updated_at": "2026-05-01",
"summary": "`bash src/simulator/build-wasm.sh` currently fails with an upstream\ncompilation error in the `getrandom 0.3.x` line on `wasm32-unknown-unknown`\n(both `0.3.3` and `0.3.4` reference `backends::inner_u32` /\n`backends::inner_u64` symbols that don't exist in the wasm32 backend,\neven with `--cfg getrandom_backend=\"wasm_js\"`).\n\nRoot of the dep chain (from `cargo tree -p magic-civ-physics --target\nwasm32-unknown-unknown -i getrandom@0.3.4`):\n\n```\ngetrandom v0.3.4\n└── rand_core v0.9.5\n ├── rand v0.9.2\n │ └── mc-trade v0.1.0\n │ ├── mc-ai v0.1.0 → mc-turn → mc-mapgen → magic-civ-physics\n │ └── mc-turn ─────────────^\n └── rand_chacha v0.9.0 → rand v0.9.2\n```\n\nWave A pinned the workspace to `rand = \"0.9\"` (in `mc-trade`) which\nforces `rand_core 0.9.x` which forces `getrandom 0.3.x`. The native\nbuild (cargo test on the workspace) compiles fine because native\n`getrandom` doesn't take the broken backends path; only the\n`wasm32-unknown-unknown` target hits it.\n\nThis blocks the **rolling Wave E** plan: every Wave AD objective\nships Rust + GDExt + WASM bridges, but the WASM bundle can't be built,\nso the design lab can't consume WASM-built selectors and is stuck on\nthe TS twins. By extension, p1-46 (Wave E lab integration) cannot\nland until WASM builds are green.\n\nThis objective is **Wave A.5** — sits between Wave A (foundation\ncrates) and Waves BE (consumers). Lands as a small, focused workspace\nfix."
},
{
"id": "p2-06",
"title": "Export pipeline for Windows / macOS / Linux",