From 76b3e48ae3462271bf0f7f251d1253937471cc87 Mon Sep 17 00:00:00 2001 From: Natalie Date: Sat, 27 Jun 2026 08:03:51 -0400 Subject: [PATCH] =?UTF-8?q?docs(@projects/@magic-civilization):=20?= =?UTF-8?q?=F0=9F=9B=A4=EF=B8=8F=20p3-25=20=E2=80=94=20record=20Phase-0=20?= =?UTF-8?q?projection=20increments=20+=20blueprint=20link?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Re-scope p3-25's view-completeness as Phase 0 of the owner's full UI-pure-view migration (blueprint: designs/p3-rail1-ui-pure-view-migration-design.md). Log the two landed increments (unit movement+posture 568e43084, golden age 0d501a3d7) and the deferred bench-model gaps (XP, culture_stored, building_queues, placed_buildings → Phase-1 SOT flip). Co-Authored-By: Claude Opus 4.8 --- ...-model-unify-headless-view-completeness.md | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/.project/objectives/p3-25-rail1-city-model-unify-headless-view-completeness.md b/.project/objectives/p3-25-rail1-city-model-unify-headless-view-completeness.md index e1d794e6..9002435c 100644 --- a/.project/objectives/p3-25-rail1-city-model-unify-headless-view-completeness.md +++ b/.project/objectives/p3-25-rail1-city-model-unify-headless-view-completeness.md @@ -130,6 +130,25 @@ to `state.trade_ledger`, (d) projecting it all. inter-player trades (trade_willingness axis, gold-from-sales) form again. `load_deposit_categories_reads_real_deposits` (mc-sim) passes; both bins compile. +## Phase-0 projection completeness (2026-06-27 — owner re-scoped to the full UI-pure-view migration) + +Owner directive: *"remove all game logic from GD; UI completely driven by the Rust game server."* +This objective's view-completeness is **Phase 0** of that program — see the blueprint +`.project/designs/p3-rail1-ui-pure-view-migration-design.md` (verified 3-surface audit + phased +sequence; the live game must converge onto the headless `GdPlayerApi` shape). Phase 0 is additive + +headless-verifiable; Phases 1-4 (SOT flip / live turn = `end_turn()` / delete GDScript sim / render +proof) are render-gated. + +Phase-0 increments landed (each `view_json`-additive, mc-player-api green): +- [x] **Unit movement + tactical posture** (77a018e0f) — `project_units` stubbed + `movement_left/max=0`, `sentry=false`, `promotion_available=false` despite the bench `MapUnit` + carrying the data; fixed to read `movement_remaining`/`base_moves`/`is_sentrying`/ + `pending_promotion`. Added `UnitPostureView` (embarked/deployed/stealth/ambush/field_aura/ + fire_arrows/pursuing/shield_wall/braced/rage/war_cry) + `formation_id`, own-units-only. +- [x] **Golden Age → HUD** (f64ef19ba) — `ResourceView.golden_age_active/turns`. +- Deferred (real bench-model gaps, → Phase 1 SOT flip, not fabricated): unit `experience`/XP, + per-city `culture_stored`, per-building `building_queues`, `placed_buildings` tile positions. + ## Notes **End-to-end proof (2026-06-26):** `process_trade_phase_forms_and_persists_strategic_swap`