Controllo del Codice Sorgente

I progetti di Wonderland Engine sono stati progettati per integrarsi bene con qualsiasi sistema di controllo del codice sorgente e più frequentemente vengono usati con git.

Poiché i file di progetto sono basati su JSON, possono essere uniti manualmente. Assicurati di rimuovere le virgole finali dagli ultimi elementi di oggetti e liste!

UUID 

Per evitare conflitti per gli ID delle risorse di nuovi oggetti, puoi far generare al tuo editor UUID invece di ID sequenziali brevi e leggibili:

Vai a: Visualizza > Impostazioni Progetto > Editor > ids (imposta su uuid).

.gitignore 

Quello che segue è un file .gitignore che rappresenta una buona pratica.

Nota che, a seconda della tua Configurazione CI/CD, potresti voler aggiungere cache per ridurre il tempo speso a comprimere immagini su macchine di build meno potenti.

Includere cache ha il vantaggio aggiuntivo di velocizzare il primo caricamento del progetto dopo aver clonato il progetto.

# Dipendenze NPM
**/node_modules/

# File di progetto confezionati
**/deploy/

# Dati locali dell'editor
**/.editor/

# Bundle JS della cache dell'editor
**/cache/js/

# Stato UI locale
**/imgui.ini

# File di backup di Blender
*.blend1

Git LFS 

L’estensione Git Large File Storage può accelerare le operazioni di Git sul tuo repository, specialmente poiché WebXR di solito contiene file grandi per asset 3D, texture e audio.

Ecco alcune raccomandazioni su cosa tracciare con git lfs track <extensions>:

# File audio
*.mp3 *.wav *.ogg *.webm
# File video
*.mp4
# File modello 3D binario
*.glb *.fbx *.bin *.blend *.ply
# File immagine
*.png *.jpeg *.webp *.bmp *.exr *.hdr *.basis
# File di font
*.ttf *.otf
# Archivi
*.zip *.tar.gz

package-lock.json 

package-lock.json memorizza le versioni esatte delle dipendenze attualmente installate con il tuo sistema. Quando usi npm install, quel file sarà aggiornato alla versione più recente della dipendenza che rispetta i vincoli indicati in package.json.

Puoi usare npm ci per installare le esatte versioni delle dipendenze dal tuo package-lock.json. Per avere build replicabili, vorrai committare questo file.