cos 7d2fe96704 add mock mode, websocket display stream, and text editor
- mock_rpi_ws281x: stub for running without RPi hardware; auto-fallback
  on RuntimeError, forced via --mock flag or MOCK_LED env var
- mock mode runs web server on port 8080 instead of 80
- replace display polling with WebSocket stream (/ws/display); client
  sends start/stop messages, server pushes binary RGB frames
- force-button feedback: button shows waiting state and polls until
  the cycle clears the flag
- text editor UI: edit top and bottom texts with per-segment color
  pickers; saved to texts.json for persistence across restarts
- bottom and top texts read from server state instead of hardcoded
- bottom text switched to _add_multi_color_node to support multi-color
- fix bottom text invisible: split scroll_all_multi_color_texts into
  top (y<8) and bottom (y>=8) passes so fill_pixels does not wipe
  bottom nodes before they are drawn; this also fixes force-vehicles
  polling loop that stalled when the bottom node never expired

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-30 21:15:39 +02:00
2026-01-29 14:28:56 +01:00
2026-01-28 20:34:17 +01:00
web
2026-02-12 10:20:00 +01:00
2026-02-11 14:40:28 +01:00
web
2026-02-12 10:20:00 +01:00
web
2026-02-12 10:20:00 +01:00
2026-02-05 14:40:45 +01:00
2026-02-05 14:40:45 +01:00
2026-02-05 14:40:45 +01:00
web
2026-02-12 10:20:00 +01:00
web
2026-02-12 10:20:00 +01:00
2026-02-11 08:35:46 +01:00
2026-02-10 13:47:06 +01:00
S
Description
No description provided
369 KiB
Languages
Python 41.9%
C++ 38.1%
HTML 12%
C 8%