Мастерская паков для «Своей игры» (SIGame, формат .siq).
Табло и редактор вопросов, медиа-редакторы, поиск картинок и видео прямо в приложении, вставка вопросов из
Claude и ChatGPT, проверка пака перед публикацией. Windows 10/11.
⬇ Скачать (релизы) → файл Ye-Studio-Setup-….exe → запустить → «Далее».
Терминал, Node.js и прочее не нужны. ffmpeg и yt-dlp приложение предложит поставить само при первом запуске.
Установщик не подписан сертификатом, поэтому Windows может показать «Система Windows защитила ваш компьютер». Нажмите «Подробнее» → «Выполнить в любом случае». Исходный код установщика — в этом репозитории.
Попросите ИИ придумать тему — он выдаст блок, который вставляется в пак одной кнопкой «Вставить из AI». Каждый вопрос можно отключить галочкой, а картинки к вопросам приложение ищет само, пока вы смотрите список: щелчок по нужной — и она поедет в вопрос.
Кнопка «ИИ-помощник Claude/ChatGPT» (вкладка «Настройки») настраивает Claude или ChatGPT: ИИ присылает пачку вопросов страницей разметки.
Берёте/отклоняете клавишами 1 / 0, правите цену и текст, жмёте «Для Мастерской» — и вставляете в пак.
Пустые вопросы и вопросы без ответа, ссылки на файлы, которых нет в паке, повторяющиеся ответы, объём (100 МБ для SIBrowser/FirePacks), доля спецвопросов по порогам FirePacks. Щелчок по строке — к вопросу. «Найти повторы» сверяет вопросы со всеми паками FirePacks и показывает, где такое уже было. Оттуда же — «Открыть в SIGame».
«Автопроверка пака» → «Прогнать в SIGame…» проигрывает каждый вопрос настоящим движком SIGame (тем же кодом, что в самой игре, со спецвопросами и финалом) и показывает его настоящим экраном игрока SIOnline — таким, как у друзей в браузере и на телефоне: «Телефон» и «Компьютер». По каждому вопросу — снимки экранов и беды: SIGame видит пак не целиком, не находит файл, картинка не загрузилась или растянута из 10×10, кнопки вариантов занимают больше места, чем картинка, видео в формате, который браузер не играет. При первом прогоне приложение само предлагает скачать движок (≈ 50 МБ, один раз).
Выпуск движка для пользователей — кнопкой: Actions → sigame-runner → Run workflow, галочка «release». Workflow собирает
и проверяет его на Windows, выкладывает в релиз sigame-… (без пометки «Latest», обновления приложения его не трогают),
сам вписывает адрес и сумму в app/src/core/sigame/component.ts и ставит компонент на чистой Windows, как пользователь.
До пользователей это доходит обычным npm run release (лёгкое обновление кода, без установщика).
Без интерфейса: npm run sigame-e2e -- пак.siq (нужны npm run sigame-src && npm run sigame-build, .NET 10 SDK).
Обрезка видео и звука по времени, кадрирование, заглушки поверх кадра (закрыть ответ или логотип), выравнивание громкости, плавное начало и конец, стоп-кадр в пак, «оставить только звук», сжатие под нужный размер. В «Объёме пака» громкость всех звуков и видео выравнивается одной кнопкой.
Вопрос проигрывается так, как его покажет SIGame: экраны, время показа, «Жмите кнопку!».
Одна картинка со всеми темами пака по раундам и готовый текст поста со ссылкой на отзывы игроков.
- Поиск медиа — картинки, звук и видео (YouTube, Rutube и ещё ~1800 сайтов через yt-dlp) с загрузкой прямо в вопрос; всё скачанное лежит в «Скачанном».
- Слова и картинки — темы на словах (анаграммы, матрицы) и ИИ-картинки: локально (stable-diffusion.cpp) или облако.
- Картинки — коллажи, «картина по пикселям», силуэты, номер пака на логотипе.
- Страховка — Ctrl+Z / Ctrl+Y, резервные копии при каждом сохранении, восстановление после сбоя.
- Компоненты — ffmpeg, yt-dlp и локальная модель картинок ставятся и обновляются из приложения; yt-dlp раз в неделю обновляется сам.
- Темы оформления: неон, студия, бумага, пастель, минимал, ночь.
cd app
npm ci
npm run fetch-dict # словари для тем на словах (в git не входят)
npm run dev # окно в режиме разработки
npm run typecheck && npm test
npm run dist:update # установщик в app/dist-setupМутационные тесты (npm run mutate, отчёт — app/reports/mutation/index.html): Stryker по одной портит
код разбора и записи пака (core/siq) и отчёта «Прогона в SIGame» (core/sigame) — меняет > на >=, выкидывает условия, подменяет строки — и гоняет тесты.
Если тесты остались зелёными, мутант «выжил»: эту строку тесты на деле не проверяют. Mutation score — доля убитых
мутантов; workflow mutation гоняет его раз в неделю и падает, если счёт ниже порога в stryker.config.mjs.
Сейчас — 96% (порог 90). Строки, где подмена ничего не меняет по сути, помечены // Stryker disable с причиной.
После правки тестов запускайте npm run mutate -- --force: инкрементальный режим сам не видит новых тестовых файлов.
Скриншоты для README снимаются на демо-паке: npx tsx scripts/demo-pack.ts demo.siq (медиа рисует ffmpeg).
На сервер автора (server/) уходят только: анонимный ID установки и версия (статистика запусков), отчёты об ошибках
(без путей и имени пользователя; выключаются в окне «Автору») и отзывы, которые вы отправили сами.
Обновления приходят из релизов этого репозитория и ставятся только с вашего согласия.
- SIGame и SIQuester — Владимир Хиль: игра, формат
.siqи его спецификация; движок SIGame (MIT) — внутри «Прогона в SIGame». - SIOnline (Владимир Хиль, GPL-3.0) — экран игрока в «Прогоне в SIGame».
- SI-HYX (GoldensFire) и SiGame-Helper — подготовка медиа для паков; многие решения Ye!Studio повторяют их.
- FirePacks — пороги доли спецвопросов.
- LosslessCut — идеи для обрезки видео.
- yt-dlp, ffmpeg, stable-diffusion.cpp.
- bgutil-ytdlp-pot-provider (Brainicism, GPL-3.0) — лежит
в
app/tools/pot-provider, помогает yt-dlp с YouTube.
GPL-3.0-or-later. Можно использовать, изменять и распространять; изменённые версии тоже должны распространяться с исходным кодом под GPL.






