diag #176/#181: artifact CHARACTERIZED - static ~10x-hot magenta wash zebra-striping wall geometry; root = weenie lamps on the dynamic light curve (A7 fix #2); retail static curve Ghidra-verified (calc_point_light 0x0059c8b0)
VSync-on test (30fps): stripes remain => not tearing (windowed + DWM never tears - the tear framing was structurally wrong). Clean captures at the user's spot: the scene is pixel-static except idle anim; the 'stripes/triangles' are the corridor wall's angled braces silhouetted against blown-out saturated magenta. Server-weenie stationary lamps register isDynamic:true (1/d, range x1.5); retail statics use f=(1-d/range)*intensity*wrap/d^3 beyond 1m, range=falloff*1.3, per-channel colour clamp - ~10x dimmer at 3m. Next: A7 fix #2 (static curve; isDynamic decided by motion, not origin) + conformance pin, then the combined #176/#180/#181 gate. a7 pseudocode doc SS1.6 updated with the verified curve; render digest re-bannered. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
parent
378316af15
commit
cace430299
2 changed files with 38 additions and 11 deletions
|
|
@ -107,8 +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
|
||||
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
|
||||
**🎯 ARTIFACT CHARACTERIZED (2026-07-06 late night — the VSync test + clean live
|
||||
captures):** VSync ON (30 fps) and the stripes REMAIN ⇒ not tearing (and the client is
|
||||
windowed — DWM never tears windowed apps; the tear theory was structurally wrong).
|
||||
Clean captures at the user's spot with frame-pair diffs across 1 s: **the scene is
|
||||
pixel-STATIC except the idle animation — the "stripes/triangles" are STATIC RENDERED
|
||||
CONTENT**: the corridor wall's angled brace geometry silhouetted as dark triangles
|
||||
against a BLOWN-OUT saturated magenta glow (zoom: scratchpad live-band.png). Retail
|
||||
shows the same geometry against a dim wall; ours zebra-stripes because the pink
|
||||
fixtures are ~10× too hot. **ROOT = the A7 fix-#2 item: server-weenie stationary lamps
|
||||
take the DYNAMIC light path (`isDynamic: true` at the GameWindow registration, 1/d,
|
||||
range×1.5) instead of retail's static curve — now Ghidra-verified at 0x0059c8b0:
|
||||
`f = (1 − d/range)·intensity·wrap/d³` beyond 1 m, `range = falloff×1.3`, per-channel
|
||||
clamped to the light's own colour (see the a7 pseudocode doc §1.6).** The "flicker"
|
||||
in motion = the high-contrast pattern's edge crawl (+ the wall-press mm wobble),
|
||||
secondary to the brightness. NEXT: implement fix #2 (static curve for stationary
|
||||
lights; `isDynamic` decided by whether the light MOVES, not by weenie-vs-dat origin),
|
||||
then the combined #176/#180/#181 re-gate. 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
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue