KB: step-2 closeout -- verification matrix + ledger detail (glass cockpit)

docs/GLASS_COCKPIT.md gains the 2b-2e detail + the full verification matrix
(purity build + seam audit, pod forced-walk, 2-node loopback MP via btconsole
relay on the POD build -- both nodes reach the running mission, PadRIO
authentic-path input, panel-click survival).  context/glass-cockpit.md status
updated: step 2 DONE [T2]; steps 3-4 pending.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
Cyd
2026-07-17 22:34:20 -05:00
co-authored by Claude Fable 5
parent 418acf07e4
commit 82b53b7ad7
3 changed files with 81 additions and 8 deletions
+13 -4
View File
@@ -48,10 +48,19 @@ copied from them.
locks (`mechmppr.hpp/.cpp`); torso/weapon chains were already aligned. Permanent env-gated
diagnostic: `BT_CTRLMAP_LOG=1` dumps every streamed record's resolved member offset
(`L4CTRL.cpp CreateStreamedMappings`). Full evidence: `docs/GLASS_COCKPIT.md` §2a.
- Step 2 (PadRIO + displays): pending. Secondary displays reuse the EXISTING dev-gauge modes
(dock-bottom `BT_DEV_GAUGES=1`, combined separate window `BT_DEV_GAUGES_WINDOW=1`, overlay
inset `BT_DEV_GAUGES_DOCK=1` — see [[gauges-hud]] + `docs/GAUGE_COMPOSITE.md`); NO new MFD
display code, never re-enter the `L4VB16.cpp` split-view region.
- **Step 2 (PadRIO glass cockpit): DONE 2026-07-17 [T2].** `RIOBase` seam (`L4RIO.h`,
unconditional) + gated `L4CONTROLS=PAD``PadRIO` (`L4PADRIO.*` XInput+keyboard,
`L4PADBINDINGS.*` `content\bindings.txt`); bridge stand-downs auto-yield to a live device
(`BTRIODevicePresent`, `BT_KEY_BRIDGE` unset=auto/0=off/1=on); on-screen panel `L4PADPANEL.*`
follows **vRIO** (`C:\VWE\vrio` CockpitLayout/PanelCanvas — 104 controls incl. the two hex
keypads → real KeyEvents; right-click latch); desktop plasma `L4PLASMAWIN.*`
(`L4PLASMA=SCREEN`, buffer is top-down); `-platform glass` preset + run.cmd token. Secondary
displays reuse the EXISTING dev-gauge modes (dock / `BT_DEV_GAUGES_WINDOW=1` window /
`_DOCK=1` overlay — [[gauges-hud]]); no new MFD code, no `L4VB16.cpp` exposure.
**Button-trap guard:** base `ConfigureMappableMessageHandler` no longer `abort()`s by default
(`BT_BUTTON_TRAP=1` restores) — each `[FAIL]` log = a missing L4 override to reconstruct.
Verified: authentic-path input (engine push → streamed `.CTL` → mapper), panel-click
survival, 2-node loopback MP un-regressed on the pod build. Detail: `docs/GLASS_COCKPIT.md`.
- Step 3 (miniconsole): pending. Architecture: the console stays a WIRE PEER — an in-process
worker-thread console client over loopback; no engine-loop hooks.
- Step 4 (Steam): pending.