- WhiskeyMark widget shows roll/pitch as horizon line
- ArduinoData model includes IMU euler angles
- startup waits for Arduino via /health endpoint
- config_service exposes backendUrl
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- parses null-terminated TSV frames per PROTOCOL.md
- periodic status log: fps, voltage, RPM, gear, roll
- roll axis inverted for motorcycle frame alignment
- removed stub mode, relies on reconnect loop
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- backend: now runs uv sync at service start to make sure of uv lock status. might migrate to package/bundle
- navigator now shakes when entering 'surprise' state
- colour theme implemented. ThemeService based global switching for future light detection triggers
- test flipflop service for various fun
- navigator widget class with state switching