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

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

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

UUIDs 

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

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

.gitignore 

Ниже представлен пример файла .gitignore в соответствии с лучшими практиками.

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

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

# Зависимости NPM
**/node_modules/

# Упакованные файлы проекта
**/deploy/

# Локальные данные редактора
**/.editor/

# Кэшированный JS пакет редактора
**/cache/js/

# Локальное состояние UI
**/imgui.ini

# Резервные копии файлов Blender
*.blend1

Git LFS 

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

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

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

package-lock.json 

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

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