docs: #125 root-cause-fixed status + #119 decoded/likely-fixed-by-#120 ledger update
This commit is contained in:
parent
fcade06c46
commit
0c55b473dd
1 changed files with 39 additions and 1 deletions
|
|
@ -4077,6 +4077,24 @@ area:**
|
|||
tracked under #112; note the #120 ping-pong fired at exactly A9B3
|
||||
0103↔010F, so re-check after the #120 fix (`dede7e4`).
|
||||
|
||||
**DECODED + LIKELY FIXED BY #120 (2026-06-11 evening):** the user's
|
||||
logout position pinned the tower (cell 0xAAB30107, AAB3 building[1]
|
||||
model 0x01001117). Dat truth (`Issue119TowerDumpTests`): the stairs are
|
||||
ONE static — Setup 0x020003F2, a 43-part spiral staircase at the tower
|
||||
center (placement frames perfect, all parts drawable); the "extraneous
|
||||
barrel" = the four 0x020005D8 wall barrels on the landings — legit dat
|
||||
statics orphaned by the missing staircase. Pipeline exonerated layer by
|
||||
layer (extraction, hydration ParentCellId=envCellId, per-MeshRef
|
||||
registration, dispatcher compose); clean WB_DIAG counters at the tower
|
||||
spawn: meshMissing=0, entSeen==entDrawn. **A screenshot of the running
|
||||
post-fix build shows the staircase RENDERING.** Mechanism (most
|
||||
plausible): the tower's three threshold cells portal back to 0x0107 —
|
||||
climbing the stairs walks the eye through those portal planes, exactly
|
||||
the #120 ping-pong window; the corrupted/aborted floods broke the
|
||||
statics' viewcone per frame. The original report predates the #120 fix;
|
||||
re-gate #2 did not re-check the stairs. **Pending: user verdict on the
|
||||
tower stairs + barrels in the current build** — if clean, close #119.
|
||||
|
||||
---
|
||||
|
||||
## #120 — [pv-ERROR] in-place propagation tripwire: convergence invariant broken at depth 128 (cottage interior cells)
|
||||
|
|
@ -4227,7 +4245,27 @@ selector.
|
|||
|
||||
## #125 — GL InvalidOperation during staged texture upload: failed uploads are STICKY (never retried) + uncaught crash in GenerateMipmaps
|
||||
|
||||
**Status:** OPEN — HIGH (the likely #119 missing-stairs mechanism + a process crash)
|
||||
**Status:** ROOT CAUSE FIXED 2026-06-11 (`fcade06`, live-verified) —
|
||||
remaining: the sticky-drop design debt (below).
|
||||
|
||||
**RESOLVED (root cause):** the GL errors were the gpu_us QUERY RING's own
|
||||
— a glGenQueries name isn't a query object until first glBeginQuery, and
|
||||
GetQueryObject on a never-begun name is GL_INVALID_OPERATION. The N.6
|
||||
ring assumed ONE Draw/frame with both passes non-empty; the pview
|
||||
pipeline's many small Draws routinely skip a pass → the slot read queued
|
||||
an error EVERY frame under ACDREAM_WB_DIAG=1; WB's texture-path
|
||||
glGetError checks ate the stale errors (the attribution trap) → fake
|
||||
upload failures + the ProcessDirtyUpdates throw. Fix: begun-flags per
|
||||
slot; read only begun queries. Live-verified in-tower: 0 [wb-error]
|
||||
(was 7), no crash, gpu_us reads real values (9–11 µs) for the first
|
||||
time under pview, meshMissing=0. **Normal runs (WB_DIAG off) never had
|
||||
these errors — this mechanism is RETIRED for #119.**
|
||||
|
||||
**Remaining debt (keep open under this number):** UploadMeshData removes
|
||||
the preparation task BEFORE uploading, so any genuinely-failed upload is
|
||||
never retried — permanently invisible mesh with one [wb-error] line.
|
||||
The trigger is gone but the design flaw isn't; add retry/re-prepare
|
||||
semantics in a maintenance pass.
|
||||
**Filed:** 2026-06-11 (in-tower WB_DIAG launch, `tower-wbdiag3.log` — preserved in the worktree root)
|
||||
**Component:** render — WB staged texture pipeline (ObjectMeshManager / ManagedGLTextureArray)
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue