ソース管理

Wonderland Engine プロジェクトは、任意のソース管理とよく統合できるように設計されており、最も頻繁に git と一緒に使用されます。

プロジェクトファイルは JSON ベースなので、手動でマージすることが可能です。オブジェクトやリストの最終要素の後ろにあるコンマを削除することを忘れずに!

UUID 

新しいオブジェクトのリソース ID の競合を避けるために、エディタに短く読みやすい連番 ID の代わりに UUID を生成させることができます:

Views > Project Settings > Editor > ids (を uuid に設定)。

.gitignore 

以下はベストプラクティスとしての .gitignore ファイルです。

CI/CD Setup に応じて、cache を追加して、パワーの低いビルドマシンでの画像圧縮にかかる時間を減らしたいかもしれません。

cache をチェックインすることには、プロジェクトをクローンした後の最初のプロジェクトのロードをスピードアップさせるという追加の利点もあります。

 1# NPM dependencies
 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 を使用できます。再現可能なビルドを行うためには、このファイルをコミットすることが望ましいです。