ソース管理

Wonderland Engine プロジェクトは、さまざまなソース管理ツールとスムーズに統合できるよう設計されており、特に頻繁に使用されるのが git です。

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

UUID 

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

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

.gitignore 

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

CI/CD Setup によっては、cache を追加して、性能が低いビルドマシンでの画像圧縮にかかる時間を減らしたいかもしれません。

cache をコミットすると、プロジェクトをクローンした後の初回ロードが速くなるという利点もあります。

# NPM dependencies
**/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 を使用します。再現性のあるビルドを行うために、このファイルをコミットすることが推奨されます。