up
This commit is contained in:
@@ -21,8 +21,10 @@ macOS Intel/Apple Silicon, Windows x64/ARM64 и Linux x64/ARM64.
|
||||
общего правила хранения задач в `../docs/agent`. Не дублировать их там.
|
||||
Идентификаторы `SCREEN-*` относятся только к этому приложению.
|
||||
|
||||
Следующий этап: SCREEN-007 — устойчивость на площадке; аппаратная проверка
|
||||
SCREEN-001/SCREEN-004 остаётся открытой.
|
||||
Программная часть SCREEN-007 реализована: обработка сбоев показа, пауза таймера,
|
||||
предотвращение автоматического сна и восстановление пульта. SCREEN-007 вместе
|
||||
с SCREEN-001/SCREEN-004 остаётся IN_PROGRESS до аппаратной приёмки.
|
||||
[Инструкция проверки устойчивости](docs/SCREEN-007_ACCEPTANCE.md).
|
||||
Новые задачи: `Новая задача: <описание>`.
|
||||
Commit и push выполняет только пользователь. Вложенные `.git` не изменять.
|
||||
|
||||
@@ -173,7 +175,7 @@ URL, независимо от исходного имени файла. Лок
|
||||
`selectPackage(null)` включает тестовый режим. Выбор повторно проверяет пакет.
|
||||
Закрытие или пересоздание окна и смена пакета создают новую сессию и останавливают
|
||||
каналы; повторное открытие не возобновляет звук. После перезапуска всего приложения
|
||||
выбор начинается с тестового режима; сохранение выбора относится к SCREEN-007.
|
||||
готовый выбранный пакет восстанавливается механизмом SCREEN-006 без автопуска.
|
||||
|
||||
Для ручной проверки с настоящим внешним дисплеем выполните `npm run acceptance`.
|
||||
Команда использует синтетические fixtures и отдельный временный userData, создаёт
|
||||
@@ -204,8 +206,10 @@ URL, независимо от исходного имени файла. Лок
|
||||
Таймер вычисляется в основном процессе по монотонному deadline; интервалы только
|
||||
обновляют снимок. Пауза сохраняет точный остаток, сброс возвращает полную длительность.
|
||||
Таймер продолжает идти за другой сценой и при закрытом окне; смена пакета сбрасывает
|
||||
его. По окончании остаётся 00:00, без сигнала и смены режима. Восстановление после
|
||||
сна/перезапуска относится к SCREEN-007.
|
||||
его. По окончании остаётся 00:00, без сигнала и смены режима. С SCREEN-007 аварийное
|
||||
закрытие (дисплей, сон ОС, fullscreen или renderer) ставит работающий таймер на
|
||||
паузу с точным остатком. После пробуждения требуется вручную открыть показ и
|
||||
продолжить отсчёт; перезапуск приложения не возобновляет таймер.
|
||||
|
||||
Обложка и фон читаются через локальный протокол. Новая подготовка использует
|
||||
адрес с идентификатором сцены, исключая устаревший декодированный кеш изображения.
|
||||
@@ -235,3 +239,23 @@ capturedAt, вопросы и публичные строки таблицы (ID
|
||||
изображения, отсутствие второго звука, предел частоты кадров предпросмотра,
|
||||
кириллицу и отрисовку/прокрутку 50 синтетических строк результатов. Эти строки
|
||||
подаются только в тестовый renderer и не сохраняются в состоянии приложения.
|
||||
|
||||
## Устойчивость SCREEN-007
|
||||
|
||||
Отключение выбранного дисплея, превращение его в основной, смена разрешения,
|
||||
масштаба/ориентации, выход из fullscreen, сон ОС, падение или зависание renderer
|
||||
закрывают показ и останавливают оба медиаканала. Причина видна в пульте; возврат
|
||||
устройства не запускает окно и звук. Для повторного вывода нажмите «Открыть показ».
|
||||
Пульт и показ используют разные сессии Electron; падение renderer показа
|
||||
обрабатывается независимо от пульта. Выбор аудиовыхода остаётся в настройках ОС.
|
||||
|
||||
При открытом показе удерживается prevent-display-sleep, включая статичные сцены
|
||||
и паузу. Эта блокировка не отменяет принудительный сон или закрытие крышки.
|
||||
Пульт сохраняет bounds/maximized в userData/windows.json и восстанавливается
|
||||
в пределах основного экрана; внешний дисплей предвыбирается только по совпадающим
|
||||
ID и названию. Ошибка файла настроек не удаляет материалы или секреты.
|
||||
|
||||
GUI smoke на стенде без внешнего дисплея моделирует topology/fullscreen/питание;
|
||||
native fullscreen проверяется при наличии реального второго экрана. Реальное
|
||||
предотвращение сна, маршрутизацию звука ОС и физическое переподключение оборудования
|
||||
проверять по [инструкции SCREEN-007](docs/SCREEN-007_ACCEPTANCE.md) на всей матрице.
|
||||
|
||||
Reference in New Issue
Block a user