858fe61b56
User: "PTZ снова не переключает сетки". Причина: при motion-mode set_layout
игнорировался. Теперь: применяется + замораживает motion-mode на
manual_override_duration_ms_ (60s default). По истечении — auto-возврат
в motion-mode.
В Composer добавлено:
- manual_override_until_ms_ (моноклоk монотонное время)
- manual_override_duration_ms_ (default 60s)
- set_layout: применяет template, ставит override timestamp
- maybe_relayout: пока now < override → пропускаем (sustain manual layout),
после → лог "expired, возврат в motion-mode" + force relayout
ONVIF server.py одновременно обновлён под актуальные template имена:
- PTZ_PRESETS: tpl_1 / tpl_4 / tpl_9 / tpl_16 (вместо single/quad/...)
- ContinuousMove zoom-in → tpl_1, zoom-out → tpl_16,
pan/tilt → cycle через эти 4
Production smoke:
GotoPreset tpl_4 → composer log "manual override 'tpl_4' до +60000ms" PASS.
Refs: #195.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>