@volter/editor 0.5.57
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/BUNDLED_NOTICES +6196 -0
- package/LICENSE +686 -0
- package/LICENSE-BLENDER +1409 -0
- package/LICENSE-MCP +21 -0
- package/NOTICE +20 -0
- package/dist/.vite/manifest.json +1744 -0
- package/dist/assets/AudioViewer-DILwc7Pt.js +1 -0
- package/dist/assets/BVHLoader--2mLoe3e.js +1 -0
- package/dist/assets/BufferGeometryUtils-oP8-Ve4I.js +1 -0
- package/dist/assets/ColladaLoader-CyOCKXko.js +3 -0
- package/dist/assets/EntityModelDocument-DVlDQ_IJ.js +1 -0
- package/dist/assets/EnvironmentAssetDocument-BVGDJjW4.js +5 -0
- package/dist/assets/FBXLoader-DzWtiWYm.js +1 -0
- package/dist/assets/GameplaySessionTimeline-X_nMT8Sa.js +142 -0
- package/dist/assets/ImageViewer-D-aZoyr1.js +1 -0
- package/dist/assets/InspectorCanvasPreview-CLDhscy0.js +1 -0
- package/dist/assets/InspectorObjectPreview-CpHEw6QH.js +1 -0
- package/dist/assets/JsonAssetDocument-CLVN1V9Z.js +3 -0
- package/dist/assets/LineSegments2-vfeDUBfs.js +370 -0
- package/dist/assets/MTLLoader-D8SKGOsv.js +2 -0
- package/dist/assets/ModelAssetDocument-C60lQ11c.js +1 -0
- package/dist/assets/NonThreeAuthoringBootstrap-D8oHDftw.js +2 -0
- package/dist/assets/OBJLoader-8SrBLZ7J.js +5 -0
- package/dist/assets/Object3DPreview-CSmLPKkk.js +2 -0
- package/dist/assets/OnlineAssetDetail-D8wVVoay.js +2 -0
- package/dist/assets/OrbitControls-BHxt84w6.js +1 -0
- package/dist/assets/PLYLoader-BXUWXVtV.js +2 -0
- package/dist/assets/RectAreaLightUniformsLib-BGT7Bu4n.js +1 -0
- package/dist/assets/STLLoader-U-3fQm8v.js +1 -0
- package/dist/assets/SourceAssetViewer-BcOCJ2ye.js +13 -0
- package/dist/assets/StageHost-B_YrFNiC.js +1126 -0
- package/dist/assets/TDSLoader-BtiaQ4S3.js +1 -0
- package/dist/assets/ToolObject3DPreview-Crowr7IN.js +1 -0
- package/dist/assets/TransientHint-GNwuzA4c.js +1 -0
- package/dist/assets/VideoViewer-CjQ4P9AJ.js +1 -0
- package/dist/assets/_commonjsHelpers-D6-XlEtG.js +1 -0
- package/dist/assets/agx-base-srgb-BjWZJgrZ.lut +0 -0
- package/dist/assets/agx-look-medium-high-contrast-D5F_ob1L.lut +0 -0
- package/dist/assets/agx-look-punchy-dxsnycNs.lut +0 -0
- package/dist/assets/asset-editor-persistence-D3Yy77wZ.js +1 -0
- package/dist/assets/blender-emscripten-engine-C_uFxIuO.js +2 -0
- package/dist/assets/blender-node-editor.document-BfvoBocD.js +1 -0
- package/dist/assets/blender-outliner-model-B8b00oxr.js +1 -0
- package/dist/assets/blender-properties-tab-0M780SHF.js +3 -0
- package/dist/assets/blender-runtime-host-D8NHsAfD.js +4 -0
- package/dist/assets/blender-runtime-skin-DcwXD-m8.js +61 -0
- package/dist/assets/blender-runtime.document-BixTvrw8.js +7 -0
- package/dist/assets/blender-timeline.document-RtHIpbT1.js +1 -0
- package/dist/assets/blender-uv-editor.document-ChwaS3BG.js +1 -0
- package/dist/assets/blender-version.status-Bnhf8h1I.js +1 -0
- package/dist/assets/blender-wali-engine-C7bet0ss.js +2 -0
- package/dist/assets/blender.command-BCCEp0kb.js +1 -0
- package/dist/assets/blender.keymap-GAQgeklK.js +1 -0
- package/dist/assets/blender.status-ujwGU6dU.js +1 -0
- package/dist/assets/blender.style-Dcem5f_T.js +1 -0
- package/dist/assets/browserAll-Do0ehj3Q.js +14 -0
- package/dist/assets/client-DNXj_opT.js +25 -0
- package/dist/assets/clip-planes-CnAI6DZn.js +1 -0
- package/dist/assets/edit-mode-authoring-BX4IRQq9.js +1 -0
- package/dist/assets/editor-presentation-activity-C7SNSmTd.js +1 -0
- package/dist/assets/events-156d8d12.esm-Dy_KXdhT.js +36 -0
- package/dist/assets/fflate.module-DPuTF8aG.js +6 -0
- package/dist/assets/filmic-srgb-Ct35FIH6.lut +0 -0
- package/dist/assets/hosted-asset-materialization-BK7DHisS.js +2 -0
- package/dist/assets/index-5av5LJja.js +1691 -0
- package/dist/assets/index-BP6wv2A0.js +5 -0
- package/dist/assets/index-Bge9JUr6.js +1 -0
- package/dist/assets/index-BncK9THk.js +1 -0
- package/dist/assets/index-C5UECeSr.js +952 -0
- package/dist/assets/index-CJbYy-CF.js +3 -0
- package/dist/assets/index-CanA16PU.js +2 -0
- package/dist/assets/index-CinJrH5C.js +9 -0
- package/dist/assets/index-Cl83EGRl.js +2 -0
- package/dist/assets/index-CtzuWnCS.js +1 -0
- package/dist/assets/index-D2LwEE0L.js +562 -0
- package/dist/assets/index-D2fNXpHa.css +1 -0
- package/dist/assets/index-DUqP1RMl.js +1 -0
- package/dist/assets/index-D_NuPfjr.js +9 -0
- package/dist/assets/index-DaQZGF7d.js +1 -0
- package/dist/assets/index-DgapqSPi.js +7 -0
- package/dist/assets/index-IEjydI9d.js +1 -0
- package/dist/assets/index-gHZae-lw.js +13 -0
- package/dist/assets/jsx-runtime-DPjLkJKQ.js +9 -0
- package/dist/assets/model.layout-BJUEQYUI.js +1 -0
- package/dist/assets/models.finder-Bm1YfG95.js +1 -0
- package/dist/assets/product-Ywxte8eQ.js +1 -0
- package/dist/assets/properties-bone-constraints.inspector-Ck0Hzlvr.js +1 -0
- package/dist/assets/properties-bone.inspector-B8M42o0V.js +1 -0
- package/dist/assets/properties-collection.inspector-D-RSO5zy.js +1 -0
- package/dist/assets/properties-constraints.inspector-DbJa57oa.js +1 -0
- package/dist/assets/properties-data.inspector-DLgjbRW6.js +1 -0
- package/dist/assets/properties-material.inspector-B11LZYDW.js +1 -0
- package/dist/assets/properties-modifiers.inspector-BCWwuA26.js +1 -0
- package/dist/assets/properties-object.inspector-UZVJG49S.js +1 -0
- package/dist/assets/properties-output.inspector-XOwcBits.js +1 -0
- package/dist/assets/properties-particles.inspector-By04vT7R.js +1 -0
- package/dist/assets/properties-physics.inspector-D3T7FLdg.js +1 -0
- package/dist/assets/properties-render.inspector-Y0Rjr9gZ.js +1 -0
- package/dist/assets/properties-scene.inspector-CfyDWB4W.js +1 -0
- package/dist/assets/properties-texture.inspector-AFRsJx6-.js +1 -0
- package/dist/assets/properties-view-layer.inspector-Co07LAmQ.js +1 -0
- package/dist/assets/properties-world.inspector-C7T4JocI.js +1 -0
- package/dist/assets/react-18-DyywM-Z2.js +1 -0
- package/dist/assets/react-story-board-vrmj74Ng.js +1 -0
- package/dist/assets/react-three-rapier.esm-D874pLFD.js +1 -0
- package/dist/assets/sculpt.layout-zJF55yCR.js +1 -0
- package/dist/assets/session-1bPxsLdy.js +4167 -0
- package/dist/assets/shading.layout-DULYZV6M.js +1 -0
- package/dist/assets/sky-precompute-worker-ChN7J87v.js +1 -0
- package/dist/assets/spark.module-D1CUMLYS.js +12120 -0
- package/dist/assets/stage-keyboard-Cx90EYIT.js +1 -0
- package/dist/assets/stage-overlay-set-duu3P0mZ.js +1 -0
- package/dist/assets/stage-presence-markers-DKH3p_ao.js +1 -0
- package/dist/assets/story-capture-Dqurwlhr.js +1 -0
- package/dist/assets/story-mount-turn-2IYGgHob.js +1 -0
- package/dist/assets/story-pixi-preview-c78Aygdi.js +1 -0
- package/dist/assets/story-three-preview-CbZo5B3D.js +2 -0
- package/dist/assets/texture.layout-DASpHVht.js +1 -0
- package/dist/assets/three.module-BynznMJN.js +3840 -0
- package/dist/assets/uv-editing.layout-BEKHxmHw.js +1 -0
- package/dist/assets/vgai-shared-fontawesome-CFSkqz69.js +1 -0
- package/dist/assets/vgai-shared-jsx-dev-runtime-VfxIYu0y.js +9 -0
- package/dist/assets/vgai-shared-jsx-runtime-DIqBpTut.js +1 -0
- package/dist/assets/vgai-shared-react-DL5U9FnC.js +1 -0
- package/dist/assets/vgai-shared-react-dom-DFajMqMT.js +1 -0
- package/dist/assets/vgai-shared-react-dom-client-S0ozfl6_.js +1 -0
- package/dist/assets/vgai-shared-three-BWkbSQ3V.js +1 -0
- package/dist/assets/viewport-pick-context-DkawXbEi.js +1 -0
- package/dist/assets/webworkerAll-iMzrvNir.js +101 -0
- package/dist/assets/worker-DTgfRRas.js +1 -0
- package/dist/assets/world-documents-CGbrcsYk.js +3 -0
- package/dist/vgai-shared-react.json +10 -0
- package/dist/vgai-shared-three.json +3 -0
- package/dist-node/cli.js +17823 -0
- package/dist-node/create.js +14084 -0
- package/package.json +56 -0
- package/presets.mjs +2 -0
- package/src/contributions.d.ts +4 -0
- package/src/index.ts +9 -0
- package/starter/cube.blend +0 -0
- package/starter/cube.py +81 -0
package/package.json
ADDED
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@volter/editor",
|
|
3
|
+
"author": "Volter AI, Inc.",
|
|
4
|
+
"version": "0.5.57",
|
|
5
|
+
"publishConfig": {
|
|
6
|
+
"access": "public"
|
|
7
|
+
},
|
|
8
|
+
"type": "module",
|
|
9
|
+
"license": "AGPL-3.0-only AND GPL-3.0-or-later AND MIT",
|
|
10
|
+
"description": "Volter Editor, initially shipping Blender-based modeling.",
|
|
11
|
+
"repository": {
|
|
12
|
+
"type": "git",
|
|
13
|
+
"url": "git+https://github.com/volter-ai/editor.git",
|
|
14
|
+
"directory": "packages/editor"
|
|
15
|
+
},
|
|
16
|
+
"files": [
|
|
17
|
+
"dist",
|
|
18
|
+
"src",
|
|
19
|
+
"LICENSE",
|
|
20
|
+
"LICENSE-BLENDER",
|
|
21
|
+
"NOTICE",
|
|
22
|
+
"dist-node",
|
|
23
|
+
"presets.mjs",
|
|
24
|
+
"starter",
|
|
25
|
+
"LICENSE-MCP",
|
|
26
|
+
"BUNDLED_NOTICES"
|
|
27
|
+
],
|
|
28
|
+
"scripts": {
|
|
29
|
+
"build": "vite build --config vite.config.ts",
|
|
30
|
+
"build:node": "node scripts/build-node.mjs",
|
|
31
|
+
"typecheck": "tsc -p tsconfig.node.json"
|
|
32
|
+
},
|
|
33
|
+
"vgai": {
|
|
34
|
+
"product": {
|
|
35
|
+
"entry": "./src/index.ts",
|
|
36
|
+
"colorTheme": "dark",
|
|
37
|
+
"workbench": {
|
|
38
|
+
"release": "editor-f8664703ab59-d7489dea9dcd-darwin-arm64",
|
|
39
|
+
"tarballSha256": "57692dc03bd5e37f1b02c817bf0601ee3f3d410b6147c24ccd978d22ff4f81ca"
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
},
|
|
43
|
+
"dependencies": {
|
|
44
|
+
"@volter/editor-core": "0.5.57",
|
|
45
|
+
"@volter/editor-blender": "0.1.0",
|
|
46
|
+
"@volter/blender-engine": "0.1.0",
|
|
47
|
+
"@volter/editor-project": "0.5.57",
|
|
48
|
+
"@volter/editor-sdk": "0.5.57",
|
|
49
|
+
"@volter/editor-live": "0.5.57",
|
|
50
|
+
"@modelcontextprotocol/sdk": "1.30.0",
|
|
51
|
+
"undici": "7.29.1"
|
|
52
|
+
},
|
|
53
|
+
"bin": {
|
|
54
|
+
"volter-editor": "./dist-node/cli.js"
|
|
55
|
+
}
|
|
56
|
+
}
|
package/presets.mjs
ADDED
package/src/index.ts
ADDED
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import blender from 'vgai:contributions/@volter/editor-blender';
|
|
2
|
+
import { product } from '@volter/editor-core/frame/product';
|
|
3
|
+
|
|
4
|
+
export const { mountVgai } = product({
|
|
5
|
+
id: 'editor',
|
|
6
|
+
packages: { '@volter/editor-blender': blender },
|
|
7
|
+
look: 'blender',
|
|
8
|
+
workspace: 'model',
|
|
9
|
+
});
|
|
Binary file
|
package/starter/cube.py
ADDED
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
# SPDX-License-Identifier: GPL-3.0-or-later
|
|
2
|
+
#
|
|
3
|
+
# THIS FILE IS GPL, AND THE REST OF YOUR PROJECT IS NOT.
|
|
4
|
+
#
|
|
5
|
+
# It drives `bpy`, Blender's Python API. The Blender Foundation's stated
|
|
6
|
+
# position — their licence page, under "Add-ons (Python scripts)" — is that
|
|
7
|
+
# the API "is an integral part of the software" and that the GPL "therefore
|
|
8
|
+
# requires that such scripts (if published) are being shared under a GPL
|
|
9
|
+
# compliant license". So a bpy script is a derivative work of Blender, and
|
|
10
|
+
# this one is licensed GNU General Public License version 3 or later,
|
|
11
|
+
# exercising Blender's own "or later".
|
|
12
|
+
#
|
|
13
|
+
# WHAT THIS DOES NOT TOUCH. `cube.blend` beside this file is YOURS, and so is
|
|
14
|
+
# anything you export from it — glTF, GLB, renders. That is the Foundation's
|
|
15
|
+
# position too, on the same page under "Your Artwork": what you make with
|
|
16
|
+
# Blender is your sole property, "including the .blend files and other data
|
|
17
|
+
# files Blender can write". Every other file the template gave you is MIT.
|
|
18
|
+
# This licence reaches this script and nothing else.
|
|
19
|
+
#
|
|
20
|
+
# If you would rather not carry it: delete this file. The `.blend` is the
|
|
21
|
+
# document — this is only the recorded source of how it was made — and
|
|
22
|
+
# nothing in the project reads this script at runtime. If you write your own
|
|
23
|
+
# bpy scripts, the Foundation's position applies to them on the same terms;
|
|
24
|
+
# it is not a rule of ours and is not ours to waive, because the copyright in
|
|
25
|
+
# Blender is Blender's authors'.
|
|
26
|
+
#
|
|
27
|
+
# Copyright 2026 Volter AI, Inc.
|
|
28
|
+
|
|
29
|
+
"""The starter model — the bpy that made `cube.blend`, and its SOURCE.
|
|
30
|
+
|
|
31
|
+
A model is Blender data: `cube.blend` beside this file is the document the
|
|
32
|
+
editor opens, and this is the script that authored it. Run it again and you
|
|
33
|
+
get the same file; edit it and re-run it, or open the `.blend` and model in
|
|
34
|
+
Blender's own Edit Mode — both are authoring, and the `.blend` is the truth
|
|
35
|
+
either way.
|
|
36
|
+
|
|
37
|
+
Run it through the session's Blender, from this project:
|
|
38
|
+
|
|
39
|
+
npm run --silent vgai -- blender-mcp # the transport an agent drives
|
|
40
|
+
# or, in a live editor session:
|
|
41
|
+
# editor.blender('blender-execute', { code: open('src/models/cube.py').read() })
|
|
42
|
+
|
|
43
|
+
The session saves the open document about a second after the last call, so a
|
|
44
|
+
script that models is a script that saves.
|
|
45
|
+
|
|
46
|
+
Coordinates are metres, Z is up (Blender's), and the exporter converts to the
|
|
47
|
+
game's Y-up on the way to glTF.
|
|
48
|
+
"""
|
|
49
|
+
|
|
50
|
+
import bpy
|
|
51
|
+
|
|
52
|
+
# ONE DATABLOCK, AT THE ORIGIN. A model file holds the model, not a set: the
|
|
53
|
+
# factory startup's Light and Camera belong to a scene, and a model that
|
|
54
|
+
# carries them exports them too.
|
|
55
|
+
for obj in list(bpy.data.objects):
|
|
56
|
+
bpy.data.objects.remove(obj, do_unlink=True)
|
|
57
|
+
for mesh in list(bpy.data.meshes):
|
|
58
|
+
bpy.data.meshes.remove(mesh)
|
|
59
|
+
# Materials too, or a re-run appends `Material.001` beside the one it made
|
|
60
|
+
# last time and the Shader Editor shows whichever slot happens to be active.
|
|
61
|
+
for material in list(bpy.data.materials):
|
|
62
|
+
bpy.data.materials.remove(material)
|
|
63
|
+
|
|
64
|
+
# Blender opens on a cube; so does this. `size` is the full width, so 1.0 is
|
|
65
|
+
# a 1 m box — the starter's own scale, not the factory cube's 2 m.
|
|
66
|
+
bpy.ops.mesh.primitive_cube_add(size=1.0, location=(0.0, 0.0, 0.0))
|
|
67
|
+
cube = bpy.context.active_object
|
|
68
|
+
cube.name = "Cube"
|
|
69
|
+
cube.data.name = "Cube"
|
|
70
|
+
|
|
71
|
+
# AND BLENDER'S OWN DEFAULT MATERIAL, because Blender's own default cube has
|
|
72
|
+
# one. Without it the Shading workspace opens on `Shader Editor · No material`
|
|
73
|
+
# with nothing drawn and nothing a person can click to change that — its one
|
|
74
|
+
# control, Use Nodes, correctly refuses, because this view inspects a node
|
|
75
|
+
# tree and never writes one (walk 3, beat 4). `materials.new` leaves
|
|
76
|
+
# `use_nodes` FALSE, which is a material the header names and the canvas still
|
|
77
|
+
# cannot draw; setting it True is what builds the pair Blender builds —
|
|
78
|
+
# Principled BSDF into Material Output, 2 nodes and 37 sockets.
|
|
79
|
+
material = bpy.data.materials.new(name="Material")
|
|
80
|
+
material.use_nodes = True
|
|
81
|
+
cube.data.materials.append(material)
|