docs(render): resolve #458 — the a9c9 doorway admission is a 0.5 % edge-plane precision boundary (AD-118)
Two live cdb captures on the paired 2013 client at the Holtburg doorway: the blockset template (every Render::block_check call of one frame — 2,601 resident blocks x 2 exit views) proves retail tests a9c9 at ring slot 25,46 and returns PARTIALLY then OUTSIDE; the blockcheck template dumps its four corner interval vectors (0 0 0 0 300.4|310.2 and 0 0 0 1001 ..., slab 75..330). acdream's replay at the same P pose reproduces the sentinel pattern, the four edge planes and both verdicts, drawing a9c9 once, with clip heights 298.8/308.5 m — a 0.5 % plane difference (about 0.35 px of projected door-vertex position). At the fixture pose that margin is what flips the south-west corner from inside to outside on the fourth edge plane, so retail's four-corner unanimity test says OUTSIDE where ours says PartiallyInside. Not fixable bit-exactly short of D3D's x87 transform; the KnownFailure row stays with its comment rewritten, the register carries AD-118, and the first filtered capture's silent miss (cdb sign-extends poi() inside .if; use dwo()) is noted in the template. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
This commit is contained in:
parent
086dd0f192
commit
37e42aafc4
8 changed files with 11145 additions and 2 deletions
|
|
@ -12,6 +12,7 @@ capture is the detach frame and carries no events — never count it.
|
|||
| `holtburg-doorway-still` | interior `a9b4013f`, ov=2 | walk / parts / alphadepth |
|
||||
| `terrace-edge` | outdoor `f418000b` (14 buildings, identical to FW0) | walk / parts / alphadepth |
|
||||
| `foundry-deep` | interior `a9b40176`, ov=1 | walk / parts / alphadepth |
|
||||
| `holtburg-doorway-still` #458 follow-up (2026-09-03 afternoon, a NEARBY pose — its own `P` line, not the walk capture's) | interior `a9b4013f`, ov=2 | `blockset` (every `Render::block_check` call of one frame: 2,601 blocks × 2 views + the return codes; `oh-capture-blockset.cdb.template`) / `blockcheck` (block `a9c9` only: the four corner interval vectors, z slab 75..330, ret 1 then 0; `oh-capture-blockcheck.cdb.template`) |
|
||||
|
||||
`oh-recon.log` is the offset/breakpoint recon that PASSED before the poses.
|
||||
Per-pose counts and observations: `../s3-walk-ownership-map.md` §6b.
|
||||
|
|
|
|||
|
|
@ -0,0 +1,124 @@
|
|||
Opened log file 'C:/Users/erikn/source/repos/acdream/.claude/worktrees/peaceful-blackburn-5333f0/logs/oh-capture/holtburg-doorway-still.blockcheck.log'
|
||||
0:018> .sympath C:\Users\erikn\source\repos\acdream\refs
|
||||
Symbol search path is: C:\Users\erikn\source\repos\acdream\refs
|
||||
Expanded Symbol search path is: c:\users\erikn\source\repos\acdream\refs
|
||||
|
||||
************* Path validation summary **************
|
||||
Response Time (ms) Location
|
||||
OK C:\Users\erikn\source\repos\acdream\refs
|
||||
0:018> .symopt+ 0x40
|
||||
Symbol options are 0xB0367:
|
||||
0x00000001 - SYMOPT_CASE_INSENSITIVE
|
||||
0x00000002 - SYMOPT_UNDNAME
|
||||
0x00000004 - SYMOPT_DEFERRED_LOADS
|
||||
0x00000020 - SYMOPT_OMAP_FIND_NEAREST
|
||||
0x00000040 - SYMOPT_LOAD_ANYTHING
|
||||
0x00000100 - SYMOPT_NO_UNQUALIFIED_LOADS
|
||||
0x00000200 - SYMOPT_FAIL_CRITICAL_ERRORS
|
||||
0x00010000 - SYMOPT_AUTO_PUBLICS
|
||||
0x00020000 - SYMOPT_NO_IMAGE_SEARCH
|
||||
0x00080000 - SYMOPT_NO_PROMPTS
|
||||
0:018> .reload /f acclient.exe
|
||||
0:018> r $t0 = 0
|
||||
0:018> r $t8 = 0
|
||||
0:018> bp 00453aa0 "r $t0 = @$t0 + 1; .printf \"F %d\\n\", @$t0; .printf \"P %08x %08x %08x %08x %08x %08x %08x %08x\\n\", poi(0081ef00+4), poi(0081ef00+0x3c), poi(0081ef00+0x40), poi(0081ef00+0x44), poi(0081ef00+8), poi(0081ef00+0xc), poi(0081ef00+0x10), poi(0081ef00+0x14); .if (@$t0 < 0n2) { gc }"
|
||||
0:018> * NOTE (2026-09-03, first run): `poi(...) == 0xa9c9ffff` never matched ? cdb
|
||||
0:018> * sign-extends the 32-bit read inside `.if`, so the equality is false for any
|
||||
0:018> * DID with the top bit set. `dwo(...)` reads an unsigned dword; the blockset
|
||||
0:018> * template proved the register facts (did=a9c9ffff at gx=25 gy=46, twice a
|
||||
0:018> * frame for the two doorway views).
|
||||
0:018> bp 0054dc50 ".if (dwo(@esi+0x28) == 0xa9c9ffff) { r $t8 = 1; .printf \"BC did=%08x gx=%d gy=%d max=%08x min=%08x\\n\", dwo(@esi+0x28), @ebx, @ebp, dwo(@esp+0x14), dwo(@esp+0x18); .printf \"W0\"; dd poi(@esp+4) L20; .printf \"W1\"; dd poi(@esp+8) L20; .printf \"E0\"; dd poi(@esp+0xc) L20; .printf \"E1\"; dd poi(@esp+0x10) L20 }; gc"
|
||||
0:018> bp 005061e9 ".if (@$t8 == 1) { .printf \"BR ret=%d\\n\", @eax; r $t8 = 0 }; gc"
|
||||
0:018> g
|
||||
F 1
|
||||
P a9b4013f 430542ff 415c0def 42c0a8f8 bf7bf267 3e13e94a 3c745f23 bdd02083
|
||||
BC did=a9c9ffff gx=25 gy=46 max=43a50000 min=42960000
|
||||
W017c59818 00000000 00000000 00000000 00000000
|
||||
17c59828 43963738 00000000 03000000 00000000
|
||||
17c59838 02000000 04030201 06090704 090e0a06
|
||||
17c59848 0c120e08 0f17110a 131c150c 1621190e
|
||||
17c59858 19251c10 1c2b2012 1f2f2314 23332615
|
||||
17c59868 27392a18 2a3f2f1a 2d43321c 3148351e
|
||||
17c59878 334d3920 37523d22 3b584124 3e5b4426
|
||||
17c59888 41614828 45654b2a 47694e2b 496c502c
|
||||
W117c59898 00000000 00000000 00000000 00000000
|
||||
17c598a8 439b1786 00000000 537c5c33 537c5c33
|
||||
17c598b8 537c5c33 537c5c33 527a5a32 51795a32
|
||||
17c598c8 50765731 4e73552f 4c70532e 496c502c
|
||||
17c598d8 47694e2b 45654b2a 41614828 3e5c4426
|
||||
17c598e8 3b584124 37523d22 344e3a20 3148351e
|
||||
17c598f8 2d43321c 2a3f2f1a 27392a18 24352716
|
||||
17c59908 20302414 1c2b2012 19251c10 1621190e
|
||||
E017c57e18 00000000 00000000 00000000 00000000
|
||||
17c57e28 43963738 00000000 5818005c 00561700
|
||||
17c57e38 16005916 5716005a 004d1700 16003c17
|
||||
17c57e48 3b18003a 003b1700 16004116 5417004e
|
||||
17c57e58 00571600 14005615 4e150054 00401300
|
||||
17c57e68 0e003411 230a002d 00160700 01000201
|
||||
17c57e78 09030004 000f0400 08001806 2e090024
|
||||
17c57e88 00380b00 0c00410c 530d004a 005c1100
|
||||
E117c57e98 00000000 00000000 00000000 00000000
|
||||
17c57ea8 439b1786 00000000 04007e04 8008007f
|
||||
17c57eb8 00800c00 13007f10 8010007f 00801200
|
||||
17c57ec8 1d008018 7a1e007f 00782300 1e006d23
|
||||
17c57ed8 4d1c005a 00471a00 1a00471a 50190048
|
||||
17c57ee8 00591900 19005f19 60160062 00591600
|
||||
17c57ef8 15005516 4f160053 00461700 16003a16
|
||||
17c57f08 3b17003a 003f1600 18004917 5f180056
|
||||
BR ret=1
|
||||
BC did=a9c9ffff gx=25 gy=46 max=43a50000 min=42960000
|
||||
W017c59818 00000000 00000000 00000000 447a4000
|
||||
17c59828 4396371f 00000000 03000000 00000000
|
||||
17c59838 02000000 04030201 06090704 090e0a06
|
||||
17c59848 0c120e08 0f17110a 131c150c 1621190e
|
||||
17c59858 19251c10 1c2b2012 1f2f2314 23332615
|
||||
17c59868 27392a18 2a3f2f1a 2d43321c 3148351e
|
||||
17c59878 334d3920 37523d22 3b584124 3e5b4426
|
||||
17c59888 41614828 45654b2a 47694e2b 496c502c
|
||||
W117c59898 00000000 00000000 00000000 447a4000
|
||||
17c598a8 439b176b 00000000 537c5c33 537c5c33
|
||||
17c598b8 537c5c33 537c5c33 527a5a32 51795a32
|
||||
17c598c8 50765731 4e73552f 4c70532e 496c502c
|
||||
17c598d8 47694e2b 45654b2a 41614828 3e5c4426
|
||||
17c598e8 3b584124 37523d22 344e3a20 3148351e
|
||||
17c598f8 2d43321c 2a3f2f1a 27392a18 24352716
|
||||
17c59908 20302414 1c2b2012 19251c10 1621190e
|
||||
E017c57e18 00000000 00000000 00000000 447a4000
|
||||
17c57e28 4396371e 00000000 5818005c 00561700
|
||||
17c57e38 16005916 5716005a 004d1700 16003c17
|
||||
17c57e48 3b18003a 003b1700 16004116 5417004e
|
||||
17c57e58 00571600 14005615 4e150054 00401300
|
||||
17c57e68 0e003411 230a002d 00160700 01000201
|
||||
17c57e78 09030004 000f0400 08001806 2e090024
|
||||
17c57e88 00380b00 0c00410c 530d004a 005c1100
|
||||
E117c57e98 00000000 00000000 00000000 447a4000
|
||||
17c57ea8 439b176a 00000000 04007e04 8008007f
|
||||
17c57eb8 00800c00 13007f10 8010007f 00801200
|
||||
17c57ec8 1d008018 7a1e007f 00782300 1e006d23
|
||||
17c57ed8 4d1c005a 00471a00 1a00471a 50190048
|
||||
17c57ee8 00591900 19005f19 60160062 00591600
|
||||
17c57ef8 15005516 4f160053 00461700 16003a16
|
||||
17c57f08 3b17003a 003f1600 18004917 5f180056
|
||||
BR ret=0
|
||||
F 2
|
||||
P a9b4013f 430542ff 415c0def 42c0a8f8 bf7bf267 3e13e94a 3c745f23 bdd02083
|
||||
eax=27948130 ebx=00000009 ecx=00a566d8 edx=3e900471 esi=00a566d8 edi=009a09b0
|
||||
eip=00453aa0 esp=001afe84 ebp=001aff74 iopl=0 nv up ei pl nz na pe nc
|
||||
cs=0023 ss=002b ds=002b es=002b fs=0053 gs=002b efl=00200206
|
||||
acclient!SmartBox::RenderNormalMode:
|
||||
00453aa0 a130f38600 mov eax,dword ptr [acclient!RenderDevice::render_device (0086f330)] ds:002b:0086f330=00a64b88
|
||||
0:000> .echo ===DETACHING===
|
||||
===DETACHING===
|
||||
0:000> qd
|
||||
quit:
|
||||
NatVis script unloaded from 'C:\Program Files (x86)\Windows Kits\10\Debuggers\x86\Visualizers\atlmfc.natvis'
|
||||
NatVis script unloaded from 'C:\Program Files (x86)\Windows Kits\10\Debuggers\x86\Visualizers\concurrency.natvis'
|
||||
NatVis script unloaded from 'C:\Program Files (x86)\Windows Kits\10\Debuggers\x86\Visualizers\cpp_rest.natvis'
|
||||
NatVis script unloaded from 'C:\Program Files (x86)\Windows Kits\10\Debuggers\x86\Visualizers\ObjectiveC.natvis'
|
||||
NatVis script unloaded from 'C:\Program Files (x86)\Windows Kits\10\Debuggers\x86\Visualizers\stl.natvis'
|
||||
NatVis script unloaded from 'C:\Program Files (x86)\Windows Kits\10\Debuggers\x86\Visualizers\Windows.Data.Json.natvis'
|
||||
NatVis script unloaded from 'C:\Program Files (x86)\Windows Kits\10\Debuggers\x86\Visualizers\Windows.Devices.Geolocation.natvis'
|
||||
NatVis script unloaded from 'C:\Program Files (x86)\Windows Kits\10\Debuggers\x86\Visualizers\Windows.Devices.Sensors.natvis'
|
||||
NatVis script unloaded from 'C:\Program Files (x86)\Windows Kits\10\Debuggers\x86\Visualizers\Windows.Media.natvis'
|
||||
NatVis script unloaded from 'C:\Program Files (x86)\Windows Kits\10\Debuggers\x86\Visualizers\windows.natvis'
|
||||
NatVis script unloaded from 'C:\Program Files (x86)\Windows Kits\10\Debuggers\x86\Visualizers\winrt.natvis'
|
||||
File diff suppressed because it is too large
Load diff
Loading…
Add table
Add a link
Reference in a new issue