docs(issues): #464 night close — degrade level and depth contract equal to retail; the hall shell draws over the corridor vault; same-eye retail comparison owed (RenderDoc or the owner's tilt sweep)
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
This commit is contained in:
parent
bc6ed38380
commit
2712a8b221
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.
|
||||
|
||||
**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)
|
||||
|
||||
**Status:** OPEN — found 2026-09-03 by the Campaign OVERHAUL v2 S3 review's perf re-measure.
|
||||
|
|
|
|||
File diff suppressed because one or more lines are too long
Loading…
Add table
Add a link
Reference in a new issue