Compress imported model textures via WebP 0.8 to prevent 413 Payload Too Large on project save

This commit is contained in:
AI Bot
2026-07-30 18:09:18 +05:30
parent ad14107142
commit 5374cb9ecb
+12 -4
View File
@@ -1380,13 +1380,21 @@ export default function Editor() {
// Fallback: draw ImageBitmap or HTMLImageElement to canvas to extract data URL // Fallback: draw ImageBitmap or HTMLImageElement to canvas to extract data URL
try { try {
const MAX = 1024;
let scale = 1;
if (img.width > MAX || img.height > MAX) {
scale = MAX / Math.max(img.width, img.height);
}
const cw = Math.round((img.width || 1024) * scale);
const ch = Math.round((img.height || 1024) * scale);
const canvas = document.createElement('canvas'); const canvas = document.createElement('canvas');
canvas.width = img.width || 1024; canvas.width = cw;
canvas.height = img.height || 1024; canvas.height = ch;
const ctx = canvas.getContext('2d'); const ctx = canvas.getContext('2d');
if (ctx) { if (ctx) {
ctx.drawImage(img, 0, 0); ctx.drawImage(img, 0, 0, cw, ch);
return canvas.toDataURL('image/png'); return canvas.toDataURL('image/webp', 0.8);
} }
} catch (e) { } catch (e) {
console.error('Error extracting texture URL:', e); console.error('Error extracting texture URL:', e);