@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.
- package/README.md +143 -0
- package/dist/assets/{index-BaUzUcND.js → index-IISR7uQv.js} +1 -1
- package/dist/assistant/zephyr-types-index.json +1 -1
- package/dist/index.html +2 -2
- package/dist/modules/zephyr3d_backend-webgpu.js.map +1 -1
- package/dist/modules/zephyr3d_imgui.js +3 -3
- package/dist/modules/zephyr3d_imgui.js.map +1 -1
- package/dist/modules/zephyr3d_scene.js +1439 -1439
- package/dist/modules/zephyr3d_scene.js.map +1 -1
- package/dist/vendor/zephyr3d/backend-webgpu/dist/bindgroup_webgpu.js.map +1 -1
- package/dist/vendor/zephyr3d/backend-webgpu/dist/buffer_webgpu.js.map +1 -1
- package/dist/vendor/zephyr3d/backend-webgpu/dist/commandqueue.js.map +1 -1
- package/dist/vendor/zephyr3d/backend-webgpu/dist/uploadringbuffer.js.map +1 -1
- package/dist/vendor/zephyr3d/imgui/dist/imgui_impl.js.map +1 -1
- package/dist/vendor/zephyr3d/imgui/dist/renderer.js +3 -3
- package/dist/vendor/zephyr3d/imgui/dist/renderer.js.map +1 -1
- package/dist/vendor/zephyr3d/scene/dist/animation/animationset.js +135 -135
- package/dist/vendor/zephyr3d/scene/dist/animation/animationset.js.map +1 -1
- package/dist/vendor/zephyr3d/scene/dist/animation/joint_dynamics/controller.js +146 -146
- package/dist/vendor/zephyr3d/scene/dist/animation/joint_dynamics/controller.js.map +1 -1
- package/dist/vendor/zephyr3d/scene/dist/animation/spring/spring_system.js +75 -75
- package/dist/vendor/zephyr3d/scene/dist/animation/spring/spring_system.js.map +1 -1
- package/dist/vendor/zephyr3d/scene/dist/camera/camera.js +184 -184
- package/dist/vendor/zephyr3d/scene/dist/camera/camera.js.map +1 -1
- package/dist/vendor/zephyr3d/scene/dist/material/material.js +288 -288
- package/dist/vendor/zephyr3d/scene/dist/material/material.js.map +1 -1
- package/dist/vendor/zephyr3d/scene/dist/render/rendergraph/history_resource_manager.js +93 -93
- package/dist/vendor/zephyr3d/scene/dist/render/rendergraph/history_resource_manager.js.map +1 -1
- package/dist/vendor/zephyr3d/scene/dist/render/rendergraph/history_resources.js +3 -3
- package/dist/vendor/zephyr3d/scene/dist/render/rendergraph/history_resources.js.map +1 -1
- package/dist/vendor/zephyr3d/scene/dist/render/rendergraph/types.js +22 -22
- package/dist/vendor/zephyr3d/scene/dist/render/rendergraph/types.js.map +1 -1
- package/dist/vendor/zephyr3d/scene/dist/utility/blueprint/material/ir.js +489 -489
- package/dist/vendor/zephyr3d/scene/dist/utility/blueprint/material/ir.js.map +1 -1
- package/dist/vendor/zephyr3d/scene/dist/utility/serialization/scene/animation.js.map +1 -1
- package/dist/vendor/zephyr3d/scene/dist/utility/serialization/scene/camera.js.map +1 -1
- package/dist/vendor/zephyr3d/scene/dist/utility/serialization/scene/common.js.map +1 -1
- package/dist/vendor/zephyr3d/scene/dist/utility/serialization/scene/light.js.map +1 -1
- package/dist/vendor/zephyr3d/scene/dist/utility/serialization/scene/material.js.map +1 -1
- package/dist/vendor/zephyr3d/scene/dist/utility/serialization/scene/mesh.js.map +1 -1
- package/dist/vendor/zephyr3d/scene/dist/utility/serialization/scene/node.js.map +1 -1
- package/dist/vendor/zephyr3d/scene/dist/utility/serialization/scene/particle.js.map +1 -1
- package/dist/vendor/zephyr3d/scene/dist/utility/serialization/scene/primitive.js.map +1 -1
- package/dist/vendor/zephyr3d/scene/dist/utility/serialization/scene/scene.js.map +1 -1
- package/dist/vendor/zephyr3d/scene/dist/utility/serialization/scene/terrain.js.map +1 -1
- package/dist/vendor/zephyr3d/scene/dist/utility/serialization/types.js +4 -4
- package/dist/vendor/zephyr3d/scene/dist/utility/serialization/types.js.map +1 -1
- 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.
|
|
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) {
|
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-
|
|
46
|
+
<script type="module" crossorigin src="./assets/index-IISR7uQv.js"></script>
|
|
47
47
|
</head>
|
|
48
48
|
<body>
|
|
49
49
|
<canvas id="canvas"></canvas>
|