9.2 KiB
ViewMate — сценарии использования телефонного интерфейса
Описание по эскизам sketches/phone-ui/index.html. Дизайн — эскизный (раскладка компонентов), но сценарии — рабочие.
Сценарий 1: «Посмотреть фильм» (главный путь)
Шаг 1 — Открыл приложение → Экран «Каталог»
Вижу: поиск (вверху), вкладки Фильмы / Сериалы / Папки, ниже — сетка карточек.
Каждая карточка — элемент библиотеки Jellyfin: постер + название + бейдж статуса зеркала:
| Бейдж | Значение |
|---|---|
| ✓ (зелёный) | зеркало готово — можно смотреть сразу |
| ⟳ 45% (жёлтый) | конвертируется прямо сейчас (воркер молотит) |
| «нет» (серый) | не сконвертировано — надо заказать |
| ↓ часть (синий) | частично скачано на устройство (видео есть, звук качается) |
Вкладка «Папки» — это вход в иерархию Jellyfin: коллекции, папки, подпапки. «Фильмы» и «Сериалы» — удобные фильтры-ярлыки поверх неё.
Шаг 2 — Тапнул по карточке → Экран «Детали фильма»
Открылся экран: постер, название, метаданные (год, жанр, длительность).
Ниже — три блока:
Блок «Выбор озвучки» — список аудиодорожек из зеркала (title + language), радио-выбор:
◉ Дубляж (Reanimedia) rus
○ Оригинал eng
○ Профессиональный многоголосый rus
Выбор запоминается — это дорожка, которая заиграет при старте.
Блок «Статус конвертации» — если зеркала нет или оно готовится:
Конвертация зеркала ⟳ 45%
[██████████░░░░░░░░░░░░]
- «нет» в каталоге → здесь будет кнопка/статус «конвертировать» (заказ через media-mirror)
- идёт → прогресс, обновляется
- готово → блок исчезает или пишет «✓ готово»
Блок «Скачивание на устройства» — что и где лежит (видео и звук отдельно!):
🕶️ Очки — видео ✓ скачано
🕶️ Очки — звук ↓ качается…
📱 Телефон — видео нет
📱 Телефон — звук ✓ скачано
Это и есть ответ на «частично скачано»: видео и звук — два независимых файла (видео.mkv на очках, звук.ogg на телефоне). Каждый может быть в своём состоянии.
Под блоком — кнопка «Удалить скачанное (очки + телефон)» — освободить память обоих устройств разом.
Шаг 3 — Нажал «▶ Смотреть на очках»
Если зеркало готово и скачано/скачается: очки переходят в режим КИНО, видео играет на очках, выбранная озвучка — на телефоне (синхронизация по позиции).
Если зеркало ещё не сконвертировано: кнопка показывает реальное состояние:
- «Конвертировать» (если «нет») → заказ в media-mirror → кнопка становится «⟳ 45%» (прогресс)
- когда done — кнопка становится «▶ Смотреть» и можно играть
Шаг 4 — Управление воспроизведением
- с телефона: экран «Статус очков» → пульт (перемотка ±30с, плей/пауза)
- с очков: жест-клик — пауза/плей, свайп ← → — перемотка
Сценарий 2: «Проверить очки и память»
Экран «Статус очков» (вкладка 🕶️ внизу):
🕶️ Связь с очками подключено (WiFi) ● (зелёный)
🔋 Батарея очков 68% [████████░░]
💾 Память очков 41,2 ГБ из 128 ГБ [█████░░░░░]
🎬 Сейчас на очках Дюна 2 · 12:34/56:00 (пауза)
- память очков — сколько всего и сколько занято (то, что вы просили)
- «Сейчас на очках» — живое состояние: какой фильм, позиция, играет/пауза
- кнопка «Скачанное на очках →» — список файлов на очках, оттуда можно удалять (управление памятью очков)
Ниже — пульт: перемотка, плей/пауза, переключение режима очков (Кино ⇄ Чат).
Сценарий 3: «Поговорить с Порфирием»
Экран «Чат» (вкладка 💬):
- Лента разговора — сообщения туда-сюда
- Индикаторы состояния:
- «Порфирий думает…» (три точки) — когда я соображаю
- «● слушаю… 0:07» (красная точка + таймер) — когда вы диктуете
- Список сессий — внизу: «Очки/кино», «Работа», «Общее». Тапнул — переключился на другую сессию (параллельная работа с ассистентом)
- 🎙 — запись голоса
То же самое доступно с очков: режим ЧАТ, клик — начать/закончить диктовку, двойной клик — отмена/локальный агент, свайп — скролл текста ответа.
Сценарий 4: «Фильм не сконвертирован — что я увижу?»
- В каталоге карточка с бейджем «нет» (серый)
- Тапнул → в деталях блок конвертации: «Конвертировать»
- Тапнул «Конвертировать» → бейдж в каталоге становится ⟳ x% (жёлтый), в деталях — прогресс-бар
- Пока конвертится — «Смотреть» недоступна (или показывает «идёт конвертация»)
- Готово → бейдж ✓, кнопка «▶ Смотреть»
Сценарий 5: «Скачал, но не до конца» (частично)
Ситуация: телефон скачал видео, а звук ещё качается (или наоборот).
- В каталоге — бейдж ↓ часть (синий)
- В деталях — блок скачивания показывает покомпонентно:
🕶️ Очки — видео ✓ (есть) 🕶️ Очки — звук ↓ качается… - Кнопка «Смотреть» работает, если видео на очках готово — звук докачается в фоне, синхронизация догонит
- «Удалить скачанное» — очищает и очки, и телефон
Принципы (кратко)
- Каталог — только телефон. Очки не листают библиотеку — они «экран кинотеатра», ждут команду «включи».
- Видео и звук — разные файлы (видео.mkv на очках, звук.ogg на телефоне), поэтому состояния у них свои — отсюда «частично скачано».
- Всё начинается с вопроса «есть ли зеркало?» — бейдж в каталоге показывает ответ ещё до входа в карточку.
- Один локальный агент — телефон и очки два рендера одного состояния: что видно на экране «Статус очков», то и на очках.
- Сессии — параллельная работа с ассистентом: переключил сессию — разговор продолжается в другом контексте.