Блок-схема · наведите на узел для связей

Наведите на узел для подсветки маршрута

Платформа · прототип 2026

ShowDesk

Единая среда для экранной программы мероприятия.

Микшер с Preview и Program, отдельным зрительским экраном и контрактом подключаемых игровых модулей.

Ключевой результатPreview / Program

с общим состоянием показа

Прототип
Моя ответственность

Сценарий, ядро показа и контракт подключаемых модулей

Что проверено

Прототип микшера, отдельный экран и модуль Randomizer

Граница результата

SDK, маркетплейс и перенос приложений IAMEvent ещё впереди

Во время мероприятия оператор готовит следующий эпизод в одном инструменте, показывает текущий в другом и вручную возвращает заставку после конкурса. После работы над отдельными приложениями IAMEvent я взялся за общую среду, где источники и интерактивы проходят один путь: подготовить в Preview, вывести в Program, показать зрителям на отдельном экране.

В прототипе уже работают ядро микшера, переходы, отдельный зрительский вывод и контракт подключаемых модулей. Randomizer проверяет контракт на конкретном интерактиве: результат розыгрыша один для оператора и зрителей. Подготовка программы за десять минут, SDK и маркетплейс пока остаются целевыми сценариями, а не результатами прототипа.

Я определяю продуктовый сценарий, границу между ядром и модулем и способ передачи состояния между окнами. ИИ использую для обсуждения решений и разработки; выбор устройства продукта и оценка работающего прототипа остаются моей ответственностью.

01

Задача: собрать программу из разрозненных инструментов

В IAMEvent я работаю с конкретными сценариями: аудиоконкурс, викторина, мини-интерактивы, фотографии гостей на экране. По мере развития этой линейки возникает следующий уровень задачи: как оператору провести всё мероприятие через одну рабочую среду.

В исходном сценарии экранная программа собирается из разных инструментов: микшера, презентации или слайдшоу, отдельных игровых приложений. Оператор переключает их, следит за текущим показом, готовит следующий эпизод и возвращает заставку после завершения конкурса. Связь между этими действиями во многом остаётся у него в голове.

Первый целевой пользователь ShowDesk — event-DJ, который управляет музыкой и экраном на свадьбе. Отсюда продуктовая задача: дать ему собрать заставку, слайдшоу и розыгрыш в одном проекте, подготовить следующий источник и вывести его на отдельный экран. Подготовка такой программы за десять минут зафиксирована в документации как целевой сценарий, а не измеренный результат прототипа.

Моя идея — сделать общую среду, в которую конкурсы подключаются как модули. Тогда новый интерактив использует уже существующие механизмы показа и управления, а развитие линейки не требует каждый раз создавать отдельное приложение.

02

Решение: один путь от Preview до экрана зала

В основе ShowDesk находится Input — программный источник, с которым работает оператор. В текущем интерфейсе можно добавлять изображение, слайдшоу, видео, камеру и модуль. У источников разные возможности, но общий путь управления: добавить в банк, выбрать для подготовки, вывести зрителям.

Для этого разделены Preview и Program. Preview показывает подготовленный источник, Program — текущий показ. Выбор следующего источника не заменяет картинку у зрителей: для переключения есть отдельное действие. Реализованы мгновенное переключение, автоматический переход и ручное управление переходом через T-bar.

Операторская модель состояния общая для всех представлений. Интерфейс управления, Preview, Program и отдельное окно вывода получают данные из неё. Зрительский экран принимает сериализованный снимок, содержащий источники, слои, состояние перехода, время воспроизведения и состояние модулей. Это позволяет передавать смысл происходящего на сцене без чтения интерфейса оператора из другого окна.

Как один источник попадает на зрительский экран
flowchart LR
    Operator[Действия оператора] --> State[Общая модель состояния]
    Module[Подключаемый модуль] -->|Логика и состояние интерактива| State
    State --> Preview[Preview: подготовка]
    State --> Program[Program: текущий показ]
    State --> Snapshot[Снимок состояния]
    Snapshot --> Output[Отдельное окно для зрителей]
    Media[Нативное воспроизведение медиа] --> Preview
    Media --> Program
    Media --> Output

Управление звуком также связано с моделью показа: предусмотрены следование звука за источником в Program, отдельное прослушивание оператором, общий уровень и выключение звука. Изображение и звук входят в одну операторскую логику проведения мероприятия.

03

Проверка расширяемости на Randomizer

Для расширения продукта реализован контракт модуля: манифест описывает пакет и предоставляемые им типы источников, а код задаёт начальное состояние, обработку действий и две поверхности — интерфейс оператора и экран зрителей.

