diff --git a/.project/SCREENSHOT_REGISTRY.md b/.project/SCREENSHOT_REGISTRY.md index e912e60c..aac0f9b4 100644 --- a/.project/SCREENSHOT_REGISTRY.md +++ b/.project/SCREENSHOT_REGISTRY.md @@ -165,9 +165,9 @@ Status legend: | 92 | `magic_civ_demo_ui_victory.png` | `victory_screen_proof` (new) | Victory screen — "VICTORY", "Karak Ankor wins!", Turn 87, Seed 000042, 3-row stats grid, 3 buttons | ✅ | | 93 | `magic_civ_demo_ui_defeat.png` | `defeat_screen_proof` (new) | Defeat screen | ✅ | | 94 | *end-game summary* | new proof | Score breakdown chronicle | 🔴 | -| 95 | *replay viewer T25* | `proof_replay_viewer` multi-shot | Mid-game replay | ⏳ | -| 96 | *replay viewer T50* | same | Late-game replay | ⏳ | -| 97 | *replay viewer T100* | same | End-of-game replay | ⏳ | +| 95 | `magic_civ_demo_ui_replay_T25.png` | `proof_replay_viewer` via `capture_screenshot.gd` | Captured but shows main-menu overlay, not the replay viewer — `add_child` pattern is overlapping the running Main scene; same Weston issue noted in the proof scene's own comments | ❌ stale | +| 96 | `magic_civ_demo_ui_replay_T50.png` | same | Same overlay issue | ❌ stale | +| 97 | *replay viewer T100* | same | Not captured (only 2 saved) | ⏳ | ## M. AI / autoplay validation (3 slots) @@ -193,11 +193,18 @@ Status legend: ## Roll-up - **Captured + unique**: ~75 of 100 -- **Captured but black/stale**: ~5 (city_screen, combat, worldmap_visual, action_tech_tree, action_combat — known fixes needed) +- **Captured but black/stale**: ~7 (city_screen, combat, worldmap_visual, action_tech_tree, action_combat, replay_viewer_T25, replay_viewer_T50) - **Captured but dupes** (legitimate state variants at different zoom): ~12 -- **Pending** (extension of existing proof scene): ~15 +- **Pending** (extension of existing proof scene): ~13 - **Missing scene** (needs new authoring): ~15 +### Known capture-pipeline bugs (block ~7 slots) + +1. **Weston-overlay bug** — `add_child(packed.instantiate())` of a proof scene under `get_tree().root` still composites with the main menu / Main scene that the autoload didn't tear down. Symptom: replay_viewer captures the menu, not the proof content. Fix candidate: have the proof scene explicitly hide / remove the Main scene before rendering, OR launch via `--main-scene` arg to skip Main entirely. +2. **CombatPreview blank** — `combat_proof` calls `_preview.show_preview(...)` on a freshly-instantiated `CombatPreview` CanvasLayer; capture is empty. Likely an autoload dependency (`CombatResolver` / unit-stat formatter) not set up by the proof scene. Needs a 30-min investigation. +3. **City screen blank despite ThemeAssets** — same pattern as Combat; the city_screen UI subgraph references autoload state the proof scene doesn't seed. Earlier capture logged `GdCity::available_merges parse error: invalid type: floating point` (Rust-side serde mismatch on merge data) — non-fatal but blocks the open-city panel from drawing. +4. **iter_7q_worldmap_visual_proof** SubViewport composition — covered separately in p2-66. + ## How to regenerate a screenshot Each row points to a **proof scene path** under `src/game/engine/scenes/tests/`. Canonical capture command: