Hook WA's GameFrameChecksumProcessor (0x5329C0) to capture the game's
own network sync checksums after each simulation frame. The test runner's
new `trace-desync` subcommand runs a replay twice — once with minimal
hooks (baseline) and once with all hooks — then diffs the per-frame
hashes to pinpoint the exact frame where simulation diverges.
New env vars: OPENWA_TRACE_DESYNC, OPENWA_TRACE_BASELINE,
OPENWA_TRACE_HASH_PATH. Baseline mode skips all gameplay hooks,
keeping only headless/file-isolation/input/replay infrastructure.
RE: identified and labeled ComputeStateChecksum (0x546140),
ComputeStateChecksum_Multi (0x546170), SerializeGameState (0x532330),
GameFrameChecksumProcessor (0x5329C0). Exposed DDGameWrapper checksum
fields at offsets 0x268/0x26C/0x270.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>