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:
2026-11-01 10:35:50 +01:00
parent 24f9e59654
commit 1208187a17
32 changed files with 895 additions and 52 deletions
+21
View File
@@ -0,0 +1,21 @@
<?php
// Solo le chiavi personalizzate: il resto arriva dal config di Livewire (mergeConfigFrom è
// superficiale, quindi il blocco temporary_file_upload va ripetuto per intero).
return [
'temporary_file_upload' => [
'disk' => null,
// I modelli 3D (.glb) non compressi superano il limite predefinito di 12 MB: il limite
// del singolo campo resta quello impostato in Filament (maxSize).
'rules' => ['required', 'file', 'max:'.((int) env('MODELLI_3D_MAX_MB', 200) * 1024)],
'directory' => null,
'middleware' => null,
'preview_mimes' => [
'png', 'gif', 'bmp', 'svg', 'wav', 'mp4',
'mov', 'avi', 'wmv', 'mp3', 'm4a',
'jpg', 'jpeg', 'mpga', 'webp', 'wma',
],
'max_upload_time' => 15,
'cleanup' => true,
],
];