docs(render): record V6h's gate numbers at the committed tree

The strict GL offline pixel gate re-run at b16f8206 measures 1.78e-05 (10 of
563,200 pixels) against 46d893f7, and the Vulkan validation run at that exact
tree is clean with an empty stderr and a UI frame identical to the pre-commit
capture. Also records a pre-existing test-isolation defect found while gating:
StreamingControllerPriorityApplyTests.DungeonCollapseBeforePromotionBase_RetiresProvisionalTerrainAndPendingStatics
fails alone under --filter and passes with its project, identically at the parent
commit, so it is an order dependency in the test rather than a regression.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
Erik 2026-07-28 11:51:47 +02:00
parent b16f820643
commit cb2a70b867

View file

@ -573,7 +573,7 @@ dialect slice. **V6f closed all three** (the third was the frag's GL-only
tenth pair with no consumer at all; see the V6e report.
| **V6g** | The four Vulkan validation defects §5.5.7 and its log left open: the dynamic-descriptor split (an architect decision, §5.5.8 item 1), per-pass depth-format pipeline variants, first-use backbuffer attachment layout transitions, and a backbuffer capture that no longer reads a presented swapchain image. Confined to `Gpu/Vk/`; the GL backend executes not one changed statement. | validation-clean bring-up run (0 errors / 0 warnings over 39,855 frames, against 7 VUIDs + 1 UNASSIGNED at the parent), App tests, GL offline pixel gate 4.08e-05 — its own same-commit control value |
| **V6h** ✅ | **The Vulkan composition host**, specified by §5.5.9 and reported in §5.5.10. `ACDREAM_RENDER_BACKEND=vulkan` runs the real `GameWindow` composition — DAT load, streaming, camera, entity table, session, and the real retained `UiHost` through the RHI — with no world renderers. Three seams: the already-generic platform acquisition now publishes a `GameWindowGraphics`; `VulkanHostInputCameraCompositionFactory` is the host-phase fork; the frame root gains a Vulkan arm. `VulkanBringUpHost` is reduced to the capability-probe harness over the extracted `VulkanGraphicsContext`. | offline Vulkan launch reaching the real composition with the client's own UI captured, one validation-layer run at 0 errors / 0 warnings, converging ownership ledger, App tests 4,075/3, complete Release suite 9,138/5, GL offline pixel gate 1.24e-05 |
| **V6h** ✅ | **The Vulkan composition host**, specified by §5.5.9 and reported in §5.5.10. `ACDREAM_RENDER_BACKEND=vulkan` runs the real `GameWindow` composition — DAT load, streaming, camera, entity table, session, and the real retained `UiHost` through the RHI — with no world renderers. Three seams: the already-generic platform acquisition now publishes a `GameWindowGraphics`; `VulkanHostInputCameraCompositionFactory` is the host-phase fork; the frame root gains a Vulkan arm. `VulkanBringUpHost` is reduced to the capability-probe harness over the extracted `VulkanGraphicsContext`. | offline Vulkan launch reaching the real composition with the client's own UI captured, one validation-layer run at 0 errors / 0 warnings, converging ownership ledger, App tests 4,075/3, complete Release suite 9,138/5, GL offline pixel gate 1.78e-05 |
| **V7** | GL-versus-Vulkan differential: `tools/run-backend-differential-gate.ps1`, strict paired-PNG compare, divergences fixed in the Vulkan backend only, then lifecycle + R6 soak natively on Vulkan, one validation-layer-clean run, one RenderDoc capture. **Milestone: parity.** | every differential checkpoint passes; both connected routes green on VK |
| **V8** | Perf gate on the RX 9070 XT, uncapped, both backends, same route. | §2 acceptance table; parity is the floor |
| **V9** | Linux + CI: X11/Wayland surfaces; a `linux-vulkan` job on lavapipe (probe accepts on a real 1.3 software device, a short real render under xvfb, forced-unsupported → exit 4, `.spv` freshness). Physical Linux GPU row deferred post-cutover, as for Slice L. | CI green including the new job |
@ -1363,15 +1363,24 @@ it at V4h; and the portal tunnel, whose renderer is raw GL — the teleport owne
drives a presentation reporting "no tunnel showing" while reveal generation,
destination latch, placement and session run unchanged.
**Gate results.** The strict GL offline pixel gate against `46d893f7` measured
**1.24e-05** (7 differing pixels of 563,200) — inside the documented 1523 px /
≤4.1e-05 band, so GL behaviour did not move. App tests 4,075 / 3 skips; complete
Release suite 9,138 / 5 skips. One full Vulkan run with
`VK_LAYER_KHRONOS_validation`: **zero errors, zero warnings**. Both Vulkan runs
shut down with the ownership ledger converged — no `[shutdown]` diagnostic on
either stream, which is `GameWindowLifetimeStatus.Complete`. The reduced probe
harness (`ACDREAM_VULKAN_PROBE=1`) presented 34,811 validation-clean frames and
resolved its GPU timer scopes.
**Gate results, at the committed `b16f8206`.** The strict GL offline pixel gate
against `46d893f7` measures **1.78e-05** (10 differing pixels of 563,200), and
measured 1.24e-05 on the immediately preceding tree — both well inside the
documented 1523 px / ≤4.1e-05 band, so GL behaviour did not move. App tests
4,075 / 3 skips; complete Release suite 9,138 / 5 skips. One full Vulkan run with
`VK_LAYER_KHRONOS_validation`: **zero errors, zero warnings**, an empty stderr,
and the captured UI frame identical to the pre-commit one. Every Vulkan run shut
down with the ownership ledger converged — no `[shutdown]` diagnostic on either
stream, which is `GameWindowLifetimeStatus.Complete`. The reduced probe harness
(`ACDREAM_VULKAN_PROBE=1`) presented 34,811 validation-clean frames and resolved
its GPU timer scopes.
**One pre-existing test-isolation defect was found and is not this slice's.**
`StreamingControllerPriorityApplyTests.DungeonCollapseBeforePromotionBase_RetiresProvisionalTerrainAndPendingStatics`
fails when run alone under `--filter` and passes when its project runs whole. It
does so identically at `46d893f7` with none of this slice's changes present, so
it is an order dependency in the test itself, not a regression. Worth fixing on
its own; a test that only passes with its siblings is not evidence.
**Next is V4t**, the texture stack, which the world arm cannot be written
without. §5.5.9 sized it: 69 references across 9 source and 4 test files for the