Glass 'keymap regression' triage: stale build-glass exe, not code — rebuild + full re-verify
The live-reported glass regressions (arrows dead / lever+detent missing / V+J/K/L+N inert / weapons into the ground) were build-glass/Release/btl4.exe built at 07:47 running the pre-5dd3536 image: no suppression tables, no V/J/K/L keys, unpinned RIO ids. content\bindings.txt already carried the merged map (arrows = W/S lever + A/D pedals) and parsed clean. Clean rebuild closed every symptom; SendInput re-verification: lever holds on release + stops at zero, LEFT/RIGHT turn in MID (wire-sign correct), V toggles with BT_SHOT pair, level boresight at spawn, R/F elevation drive; pod build rebuilt + smoked un-regressed. Code delta: BT_MPPR_TRACE [mppr-c] line enriched with mode/pedals/stick/turn/elev so one env-gated line proves the whole control surface. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Fable 5
parent
80c9394131
commit
1535e3e48d
@@ -243,6 +243,41 @@ pre-btinput double-dispatch, back on the glass side.
|
||||
- Un-regression: build-pod (gates OFF) compiles 0 errors; forced-walk run drives
|
||||
(speedDemand=61.501, 32 subsystems, streamed ids 3→+0xdc / 4→+0xe4 unchanged).
|
||||
|
||||
### 2026-07-20 (later) — the "keymap regression" live report: STALE EXE, not code [T2]
|
||||
|
||||
**Report (human, live glass session):** arrows dead/half-dead (UP accelerated, no detent;
|
||||
LEFT/RIGHT no turn), throttle not a lever, V no view toggle, J/K/L/N inert, weapons firing into
|
||||
the ground. **Root cause: `build-glass/Release/btl4.exe` was built 07:47 — BEFORE commit
|
||||
`5dd3536` (08:35) landed the whole audit fix set** (SuppressKey tables, V/J/K/L hardcoded keys,
|
||||
the RIO-id pinning that makes 0x15/N work) — the session was relaunched without rebuilding, and
|
||||
kept running the pre-audit image. `content\bindings.txt` (08:23) already WAS the merged map and
|
||||
the loader parsed it fine (`[padrio] bindings loaded: 40 keys, 10 pad buttons, 5 pad axes`), so
|
||||
every bindings-file symptom analysis was a red herring; the binary was simply old. The
|
||||
ground-fire symptom is the same session: with the R/F/X semantic chaos of the unsuppressed typed
|
||||
channel, the torso elevation had been driven down and nothing recentered it.
|
||||
|
||||
**Fix:** `rm build-glass/Release/btl4.exe && cmake --build build-glass --config Release` (0
|
||||
`error C`). No input-code change was needed — arrows/lever/detent/V were all already correct at
|
||||
HEAD. One diagnostic enrichment landed: the `BT_MPPR_TRACE` `[mppr-c]` line now also prints
|
||||
`mode/pedals/stick/turn/elev`, so one env-gated line proves the whole control surface.
|
||||
|
||||
**Re-verification (build-glass, DEV.EGG solo, SendInput-injected keys, own PID only):**
|
||||
- UP hold 0.9 s → thr 0→0.63, dmd 38.70; released → **holds** 0.63 for 3 s (persistent lever).
|
||||
- DOWN hold 2.5 s → thr 0.36→0.0028→0, rev=0 throughout — **stops at zero, no reverse
|
||||
crash-through** (the wire throttle is the authentic 0..1 lever; reverse is the 0x3F button).
|
||||
- M → `[mode] control mode -> 1`; LEFT → pedals +1 / turnDemand +1 (CCW=left, the wire sign);
|
||||
RIGHT → pedals −1 / turnDemand −1; both auto-center on release. (In BAS the pedals are
|
||||
authentically inactive — turns are the stick, Q/E.)
|
||||
- R/F → stick.y ±1, torso elev 0→+0.349→−0.195, holds where released (positional torso,
|
||||
matches the btinput path); **boresight level at spawn (elev=0)**.
|
||||
- V → `[view] COCKPIT eyepoint` ↔ `[view] external chase`, BT_SHOT pair confirms
|
||||
(chase mech ↔ canopy + reticle). Closes the audit's one T3 (V edge) as [T2].
|
||||
- SPACE → `[emitter] FIRED #1`. Pod build rebuilt + smoked: BT_AUTODRIVE=0.8 →
|
||||
dmd=49.2008, clean log, no cross-contamination.
|
||||
|
||||
**Lesson (procedural):** after landing an engine/input commit, REBUILD every live build dir
|
||||
before relaunching — a stale `build-glass` exe reproduces "the whole keymap is broken" exactly.
|
||||
|
||||
## 2026-07-18 — Merge origin/master (commit f889e24): btinput meets PadRIO
|
||||
|
||||
Master's 33-commit run landed (D1 relay/operator-console line, CONTROLS.MAP+XInput binding
|
||||
|
||||
Reference in New Issue
Block a user