docs(overhaul): close S5 c3 and file ordered pack defect

This commit is contained in:
Erik 2026-09-04 22:45:47 +02:00
parent c673f767e9
commit 678bffaa85
3 changed files with 106 additions and 2 deletions

View file

@ -39,6 +39,45 @@ confirmed closed by the owner, 11 need a focused live gate, and 43 are safe to
remain closed. See
[`docs/research/2026-08-28-owner-closed-issue-validity-audit.md`](research/2026-08-28-owner-closed-issue-validity-audit.md).
## #470 — Atmospheric ordered world draws use absolute transform indices for local sidecars
**Status:** OPEN — found 2026-09-04 while auditing the S5-c3 graphical gate;
Campaign OVERHAUL v2 renderer-solid/G4 scope. The defect predates S5-c3 and is
present at least as far back as landed S4-c2 `252886e84`.
**Evidence/mechanism:** `WbDrawDispatcher.PrepareOrderedStream` writes instance
transforms into the shared directional-shadow transform arena and offsets every
indirect command's `BaseInstance` by that arena prefix. `DrawOrderedRange`
nevertheless selects the ordinary `mesh_modern` pipeline. That shader indexes
the transform, alpha, selection-lighting, and light-set arrays with the same
absolute `gl_BaseInstance + gl_InstanceID`; unlike `mesh_atmospheric`, it does
not subtract push constant `TextureIndexB` for the locally based sidecar arrays.
The classic submit path already selects the atmospheric receiver pipeline and
binds its receiver uniforms correctly. A nonzero shadow prefix therefore makes
the ordered path read past its local sidecars and also bypasses the active
receiver shader contract.
**Gate observation:** the S5-c3 run at
`logs/selfgate-20260904-223345-s5c3-building-degrade` was launched with the
persisted High atmospheric pack and shows the Holtburg shell intact but the
same-room player and sixteen independently authored EnvCell statics absent.
The older comparison is retail/off at a different framebuffer and unrecorded
camera pose, so that image is not causal proof. Installed DAT and production
code do prove the props are independent of c3: cell `0xA9B4013F` has 16 static
entries (15 Setup-backed and direct GfxObj `0x01000A2F`), while the house shell
is direct GfxObj `0x01000A2B`; ordinary cell records reach
`ClassifyEntityForWalk` without `buildingSelection`.
**Bounded next step before G4:** first add a production-path command-recording
and offscreen-pixel proof with a deliberately nonzero transform-arena prefix,
distinct alpha/selection/light sidecars, and active/inactive atmospheric
receivers. Then repair ordered drawing to select/bind the same active receiver
contract as the classic path while preserving absolute transform lookup and
local sidecar lookup. Sabotage the receiver selection and the prefix subtraction
independently. Repeat a pinned-camera retail/off -> High -> retail/off graphical
A/B without movement or resize. This can be paired with #469's final graphical
route, but its code contract remains separate.
## #469 — Atmospheric shadow-gate transition switches the whole outdoor lighting direction abruptly and can darken the world
**Status:** OPEN — found 2026-09-04 by the S5-c2 lead graphical gate; Campaign