feat: integrate Draco compression for 3D models in backoffice
- Added support for uploading and compressing GLB models using Draco in the backoffice. - Implemented commands for importing and re-compressing 3D models. - Updated model resource to handle 3D model uploads and validations. - Introduced a new script for compressing GLB files with Draco. - Modified Vite configuration to remove GLB files from the build output. - Updated package dependencies to include GLTF-transform libraries for handling 3D models. - Added tests to ensure proper functionality of 3D model handling and compression.
This commit is contained in:
@@ -70,6 +70,8 @@ Dettagli in [AVVIO_LOCALE.md](AVVIO_LOCALE.md).
|
||||
| `APP_CONFIGURATORE_URL` | Link "Configuratore" nel menu admin, solo se servito altrove | `APP_URL/configuratore/` |
|
||||
| `ADMIN_NOTIFY_EMAIL` | Email che riceve la notifica di nuovo preventivo | — |
|
||||
| `CORS_ALLOWED_ORIGINS` | Origini autorizzate all'API da domini **esterni** (i frontend serviti dal backend non ne hanno bisogno) | `*` |
|
||||
| `NODE_BINARY` | Node usato per comprimere con Draco i modelli 3D caricati (es. `/opt/plesk/node/22/bin/node`): PHP-FPM di solito non ha Node nel PATH | `node` |
|
||||
| `MODELLI_3D_MAX_MB` | Dimensione massima del `.glb` caricabile dal backoffice (anche il limite di PHP `upload_max_filesize`/`post_max_size` deve permetterla) | `200` |
|
||||
| `DB_*`, `MAIL_*` | Database e posta | — |
|
||||
|
||||
### Frontend
|
||||
@@ -113,6 +115,22 @@ committato anche il `pnpm-lock.yaml` aggiornato (generato con pnpm 10), altrimen
|
||||
`public/configuratore` e `public/preventivo` vengono svuotate e riscritte: per qualche secondo le due
|
||||
pagine non sono disponibili.
|
||||
|
||||
### Modelli 3D
|
||||
|
||||
I `.glb` si caricano dal backoffice (Modelli → scheda del modello → Configurazione 3D). Al salvataggio il
|
||||
file viene compresso con Draco: l'originale resta archiviato in `storage/app/private/modelli-3d/originali`
|
||||
(non pubblico), il configuratore scarica solo la copia compressa. Un modello senza 3D non è attivabile e non
|
||||
compare nel configuratore.
|
||||
|
||||
Una tantum, dopo il deploy che introduce questa gestione, importare i modelli che prima stavano nel frontend:
|
||||
|
||||
```bash
|
||||
(cd backoffice && $PHP artisan modelli3d:importa)
|
||||
```
|
||||
|
||||
Il comando salta i modelli che hanno già un 3D (si può rilanciare). `modelli3d:ricomprimi` rigenera le copie
|
||||
compresse dagli originali (es. dopo una modifica di `scripts/comprimi-glb.mjs`).
|
||||
|
||||
### Dopo ogni deploy
|
||||
|
||||
- Nel sito `kreiosinfissi.it` l'iframe punta a `https://<backend>/configuratore/?sistema=…&type=…`.
|
||||
|
||||
Reference in New Issue
Block a user