docs(gauge): GeneratorCluster done -- Phase 2 complete (4/4 widgets)
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
88cd68aaa1
commit
f998f2a023
+10
-7
@@ -532,13 +532,16 @@ a prose-only vtable slot AVs on first call).
|
||||
the Comm surface now renders the live local-pilot row (KILLS 0 DEATHS 0 + name box). Feed = new
|
||||
`BTResolveRosterPilot` bridge (mechmppr.cpp) → mapper roster. DEATHS redirected from the dead pad_0x280 to
|
||||
the real deathCount@0x200. The scoring feed that moves KILLS/DEATHS is P3.
|
||||
- ◐ **GeneratorCluster** (4 generator panels, buttons 9-12) — RECONSTRUCTED + infra committed (Generator
|
||||
OutputVoltage table + the @004c72ac ScalarBarGauge Scalar* variant + Make/ctor/dtor + 15-param
|
||||
methodDescription) but **registration GATED**: registering aborts at runtime — the 4 panels build (4
|
||||
"BecameActive not defined" warnings) then `abort()`, isolated to the PARENT lifecycle (persists with all 5
|
||||
children nulled; no pure virtuals; unguarded ctor path). The sibling SubsystemCluster overrides
|
||||
BecameActive/Execute/TestInstance whereas the decode had GeneratorCluster override ONLY the dtor — that
|
||||
claim is the prime suspect. Re-enable the btl4grnd.cpp line once the parent lifecycle is fixed.
|
||||
- ✅ **GeneratorCluster** (4 generator panels, buttons 9-12) — the 4 panels (A/B/C/D) render with blue
|
||||
OutputVoltage bars (the @004c72ac ScalarBarGauge Scalar* variant + the Generator OutputVoltage table),
|
||||
labels, and status lamps. **Root cause of the initial abort (cdb-attach to the frozen dialog):** the engine
|
||||
base `Gauge::Execute` is `Fail("not overridden")`→abort (GAUGE.cpp:598), so an ACTIVE container that
|
||||
doesn't override Execute aborts by design (GuardedExecute's SEH can't catch an `abort()`). The decode's
|
||||
"overrides ONLY the dtor / renders via children" was wrong — the 1995 base Gauge::Execute was a no-op, the
|
||||
2007 engine's aborts. FIX: `BecameActive()` (blit the background pixmap + don't self-inactivate) + `Execute()`
|
||||
(no-op; the 5 self-registered children draw the dynamic content), mirroring the sibling SubsystemCluster.
|
||||
**⚠ LESSON: a reconstructed container gauge MUST override Execute (+ a non-inactivating BecameActive) — the
|
||||
2007 `Gauge::Execute` base aborts.**
|
||||
- **TODO (lower priority):** **PrepEngrScreen** (@004c7b30/7bf0/7e48 — engineering full-screen), **SectorDisplay**
|
||||
(@004c9e10/ca07c) + **MessageBoard** (@004cb678), **SeekVoltageGraph::Execute** (@004c6934) + real FindAttributeIndex.
|
||||
|
||||
|
||||
Reference in New Issue
Block a user