Pixi режется по contentRect, пульт идёт в preview (12 FPS, 0.5 DPR), штампы тумана/огня/дождя прореживаются, draft темноты и маркера не чаще 20 Гц.
Co-authored-by: Cursor <cursoragent@cursor.com>
Полный импорт/открытие проекта подхватывает app-tokens. Движение по путям пишется в DOM без ре-рендера кадра, у пульта и презентации выключен background throttling.
Co-authored-by: Cursor <cursoragent@cursor.com>
Громкость треков сцены/игры сохраняется в проекте; порядок через DnD; несколько плейлистов сразу; автоимя из файла; стоп превью при запуске сессии.
Co-authored-by: Cursor <cursoragent@cursor.com>
Бросок синхронизирован на пульте и презентации; d100 как десятки; оверлей скрывается только кнопкой «Убрать».
Co-authored-by: Cursor <cursoragent@cursor.com>
Отдельное окно countdown с «Показать игрокам»; на превью — move/resize/rotate, на презентации тот же layout.
Co-authored-by: Cursor <cursoragent@cursor.com>
Выбор монитора и полноэкранного режима в настройках; при «Запустить» окно презентации открывается на выбранном дисплее автоматически.
Co-authored-by: Cursor <cursoragent@cursor.com>
Добавлена кисть маркера на пульте и презентации с настройками в панели эффектов; штрихи привязаны к жёлтой рамке, ластик и очистка работают с отдельным сессионным слоем.
Co-authored-by: Cursor <cursoragent@cursor.com>
Легенда и цифры на материале масштабируются от экрана игроков и не обрезаются жёлтой рамкой. Переключение сцен без записи project.json на диск.
Co-authored-by: Cursor <cursoragent@cursor.com>
Переименовать блок сюжетной линии в «История» и сделать его сворачиваемым. Добавить выбор круглой/квадратной формы для кистей открытия и закрытия с сохранением в штрихах и сбросом при смене инструмента или сцены без затемнения.
Co-authored-by: Cursor <cursoragent@cursor.com>
Clear scene now patches traps/tokens/npcTokens atomically and updateScene merges against a fresh scene snapshot. Align NPC path-editor previews on token center, default new paths to fixed facing, size avatars by natural aspect for cover, and read team color synchronously from the picker.
Co-authored-by: Cursor <cursoragent@cursor.com>
Clicking an NPC tile opens description cards (multi-select accordion); Show puts avatars on screen. Optional URL opens a webview tab. Avatar pan in the editor commits on pointer up.
Co-authored-by: Cursor <cursoragent@cursor.com>
Add path editor window, session playback on control/presentation, and RMB controls. Fix live pose clock so motion no longer freezes after ~250ms.
Co-authored-by: Cursor <cursoragent@cursor.com>
When previewRotationDeg changes, remap non-player, NPC and trap
markers (plus live session token overrides) so they stay on the art.
Co-authored-by: Cursor <cursoragent@cursor.com>
Reuse previewRotationDeg for video scenes across editor, control,
presentation and overlays via ContainedVideo layout parity.
Co-authored-by: Cursor <cursoragent@cursor.com>
Enable scene editor, overlays, effects, and darkness on video scenes; brighten GM trap markers; document snap, NPC types, materials, and control controls in RU/EN help.
Co-authored-by: Cursor <cursoragent@cursor.com>
Re-enable users-branch UI, snap session tokens to square/hex grid from the control preview, refine inactive/open-info NPC menus, block marker actions while an effect brush is active, and dim materials/NPC overlays only when they are open.
Co-authored-by: Cursor <cursoragent@cursor.com>
Add USERS_BRANCH_FEATURES_ENABLED (off by default) to hide Players library, session tokens, and related UI while keeping the preview import fix. Restore primary Run button when the flag is off.
Co-authored-by: Cursor <cursoragent@cursor.com>
Align control/presentation with presentation screen rect and darkness z-order; sync window titles and session window cleanup. Pack Win/Mac/Linux with npmRebuild disabled and release-native-prep for classic-level and sharp.
Co-authored-by: Cursor <cursoragent@cursor.com>
Add Hostile/Neutral/Friendly ring types with session-only inactive overrides on control, plus launch-with-players flow and live player tokens on the map.
Co-authored-by: Cursor <cursoragent@cursor.com>
Add userData players/teams, scene npcTokens with hex-inscribed sizing, session scale synced to presentation, and Playwright e2e coverage.
Co-authored-by: Cursor <cursoragent@cursor.com>
Remove storyline/scene NPC binding and export chosen NPCs with relations/groups. Harden export modal so a missing npcs payload no longer blacks out the editor.
Co-authored-by: Cursor <cursoragent@cursor.com>
Warm and show the NPC window sooner, lazy-load ReactFlow/TipTap, overlay save progress like materials, and fix the undefined controlStyles crash after creating an NPC.
Co-authored-by: Cursor <cursoragent@cursor.com>
Add configurable square/hex grid in the scene editor (persisted and shown on control/presentation) and keep trap activation effects above trap icons.
Co-authored-by: Cursor <cursoragent@cursor.com>
Block the editor with a spinner and percent stages during material upsert so long image optimization is visible and non-interactive.
Co-authored-by: Cursor <cursoragent@cursor.com>
Deselect effect tools by default and on re-click, block the editor during session launch, and fix NPC overlay/window empty-state layout.
Co-authored-by: Cursor <cursoragent@cursor.com>
Wire mimic/pit/arrow/laser media on activate, poison/explosion via effects, and document the scene editor and traps in Instructions.
Co-authored-by: Cursor <cursoragent@cursor.com>
Add trap overlays with session state, material legend editor/panel, and a dedicated scene editor window wired through IPC and project persistence.
Co-authored-by: Cursor <cursoragent@cursor.com>
Water and rain erase fire under a tight brush hit radius; add looping fire/rain ambients and an Effects sound slider that also scales one-shot effect SFX.
Co-authored-by: Cursor <cursoragent@cursor.com>
Use OS machine identifiers (Windows MachineGuid, macOS IOPlatformUUID, Linux machine-id) hashed as deviceId so all accounts on one PC share one license slot. Keep legacy userData/device.id for migration and retire it on re-activation.
Co-authored-by: Cursor <cursoragent@cursor.com>
Match NPC drag-to-rotate on the material frame during playback, and change the add/edit Save button to Saving… while import runs.
Co-authored-by: Cursor <cursoragent@cursor.com>
Drag the top-edge handle to rotate the whole frame with the avatar; remove unused zoom controls from the session NPC window.
Co-authored-by: Cursor <cursoragent@cursor.com>
Toggle NPCs independently from the characters window, keep one shared dim/close-all, and scroll descriptions for all selected characters.
Co-authored-by: Cursor <cursoragent@cursor.com>
Nested NPC groups with color, graph filter, and scene/storyline binding; Foundry worlds/modules import actors into groups; storyline merge asks on NPC name conflicts and reports NPC counts.
Co-authored-by: Cursor <cursoragent@cursor.com>
Add a dedicated NPC editor window, directed relations, control/presentation avatar overlay, and ru/en help for the new section.
Co-authored-by: Cursor <cursoragent@cursor.com>
Let GMs manage and show images over the scene from the editor and control panel, with zoom tools, help docs, and full ru/en i18n.
Co-authored-by: Cursor <cursoragent@cursor.com>
Add TipTap editing in the editor and an Electron window on the control panel to read the current scene description.
Co-authored-by: Cursor <cursoragent@cursor.com>
Можно перетащить изображения/видео в колонку сцен: создаются новые сцены
с превью и названием из файла, с полноэкранным прогрессом и отчётом о
пропущенных файлах.
Добавлен ручной порядок сцен в списке (sceneListOrder) с сохранением в
проект; перетаскивание карточек отделено от импорта файлов. Во время
сортировки снова работает скролл колесом.
Исправлен залипающий disabled у «+ Новая сцена» после создания сцены.
Co-authored-by: Cursor <cursoragent@cursor.com>
Добавлена загрузка файлов перетаскиванием в блоки «Аудио игры», «Аудио сцены»
и «Превью сцены»: подсветка зоны, подсказки, фильтрация по типу, импорт без диалога.
IPC и main принимают пути файлов напрямую; для Electron 41 пути получаются через
webUtils.getPathForFile в preload (File.path в renderer больше недоступен).
Улучшен dev-запуск: Vite слушает 127.0.0.1, ожидание готовности по localhost.
Co-authored-by: Cursor <cursoragent@cursor.com>
Добавлена полноценная поддержка побочных сюжетных линий в редакторе и на
пульте: визуальное выделение компонент графа, запрет недопустимых связей
между основной и побочными линиями, метки «ПОБОЧНАЯ» и названия линий.
Реализован partial export/import сюжетных линий:
- экспорт выбранных линий в урезанный .ttrpg.zip с manifest в project.json;
- импорт в открытый проект с выбором линий, разрешением конфликтов названий
сцен (одна модалка на операцию) и отчётом о результате;
- новое окно источника импорта: «Из проекта» (dropdown, без текущего) или
«Из файла»; на главном экране — только полный импорт из файла.
Исправлены гонки при открытии/закрытии проекта (сериализация open/close в
main, сброс зависших состояний UI), залипание оверлея прогресса экспорта и
старт Electron в dev после готовности Vite.
Добавлены unit-тесты для lineage, export/import и контрактов zipStore.
Co-authored-by: Cursor <cursoragent@cursor.com>
Return control after copying the original asset, then run image optimization
and thumbnail generation in the background with IPC progress updates.
Block duplicate preview uploads and scene creation while requests are in flight.
Co-authored-by: Cursor <cursoragent@cursor.com>