diff --git a/handoff/NOTES_CAPTURE.md b/handoff/NOTES_CAPTURE.md index f7011b4..acec47e 100644 --- a/handoff/NOTES_CAPTURE.md +++ b/handoff/NOTES_CAPTURE.md @@ -76,3 +76,21 @@ themselves validated statically (twin_check max|err|=1.27e-5). => Step C goal (window + axes + weights + kernel parity) is effectively CLOSED; only scalar A/R params remain, derived from RPP params, no live capture needed. + +## 2026-08-20 (P1.5: live level-tracker A[] / ctx — CONFIRMED UNREACHABLE) +- rtctx.py (repo): full pipeline = spawn render_long offline → find yabridge-host → chunked + snapshot → registry-scan → ctx discovery (marker base+0x24==40000.0f ∧ base+0x540658==window). +- Two FRESH captures (host live mid-render): registry found (0x28b06c0 GUI / 0x29b06c0 offline, + [00].cnt=8193 identity, [01]/[03] = window/weights). But: + - the window ptr (0x2962??? live) appears as a heap value ONLY inside the registry entry + (0x???6c8 self-field), never as a field of a larger ctx object; + - bases where +0x24==0x472c4400 (40000.0f) exist only in the plugin image (.data/rodata + 0x180535d62/0x1805607e5/0x181414341) — inline code constants, no live DSP object. +- => A standalone DSP ctx object with {+0x24==40000, +0x540658==winptr} does NOT exist in the + heap (the DSP object is the registry itself / its buffers are the registry targets). +- CONFIRMS the 2026-08-19b conclusion: per-bin level-tracker A[] (0x4c0528/0x3c0510/0x2c04f8) + and mask scalars are NOT live-separable with the current registry/ctx tools; they are + STATIC/DERIVED from RPP params (0x540888/88c = 10^(att/20), 0x540870 = expf((p·c4348+c44a4)·0.11513), + 0x54087c = raw band/mix). Two unknown constants remain from the (lost) binary: 0x24c4348, 0x24c44a4. +- => P1.5 "live capture" is a dead end; scalars must be derived statically or the two missing + constants recovered from the original soothing_mem.bin (not currently present in workspace).