Контроль Версий

Проекты Wonderland Engine спроектированы для хорошей интеграции с любой системой контроля версий и чаще всего используются с git.

Поскольку файлы проекта основаны на JSON, их можно объединять вручную. Убедитесь, что удалили запятые в конце объектов и списков!

UUIDs 

Чтобы избежать конфликтов с идентификаторами ресурсов новых объектов, вы можете настроить редактор на создание UUID вместо коротких читаемых последовательных идентификаторов:

Views > Project Settings > Editor > ids (установите на uuid).

.gitignore 

Следующий файл .gitignore является примером лучших практик.

Обратите внимание, что в зависимости от вашей настройки CI/CD, возможно, вы захотите добавить cache, чтобы сократить время, затрачиваемое на сжатие изображений на менее мощных машинах сборки.

Заключение cache в репозиторий ускоряет первую загрузку проекта после клонирования.

 1# NPM зависимости
 2**/node_modules/
 3
 4# Упакованные файлы проекта
 5**/deploy/
 6
 7# Локальные данные редактора
 8**/.editor/
 9
10# Кэшированный JS пакет редактора
11**/cache/js/
12
13# Локальное состояние UI
14**/imgui.ini
15
16# Резервные копии файлов Blender
17*.blend1

Git LFS 

Расширение Git Large File Storage может ускорить операции Git с вашим репозиторием, особенно учитывая, что проекты WebXR обычно содержат большие файлы для 3D ассетов, текстур и аудио.

Вот некоторые рекомендации по отслеживанию с git lfs track <extensions>:

 1# Аудио файлы
 2*.mp3 *.wav *.ogg *.webm
 3# Видео файлы
 4*.mp4
 5# Бинарные файлы 3D моделей
 6*.glb *.fbx *.bin *.blend *.ply
 7# Изображения
 8*.png *.jpeg *.webp *.bmp *.exr *.hdr *.basis
 9# Файлы шрифтов
10*.ttf *.otf
11# Архивы
12*.zip *.tar.gz

package-lock.json 

package-lock.json хранит точные версии зависимостей, которые в настоящее время установлены на вашей системе. При использовании npm install этот файл будет обновляться до последней зависимости, соответствующей ограничениям, указанным в package.json.

Вы можете использовать npm ci для установки точных версий зависимостей из вашего package-lock.json. Чтобы иметь воспроизводимые сборки, вам нужно зафиксировать этот файл в репозитории.