@zephyr3d/editor 0.3.0 → 0.3.1

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 (48) hide show
  1. package/README.md +143 -0
  2. package/dist/assets/{index-BaUzUcND.js → index-IISR7uQv.js} +1 -1
  3. package/dist/assistant/zephyr-types-index.json +1 -1
  4. package/dist/index.html +2 -2
  5. package/dist/modules/zephyr3d_backend-webgpu.js.map +1 -1
  6. package/dist/modules/zephyr3d_imgui.js +3 -3
  7. package/dist/modules/zephyr3d_imgui.js.map +1 -1
  8. package/dist/modules/zephyr3d_scene.js +1439 -1439
  9. package/dist/modules/zephyr3d_scene.js.map +1 -1
  10. package/dist/vendor/zephyr3d/backend-webgpu/dist/bindgroup_webgpu.js.map +1 -1
  11. package/dist/vendor/zephyr3d/backend-webgpu/dist/buffer_webgpu.js.map +1 -1
  12. package/dist/vendor/zephyr3d/backend-webgpu/dist/commandqueue.js.map +1 -1
  13. package/dist/vendor/zephyr3d/backend-webgpu/dist/uploadringbuffer.js.map +1 -1
  14. package/dist/vendor/zephyr3d/imgui/dist/imgui_impl.js.map +1 -1
  15. package/dist/vendor/zephyr3d/imgui/dist/renderer.js +3 -3
  16. package/dist/vendor/zephyr3d/imgui/dist/renderer.js.map +1 -1
  17. package/dist/vendor/zephyr3d/scene/dist/animation/animationset.js +135 -135
  18. package/dist/vendor/zephyr3d/scene/dist/animation/animationset.js.map +1 -1
  19. package/dist/vendor/zephyr3d/scene/dist/animation/joint_dynamics/controller.js +146 -146
  20. package/dist/vendor/zephyr3d/scene/dist/animation/joint_dynamics/controller.js.map +1 -1
  21. package/dist/vendor/zephyr3d/scene/dist/animation/spring/spring_system.js +75 -75
  22. package/dist/vendor/zephyr3d/scene/dist/animation/spring/spring_system.js.map +1 -1
  23. package/dist/vendor/zephyr3d/scene/dist/camera/camera.js +184 -184
  24. package/dist/vendor/zephyr3d/scene/dist/camera/camera.js.map +1 -1
  25. package/dist/vendor/zephyr3d/scene/dist/material/material.js +288 -288
  26. package/dist/vendor/zephyr3d/scene/dist/material/material.js.map +1 -1
  27. package/dist/vendor/zephyr3d/scene/dist/render/rendergraph/history_resource_manager.js +93 -93
  28. package/dist/vendor/zephyr3d/scene/dist/render/rendergraph/history_resource_manager.js.map +1 -1
  29. package/dist/vendor/zephyr3d/scene/dist/render/rendergraph/history_resources.js +3 -3
  30. package/dist/vendor/zephyr3d/scene/dist/render/rendergraph/history_resources.js.map +1 -1
  31. package/dist/vendor/zephyr3d/scene/dist/render/rendergraph/types.js +22 -22
  32. package/dist/vendor/zephyr3d/scene/dist/render/rendergraph/types.js.map +1 -1
  33. package/dist/vendor/zephyr3d/scene/dist/utility/blueprint/material/ir.js +489 -489
  34. package/dist/vendor/zephyr3d/scene/dist/utility/blueprint/material/ir.js.map +1 -1
  35. package/dist/vendor/zephyr3d/scene/dist/utility/serialization/scene/animation.js.map +1 -1
  36. package/dist/vendor/zephyr3d/scene/dist/utility/serialization/scene/camera.js.map +1 -1
  37. package/dist/vendor/zephyr3d/scene/dist/utility/serialization/scene/common.js.map +1 -1
  38. package/dist/vendor/zephyr3d/scene/dist/utility/serialization/scene/light.js.map +1 -1
  39. package/dist/vendor/zephyr3d/scene/dist/utility/serialization/scene/material.js.map +1 -1
  40. package/dist/vendor/zephyr3d/scene/dist/utility/serialization/scene/mesh.js.map +1 -1
  41. package/dist/vendor/zephyr3d/scene/dist/utility/serialization/scene/node.js.map +1 -1
  42. package/dist/vendor/zephyr3d/scene/dist/utility/serialization/scene/particle.js.map +1 -1
  43. package/dist/vendor/zephyr3d/scene/dist/utility/serialization/scene/primitive.js.map +1 -1
  44. package/dist/vendor/zephyr3d/scene/dist/utility/serialization/scene/scene.js.map +1 -1
  45. package/dist/vendor/zephyr3d/scene/dist/utility/serialization/scene/terrain.js.map +1 -1
  46. package/dist/vendor/zephyr3d/scene/dist/utility/serialization/types.js +4 -4
  47. package/dist/vendor/zephyr3d/scene/dist/utility/serialization/types.js.map +1 -1
  48. package/package.json +1 -1
