e7ebe2efb8
Turn off controllers on game quit
554fc4bbb4
Don't rumble on controller connect
1a0a5e7d58
Add bluetooth controls to the web UI
49fa49018a
Fix paired_to_inactive web UI display
c6499328a2
Turn off controllers on game quit
b3377eedd6
Don't rumble on controller connect
9af28191e8
Add bluetooth controls to the web UI
db64448993
Add unpair all button
54a81bcd75
Add rumble on win
b6eae9c0c7
Warn when bluetooth not running
c0d10443b6
Clean up valgrind artifacts
cb21a9bbf6
ai user: use AGENTS.md
22acede5c5
More terminal script fixes
38956e5eb7
Automated code review+tests (Opus 4.8) and human fixes of raised issues
6723cd32ca
Fix paths in docs
2658021271
Replace assert with Cleat's check()
0a7dae6834
Enable logging relative timestamps
5474eb6080
Use cleat logging instead of printf
a4645e0a9e
Replace system() with run_subproc()
5b07e44025
Bump cleat again
1ba9b926b1
CSS: make dark
a224363313
Tweak control panel styling
1033f769c6
Start in the GAME_WAITING state
940403e4f0
Consolidate frontend html and CSS into a single file
d2d080ab16
Refactor config and web frontend to be less insane
2d68998905
Replace assert with Cleat's check()
f4b98210ce
Enable logging relative timestamps
dbc0cd07db
Use cleat logging instead of printf
5bc01733d9
Replace system() with run_subproc()
82f4c5be33
Bump cleat again
9f9cc5a82b
Request POST_NOTIFICATIONS at launch
602ad2312c
Actually make the display version of panic default
73fd6ec031
Oops
9528b49bd7
Make panic_if consistent with panic
f6083e8ae3
Refactor ErrorBase functions a bit
b4f0eac4f5
Drop DISPLAYABLE_OVERLOAD (should have done that before)
5910af8cc8
Have GPT 5.5 rewrite docs/display.md
3c5b08a532
Support empty log lines
1fe77a81d1
Refactor display to not consume by default
ff41fc60ee
Log subproc args and exit code
a5b1a2314d
More codex review
1b1573a2aa
Fix issues from codex review
e8e32a6f9f
Refactor subproc
dd8578730d
Bump from tcstd (old name) to latest cleat
03f66adbcc
Use rust-like int type naming