This commit is contained in:
2026-10-18 04:59:27 +07:00
parent 7a97b9b506
commit f5e645ec00
7 changed files with 267 additions and 51 deletions
+25
View File
@@ -418,3 +418,28 @@
- Границы: изменения только evening_detective_screen. Сервер и сгенерированный
клиент не менялись. Production-ошибка не воспроизводилась; установочные
архивы не пересобирались, commit/push не выполнялись.
## SCREEN-021 — Подключение игры без обязательного story
- Статус: `DONE`.
- Дата: 2026-10-18.
- Результат: scenario и story могут отсутствовать или быть null. Игра и её ID
остаются обязательными; неверные типы присутствующих полей дают подробную ошибку.
После получения GetScreenState обложка, фон, вступление и видео берутся из его
ссылок, включая пустые значения как отсутствие файла. До получения состояния
используются доступные материалы GetGame; полный сценарий отдельно не запрашивается.
- Ссылки включаются в существующее описание и автоматически скачиваются локально.
Сохранены защита от устаревших загрузок, прежний показ до готовности замены,
чтение кеша после перезапуска и формат пакета. Явно отсутствующий фон сохраняется
при наличии обложки, без восстановления неявного fallback при чтении манифеста.
Без медиа работают текст, таймер и музыка; вступление/видео показывают «не задано».
- Проверки: 118 тестов, type-check, lint, lint:css, сборка, Electron GUI smoke,
локальные Markdown-ссылки и git diff --check — PASS. Проверены отсутствие/null
scenario/story, неверные типы, приоритет ссылок состояния и очистка медиа,
восстановление кеша, подключение/локальное воспроизведение без истории и показ
текста/таймера/музыки без основного файла. GUI использует GetGame со story:null,
получает вступление из GetScreenState, затем проверяет явное отсутствие вступления.
Ожидание готовности списка игр в smoke уточнено после раннего нажатия выбора.
- Границы: изменения только evening_detective_screen. Сервер, proto и клиент
генерации не менялись. Production-подключение не проверялось; установочные
архивы не пересобирались, commit/push не выполнялись.