Files
DndGamePlayer/tools/project-converter
Ivan Fontosh 8f8eef53c9 feat(project): optimize image imports and converter
- Optimize imported scene preview images (smart WebP/JPEG/PNG, preserve alpha, keep pixel size)

- Update converter to re-encode existing image assets with same algorithm

- Improve import/export progress overlay and reduce presentation slide stutter

Made-with: Cursor
2026-04-23 17:59:57 +08:00
..

Project Converter (DNDGamePlayer)

Мини-приложение для конвертации .dnd.zip проектов в новый формат, добавляя миниатюры превью сцен (thumbnail) для ускорения редактора.

Что делает

  • Открывает исходный .dnd.zip
  • Читает project.json
  • Для каждой сцены с previewAssetId:
    • генерирует previewThumbAssetId (WebP, max 320px по длинной стороне)
    • кладёт файл миниатюры в assets/ и добавляет MediaAsset в project.assets
  • Пишет новый .dnd.zip (исходник не трогает)

Оригинальные ассеты (изображения/видео) не перекодируются — меняется только project.json + добавляются миниатюры.

Запуск

Из папки tools/project-converter/:

npm install
npm run dev

Почему не попадает в сборку DNDGamePlayer

Это отдельный пакет со своим package.json в tools/. Сборка основного приложения берёт только dist/**/* и корневой package.json.