park #177: retail cdb trace DISPROVES the portal-flood theory
Attached cdb to live retail (PDB MATCH), broke on PView::DrawCells (0x005a4840),
dumped cell_draw_num + cell_draw_list cell ids + the eye
(Render::FrameCurrent->viewer.viewpoint) while descending the Facility Hub spiral.
Retail's flood is dynamic and IDENTICAL in character to ours: from the spiral cells
it swings num 3->27 with gaze and collapses to 3 cells at many poses (cam=015d ->
{015d 015e 015f}). Our flood does the same (3->43). So retail does NOT keep the
staircase where we drop it -- the flood is exonerated as the cause.
Session trail (all in ISSUES #177): ruled out lighting, membership, camera coherence,
the collision sweep, the 0178/0182/0183 handoff cells, and edge-on eye-in-opening
(fix#1 shipped -> visual-gate-failed -> reverted, PortalVisibilityBuilder + AP-86 both
restored exactly). Freshest un-chased lead: the steps are STATIC objects (GfxObj
0x010000DE x6/cell) drawn via the viewcone cull, not cell shell.
Adds: Issue177StairDescentCameraFloodTests (real-camera+flood + composition +
flood-depth characterization pins) and a reusable retail-cdb capture toolchain
(tools/cdb/pview-verify.cdb, pview-spiral2.cdb with the correct top-level-qd detach --
qd in a CONDITIONAL bp action does NOT fire and strands cdb attached).
No production code change (fix#1 reverted). PARKED per user; M1.5 critical path next.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
parent
c84dc49a63
commit
554af5042d
4 changed files with 678 additions and 1 deletions
10
tools/cdb/pview-spiral2.cdb
Normal file
10
tools/cdb/pview-spiral2.cdb
Normal file
|
|
@ -0,0 +1,10 @@
|
|||
.logopen C:\Users\erikn\source\repos\acdream\.claude\worktrees\vigorous-joliot-f0c3ad\retail-spiral2.log
|
||||
.sympath C:\Users\erikn\source\repos\acdream\refs
|
||||
.symopt+ 0x40
|
||||
.reload /f acclient.exe
|
||||
r $t0 = 0
|
||||
bp acclient!PView::DrawCells "r $t0=@$t0+1; .if (@$t0 < 6000) { .if (@$t0 % 20 == 0) { r $t1 = @@c++(((acclient!PView*)@ecx)->cell_draw_num); .printf \"[DC] h=%d num=%d:\", @$t0, @$t1; .for (r $t3=0; @$t3 < @$t1; r $t3=@$t3+1) { .printf \" %04x\", @@c++(((acclient!PView*)@ecx)->cell_draw_list.data[@$t3]->m_DID.id) & 0xffff }; .printf \" || eye \"; dx acclient!Render::FrameCurrent->viewer.viewpoint }; gc }"
|
||||
g
|
||||
.echo ===DETACHING===
|
||||
qd
|
||||
.logclose
|
||||
14
tools/cdb/pview-verify.cdb
Normal file
14
tools/cdb/pview-verify.cdb
Normal file
|
|
@ -0,0 +1,14 @@
|
|||
.logopen C:\Users\erikn\source\repos\acdream\.claude\worktrees\vigorous-joliot-f0c3ad\retail-pview-verify.log
|
||||
.sympath C:\Users\erikn\source\repos\acdream\refs
|
||||
.symopt+ 0x40
|
||||
.reload /f acclient.exe
|
||||
.echo ===XVIEW===
|
||||
x acclient!PView::DrawCells
|
||||
x acclient!PView::ConstructView
|
||||
.echo ===DTPVIEW===
|
||||
dt acclient!PView cell_draw_num cell_draw_list
|
||||
.echo ===DTENVCELL===
|
||||
dt acclient!CEnvCell m_DID
|
||||
r $t0 = 0
|
||||
bp acclient!PView::DrawCells "r $t0=@$t0+1; .echo ===HIT===; dx ((acclient!PView *)@ecx)->cell_draw_num; dx ((acclient!PView *)@ecx)->cell_draw_list.data[0]->m_DID.id; qd"
|
||||
g
|
||||
Loading…
Add table
Add a link
Reference in a new issue