- Optimize KC frame processing: downsample to 160x90 with cv2.resize
before rectangle extraction, pre-compute pixel coords, vectorize
smoothing with numpy arrays
- Add WebSocket event stream for server state changes: processor manager
fires events on start/stop, new /api/v1/events/ws endpoint streams
them to connected clients
- Add HAOS EventStreamListener that triggers coordinator refresh on
state changes for near-instant switch updates
- Reduce HAOS polling interval from 10s to 3s for fresher FPS metrics
- Fix overlay button tooltips: flatten nested JSON keys in locale files
to match flat dot-notation lookup used by t() function
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>