fix: Upload generated models to cloud storage in onPushToApp to prevent blob URL fetch failures on save
This commit is contained in:
@@ -5232,11 +5232,12 @@ export default function Editor() {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
// Save model data for scene persistence
|
|
||||||
const modelBlob = await fetch(modelUrl).then(r => r.blob());
|
const modelBlob = await fetch(modelUrl).then(r => r.blob());
|
||||||
const blobUrl = URL.createObjectURL(modelBlob);
|
setImportStatus("Uploading to cloud storage... 0%");
|
||||||
setBlobURLs(prev => [...prev, blobUrl]);
|
const cloudUrl = await uploadAssetToStorage(modelBlob, 'assets', `models/${user?.id || 'guest'}_${Date.now()}_Generated_Model.glb`, (prog) => {
|
||||||
setModelData({ name: "Generated_Model.glb", data: blobUrl, extension: 'glb' });
|
setImportStatus(`Uploading to cloud storage... ${prog}%`);
|
||||||
|
});
|
||||||
|
setModelData({ name: "Generated_Model.glb", data: cloudUrl, extension: 'glb' });
|
||||||
|
|
||||||
const boundingBox = new THREE.Box3().setFromObject(object);
|
const boundingBox = new THREE.Box3().setFromObject(object);
|
||||||
const center = new THREE.Vector3();
|
const center = new THREE.Vector3();
|
||||||
@@ -5290,7 +5291,6 @@ export default function Editor() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
setLoadedModel(object);
|
setLoadedModel(object);
|
||||||
setBlobURLs(prev => [...prev, modelUrl]);
|
|
||||||
setSceneObjects(prev => [
|
setSceneObjects(prev => [
|
||||||
...prev.filter(obj => obj.type !== 'cube'),
|
...prev.filter(obj => obj.type !== 'cube'),
|
||||||
...newSceneObjects
|
...newSceneObjects
|
||||||
|
|||||||
Reference in New Issue
Block a user