fix(ImageTo3D): enforce glb format in Meshy API payload
Build and Deploy / build-and-push (push) Successful in 46s

This commit is contained in:
AI Bot
2026-09-03 11:55:23 +05:30
parent c7fad9dad2
commit 7607a6478c
11 changed files with 73 additions and 1 deletions
+12
View File
@@ -0,0 +1,12 @@
const fs = require('fs');
const fflate = require('fflate');
const zipBuffer = fs.readFileSync('indicav2.titanscene');
const unzipped = fflate.unzipSync(zipBuffer);
const sceneData = JSON.parse(new TextDecoder().decode(unzipped['scene.json']));
console.log('cameraProps:', sceneData.cameraProps);
console.log('modelData:', sceneData.modelData);
console.log('sceneObjects length:', sceneData.sceneObjects?.length);
if (sceneData.sceneObjects?.length > 0) {
console.log('Main model transform:', sceneData.sceneObjects[0].transformProps);
}
+12
View File
@@ -0,0 +1,12 @@
const fs = require('fs');
const fflate = require('fflate');
const zipBuffer = fs.readFileSync('newmodel.titanscene');
const unzipped = fflate.unzipSync(zipBuffer);
const sceneData = JSON.parse(new TextDecoder().decode(unzipped['scene.json']));
console.log('cameraProps:', sceneData.cameraProps);
console.log('modelData:', sceneData.modelData);
console.log('sceneObjects length:', sceneData.sceneObjects?.length);
if (sceneData.sceneObjects?.length > 0) {
console.log('Main model transform:', sceneData.sceneObjects[0].transformProps);
}
+12
View File
@@ -0,0 +1,12 @@
const fs = require('fs');
const fflate = require('fflate');
const zipBuffer = fs.readFileSync('model.titanscene');
const unzipped = fflate.unzipSync(zipBuffer);
const sceneData = JSON.parse(new TextDecoder().decode(unzipped['scene.json']));
console.log('cameraProps:', sceneData.cameraProps);
console.log('modelData:', sceneData.modelData);
console.log('sceneObjects length:', sceneData.sceneObjects?.length);
if (sceneData.sceneObjects?.length > 0) {
console.log('Main model transform:', sceneData.sceneObjects[0].transformProps);
}
+12
View File
@@ -0,0 +1,12 @@
const fs = require('fs');
const fflate = require('fflate');
const zipBuffer = fs.readFileSync('model.titanscene');
const unzipped = fflate.unzipSync(zipBuffer);
const sceneData = JSON.parse(new TextDecoder().decode(unzipped['scene.json']));
console.log('cameraProps:', sceneData.cameraProps);
console.log('modelData extension:', sceneData.modelData?.extension);
console.log('sceneObjects length:', sceneData.sceneObjects?.length);
if (sceneData.sceneObjects?.length > 0) {
console.log('Main model transform:', sceneData.sceneObjects[0].transformProps);
}
Binary file not shown.
BIN
View File
Binary file not shown.
Binary file not shown.
+2 -1
View File
@@ -301,7 +301,8 @@ export const ImageTo3DModal: React.FC<ImageTo3DModalProps> = ({ isOpen, onClose,
image_url: dataUrl, image_url: dataUrl,
model_type: meshyModelType, model_type: meshyModelType,
should_texture: meshyShouldTexture, should_texture: meshyShouldTexture,
should_enhance_image: meshyEnhanceImage should_enhance_image: meshyEnhanceImage,
target_formats: ['glb']
}; };
if (meshyModelType !== 'lowpoly') { if (meshyModelType !== 'lowpoly') {
+4
View File
@@ -403,6 +403,7 @@ export default function Editor() {
if (sd.cameraPresets) setCameraPresets(sd.cameraPresets); if (sd.cameraPresets) setCameraPresets(sd.cameraPresets);
if (sd.modelData && sd.modelData.data) { if (sd.modelData && sd.modelData.data) {
setModelData(sd.modelData);
reImportModel(sd.modelData); reImportModel(sd.modelData);
} }
} }
@@ -992,6 +993,7 @@ export default function Editor() {
// Re-load model if data exists // Re-load model if data exists
if (data.modelData && data.modelData.data) { if (data.modelData && data.modelData.data) {
setModelData(data.modelData);
reImportModel(data.modelData); reImportModel(data.modelData);
} }
} catch (err) { } catch (err) {
@@ -5300,3 +5302,5 @@ export default function Editor() {
); );
} }
+9
View File
@@ -0,0 +1,9 @@
const fflate = require('fflate');
const zipObj = {};
zipObj['model.glb'] = new Uint8Array([1, 2, 3, 4, 5]);
const zipped = fflate.zipSync(zipObj);
const unzipped = fflate.unzipSync(zipped);
console.log(unzipped['model.glb']);
+10
View File
@@ -0,0 +1,10 @@
const fs = require('fs');
const fflate = require('fflate');
const zipObj = {};
zipObj['model.glb'] = new Uint8Array([1, 2, 3, 4, 5]);
const zipped = fflate.zipSync(zipObj);
const unzipped = fflate.unzipSync(zipped);
console.log(unzipped['model.glb']);