feat: integrate Draco compression for GLB models and implement encryption for secure loading

- Added DRACOLoader to starter.js for handling compressed GLB models.
- Created a createGltfLoader function to initialize GLTFLoader with DRACOLoader.
- Implemented dracoModels plugin in vite.config.js to compress GLB models during build.
- Introduced model_loader.js for loading encrypted GLB models with WebCrypto.
- Developed encryptModels plugin to encrypt GLB files, ensuring no clear models are exposed.
- Updated asset handling to remove uncompressed GLB files post-build.
This commit is contained in:
2026-10-28 10:00:09 +01:00
parent f539e4e185
commit 24df94cdc3
9 changed files with 805 additions and 5 deletions
+7
View File
@@ -1,3 +1,10 @@
# Opzionale: il configuratore usa di default l'API sulla stessa origine da cui è servito
# (/configuratore/ sul backend Laravel). Impostare solo per un'API su un dominio diverso.
# VITE_PREVENTIVI_API_BASE=https://preventivi.kreiosinfissi.it/api
# (Cifratura modelli NON attiva per ora, vedi vite-plugins/encrypt-models.js.)
# Chiave AES-256 per cifrare i modelli 3D (64 caratteri esadecimali). Generarla una volta con
# openssl rand -hex 32
# e tenerla fissa: se cambia, cambiano gli URL dei modelli e i browser li riscaricano.
# Se manca, ogni build usa una chiave casuale.
# MODELS_KEY=