Decode the IGC coefficient value encoding: bit-serial x2 place values

The payload floats group into clean x2 doubling chains (0.0079 0.016 0.032 ...
1.009) = a coefficient stored as its binary place values C*2^k across the
bit-planes, exactly how a bit-serial adder holds a number. Recovered base
coefficients correlate with the object's own screen-space edge/z slopes
(decode_corr.py, chain_decode.py), so igc_array.py's inputs are cross-validated
against the compiled stream. Fixed-point scales from FOOTER.SS (Czscale=2^20,
Ctexscale=2^16). Readout §02 + decode notes updated.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
Cyd
2026-07-16 15:33:45 -05:00
co-authored by Claude Opus 4.8
parent 90fd3497d1
commit 34e2155672
4 changed files with 200 additions and 0 deletions
@@ -262,6 +262,14 @@
+01c <span class="ad">00000022</span> <span class="cm">; bit-plane 0x22 …</span></pre>
</div>
</div>
<p class="sub" style="margin-top:14px">Pull the floats out of those payloads and they
line up into clean <b>×2 chains</b>
<span class="mono">0.0079 · 0.016 · 0.032 · 0.063 · 0.126 · 0.252 · 0.504 · 1.009</span>
a coefficient stored as its binary place values <span class="mono">C·2ᵏ</span>, one per
bit-plane, exactly how a bit-serial adder holds a number. The recovered bases match the
object's own edge and z slopes computed from the captured vertices — so the coefficients
feeding the array simulator (§05) are <b>cross-validated against the compiled stream the
hardware actually shipped</b>.</p>
</section>
<section>