diff --git a/context/reconstruction-gotchas.md b/context/reconstruction-gotchas.md index f9170d6..2e70af2 100644 --- a/context/reconstruction-gotchas.md +++ b/context/reconstruction-gotchas.md @@ -534,3 +534,14 @@ segment tables) — the same class of latent overflow. ## Key Relationships - Applies to: every topic that reconstructs a class ([[subsystems]], [[combat-damage]], [[gauges-hud]], [[locomotion]]). - Uses: [[decomp-reference]] (offsets/ClassIDs), [[reconstruction-method]] (the loop). + + +## Dropped mid-sequence call = first-use-works-by-accident (issue #42, 2026-07-24) +A transcription that drops ONE call from a decomp sequence can pass every first-look test: +ConfigMapGauge's redraw dropped the binary's `MoveToAbsolute(0,0)` (@004c6f1c, vtbl+0x24 +between SetColor and the blit) -- the FIRST draw landed correctly because the fresh view +cursor happened to sit at the origin; only a FORCED REDRAW (the DISPLAY page round-trip) +exposed the stale-cursor blit as an offset ghost. LESSON: when transcribing a draw/IO +sequence, verify EVERY vtbl call in the decomp is present -- and test the REDRAW/second-use +path, not just first render. (Live-pinned by the operator's exact repro; bisect showed it +was never a regression -- it shipped with the feature.)