docs #181: the vsync decision gate - all camera/sweep mechanisms now Ghidra-verified faithful; residual mm limit cycle likely retail-class, visible only via unsynced tearing

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
Erik 2026-07-06 22:31:36 +02:00
parent 3f34bca06f
commit 378316af15

View file

@ -107,6 +107,23 @@ instrument: a capture session with the game window UNOBSTRUCTED (no chat overlay
snip tool) while the user confirms the flicker is visibly active, + the user's snip tool) while the user confirms the flicker is visibly active, + the user's
description of exactly WHAT changes (wash extent? the stripe? brightness?).** description of exactly WHAT changes (wash extent? the stripe? brightness?).**
**PORT + VERIFICATION SWEEP (2026-07-06 night, after the user's "retail camera is rock
steady" axiom):** retail's viewer step subdivision ported (`3f34bca0` — radius-anchored
steps, remainder final step, viewer-exempt small-offset abort; `calc_num_steps`
0x0050a0b0 / `find_transitional_position` 0x0050bdf0 via Ghidra, pseudocode
`docs/research/2026-07-06-viewer-step-subdivision-pseudocode.md`). The wall-press
wander is UNCHANGED by it: a bit-exact 12-frame limit cycle (~130 µm/frame inward creep
×11, one 2.6 mm snap; `Issue181WallPressEquilibriumTests` orbit dump). With
`adjust_to_plane` + `adjust_sphere_to_poly` + the stepping now ALL Ghidra-verified
faithful, the residual mm cycle is most plausibly retail-class plateau physics —
invisible at retail's 60 fps vsync, tear-interleaved into visible stripes at our
~1500 fps unsynced (VSync defaults OFF, GameWindow.cs:1096). **DECISIVE USER TEST:
VSync ON (F11 → Display), camera pressed at the wall/opening — stripes gone ⇒ the
artifact = mm wobble × unsynced tearing (fix = default display mode decision, no
physics change); stripes remain ⇒ cdb-trace retail's wall-pressed `viewer` per frame
to measure whether retail truly holds sub-mm (then the divergence is structural and
the trace names it).**
**REFINEMENT (same night, after the a7-pseudocode CORRECTION-2 re-read):** the pool is **REFINEMENT (same night, after the a7-pseudocode CORRECTION-2 re-read):** the pool is
ALREADY resident-scoped + player-anchored (`d8984e87` deleted the flood-scoped slice-1), ALREADY resident-scoped + player-anchored (`d8984e87` deleted the flood-scoped slice-1),
so "flood-scoped lights" is NOT the amplifier as first framed. Measured: 0x0181's so "flood-scoped lights" is NOT the amplifier as first framed. Measured: 0x0181's