@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.
Files changed (141) hide show
  1. package/BUNDLED_NOTICES +6196 -0
  2. package/LICENSE +686 -0
  3. package/LICENSE-BLENDER +1409 -0
  4. package/LICENSE-MCP +21 -0
  5. package/NOTICE +20 -0
  6. package/dist/.vite/manifest.json +1744 -0
  7. package/dist/assets/AudioViewer-DILwc7Pt.js +1 -0
  8. package/dist/assets/BVHLoader--2mLoe3e.js +1 -0
  9. package/dist/assets/BufferGeometryUtils-oP8-Ve4I.js +1 -0
  10. package/dist/assets/ColladaLoader-CyOCKXko.js +3 -0
  11. package/dist/assets/EntityModelDocument-DVlDQ_IJ.js +1 -0
  12. package/dist/assets/EnvironmentAssetDocument-BVGDJjW4.js +5 -0
  13. package/dist/assets/FBXLoader-DzWtiWYm.js +1 -0
  14. package/dist/assets/GameplaySessionTimeline-X_nMT8Sa.js +142 -0
  15. package/dist/assets/ImageViewer-D-aZoyr1.js +1 -0
  16. package/dist/assets/InspectorCanvasPreview-CLDhscy0.js +1 -0
  17. package/dist/assets/InspectorObjectPreview-CpHEw6QH.js +1 -0
  18. package/dist/assets/JsonAssetDocument-CLVN1V9Z.js +3 -0
  19. package/dist/assets/LineSegments2-vfeDUBfs.js +370 -0
  20. package/dist/assets/MTLLoader-D8SKGOsv.js +2 -0
  21. package/dist/assets/ModelAssetDocument-C60lQ11c.js +1 -0
  22. package/dist/assets/NonThreeAuthoringBootstrap-D8oHDftw.js +2 -0
  23. package/dist/assets/OBJLoader-8SrBLZ7J.js +5 -0
  24. package/dist/assets/Object3DPreview-CSmLPKkk.js +2 -0
  25. package/dist/assets/OnlineAssetDetail-D8wVVoay.js +2 -0
  26. package/dist/assets/OrbitControls-BHxt84w6.js +1 -0
  27. package/dist/assets/PLYLoader-BXUWXVtV.js +2 -0
  28. package/dist/assets/RectAreaLightUniformsLib-BGT7Bu4n.js +1 -0
  29. package/dist/assets/STLLoader-U-3fQm8v.js +1 -0
  30. package/dist/assets/SourceAssetViewer-BcOCJ2ye.js +13 -0
  31. package/dist/assets/StageHost-B_YrFNiC.js +1126 -0
  32. package/dist/assets/TDSLoader-BtiaQ4S3.js +1 -0
  33. package/dist/assets/ToolObject3DPreview-Crowr7IN.js +1 -0
  34. package/dist/assets/TransientHint-GNwuzA4c.js +1 -0
  35. package/dist/assets/VideoViewer-CjQ4P9AJ.js +1 -0
  36. package/dist/assets/_commonjsHelpers-D6-XlEtG.js +1 -0
  37. package/dist/assets/agx-base-srgb-BjWZJgrZ.lut +0 -0
  38. package/dist/assets/agx-look-medium-high-contrast-D5F_ob1L.lut +0 -0
  39. package/dist/assets/agx-look-punchy-dxsnycNs.lut +0 -0
  40. package/dist/assets/asset-editor-persistence-D3Yy77wZ.js +1 -0
  41. package/dist/assets/blender-emscripten-engine-C_uFxIuO.js +2 -0
  42. package/dist/assets/blender-node-editor.document-BfvoBocD.js +1 -0
  43. package/dist/assets/blender-outliner-model-B8b00oxr.js +1 -0
  44. package/dist/assets/blender-properties-tab-0M780SHF.js +3 -0
  45. package/dist/assets/blender-runtime-host-D8NHsAfD.js +4 -0
  46. package/dist/assets/blender-runtime-skin-DcwXD-m8.js +61 -0
  47. package/dist/assets/blender-runtime.document-BixTvrw8.js +7 -0
  48. package/dist/assets/blender-timeline.document-RtHIpbT1.js +1 -0
  49. package/dist/assets/blender-uv-editor.document-ChwaS3BG.js +1 -0
  50. package/dist/assets/blender-version.status-Bnhf8h1I.js +1 -0
  51. package/dist/assets/blender-wali-engine-C7bet0ss.js +2 -0
  52. package/dist/assets/blender.command-BCCEp0kb.js +1 -0
  53. package/dist/assets/blender.keymap-GAQgeklK.js +1 -0
  54. package/dist/assets/blender.status-ujwGU6dU.js +1 -0
  55. package/dist/assets/blender.style-Dcem5f_T.js +1 -0
  56. package/dist/assets/browserAll-Do0ehj3Q.js +14 -0
  57. package/dist/assets/client-DNXj_opT.js +25 -0
  58. package/dist/assets/clip-planes-CnAI6DZn.js +1 -0
  59. package/dist/assets/edit-mode-authoring-BX4IRQq9.js +1 -0
  60. package/dist/assets/editor-presentation-activity-C7SNSmTd.js +1 -0
  61. package/dist/assets/events-156d8d12.esm-Dy_KXdhT.js +36 -0
  62. package/dist/assets/fflate.module-DPuTF8aG.js +6 -0
  63. package/dist/assets/filmic-srgb-Ct35FIH6.lut +0 -0
  64. package/dist/assets/hosted-asset-materialization-BK7DHisS.js +2 -0
  65. package/dist/assets/index-5av5LJja.js +1691 -0
  66. package/dist/assets/index-BP6wv2A0.js +5 -0
  67. package/dist/assets/index-Bge9JUr6.js +1 -0
  68. package/dist/assets/index-BncK9THk.js +1 -0
  69. package/dist/assets/index-C5UECeSr.js +952 -0
  70. package/dist/assets/index-CJbYy-CF.js +3 -0
  71. package/dist/assets/index-CanA16PU.js +2 -0
  72. package/dist/assets/index-CinJrH5C.js +9 -0
  73. package/dist/assets/index-Cl83EGRl.js +2 -0
  74. package/dist/assets/index-CtzuWnCS.js +1 -0
  75. package/dist/assets/index-D2LwEE0L.js +562 -0
  76. package/dist/assets/index-D2fNXpHa.css +1 -0
  77. package/dist/assets/index-DUqP1RMl.js +1 -0
  78. package/dist/assets/index-D_NuPfjr.js +9 -0
  79. package/dist/assets/index-DaQZGF7d.js +1 -0
  80. package/dist/assets/index-DgapqSPi.js +7 -0
  81. package/dist/assets/index-IEjydI9d.js +1 -0
  82. package/dist/assets/index-gHZae-lw.js +13 -0
  83. package/dist/assets/jsx-runtime-DPjLkJKQ.js +9 -0
  84. package/dist/assets/model.layout-BJUEQYUI.js +1 -0
  85. package/dist/assets/models.finder-Bm1YfG95.js +1 -0
  86. package/dist/assets/product-Ywxte8eQ.js +1 -0
  87. package/dist/assets/properties-bone-constraints.inspector-Ck0Hzlvr.js +1 -0
  88. package/dist/assets/properties-bone.inspector-B8M42o0V.js +1 -0
  89. package/dist/assets/properties-collection.inspector-D-RSO5zy.js +1 -0
  90. package/dist/assets/properties-constraints.inspector-DbJa57oa.js +1 -0
  91. package/dist/assets/properties-data.inspector-DLgjbRW6.js +1 -0
  92. package/dist/assets/properties-material.inspector-B11LZYDW.js +1 -0
  93. package/dist/assets/properties-modifiers.inspector-BCWwuA26.js +1 -0
  94. package/dist/assets/properties-object.inspector-UZVJG49S.js +1 -0
  95. package/dist/assets/properties-output.inspector-XOwcBits.js +1 -0
  96. package/dist/assets/properties-particles.inspector-By04vT7R.js +1 -0
  97. package/dist/assets/properties-physics.inspector-D3T7FLdg.js +1 -0
  98. package/dist/assets/properties-render.inspector-Y0Rjr9gZ.js +1 -0
  99. package/dist/assets/properties-scene.inspector-CfyDWB4W.js +1 -0
  100. package/dist/assets/properties-texture.inspector-AFRsJx6-.js +1 -0
  101. package/dist/assets/properties-view-layer.inspector-Co07LAmQ.js +1 -0
  102. package/dist/assets/properties-world.inspector-C7T4JocI.js +1 -0
  103. package/dist/assets/react-18-DyywM-Z2.js +1 -0
  104. package/dist/assets/react-story-board-vrmj74Ng.js +1 -0
  105. package/dist/assets/react-three-rapier.esm-D874pLFD.js +1 -0
  106. package/dist/assets/sculpt.layout-zJF55yCR.js +1 -0
  107. package/dist/assets/session-1bPxsLdy.js +4167 -0
  108. package/dist/assets/shading.layout-DULYZV6M.js +1 -0
  109. package/dist/assets/sky-precompute-worker-ChN7J87v.js +1 -0
  110. package/dist/assets/spark.module-D1CUMLYS.js +12120 -0
  111. package/dist/assets/stage-keyboard-Cx90EYIT.js +1 -0
  112. package/dist/assets/stage-overlay-set-duu3P0mZ.js +1 -0
  113. package/dist/assets/stage-presence-markers-DKH3p_ao.js +1 -0
  114. package/dist/assets/story-capture-Dqurwlhr.js +1 -0
  115. package/dist/assets/story-mount-turn-2IYGgHob.js +1 -0
  116. package/dist/assets/story-pixi-preview-c78Aygdi.js +1 -0
  117. package/dist/assets/story-three-preview-CbZo5B3D.js +2 -0
  118. package/dist/assets/texture.layout-DASpHVht.js +1 -0
  119. package/dist/assets/three.module-BynznMJN.js +3840 -0
  120. package/dist/assets/uv-editing.layout-BEKHxmHw.js +1 -0
  121. package/dist/assets/vgai-shared-fontawesome-CFSkqz69.js +1 -0
  122. package/dist/assets/vgai-shared-jsx-dev-runtime-VfxIYu0y.js +9 -0
  123. package/dist/assets/vgai-shared-jsx-runtime-DIqBpTut.js +1 -0
  124. package/dist/assets/vgai-shared-react-DL5U9FnC.js +1 -0
  125. package/dist/assets/vgai-shared-react-dom-DFajMqMT.js +1 -0
  126. package/dist/assets/vgai-shared-react-dom-client-S0ozfl6_.js +1 -0
  127. package/dist/assets/vgai-shared-three-BWkbSQ3V.js +1 -0
  128. package/dist/assets/viewport-pick-context-DkawXbEi.js +1 -0
  129. package/dist/assets/webworkerAll-iMzrvNir.js +101 -0
  130. package/dist/assets/worker-DTgfRRas.js +1 -0
  131. package/dist/assets/world-documents-CGbrcsYk.js +3 -0
  132. package/dist/vgai-shared-react.json +10 -0
  133. package/dist/vgai-shared-three.json +3 -0
  134. package/dist-node/cli.js +17823 -0
  135. package/dist-node/create.js +14084 -0
  136. package/package.json +56 -0
  137. package/presets.mjs +2 -0
  138. package/src/contributions.d.ts +4 -0
  139. package/src/index.ts +9 -0
  140. package/starter/cube.blend +0 -0
  141. 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
@@ -0,0 +1,2 @@
1
+ // Node-executable product code, shared by the CLI and the New Project screen.
2
+ export { declaration as default } from './dist-node/create.js';
@@ -0,0 +1,4 @@
1
+ declare module 'vgai:contributions/*' {
2
+ const contributions: readonly { readonly entryPath: string; readonly load: () => Promise<unknown> }[];
3
+ export default contributions;
4
+ }
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
@@ -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)