docs: vehicleSubSystems follow-ups -- recharge dial + leak wipe done

Mark SegmentArc270 (recharge dial) and BitMapInverseWipe::Execute (LeakGauge) done;
refine the remaining follow-up list with the honest blocker/scope for each (seek
plot blocked on attribute + sampler; eject wipe needs a new base; secondary lamp/
counter raw reads = the heat-leaf-branch re-base; ConfigMapGauge overlay needs the
ModeManager).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
arcattack
2026-07-07 07:35:46 -05:00
co-authored by Claude Opus 4.8
parent 4ab6748563
commit 8a31abb07d
+21 -11
View File
@@ -123,17 +123,27 @@ the resource parse, verifying combat/heat un-regressed. **This is the final, sig
build with real aux-screen positions/labels/placements, 0 crashes, combat un-regressed.
## Remaining polish (non-blocking follow-ups)
- Two minor cluster children deferred as marked NULLs: the `SegmentArc270` recharge dial (WeaponCluster) +
the `BitMapInverseWipeScalar` eject wipe (BallisticWeaponCluster) — their ctors are placeholders in
btl4gaug.hpp (the `SegmentArc270` @004c6244 body + a `BitMapInverseWipeScalar` class need reconstruction).
- `SeekVoltageGraph::Execute` + `BitMapInverseWipe::Execute` are minimal-safe (vtable-complete, non-crashing)
— the full seek-voltage plot + the reveal-wipe column math are deferred.
- Many cluster child value pointers read raw subsystem offsets (0x31c/0x324/0x334/0x364/0x43c/…) still on
the non-byte-exact heat-leaf branch — marked BEST-EFFORT; they render but may show wrong/zero data. The
authentic fix is the heat-leaf-branch re-base (the same §10 deferred item for the Sensor RadarPercent
gauge) or per-field bridges like the aux-screen one.
- `ConfigMapGauge`'s control-mapper state loop is guarded off (raw App ModeManager offsets, `DAT_00518eb8`
unrecovered).
- **`SegmentArc270` recharge dial DONE** — reconstructed (@004c6244, engine SegmentArc + a Scalar
connection + the 0.75 span factor) + wired into WeaponCluster, reading the real `PercentDone` attribute.
Render-verified: the green segmented recharge circles draw in the weapon panels.
- **`BitMapInverseWipe::Execute` (LeakGauge) DONE** — the authentic vertical-segment reveal wipe
(@004c5d08), driven by the `CoolantMassLeakRate` attribute.
- **`SeekVoltageGraph::Execute`** (the seek-voltage curve plot in the Energy/Myomer clusters) — still a
minimal-safe no-op. BLOCKED: it needs (a) the four seek-voltage attribute indices resolved (the ctor's
`FindAttributeIndex` still returns -1 — the summarised stub) and (b) the subsystem's live seek-voltage
sampler (`Emitter` vtbl+0x3c) — so even a reconstructed plot would draw nothing until those land.
- **`BitMapInverseWipeScalar` eject wipe** (BallisticWeaponCluster) — still a marked NULL. Needs a new base
class (the unnamed @004c5e84 wipe base, vtable 0x518a58) + the @004c61c8 ctor. Very low value (the eject
indicator only shows during a reload).
- **Secondary raw value-pointer reads** — the fail/jam/fire lamps + ammo counters read raw subsystem offsets
(0x31c/0x320/0x324/0x334/0x364/0x43c/…) on the non-byte-exact heat-leaf branch → they render but show
wrong/zero data. NOTE: the KEY gauges already read via the engine ATTRIBUTE system and show real data
(temperature bars, the recharge dial, generator voltage, coolant leak); only these secondary lamps/counters
are affected. The authentic fix is the heat-leaf-branch re-base (the same §10 deferred item for the Sensor
RadarPercent gauge) — a large, regression-risky change to the working combat/heat subsystem code — or a set
of per-field bridges like the aux-screen one.
- **`ConfigMapGauge`'s control-mapper state overlay** — guarded off (raw App ModeManager offsets, `DAT_00518eb8`
unrecovered); the base joystick bitmap draws.
- The **separate** dev-gauge window (960×384) didn't appear in the headless test run (the panels render in
`BT_DEV_GAUGES_DOCK=1` docked mode); the separate-window path is existing dev-gauge infra, unrelated to
this reconstruction.