acdream/docs/research/2026-05-21-a6-captures/scen1_inn_doorway
Erik 194ed3ef21 feat(cdb): A6.P1 — decode_retail_hex.py hex→float decoder
Python tool that decodes the retail.log hex-bits float fields produced
by a6-probe.cdb v4 into IEEE 754 single-precision values. Required
because cdb's .printf %f doesn't reliably format floats from dwo()
reads — v4 works around this by emitting 32-bit hex, this script
reinterprets via struct.unpack('<f', struct.pack('<I', value)).

Verified against scen1 retail.log:
  BP6 threshold_h=0x3F2A0751 → threshold=0.6642 (= FloorZ exactly)
  BP5 hit#1 Nz_h=0x3F800000 → Nz=1.0 (ground normal)
  9,517 float fields decoded across 9,331 lines.

Output written next to input as .decoded.log. Format matches
acdream-side [push-back] probe (4-decimal floats), so A6.P2
analysis can compare line-for-line.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-21 20:03:03 +02:00
..
.gitkeep docs(research): A6.P1 — capture directory structure + findings stub 2026-05-21 18:46:56 +02:00
acdream.log capture(research): A6.P1 scen1 — acdream.log paired with retail.log 2026-05-21 20:02:08 +02:00
retail-v1-broken-offsets.log fix(cdb): A6.P1 — v1 dry-run lessons + v2 prep tooling 2026-05-21 19:38:31 +02:00
retail-v2-zero-floats.log fix(cdb): A6.P1 — a6-probe.cdb v3 with C++ float reads 2026-05-21 19:50:11 +02:00
retail-v3-cpp-zero-floats.log fix(cdb): A6.P1 — a6-probe.cdb v4 hex-bits floats 2026-05-21 19:55:48 +02:00
retail.decoded.log feat(cdb): A6.P1 — decode_retail_hex.py hex→float decoder 2026-05-21 20:03:03 +02:00
retail.log capture(research): A6.P1 scen1 — retail.log with real hex-bits floats 2026-05-21 19:59:33 +02:00