From f84a531340735e7dbd25eb70418d9bec28b63a61 Mon Sep 17 00:00:00 2001 From: Natalie Date: Tue, 12 May 2026 12:07:07 -0700 Subject: [PATCH] =?UTF-8?q?docs(@projects/@magic-civilization):=20?= =?UTF-8?q?=F0=9F=93=9D=20update=20screenshot=20evidence=20details?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Lilith Autocommit --- .../objectives/p2-72-option-b-workaround.md | 47 ++++++++++++------- 1 file changed, 31 insertions(+), 16 deletions(-) diff --git a/.project/objectives/p2-72-option-b-workaround.md b/.project/objectives/p2-72-option-b-workaround.md index 8a966627..fe7c409b 100644 --- a/.project/objectives/p2-72-option-b-workaround.md +++ b/.project/objectives/p2-72-option-b-workaround.md @@ -78,9 +78,13 @@ Document explicitly in the proof scene's docstring: `get_viewport().get_texture()`; weston-headless backend gives a real GL context and `Image.save_png` succeeds.) - ✓ Captures 6 screenshots minimum (turns 0, 5, 10, 15, 20, 25). - Evidence: 26 PNGs (turn-00 through turn-25, every turn) at - `.local/demo-runs/2026-05-12-phase13-screenshots/turn-NN.png`, each - 1920×1080 RGBA, ~1.06 MB. + Evidence: 52 PNGs at + `.local/demo-runs/2026-05-12-phase13-screenshots/turn-NN-{overview,capital}.png`, + every turn from 0 to 25, each at two zoom levels (overview = full + map bbox, capital = 9-tile window around Claude's starting capital + so individual units and city sprites are unambiguously visible). + Each PNG is 1920×1080 RGBA with an in-frame HUD overlay reading + `Turn N • Claude (slot 0) gold X cities Y units Z [zoom]`. - ✓ Recap markdown with per-turn action log. Evidence: `.local/demo-runs/2026-05-12-phase13-screenshots/recap.md` has the per-turn table with action signatures, gold, city count, @@ -93,19 +97,26 @@ Document explicitly in the proof scene's docstring: events, view}`). - ✓ Screenshots show real game state evolution (cities appear, units move, scores change). - Evidence: final transcript view at line 802 shows `cities=9 units=71 - tiles=960` across all 3 players (Claude: 3 cities/31 units, AI1: 3 - cities/15 units, AI2: 3 cities/25 units). Renderers are wired - directly under a Camera2D with no SubViewport tiering; per-turn - `sync_units` / `sync_cities` re-pushes the rehydrated arrays. PNG - sha256 hashes differ across turns (e.g. turn-00=04dcf093 vs - turn-25=f5313add). At the duel-map zoom the unit dots are small; - the per-turn variation is verifiable byte-wise rather than at-a-glance. + Evidence: capital-zoom captures make unit + city evolution + unambiguously visible at a glance. `turn-00-capital.png` shows a + single founder unit on grassland; `turn-15-capital.png` shows the + same patch of land populated with multiple Claude warriors and the + cluster of trees that marks Claude's second city; the HUD overlay + on every PNG reads e.g. `Turn 15 • Claude (slot 0) gold 196 cities + 2 units 16 [capital]`. Final transcript view at line 802 shows + `cities=9 units=71 tiles=960` across all 3 players (Claude: 3 + cities/31 units, AI1: 3 cities/15 units, AI2: 3 cities/25 units). + Renderers are wired directly under a Camera2D with no SubViewport + tiering; per-turn `sync_units` / `sync_cities` re-pushes the + rehydrated arrays. - ✓ Determinism: same seed → byte-identical transcript + per-screenshot hash. - Evidence: two consecutive `CP_SEED=42` runs on apricot produced - byte-identical `transcript.jsonl` (`cmp` exit 0) and per-turn PNG - sha256 matches across runs (turn-00..25 hashes identical run-1 vs - run-2: 04dcf093…, 8f182b0b…, 5cbd885d…, 9cc17b5d…, e1f6fb4e…, f5313add…). + Evidence: re-ran `CP_SEED=42 CP_ZOOM_MODE=both` on apricot twice; + `cmp` reports `transcript.jsonl` byte-identical across runs and + the sample `turn-15-capital.png` byte-identical across runs (PNG_OK + marker in the apricot stdout transcript). Earlier overview-only runs + also produced byte-identical PNGs across runs at the six checkpoint + turns (turn-00..25: 04dcf093…, 8f182b0b…, 5cbd885d…, 9cc17b5d…, + e1f6fb4e…, f5313add…). - ✓ p2-67 Phase 13 closes. Evidence: the wire-transcript-only gap in the demo deliverable is filled. The proof scene + wrapper script ship the missing visual @@ -117,9 +128,13 @@ Document explicitly in the proof scene's docstring: - `src/game/engine/scenes/tests/claude_vs_ai_render_proof.tscn`. - `scripts/p2-72-option-b-render.sh` (weston-headless + flatpak Godot wrapper). - `.local/demo-runs/2026-05-12-phase13-screenshots/`: - - `turn-00.png` … `turn-25.png` (26 captures, 1920×1080, ~1.06 MB each) + - `turn-NN-overview.png` (full-map bbox, HUD overlay) × 26 turns + - `turn-NN-capital.png` (9-tile window around Claude's capital, + HUD overlay) × 26 turns - `recap.md` - `transcript.jsonl` (802 lines / 27 MB) +- `CP_ZOOM_MODE` env on the wrapper: `overview` | `capital` | `both` + (default `both` for the demo deliverable). ## Why this size