Optimize KC processing and add reactive HAOS state updates

- 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>
This commit is contained in:
2026-02-17 14:21:47 +03:00
parent 67da014684
commit 3ee17ed083
7 changed files with 232 additions and 61 deletions

View File

@@ -440,16 +440,10 @@
"pattern.description.hint": "Необязательные заметки о назначении этого паттерна",
"pattern.visual_editor.hint": "Нажмите кнопки + чтобы добавить прямоугольники. Тяните края для изменения размера, тяните внутри для перемещения.",
"pattern.rectangles.hint": "Точная настройка позиций и размеров прямоугольников в координатах (0.0 до 1.0)",
"overlay": {
"button": {
"show": "Показать визуализацию наложения",
"hide": "Скрыть визуализацию наложения"
},
"started": "Визуализация наложения запущена",
"stopped": "Визуализация наложения остановлена",
"error": {
"start": "Не удалось запустить наложение",
"stop": "Не удалось остановить наложение"
}
}
"overlay.button.show": "Показать визуализацию наложения",
"overlay.button.hide": "Скрыть визуализацию наложения",
"overlay.started": "Визуализация наложения запущена",
"overlay.stopped": "Визуализация наложения остановлена",
"overlay.error.start": "Не удалось запустить наложение",
"overlay.error.stop": "Не удалось остановить наложение"
}