33 master commits in (relay TCP/UDP + PySide6 operator console, CONTROLS.MAP +XInput binding engine, camera seats, torso pitch aim, sign fixes, the 1995 manual, version stamping, 18-mech certification). Conflicts: .gitignore + CLAUDE.md router rows (combined). SEMANTIC RECONCILIATION (the one real overlap): masters btinput binding engine (ungated, CONTROLS.MAP) and the glass PadRIO (gated, bindings.txt) would both read the keyboard/pad in a glass+PAD session. btinput now joins the stand-down convention: BTInputPoll yields (and BTInputSuppressKey claims NOTHING, so authentic hotkeys flow) when an operational cockpit device owns the input path -- BTRIODevicePresent, BT_KEY_BRIDGE force-override honored, forced harness exempt. One input system per mode: btinput on pod/dev desktops, PadRIO on glass. The mechmppr/mech4 bridge merges composed clean (masters negate-once sign fix inside our device-gated bridge). The D1 relay keeps its own raw sockets by design (an alternative LAN wire; Steam and relay are separate modes). Verified post-merge: all 3 configs build; glass boots with [input] binding engine standing down + PadRIO owning input (30 ticks); pod forced-walk speedDemand=61.501 with btinput ACTIVE; 2-node loopback MP full 31/31 mission, 76/76 ticks. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
26 lines
312 B
Plaintext
26 lines
312 B
Plaintext
# build output
|
|
/build/
|
|
/build-pod/
|
|
/build-steam/
|
|
*.obj
|
|
*.pdb
|
|
*.ilk
|
|
*.exp
|
|
*.idb
|
|
|
|
# logs / debugger dumps
|
|
*.log
|
|
cdb_*.txt
|
|
|
|
# editor / OS
|
|
.vs/
|
|
*.user
|
|
Thumbs.db
|
|
__pycache__/
|
|
dist/
|
|
|
|
# glass-cockpit dev layer: per-developer / per-machine runtime files
|
|
content/bindings.txt
|
|
content/frontend.egg
|
|
content/steam_appid.txt
|