docs: owner reports #464 fixed at 766f9e749 (provisional); S4-c2 implementer commit 048d5b12f recorded with its three deviations
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
This commit is contained in:
parent
36fddf17ca
commit
5f3b4f98ee
2 changed files with 3 additions and 1 deletions
|
|
@ -125,6 +125,8 @@ then `/teleloc F4180113 39.502899 19.589222 181.119247 1 0 0 0`, zoom out, tilt
|
|||
|
||||
**SOURCE FOUND (lead, 2026-09-03 23:19, `464-ab` runs `464-ab4-*`/`464-ab5-*`):** skipping the stairwell tower's shell (`AB_SKIP_BLDS=F4180009`) changes nothing; skipping cell `0x109` removes its walls and vault but the hanging pieces remain; skipping every hall cell (`0x106`–`0x110`) opens the view to the exterior and the pieces STILL remain; **skipping the HALL BUILDING'S SHELL (`AB_SKIP_BLDS=F418000A`, model `0x01001FB3` at (36,36,160)) removes them and the frame matches retail's picture: solid far wall above the arch, the vault, no pieces.** The hanging pieces are that shell's own geometry (its inward-facing pilasters/wall faces above and beside the corridor, world z 193–205), which the corridor cell `0x109`'s pointed vault (polys `0x0E`–`0x15`, z 187.2–190.7, all `emitPos=True`) must hide from any eye inside the stairwell. They show, so at those pixels the shell WINS the depth test against the vault. Facts checked: both draw paths use `GpuDepthState(Test: true, Write: <opaque>, Less)` (`EnvCellRenderer.Rhi.cs:113` for cell shells via `_envCells.Render(Opaque)`, `WbDrawDispatcher.Rhi.cs:343` for the ordered stream that carries the building shell); the shell's records are appended at `OnBuildingShellTurn` AFTER that turn's `MarkIfGrown()`, so they reach the GPU at the NEXT mark, after `0x109` was drawn — harmless if the depth test is honest, fatal if the two paths disagree on depth. The remaining question is therefore the depth CONTRACT between the EnvCell shell renderer and the ordered-stream dispatcher (view-projection source, depth-write of the opaque cell pass, any bias). Retail draws the shell inside `DrawBuilding` (`CPhysicsPart::Draw(parts, 0)` @0x0059f336) at its turn with one Z-buffer, so any answer that is not 'identical depth for both' is the deviation to port.
|
||||
|
||||
**Owner report (2026-09-04 morning):** running the S4-c1 build `766f9e749`, the owner says the stairwell artifact appears fixed. Plausible mechanism: S4-c1's ±12 reject now drops the twelve hall-doorway punches retail also rejects. Provisional until the lead re-runs `route-464-tilt3.txt` at the tip and diffs frame `01-neg160`.
|
||||
|
||||
**Night close (lead, 2026-09-03 23:30):** two more candidates checked and retired. (a) Degrade level: retail's `DrawBuilding` draws the shell only through `gfxobj[deg_level]`, chosen by `GfxObjDegradeInfo::get_degrade` @0x0051e4b0 from `|viewer_dist/scale| − Render::s_rDegradeDistance` against per-level thresholds `min + (ideal − min) × bias` (bias = `deg_mul` or the user bias): the first level whose threshold is not below the distance wins. The hall shell's table (`0x11000784`: level 0 min 120 / ideal 170 / max 360, level 1 150/200/380, level 2 192/390/390, level 3 none) gives level 0 for a viewer twenty metres away, so retail draws the SAME full-detail `0x01001FB3` we do (our shell entity resolves `Degrades[0]` via `GfxObjDegradeResolver.TryResolveCloseGfxObj`). (b) Both draw paths share `frame.ViewProjection` (`RetailPViewPassExecutor.PrepareCellBatches` for the EnvCell renderer, `ctx.ViewProjection` for the walk) and the same depth state. So both clients draw the same shell with the same depth contract, and ours shows its pieces where the corridor vault should hide them. **What is NOT yet proven is that retail hides them at the SAME eye:** the retail capture's eye (182.79, level) and the owner's retail screenshot (their own tilt) are not the scripted artifact eye (182.61, pitch −4°), and the artifact is finicky (0.29 m lower it vanishes). **Morning asks, either settles it in minutes:** (1) install RenderDoc and let the lead capture the scripted artifact frame (`route-464-tilt3.txt`, frame `01-neg160`) — the pixel history above the arch names the draw and its depth; or (2) in retail at `/teleloc F4180113 39.502899 19.832422 180.976700 1 0 0 0`, tilt slowly through the whole band from level to steeply up and say whether hanging pieces ever appear above the arch; if never, the divergence is confirmed and RenderDoc attribution follows. Until then #464 stays classified as: the hall building's shell geometry drawn over the corridor cell's vault from inside the stairwell at a narrow pitch band; camera, admission, punch/seal events, punch geometry, clip overflow, alpha flush, depth clear, degrade level all verified equal to retail.
|
||||
|
||||
## #463 — Soak `turn` samples can report a 0.1 ms GPU p50 (the turn window catches non-world frames)
|
||||
|
|
|
|||
File diff suppressed because one or more lines are too long
Loading…
Add table
Add a link
Reference in a new issue