diff --git a/.project/objectives/p2-46-past-games-archive-replay-viewer.md b/.project/objectives/p2-46-past-games-archive-replay-viewer.md index d8931a0a..b2227fda 100644 --- a/.project/objectives/p2-46-past-games-archive-replay-viewer.md +++ b/.project/objectives/p2-46-past-games-archive-replay-viewer.md @@ -192,3 +192,15 @@ Six of eight acceptance bullets remain un-met. Bullets 1 (crate scaffolded) and ## 2026-05-07 status correction Status reverted `done` → `partial`. The screenshot at `.project/screenshots/p2-46-replay-viewer-proof.png` (commit `61230314f`) does NOT satisfy bullet 8 — it shows the main menu overlaid on the Throne Room layer, NOT the replay viewer scene with scrubber + event panel populated at turn 25/50. The proof scene `proof_replay_viewer.gd` likely failed to navigate into the replay viewer or the wrong scene was captured. Bullet 8 stays `[ ]`. Re-run required: ensure `proof_replay_viewer.gd::_ready` actually instantiates the replay_viewer.tscn, calls `write_fixture` to seed an archive, calls `load_history`, then `_goto_turn(25)` followed by `_goto_turn(50)` — and that the screenshot is captured of the replay viewer scene, not the boot menu. + +## 2026-05-07 p2-46 close attempt — Weston rendering gap + +Built from SHA `a20ee671e` (origin/main). GDExt rebuilt in canonical buildspace (1m53s cached), `GdReplayArchive` + `GdReplayPlayer` confirmed present in `.so` via `nm`. Proof scene executed with full instrumentation: + +- `write_fixture` returned UUID `cd0aa7b8-f808-49c2-81d2-70868e73c565` (non-empty) +- `load(REPLAY_VIEWER_SCENE)` returned non-null PackedScene +- Drove to turn 25 → 3s hold, drove to turn 50 → 3s hold → called `_capture_and_quit()` + +Despite the full 6-second sequence executing correctly, `get_viewport().get_texture().get_image()` returned stale main-menu framebuffer content. Root cause: Weston headless + `--rendering-method gl_compatibility` + llvmpipe software renderer does not flush composited output after scene transitions. `await RenderingServer.frame_post_draw` was tested as a mitigation — the signal never fires in this environment (Godot timed out without producing a screenshot). + +Gap: bullet 8 requires visual confirmation of the proof scene rendering the replay viewer. This cannot be satisfied on apricot Weston with current Godot rendering mode. Next agent must either (a) switch to `--rendering-method vulkan` if llvmpipe Vulkan is available, (b) use `RenderingServer.call_on_render_thread` approach, or (c) run on a machine with proper GPU/display output.