Пакет загружается из выбранной папки. Приложение проверяет манифест, регистрирует путь и импортирует JavaScript-модуль. Логика интерактива существует отдельно от интерфейса самого ShowDesk. Это даёт конкретную техническую основу для разработки новых конкурсов через общий контракт.

Первый пример — Randomizer. Оператор задаёт диапазон, запускает розыгрыш и получает результат с анимацией. Важная деталь: результат выбирается один раз в общей модели и сохраняется вместе со временем начала анимации. Preview и зрительский экран отображают одно решение. Несколько представлений не запускают независимые розыгрыши и не могут получить разные числа из-за повторного вызова случайности.

ShowDesk передаёт модулю действия оператора и события жизненного цикла: вход в Program и выход из него, начало и завершение перехода. Поэтому поведение интерактива можно связать с появлением на экране, а не только с нажатием кнопки в его собственном интерфейсе.

У Randomizer есть отдельная среда разработки с операторским и зрительским представлениями. Я также проверял возможность разработки через SDK. Текущий результат здесь — контракт, самостоятельный пример модуля и среда для его разработки; это основа для дальнейшего оформления SDK.

04

Как медиа и состояние проходят между окнами

ShowDesk построен на Tauri и Rust с интерфейсом на React и TypeScript. Нативная часть отвечает за доступ к медиа, воспроизведение и окна; GStreamer используется для обработки видео и аудио. Композиция изображения и переходы отображаются в WebView.

Разные представления одного источника опираются на общее состояние воспроизведения. Для видео предусмотрены совместно используемые нативные медиапайплайны и кеш кадров. Это существенно для микшера: один файл может одновременно присутствовать в банке источников, Preview и Program.

Зрительский вывод открывается отдельным полноэкранным окном на выбранном мониторе. Его состояние передаётся из операторского приложения. Такой подход даёт общую модель для текущего показа, переходов и игровых модулей, даже когда они отображаются в разных окнах.

Текущий проект сохраняется локально через временный файл и атомарную замену. Изображения копируются в проект, видео подключаются по пути. Следующий этап — полноценная упаковка проекта с медиа и версиями модулей для переноса между компьютерами.

05

Что подтверждено прототипом

На сентябрь 2026 года ShowDesk — прототип с реализованным ядром микшера и подключаемым игровым модулем. Его технический результат можно разложить на три уровня:

Уровень Что получено
Управление показом Банк источников, Preview/Program, переключения и переходы, отдельное окно вывода, управление звуком
Расширяемость Загрузка модулей, общий контракт состояния и действий, операторская и зрительская поверхности, самостоятельный Randomizer
Продуктовое развитие Описаны сценарии проведения мероприятия, возврат к заданному источнику, перенос проектов и развитие каталога модулей; сформулировано направление SDK и AI

В этом проекте я показываю переход от отдельных продуктовых сценариев к устройству общей среды: определяю, какие возможности принадлежат ядру, какие — подключаемому интерактиву, как они обмениваются состоянием и как оператор управляет результатом в живом шоу. Конкретный модуль позволяет проверять эту модель уже на этапе прототипа и развивать её дальше.

Предыдущая часть этой истории — кейс IAMEvent.

06

Что понадобится для полноценной платформы

Я рассматриваю дальнейшее развитие ShowDesk в двух связанных направлениях.

Первое — проведение программы мероприятия. В документации описаны режим последовательного запуска эпизодов и режим ручного управления Preview/Program, которые используют один проект. Запланирован SafeReturn: после завершения или сбоя эпизода система возвращает заданный источник, учитывая приоритет ручного действия оператора. Сюда же относятся наборы программы и упаковка проекта. Это развитие уже реализованного ядра микшера.

Второе — создание и распространение интерактивов. Моя целевая цепочка:

Среда исполнения → контракт модулей и SDK → сторонние интерактивы → маркетплейс → персональные интерактивы, создаваемые с помощью AI.

В этом сценарии ведущий сможет подобрать готовый конкурс либо описать свой замысел и получить интерактив для ShowDesk. Общий контракт задаёт точку подключения для обоих способов создания. Сам механизм генерации, проверки и доставки таких модулей ещё предстоит реализовать; сейчас это моё продуктовое видение, опирающееся на существующую модульную основу.

Связь с IAMEvent здесь предметная. Там уже создаются интерактивы и сервисы лицензирования, удалённого управления и облачной доставки фотографий. В документации ShowDesk предусмотрены дальнейшие направления PhotoWall, удалённого управления и лицензирования. При этом действующие приложения IAMEvent пока не перенесены в ShowDesk: для подключения потребуется адаптация их логики и интеграций к контрактам общей среды.