@volter/editor-blender 0.1.139 → 0.1.140
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/host/blender-runtime-host.ts +15 -1
- package/package.json +6 -6
|
@@ -362,6 +362,13 @@ async function openBoundModelDocument(
|
|
|
362
362
|
try {
|
|
363
363
|
publish();
|
|
364
364
|
await started;
|
|
365
|
+
} catch (error) {
|
|
366
|
+
// A session whose start failed keeps that failure and never starts. Discard it, so that
|
|
367
|
+
// "Retry opening" makes a new session and a new worker; without this every retry awaited the
|
|
368
|
+
// same failed start. A refusal that is not a failed start (another document holds the
|
|
369
|
+
// session) leaves the session alone: it is someone else's.
|
|
370
|
+
if (session.startFailed && runtime === session) terminateBlenderRuntime();
|
|
371
|
+
throw error;
|
|
365
372
|
} finally {
|
|
366
373
|
if (modelStartup === starting) modelStartup = null;
|
|
367
374
|
}
|
|
@@ -1351,7 +1358,14 @@ export async function handleBlenderCommand(cmd: {
|
|
|
1351
1358
|
requestedDocument !== undefined
|
|
1352
1359
|
? requestedDocument
|
|
1353
1360
|
: (shown ?? DEFAULT_BLENDER_DOCUMENT);
|
|
1354
|
-
|
|
1361
|
+
try {
|
|
1362
|
+
return { ok: true, data: { ...(await session.start(project!, document)) } };
|
|
1363
|
+
} catch (error) {
|
|
1364
|
+
// As the document's own open does: a session whose start failed is discarded, so the
|
|
1365
|
+
// next `blender-start` makes a new one instead of awaiting the same failure.
|
|
1366
|
+
if (session.startFailed && runtime === session) terminateBlenderRuntime();
|
|
1367
|
+
throw error;
|
|
1368
|
+
}
|
|
1355
1369
|
}
|
|
1356
1370
|
case 'blender-execute': {
|
|
1357
1371
|
// THROUGH THE IN-PAGE DOOR, not `session.execute` beside it — the same
|
package/package.json
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"name": "@volter/editor-blender",
|
|
3
3
|
"author": "Volter AI, Inc.",
|
|
4
4
|
"license": "AGPL-3.0-only AND GPL-3.0-or-later",
|
|
5
|
-
"version": "0.1.
|
|
5
|
+
"version": "0.1.140",
|
|
6
6
|
"publishConfig": {
|
|
7
7
|
"access": "public"
|
|
8
8
|
},
|
|
@@ -72,15 +72,15 @@
|
|
|
72
72
|
},
|
|
73
73
|
"dependencies": {
|
|
74
74
|
"@modelcontextprotocol/sdk": "1.32.1",
|
|
75
|
-
"@volter/blender-engine": "0.1.
|
|
76
|
-
"@volter/editor-threejs": "0.5.
|
|
75
|
+
"@volter/blender-engine": "0.1.138",
|
|
76
|
+
"@volter/editor-threejs": "0.5.201",
|
|
77
77
|
"zod": "^4.3.6",
|
|
78
78
|
"@fortawesome/free-solid-svg-icons": "^7.2.0"
|
|
79
79
|
},
|
|
80
80
|
"peerDependencies": {
|
|
81
|
-
"@volter/editor-live": "0.5.
|
|
82
|
-
"@volter/editor-project": "0.5.
|
|
83
|
-
"@volter/editor-sdk": "0.5.
|
|
81
|
+
"@volter/editor-live": "0.5.201",
|
|
82
|
+
"@volter/editor-project": "0.5.201",
|
|
83
|
+
"@volter/editor-sdk": "0.5.201",
|
|
84
84
|
"react": "^19.0.0",
|
|
85
85
|
"react-dom": "^19.0.0",
|
|
86
86
|
"three": "^0.180.0",
|