У двух экранов разные задачи
Во время мероприятия оператор выбирает следующий источник, проверяет его и решает, когда показать. Гости должны видеть текущий эпизод, пока решение не принято. Если рабочий выбор сразу меняет зал, у ведущего пропадает пространство для подготовки.
Поэтому в ShowDesk разделены Preview и Program. Первый показывает то, что готовится; второй — то, что уже идёт в зал. Между ними отдельное действие перехода. Это пока прототип, но именно такое разделение задаёт ядро будущей среды.
Один исход для нескольких представлений
Подключаемый модуль Randomizer виден и оператору, и зрителям. Если каждый экран сам вызовет случайное число, они могут показать разные результаты. Модуль выбирает исход один раз в общей модели и сохраняет время начала анимации; представления отображают одно решение.
Тот же принцип важен для переходов и состояния показа. Отдельное окно получает сериализованный снимок, а не пытается угадывать, что сейчас происходит в интерфейсе оператора.
Связь может исчезнуть посреди события
В PhotoWall гости отправляют фотографии через облако, но оператор скачивает подготовленные материалы в локальный проект. После загрузки показ не зависит от временной облачной ссылки. Перед публикацией материал проходит одобрение оператора.
При переподключении экран получает полный снимок состояния. Для ведущего это важнее обещания «всё синхронизируется»: он должен знать, что зал увидит после сбоя и какие материалы уже можно показывать.
Следующий шаг назван отдельно
ShowDesk уже содержит основу микшера, отдельный зрительский вывод и работающий пример модуля. Режимы программы, SafeReturn, перенос проектов и маркетплейс описаны как дальнейшее развитие. Действующие приложения IAMEvent ещё не перенесены в новую среду.
Для меня это часть инженерной честности. Работоспособность одного прототипа подтверждает выбранный принцип управления, но не заменяет проверку целого мероприятия с несколькими модулями и реальным оператором.