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 asset = createModelAssetRecord(sourceName, mimeType, bytes, metadata);
await storage.putAsset(asset.storageKey, {
bytes,
mimeType
} satisfies ProjectAssetStorageRecord);
const modelInstance = createModelInstance({
assetId: asset.id,
name: undefined
});
try {
await storage.putAsset(asset.storageKey, {
bytes,
mimeType
} satisfies ProjectAssetStorageRecord);
return {
asset,
modelInstance,
loadedAsset: createLoadedModelAsset(asset, cloneTemplateScene(gltf.scene))
};
const modelInstance = createModelInstance({
assetId: asset.id,
name: undefined
});
return {
asset,
modelInstance,
loadedAsset: createLoadedModelAsset(asset, cloneTemplateScene(gltf.scene))
};
} catch (error) {
await storage.deleteAsset(asset.storageKey).catch(() => undefined);
throw error;
}
}
export async function loadModelAssetFromStorage(