Add error handling for asset import in gltf-model-import.ts

This commit is contained in:
2026-03-31 17:56:24 +02:00
parent 669a9677c2
commit 9cd00f862f

View File

@@ -335,21 +335,27 @@ export async function importModelAssetFromFile(
const metadata = extractModelAssetMetadata(gltf, format); const metadata = extractModelAssetMetadata(gltf, format);
const asset = createModelAssetRecord(sourceName, mimeType, bytes, metadata); const asset = createModelAssetRecord(sourceName, mimeType, bytes, metadata);
await storage.putAsset(asset.storageKey, {
bytes,
mimeType
} satisfies ProjectAssetStorageRecord);
const modelInstance = createModelInstance({ try {
assetId: asset.id, await storage.putAsset(asset.storageKey, {
name: undefined bytes,
}); mimeType
} satisfies ProjectAssetStorageRecord);
return { const modelInstance = createModelInstance({
asset, assetId: asset.id,
modelInstance, name: undefined
loadedAsset: createLoadedModelAsset(asset, cloneTemplateScene(gltf.scene)) });
};
return {
asset,
modelInstance,
loadedAsset: createLoadedModelAsset(asset, cloneTemplateScene(gltf.scene))
};
} catch (error) {
await storage.deleteAsset(asset.storageKey).catch(() => undefined);
throw error;
}
} }
export async function loadModelAssetFromStorage( export async function loadModelAssetFromStorage(