BT410: session landing -- the cockpit at 98.9% identical, four heads exact

Final per-head state, the binding audit (31 CFG bindings resolve, zero NULL),
and the open list in priority order: btl4vid for the sec head, then the
leak-gauge hatch (with the CFG parameter-order question that probably
explains it), the coolant numerals, and the MFD remainders.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
Cyd
2026-07-27 12:58:33 -05:00
co-authored by Claude Fable 5
parent fc0cafe867
commit ce199103a9
@@ -860,3 +860,65 @@ WHAT IS LEFT, LARGEST FIRST:
we never build at all. Zero extra means nothing we draw there is wrong,
so this is a build-it wave, not a fix-it one.
* Heat (483 / 80) and the MFD remainders (~270 / ~34) -- fine detail.
--------------------------------------------------------------------------------
5.3.39 -- THE COMM PAGE GOES EXACT, and what the session leaves open
--------------------------------------------------------------------------------
Final state of the cockpit against the shipped 4.10 binary:
head shipped ours missing extra
Eng1 17981 17981 0 0 EXACT
Eng2 17981 17981 0 0 EXACT
Eng3 17981 17981 0 0 EXACT
Comm 15656 15656 0 0 EXACT
Mfd3 32146 32128 31 13
Mfd2 40799 40716 97 14
Mfd1 41784 41651 140 7
overlay 3283 3310 55 82
Heat 21374 20971 483 80
sec 35423 35676 417 670 (the 3-D scene)
Whole frame: 98.9% pixel-identical / 99% coverage, from 89.7% / 92%.
THE COMM FIX closed the last artifact this session opened with. Slot 0 of
PilotList is the OWN ROW, not a roster slot -- its layout entry is the odd
one out ({180,225} at layout mode 0, KILLS/DEATHS at +0x95/+0xe8 against the
strip boxes' +0x48) and the shipped page fills it with the local pilot while
the seven strip boxes stay empty in a solo mission. The original ungated
walk was feeding the mission player into the STRIP slots, which is exactly
why gating the roster removed wrong pixels yet left the centre row missing:
both halves of that puzzle were true at once. The own row also takes
Mission's LARGE name raster, not the small one -- with the small one
"Aeolus" drew visibly undersized and low in its box.
BINDING AUDIT (BT_GAUGE_ATTR_LOG, this build): 31 CFG bindings resolve, ZERO
NULL. Every attribute the cockpit config asks for is live. Note the audit
only covers the CFG parse path (GAUGREND ParseAttribute) -- the clusters'
own ScalarAttributeOf calls do not appear there, though all four heat names
they ask for (CurrentTemperature / DegradationTemperature /
FailureTemperature / CoolantMassLeakRate) are published in HEAT.CPP.
WHAT IS STILL OPEN, IN THE ORDER I WOULD TAKE THEM:
1. sec (417 missing / 670 extra) -- the 3-D scene head. This is btl4vid,
the world renderer, and no amount of gauge work moves it. The next big
climb, and the last one.
2. The leak-gauge hatch (~480px, and the bulk of what is left on Heat and
the MFDs). Shipped paints a small hatched block at the foot of every
LEAK column; ours paints nothing. At zero leak BitMapInverseWipe takes
its level<1 branch and draws frame 0 in colorA -- and colorA is 0 at
every call site, cluster and CFG alike. Worth checking the CFG
parameter order before touching the widget: the config passes
LeakGauge(port, mode, eleak.pcc, 0, 255, 3, .15, @6), i.e. TWO values
between the colours and the attribute, while our ctor takes
(color_a, color_b, third_in, frames_in, value) with the cluster sites
passing third=0, frames=3. If Make maps those positionally the .15 and
the 3 may be landing in the wrong parameters, which would also explain
fullWidth clamping every level to 0.
3. The COOLANT A / S numerals on the Heat head (shipped reads 300 and 33x;
ours differ) -- a heat-model value question, not a rendering one.
4. MFD remainders: ~270 missing / ~34 extra across the three heads, mostly
the same leak hatch as (2).