package/README.md ADDED
@@ -0,0 +1,143 @@
1
+ # @zephyr3d/editor
2
+
3
+ `@zephyr3d/editor` is the Zephyr3D visual editor package.
4
+
5
+ It contains:
6
+
7
+ - the browser-based editor application
8
+ - the Electron desktop shell
9
+ - the embedded MCP server used by desktop builds
10
+ - the public TypeScript types for authoring editor plugins
11
+
12
+ The editor is built on top of the Zephyr3D engine packages and is intended for scene editing, asset management, scripting, terrain editing, material editing, and automation workflows.
13
+
14
+ ## Highlights
15
+
16
+ - Browser-first visual editor built with TypeScript
17
+ - Scene, material, terrain, and scripting workflows in one package
18
+ - Electron desktop runtime for local projects and persistent storage
19
+ - Embedded local MCP service for agent-driven automation
20
+ - Plugin API for menus, toolbars, edit tools, property panels, and custom scene helpers
21
+
22
+ ## Package Layout
23
+
24
+ - `src/`: editor source code
25
+ - `electron/`: Electron main/preload code
26
+ - `mcp/`: embedded MCP server entry
27
+ - `dist/`: build output
28
+
29
+ ## Development
30
+
31
+ Build the editor:
32
+
33
+ ```sh
34
+ rush build --to editor
35
+ ```
36
+
37
+ Serve the browser build locally after building:
38
+
39
+ ```sh
40
+ npm run serve --prefix utility/editor
41
+ ```
42
+
43
+ Build and launch the Electron desktop app for development:
44
+
45
+ ```sh
46
+ npm run electron:dev --prefix utility/editor
47
+ ```
48
+
49
+ Launch the Electron app from an existing build:
50
+
51
+ ```sh
52
+ npm run electron:start --prefix utility/editor
53
+ ```
54
+
55
+ Create a packaged desktop build:
56
+
57
+ ```sh
58
+ npm run electron:dist --prefix utility/editor
59
+ ```
60
+
61
+ ## Desktop Runtime
62
+
63
+ The Electron build is an additive desktop runtime for the browser editor.
64
+
65
+ - Browser builds continue to use the existing VFS abstraction and browser storage.
66
+ - Desktop builds expose a constrained preload bridge instead of direct Node.js access in renderer code.
67
+ - Editor metadata, system plugins, and local projects are stored under Electron `app.getPath('userData')/editor-storage`.
68
+
69
+ ## MCP Integration
70
+
71
+ Desktop builds embed a local MCP HTTP server in the same process as the editor.
72
+
73
+ - Default endpoint: `http://127.0.0.1:47231/mcp`
74
+ - The service binds to `127.0.0.1` only
75
+ - MCP settings are managed from `Editor > Editor Settings...`
76
+
77
+ This makes the editor usable both as an interactive desktop tool and as an automation target for agent clients.
78
+
79
+ ## Plugin API
80
+
81
+ This package also exposes the public plugin authoring types at:
82
+
83
+ ```ts
84
+ import type { EditorPlugin } from '@zephyr3d/editor/editor-plugin';
85
+ ```
86
+
87
+ If you are building an editor plugin outside this repository, install the package as a development dependency:
88
+
89
+ ```sh
90
+ npm install --save-dev @zephyr3d/editor
91
+ ```
92
+
93
+ Minimal plugin example:
94
+
95
+ ```ts
96
+ import type { EditorPlugin } from '@zephyr3d/editor/editor-plugin';
97
+
98
+ const plugin: EditorPlugin = {
99
+ id: 'com.example.editor-plugin',
100
+ name: 'Example Editor Plugin',
101
+ version: '0.1.0',
102
+ activate(ctx) {
103
+ ctx.registerMenuItems({
104
+ location: 'main',
105
+ parentId: 'project',
106
+ items: [
107
+ {
108
+ id: 'example-editor-plugin.about',
109
+ label: 'Example Plugin...',
110
+ action: async () => {
111
+ await ctx.ui.message(
112
+ 'Example Plugin',
113
+ 'This command is provided by a system plugin.'
114
+ );
115
+ }
116
+ }
117
+ ]
118
+ });
119
+ }
120
+ };
121
+
122
+ export default plugin;
123
+ ```
124
+
125
+ The plugin API supports:
126
+
127
+ - main menu and context menu contributions
128
+ - toolbar contributions
129
+ - custom edit tools
130
+ - node proxy factories
131
+ - custom property accessors
132
+ - project storage and system plugin state/settings
133
+ - editor event subscriptions
134
+
135
+ ## Related Links
136
+
137
+ - Repository: https://github.com/gavinyork/zephyr3d
138
+ - Documentation: https://zephyr3d.org/doc/
139
+ - Online editor: https://zephyr3d.org/editor/
140
+
141
+ ## License
142
+
143
+ MIT
@@ -39207,7 +39207,7 @@ class DlgEditorSettings extends DialogRenderer {
39207
39207
  return this._clearApiKey;
39208
39208
  }
39209
39209
  }
39210
- const EDITOR_VERSION = "0.2.0";
39210
+ const EDITOR_VERSION = "0.3.0";
39211
39211
  class DlgAbout extends DialogRenderer {
39212
39212
  static LABEL_COLUMN_WIDTH = 110;
39213
39213
  static about(title) {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 1,
3
- "generatedAt": "2026-05-12T03:42:44.481Z",
3
+ "generatedAt": "2026-05-12T04:07:44.038Z",
4
4
  "vendorRoot": "dist/vendor/zephyr3d",
5
5
  "packages": [
6
6
  "base",
package/dist/index.html CHANGED
@@ -29,7 +29,7 @@
29
29
  canvas:focus {
30
30
  outline: none;
31
31
  }
32
- </style>
32
+ </style>
33
33
 
34
34
  <script type="importmap">
35
35
  {
@@ -43,7 +43,7 @@
43
43
  }
44
44
  }
45
45
  </script>
46
- <script type="module" crossorigin src="./assets/index-BaUzUcND.js"></script>
46
+ <script type="module" crossorigin src="./assets/index-IISR7uQv.js"></script>
47
47
  </head>
48
48
  <body>
49
49
  <canvas id="canvas"></canvas>