CLAUDE.md §8: gauge system COMPLETE — 0 NULL bindings + 0 parse-skips (aggregate bank, valve, SectorDisplay/PrepEngr/MessageBoard)
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 4.8
parent
5b9100da74
commit
401b290949
@@ -760,6 +760,29 @@ the `SegmentArc270` recharge-dial + `BitMapInverseWipeScalar` eject-wipe childre
|
||||
NULL); the remaining raw heat-leaf-branch value-pointer reads (BEST-EFFORT — need the branch re-base or per-field
|
||||
bridges); the separate 960×384 gauge window (docked mode renders; separate-window is existing dev-gauge infra).
|
||||
|
||||
**✅✅✅ GAUGE SYSTEM COMPLETE — every config attribute binds + every config gauge widget builds (full map:
|
||||
`docs/GAUGE_COMPOSITE.md`).** Closing the data-binding wave (user: "complete the full guage system"):
|
||||
- **Attribute bindings: 0 NULL** (`BT_GAUGE_ATTR_LOG` = 50 OK). The LAST unresolved binding
|
||||
(`HeatSink/AmbientTemperature`) is cleared by the reconstructed **`AggregateHeatSink` 0xBBE** (the heat-sink
|
||||
BANK class, ctor @4ae8d0, GUID 0x50e590, byte-exact sizeof 0x1E4; publishes HeatSinkCount + AmbientTemperature=300,
|
||||
frozen). Deliberate deviation: keep the base HeatSinkSimulation, do NOT install the authentic Performance @4ae73c
|
||||
(it derefs a raw self+0xE0→[+0x158] that doesn't map in our layout → AV for EVERY mech; ambient is a frozen
|
||||
constant so the gauge reads 300 either way).
|
||||
- **Widgets: 0 parse-skips** (`BT_GAUGE_SKIP_LOG` = 0). The last 3 unregistered primitives reconstructed + registered:
|
||||
**SectorDisplay** (radar SECTOR X/Z read-out — LIVE: `Round(-Z*0.01)+500`/`Round(X*0.01)+500` 100-unit sectors,
|
||||
verified sectorA=510/sectorB=504 from live position), **PrepEngrScreen** (12 engineering-screen label overlays —
|
||||
base `GraphicGaugeBackground` paint-on-activation, NOT Execute), **MessageBoard** (sec-MFD comm ticker — DEFERRED
|
||||
empty: SetSource has no caller + StatusMessagePool is a NULL stub, so no messages exist; safe no-op).
|
||||
- **Condenser valve gauge**: fixed the `/FORCE` ODR dup (heat.cpp stub Condenser ctor shadowed the real reslice one
|
||||
→ valveState=garbage) + reconstructed **`RecomputeCondenserValves`** (FUN_0049f788, was a no-op `FinishConstruction`
|
||||
stub) → coolantFlowScale = valveState/Σvalve, so `ValveSetting` reads the authentic **1/N** (BLH 6 condensers →
|
||||
0.1667 each). **`Condenser::MoveValve`** replaced (the reslice body was mislabeled @4afbe0 controls-mapper; real
|
||||
@4ae464 disassembled: cycle 1→5→50→0; DORMANT — route/guard via 0xBD3).
|
||||
- **Remaining gauge work = DATA FEEDS, not widgets** (deferred systems, marked): the valve/message CONTROL routes
|
||||
(0xBD3 SubsystemMessageManager, WAVE 8) + the status-message queue (StatusMessagePool); `SeekVoltageGraph`'s 4
|
||||
Seek* attributes (cluster-child, not config-called). ⚠ VERIFICATION GOTCHA: the gauge renderer builds LAZILY
|
||||
(BuildConfigurationFile) — a too-early process kill shows a false "0 skips / not built"; wait for the gauge window.
|
||||
|
||||
**Alternate route considered:** run original `btrel410.exe` under DOSBox — **blocked**: it needs the
|
||||
VPX/IG board DOSBox can't emulate; bypassing it = the shim work anyway.
|
||||
|
||||
|
||||
Reference in New Issue
Block a user