@needle-tools/engine 5.1.0-alpha.1 → 5.1.0-alpha.3
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/.needle/generated/needle-bindings.gen.d.ts +5 -0
- package/CHANGELOG.md +52 -0
- package/components.needle.json +1 -1
- package/dist/{gltf-progressive-DJBMx-zB.umd.cjs → gltf-progressive-BmblPzFj.umd.cjs} +4 -4
- package/dist/{gltf-progressive-BryRjllq.min.js → gltf-progressive-CN_mbb66.min.js} +2 -2
- package/dist/{gltf-progressive-Cl167Vjx.js → gltf-progressive-DUlhxdv4.js} +5 -2
- package/dist/needle-engine.bundle-C-ixARur.umd.cjs +1733 -0
- package/dist/needle-engine.bundle-CHmXdnE1.min.js +1733 -0
- package/dist/{needle-engine.bundle-BGyKqxBH.js → needle-engine.bundle-DF01sSGQ.js} +10841 -10434
- package/dist/needle-engine.d.ts +244 -54
- package/dist/needle-engine.js +541 -536
- package/dist/needle-engine.min.js +1 -1
- package/dist/needle-engine.umd.cjs +1 -1
- package/dist/{postprocessing-B_9sKVU7.min.js → postprocessing-B571qGWR.min.js} +34 -34
- package/dist/{postprocessing-WDc9WwI3.js → postprocessing-CfrLAbLX.js} +0 -1
- package/dist/{postprocessing-B2wb6pzI.umd.cjs → postprocessing-CiGkAeM9.umd.cjs} +17 -17
- package/dist/{vendor-CAcsI0eU.js → vendor-BFrMaK9q.js} +8983 -9136
- package/dist/vendor-CJmyOrCq.min.js +1116 -0
- package/dist/vendor-DkMW3WY4.umd.cjs +1116 -0
- package/lib/engine/api.d.ts +14 -0
- package/lib/engine/api.js +4 -0
- package/lib/engine/api.js.map +1 -1
- package/lib/engine/debug/debug_environment.js +1 -1
- package/lib/engine/debug/debug_environment.js.map +1 -1
- package/lib/engine/debug/debug_spatial_console.d.ts +2 -0
- package/lib/engine/debug/debug_spatial_console.js +10 -7
- package/lib/engine/debug/debug_spatial_console.js.map +1 -1
- package/lib/engine/engine_addressables.d.ts +2 -0
- package/lib/engine/engine_addressables.js +6 -3
- package/lib/engine/engine_addressables.js.map +1 -1
- package/lib/engine/engine_application.js +8 -6
- package/lib/engine/engine_application.js.map +1 -1
- package/lib/engine/engine_audio.d.ts +68 -0
- package/lib/engine/engine_audio.js +172 -0
- package/lib/engine/engine_audio.js.map +1 -1
- package/lib/engine/engine_components.js +1 -1
- package/lib/engine/engine_components.js.map +1 -1
- package/lib/engine/engine_constants.js +6 -0
- package/lib/engine/engine_constants.js.map +1 -1
- package/lib/engine/engine_context.d.ts +33 -7
- package/lib/engine/engine_context.js +40 -2
- package/lib/engine/engine_context.js.map +1 -1
- package/lib/engine/engine_context_registry.js +1 -1
- package/lib/engine/engine_context_registry.js.map +1 -1
- package/lib/engine/engine_gameobject.js +2 -2
- package/lib/engine/engine_gameobject.js.map +1 -1
- package/lib/engine/engine_init.js +16 -1
- package/lib/engine/engine_init.js.map +1 -1
- package/lib/engine/engine_input.d.ts +3 -2
- package/lib/engine/engine_input.js +3 -2
- package/lib/engine/engine_input.js.map +1 -1
- package/lib/engine/engine_license.d.ts +2 -0
- package/lib/engine/engine_license.js +25 -15
- package/lib/engine/engine_license.js.map +1 -1
- package/lib/engine/engine_lifecycle_functions_internal.js +5 -0
- package/lib/engine/engine_lifecycle_functions_internal.js.map +1 -1
- package/lib/engine/engine_mainloop_utils.js +5 -2
- package/lib/engine/engine_mainloop_utils.js.map +1 -1
- package/lib/engine/engine_networking_blob.d.ts +1 -1
- package/lib/engine/engine_networking_blob.js +5 -11
- package/lib/engine/engine_networking_blob.js.map +1 -1
- package/lib/engine/engine_physics_rapier.js +0 -1
- package/lib/engine/engine_physics_rapier.js.map +1 -1
- package/lib/engine/engine_pmrem.js +2 -2
- package/lib/engine/engine_pmrem.js.map +1 -1
- package/lib/engine/engine_scenedata.d.ts +32 -0
- package/lib/engine/engine_scenedata.js +138 -0
- package/lib/engine/engine_scenedata.js.map +1 -0
- package/lib/engine/engine_serialization_builtin_serializer.d.ts +10 -16
- package/lib/engine/engine_serialization_builtin_serializer.js +55 -41
- package/lib/engine/engine_serialization_builtin_serializer.js.map +1 -1
- package/lib/engine/engine_ssr.d.ts +18 -0
- package/lib/engine/engine_ssr.js +40 -0
- package/lib/engine/engine_ssr.js.map +1 -0
- package/lib/engine/engine_three_utils.d.ts +14 -7
- package/lib/engine/engine_three_utils.js +14 -7
- package/lib/engine/engine_three_utils.js.map +1 -1
- package/lib/engine/engine_types.d.ts +2 -0
- package/lib/engine/engine_types.js.map +1 -1
- package/lib/engine/engine_utils.js +2 -0
- package/lib/engine/engine_utils.js.map +1 -1
- package/lib/engine/engine_utils_hash.d.ts +9 -0
- package/lib/engine/engine_utils_hash.js +112 -0
- package/lib/engine/engine_utils_hash.js.map +1 -0
- package/lib/engine/physics/workers/mesh-bvh/GenerateMeshBVHWorker.js +1 -1
- package/lib/engine/physics/workers/mesh-bvh/GenerateMeshBVHWorker.js.map +1 -1
- package/lib/engine/webcomponents/jsx.d.ts +51 -0
- package/lib/engine/webcomponents/logo-element.d.ts +2 -1
- package/lib/engine/webcomponents/logo-element.js +2 -1
- package/lib/engine/webcomponents/logo-element.js.map +1 -1
- package/lib/engine/webcomponents/needle menu/needle-menu.d.ts +4 -4
- package/lib/engine/webcomponents/needle menu/needle-menu.js +2 -1
- package/lib/engine/webcomponents/needle menu/needle-menu.js.map +1 -1
- package/lib/engine/webcomponents/needle-button.d.ts +2 -1
- package/lib/engine/webcomponents/needle-button.js +2 -1
- package/lib/engine/webcomponents/needle-button.js.map +1 -1
- package/lib/engine/webcomponents/needle-engine.d.ts +11 -4
- package/lib/engine/webcomponents/needle-engine.js +2 -1
- package/lib/engine/webcomponents/needle-engine.js.map +1 -1
- package/lib/engine/xr/NeedleXRSession.d.ts +3 -2
- package/lib/engine/xr/NeedleXRSession.js +51 -15
- package/lib/engine/xr/NeedleXRSession.js.map +1 -1
- package/lib/engine/xr/events.d.ts +1 -1
- package/lib/engine/xr/events.js.map +1 -1
- package/lib/engine-components/Animation.js +17 -16
- package/lib/engine-components/Animation.js.map +1 -1
- package/lib/engine-components/AnimatorController.d.ts +2 -0
- package/lib/engine-components/AnimatorController.js +4 -1
- package/lib/engine-components/AnimatorController.js.map +1 -1
- package/lib/engine-components/AudioSource.d.ts +19 -3
- package/lib/engine-components/AudioSource.js +121 -68
- package/lib/engine-components/AudioSource.js.map +1 -1
- package/lib/engine-components/DragControls.d.ts +7 -0
- package/lib/engine-components/DragControls.js +19 -0
- package/lib/engine-components/DragControls.js.map +1 -1
- package/lib/engine-components/Light.d.ts +6 -8
- package/lib/engine-components/Light.js +40 -27
- package/lib/engine-components/Light.js.map +1 -1
- package/lib/engine-components/Networking.d.ts +1 -1
- package/lib/engine-components/Networking.js +1 -1
- package/lib/engine-components/OrbitControls.js +16 -11
- package/lib/engine-components/OrbitControls.js.map +1 -1
- package/lib/engine-components/ReflectionProbe.js +2 -0
- package/lib/engine-components/ReflectionProbe.js.map +1 -1
- package/lib/engine-components/RigidBody.js +3 -3
- package/lib/engine-components/RigidBody.js.map +1 -1
- package/lib/engine-components/SceneSwitcher.js +2 -0
- package/lib/engine-components/SceneSwitcher.js.map +1 -1
- package/lib/engine-components/SeeThrough.js +2 -2
- package/lib/engine-components/SeeThrough.js.map +1 -1
- package/lib/engine-components/api.d.ts +1 -1
- package/lib/engine-components/api.js +1 -1
- package/lib/engine-components/api.js.map +1 -1
- package/lib/engine-components/postprocessing/Effects/BloomEffect.d.ts +1 -1
- package/lib/engine-components/postprocessing/Effects/Sharpening.js +1 -2
- package/lib/engine-components/postprocessing/Effects/Sharpening.js.map +1 -1
- package/lib/engine-components/postprocessing/Effects/Tonemapping.utils.d.ts +1 -1
- package/lib/engine-components/postprocessing/PostProcessingHandler.js +5 -6
- package/lib/engine-components/postprocessing/PostProcessingHandler.js.map +1 -1
- package/lib/engine-components/postprocessing/VolumeParameter.d.ts +2 -0
- package/lib/engine-components/postprocessing/VolumeParameter.js +4 -1
- package/lib/engine-components/postprocessing/VolumeParameter.js.map +1 -1
- package/lib/engine-components/ui/Canvas.d.ts +1 -1
- package/lib/engine-components/ui/Canvas.js +2 -8
- package/lib/engine-components/ui/Canvas.js.map +1 -1
- package/lib/engine-components/ui/Text.d.ts +1 -0
- package/lib/engine-components/ui/Text.js +10 -7
- package/lib/engine-components/ui/Text.js.map +1 -1
- package/lib/engine-components/web/CursorFollow.js +21 -12
- package/lib/engine-components/web/CursorFollow.js.map +1 -1
- package/lib/engine-components/web/ScrollFollow.d.ts +0 -1
- package/lib/engine-components/web/ScrollFollow.js +3 -2
- package/lib/engine-components/web/ScrollFollow.js.map +1 -1
- package/lib/engine-components/webxr/WebXRImageTracking.js +4 -0
- package/lib/engine-components/webxr/WebXRImageTracking.js.map +1 -1
- package/lib/needle-engine.d.ts +2 -0
- package/lib/needle-engine.js +2 -0
- package/lib/needle-engine.js.map +1 -1
- package/package.json +6 -4
- package/plugins/dts-generator/dts.codegen.js +334 -0
- package/plugins/dts-generator/dts.scan.js +99 -0
- package/plugins/dts-generator/dts.writer.js +59 -0
- package/plugins/dts-generator/glb.discovery.js +279 -0
- package/plugins/dts-generator/glb.extractor.js +215 -0
- package/plugins/dts-generator/glb.reader.js +167 -0
- package/plugins/dts-generator/index.js +36 -0
- package/plugins/dts-generator/manifest.types.js +174 -0
- package/plugins/types/index.d.ts +2 -1
- package/plugins/types/needle-bindings.d.ts +30 -0
- package/plugins/types/userconfig.d.ts +21 -2
- package/plugins/vite/asap.js +18 -9
- package/plugins/vite/dependencies.js +29 -0
- package/plugins/vite/dependency-watcher.d.ts +2 -2
- package/plugins/vite/dependency-watcher.js +3 -4
- package/plugins/vite/drop.d.ts +2 -2
- package/plugins/vite/drop.js +3 -4
- package/plugins/vite/dts-generator.d.ts +7 -0
- package/plugins/vite/dts-generator.js +191 -0
- package/plugins/vite/index.d.ts +10 -3
- package/plugins/vite/index.js +27 -10
- package/plugins/vite/local-files-core.js +3 -3
- package/plugins/vite/local-files-utils.d.ts +3 -1
- package/plugins/vite/local-files-utils.js +29 -5
- package/plugins/vite/logging.js +2 -2
- package/plugins/vite/meta.js +4 -2
- package/plugins/vite/poster.d.ts +2 -2
- package/plugins/vite/poster.js +3 -5
- package/plugins/vite/reload.d.ts +2 -2
- package/plugins/vite/reload.js +23 -22
- package/src/engine/api.ts +18 -1
- package/src/engine/debug/debug_environment.ts +1 -1
- package/src/engine/debug/debug_spatial_console.ts +10 -7
- package/src/engine/engine_addressables.ts +6 -3
- package/src/engine/engine_application.ts +8 -6
- package/src/engine/engine_audio.ts +184 -0
- package/src/engine/engine_components.ts +1 -1
- package/src/engine/engine_constants.ts +11 -6
- package/src/engine/engine_context.ts +50 -7
- package/src/engine/engine_context_registry.ts +1 -1
- package/src/engine/engine_gameobject.ts +2 -2
- package/src/engine/engine_init.ts +15 -1
- package/src/engine/engine_input.ts +3 -2
- package/src/engine/engine_license.ts +23 -19
- package/src/engine/engine_lifecycle_functions_internal.ts +7 -0
- package/src/engine/engine_mainloop_utils.ts +5 -2
- package/src/engine/engine_networking_blob.ts +5 -11
- package/src/engine/engine_physics_rapier.ts +0 -3
- package/src/engine/engine_pmrem.ts +3 -3
- package/src/engine/engine_scenedata.ts +136 -0
- package/src/engine/engine_serialization_builtin_serializer.ts +63 -46
- package/src/engine/engine_ssr.ts +48 -0
- package/src/engine/engine_three_utils.ts +15 -7
- package/src/engine/engine_types.ts +2 -0
- package/src/engine/engine_utils.ts +1 -0
- package/src/engine/engine_utils_hash.ts +65 -0
- package/src/engine/physics/workers/mesh-bvh/GenerateMeshBVHWorker.js +1 -1
- package/src/engine/webcomponents/jsx.d.ts +51 -0
- package/src/engine/webcomponents/logo-element.ts +3 -1
- package/src/engine/webcomponents/needle menu/needle-menu.ts +4 -2
- package/src/engine/webcomponents/needle-button.ts +3 -1
- package/src/engine/webcomponents/needle-engine.ts +12 -4
- package/src/engine/xr/NeedleXRSession.ts +49 -14
- package/src/engine/xr/events.ts +1 -1
- package/src/engine-components/Animation.ts +19 -16
- package/src/engine-components/AnimatorController.ts +4 -1
- package/src/engine-components/AudioSource.ts +130 -79
- package/src/engine-components/DragControls.ts +18 -2
- package/src/engine-components/Light.ts +40 -26
- package/src/engine-components/Networking.ts +1 -1
- package/src/engine-components/OrbitControls.ts +18 -9
- package/src/engine-components/ReflectionProbe.ts +2 -0
- package/src/engine-components/RigidBody.ts +3 -3
- package/src/engine-components/SceneSwitcher.ts +1 -0
- package/src/engine-components/SeeThrough.ts +2 -2
- package/src/engine-components/api.ts +1 -1
- package/src/engine-components/postprocessing/Effects/BloomEffect.ts +1 -1
- package/src/engine-components/postprocessing/Effects/Sharpening.ts +1 -2
- package/src/engine-components/postprocessing/PostProcessingHandler.ts +4 -8
- package/src/engine-components/postprocessing/VolumeParameter.ts +4 -1
- package/src/engine-components/ui/Canvas.ts +2 -8
- package/src/engine-components/ui/Text.ts +12 -8
- package/src/engine-components/web/CursorFollow.ts +21 -13
- package/src/engine-components/web/ScrollFollow.ts +2 -2
- package/src/engine-components/webxr/WebXRImageTracking.ts +2 -0
- package/src/needle-engine.ts +3 -0
- package/src/vite-env.d.ts +16 -0
- package/dist/needle-engine.bundle-CiYtOO2O.min.js +0 -1732
- package/dist/needle-engine.bundle-DzVx9Z8D.umd.cjs +0 -1732
- package/dist/vendor-CEM38hLE.umd.cjs +0 -1116
- package/dist/vendor-HRlxIBga.min.js +0 -1116
|
@@ -0,0 +1,138 @@
|
|
|
1
|
+
import { isDevEnvironment } from "./debug/index.js";
|
|
2
|
+
import { getComponent } from "./engine_components.js";
|
|
3
|
+
import { ContextRegistry } from "./engine_context_registry.js";
|
|
4
|
+
import { TypeStore } from "./engine_typestore.js";
|
|
5
|
+
/**
|
|
6
|
+
* Quick access to the current Needle Engine context from anywhere — no need to pass `ctx` around.
|
|
7
|
+
* Use it in React/Svelte/Vue components, button handlers, or plain JavaScript.
|
|
8
|
+
*
|
|
9
|
+
* Safe to import at module level, including in SSR environments.
|
|
10
|
+
* For pages with multiple `<needle-engine>` elements, use `ctx` directly instead.
|
|
11
|
+
*
|
|
12
|
+
* @experimental This API may change in future releases.
|
|
13
|
+
*
|
|
14
|
+
* @example
|
|
15
|
+
* import { needle } from "@needle-tools/engine";
|
|
16
|
+
* button.onclick = () => {
|
|
17
|
+
* needle.sceneData.Camera.OrbitControls.autoRotate = true;
|
|
18
|
+
* };
|
|
19
|
+
*/
|
|
20
|
+
export const needle = new Proxy({}, {
|
|
21
|
+
get(_target, prop) {
|
|
22
|
+
if (prop === "then")
|
|
23
|
+
return undefined; // not a Promise
|
|
24
|
+
const ctx = ContextRegistry.Current;
|
|
25
|
+
if (!ctx) {
|
|
26
|
+
const fn = isDevEnvironment() ? console.error : console.warn;
|
|
27
|
+
fn(`[needle] needle.${prop} was accessed before the scene started. Use "needle" inside event handlers or callbacks, not at module top-level. For setup code use: onStart(ctx => { ... })`);
|
|
28
|
+
return makeErrorProxy(`needle not ready — scene hasn't started yet`);
|
|
29
|
+
}
|
|
30
|
+
const val = ctx[prop];
|
|
31
|
+
return typeof val === "function" ? val.bind(ctx) : val;
|
|
32
|
+
},
|
|
33
|
+
set(_target, prop, value) {
|
|
34
|
+
const ctx = ContextRegistry.Current;
|
|
35
|
+
if (!ctx) {
|
|
36
|
+
const fn = isDevEnvironment() ? console.error : console.warn;
|
|
37
|
+
fn(`[needle] needle.${prop} was set before the scene started. Use "needle" inside event handlers or callbacks, not at module top-level. For setup code use: onStart(ctx => { ... })`);
|
|
38
|
+
return true;
|
|
39
|
+
}
|
|
40
|
+
ctx[prop] = value;
|
|
41
|
+
return true;
|
|
42
|
+
},
|
|
43
|
+
});
|
|
44
|
+
const cache = new WeakMap();
|
|
45
|
+
/**
|
|
46
|
+
* Returns a proxy that silently absorbs any property get/set and logs a
|
|
47
|
+
* developer-friendly warning. Used when a node or component lookup fails so
|
|
48
|
+
* that chained access like `ctx.sceneData.Foo.Bar.baz = 1` never throws.
|
|
49
|
+
*/
|
|
50
|
+
function makeErrorProxy(message) {
|
|
51
|
+
const handler = {
|
|
52
|
+
get(_t, prop) {
|
|
53
|
+
if (prop === "then")
|
|
54
|
+
return undefined; // not a Promise
|
|
55
|
+
const fn = isDevEnvironment() ? console.error : console.warn;
|
|
56
|
+
fn(`[SceneData] ${message}`);
|
|
57
|
+
return makeErrorProxy(message);
|
|
58
|
+
},
|
|
59
|
+
set(_t, prop) {
|
|
60
|
+
const fn = isDevEnvironment() ? console.error : console.warn;
|
|
61
|
+
fn(`[SceneData] ${message} (tried to set "${prop}")`);
|
|
62
|
+
return true; // suppress TypeError
|
|
63
|
+
},
|
|
64
|
+
};
|
|
65
|
+
return new Proxy({}, handler);
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* Returns a proxy for a scene node that exposes `$object`, `$components`,
|
|
69
|
+
* and child nodes as nested properties.
|
|
70
|
+
*/
|
|
71
|
+
function makeNodeProxy(ctx, node) {
|
|
72
|
+
return new Proxy({}, {
|
|
73
|
+
get(_t, prop) {
|
|
74
|
+
if (prop === "$object")
|
|
75
|
+
return node;
|
|
76
|
+
if (prop === "$components") {
|
|
77
|
+
return new Proxy({}, {
|
|
78
|
+
get(_t2, compName) {
|
|
79
|
+
if (compName === "then")
|
|
80
|
+
return undefined;
|
|
81
|
+
const ctor = TypeStore.get(compName);
|
|
82
|
+
if (!ctor)
|
|
83
|
+
return makeErrorProxy(`Component type "${compName}" not registered (node "${node.name}")`);
|
|
84
|
+
const comp = getComponent(node, ctor);
|
|
85
|
+
if (!comp)
|
|
86
|
+
return makeErrorProxy(`Component "${compName}" not found on node "${node.name}"`);
|
|
87
|
+
return comp;
|
|
88
|
+
}
|
|
89
|
+
});
|
|
90
|
+
}
|
|
91
|
+
if (prop === "then")
|
|
92
|
+
return undefined; // not a Promise
|
|
93
|
+
// Child node lookup by name
|
|
94
|
+
const child = node.children.find(c => c.name === prop) ?? null;
|
|
95
|
+
if (!child) {
|
|
96
|
+
const fn = isDevEnvironment() ? console.error : console.warn;
|
|
97
|
+
fn(`[SceneData] "${prop}" is not a child of "${node.name}". Use .$object to get the Three.js object or .$components.Name to access a component.`);
|
|
98
|
+
return makeErrorProxy(`"${prop}" not found on node "${node.name}"`);
|
|
99
|
+
}
|
|
100
|
+
return makeNodeProxy(ctx, child);
|
|
101
|
+
}
|
|
102
|
+
});
|
|
103
|
+
}
|
|
104
|
+
/**
|
|
105
|
+
* Returns a lazily-resolved proxy typed as {@link SceneData}.
|
|
106
|
+
* The proxy is cached per context — each context gets exactly one instance.
|
|
107
|
+
*
|
|
108
|
+
* Shape mirrors the generated `needle-bindings.gen.d.ts`:
|
|
109
|
+
* ctx.sceneData.MyGlb.Camera.$components.OrbitControls.autoRotate = true;
|
|
110
|
+
* ctx.sceneData.MyGlb.Camera.$object // → THREE.Camera
|
|
111
|
+
* ctx.sceneData.MyGlb.UI.Button.$components.Button // → Needle Button component
|
|
112
|
+
*
|
|
113
|
+
* GLB name is ignored at runtime (scene is already loaded).
|
|
114
|
+
* Node lookup starts at the scene root.
|
|
115
|
+
*/
|
|
116
|
+
export function getSceneData(ctx) {
|
|
117
|
+
let proxy = cache.get(ctx);
|
|
118
|
+
if (!proxy) {
|
|
119
|
+
proxy = new Proxy({}, {
|
|
120
|
+
get(_target, _glbName) {
|
|
121
|
+
// GLB name level — ignored at runtime, return node-name proxy
|
|
122
|
+
return new Proxy({}, {
|
|
123
|
+
get(_target, nodeName) {
|
|
124
|
+
if (nodeName === "then")
|
|
125
|
+
return undefined;
|
|
126
|
+
const node = ctx.scene.getObjectByName(nodeName) ?? null;
|
|
127
|
+
if (!node)
|
|
128
|
+
return makeErrorProxy(`Node "${nodeName}" not found in scene`);
|
|
129
|
+
return makeNodeProxy(ctx, node);
|
|
130
|
+
}
|
|
131
|
+
});
|
|
132
|
+
}
|
|
133
|
+
});
|
|
134
|
+
cache.set(ctx, proxy);
|
|
135
|
+
}
|
|
136
|
+
return proxy;
|
|
137
|
+
}
|
|
138
|
+
//# sourceMappingURL=engine_scenedata.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"engine_scenedata.js","sourceRoot":"","sources":["../../src/engine/engine_scenedata.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Color,
|
|
1
|
+
import { Color, Object3D } from "three";
|
|
2
2
|
import { Behaviour } from "../engine-components/Component.js";
|
|
3
3
|
import { EventList } from "../engine-components/EventList.js";
|
|
4
4
|
import { SerializationContext, TypeSerializer } from "./engine_serialization_core.js";
|
|
@@ -9,18 +9,6 @@ declare class ColorSerializer extends TypeSerializer {
|
|
|
9
9
|
onDeserialize(data: any): Color | RGBAColor | void;
|
|
10
10
|
onSerialize(data: any): any | void;
|
|
11
11
|
}
|
|
12
|
-
export declare const colorSerializer: ColorSerializer;
|
|
13
|
-
declare class EulerSerializer extends TypeSerializer {
|
|
14
|
-
constructor();
|
|
15
|
-
onDeserialize(data: any, _context: SerializationContext): Euler | undefined;
|
|
16
|
-
onSerialize(data: any, _context: SerializationContext): {
|
|
17
|
-
x: any;
|
|
18
|
-
y: any;
|
|
19
|
-
z: any;
|
|
20
|
-
order: any;
|
|
21
|
-
};
|
|
22
|
-
}
|
|
23
|
-
export declare const euler: EulerSerializer;
|
|
24
12
|
declare type ObjectData = {
|
|
25
13
|
node?: number;
|
|
26
14
|
guid?: string;
|
|
@@ -32,7 +20,6 @@ declare class ObjectSerializer extends TypeSerializer {
|
|
|
32
20
|
} | undefined;
|
|
33
21
|
onDeserialize(data: ObjectData | string | null, context: SerializationContext): Object3D<import("three").Object3DEventMap> | Behaviour | null | undefined;
|
|
34
22
|
}
|
|
35
|
-
export declare const objectSerializer: ObjectSerializer;
|
|
36
23
|
declare class ComponentSerializer extends TypeSerializer {
|
|
37
24
|
constructor();
|
|
38
25
|
onSerialize(data: any, _context: SerializationContext): {
|
|
@@ -41,7 +28,6 @@ declare class ComponentSerializer extends TypeSerializer {
|
|
|
41
28
|
onDeserialize(data: any, context: SerializationContext): any;
|
|
42
29
|
findObjectForGuid(guid: string, root: Object3D): any;
|
|
43
30
|
}
|
|
44
|
-
export declare const componentSerializer: ComponentSerializer;
|
|
45
31
|
declare class EventListData {
|
|
46
32
|
type: string;
|
|
47
33
|
calls: Array<EventListCall>;
|
|
@@ -58,7 +44,6 @@ declare class EventListSerializer extends TypeSerializer {
|
|
|
58
44
|
onSerialize(_data: EventList<any>, _context: SerializationContext): EventListData | undefined;
|
|
59
45
|
onDeserialize(data: EventListData, context: SerializationContext): EventList<any> | undefined | null;
|
|
60
46
|
}
|
|
61
|
-
export declare const eventListSerializer: EventListSerializer;
|
|
62
47
|
export declare class RenderTextureSerializer extends TypeSerializer {
|
|
63
48
|
constructor();
|
|
64
49
|
onSerialize(_data: any, _context: SerializationContext): void;
|
|
@@ -69,4 +54,13 @@ export declare class UriSerializer extends TypeSerializer {
|
|
|
69
54
|
onSerialize(_data: string, _context: SerializationContext): null;
|
|
70
55
|
onDeserialize(data: string, _context: SerializationContext): string | undefined;
|
|
71
56
|
}
|
|
57
|
+
export declare let colorSerializer: ColorSerializer;
|
|
58
|
+
export declare let objectSerializer: ObjectSerializer;
|
|
59
|
+
export declare let componentSerializer: ComponentSerializer;
|
|
60
|
+
export declare let eventListSerializer: EventListSerializer;
|
|
61
|
+
/** Register all builtin serializers and prototype patches.
|
|
62
|
+
* Must be called from {@link initEngine} so the registrations survive tree-shaking
|
|
63
|
+
* when the package declares `sideEffects: false`.
|
|
64
|
+
*/
|
|
65
|
+
export declare function initBuiltinSerializers(): void;
|
|
72
66
|
export {};
|
|
@@ -3,27 +3,13 @@ import { isDevEnvironment, showBalloonWarning } from "../engine/debug/index.js";
|
|
|
3
3
|
import { Behaviour, Component, GameObject } from "../engine-components/Component.js";
|
|
4
4
|
import { CallInfo, EventList } from "../engine-components/EventList.js";
|
|
5
5
|
import { AssetReference } from "./engine_addressables.js";
|
|
6
|
+
import { AudioClip } from "./engine_audio.js";
|
|
6
7
|
import { debugExtension } from "./engine_default_parameters.js";
|
|
7
8
|
import { TypeSerializer } from "./engine_serialization_core.js";
|
|
8
9
|
import { RenderTexture } from "./engine_texture.js";
|
|
9
10
|
import { resolveUrl } from "./engine_utils.js";
|
|
10
11
|
import { RGBAColor } from "./js-extensions/index.js";
|
|
11
|
-
//
|
|
12
|
-
// src?:string
|
|
13
|
-
// };
|
|
14
|
-
// class SourcePathSerializer extends TypeSerializer{
|
|
15
|
-
// constructor(){
|
|
16
|
-
// super(SourcePath);
|
|
17
|
-
// }
|
|
18
|
-
// onDeserialize(data: any, _context: SerializationContext) {
|
|
19
|
-
// if(data.src && typeof data.src === "string"){
|
|
20
|
-
// return data.src;
|
|
21
|
-
// }
|
|
22
|
-
// }
|
|
23
|
-
// onSerialize(_data: any, _context: SerializationContext) {
|
|
24
|
-
// }
|
|
25
|
-
// }
|
|
26
|
-
// new SourcePathSerializer();
|
|
12
|
+
// #region Color
|
|
27
13
|
class ColorSerializer extends TypeSerializer {
|
|
28
14
|
constructor() {
|
|
29
15
|
super([Color, RGBAColor], "ColorSerializer");
|
|
@@ -48,7 +34,7 @@ class ColorSerializer extends TypeSerializer {
|
|
|
48
34
|
return { r: data.r, g: data.g, b: data.b };
|
|
49
35
|
}
|
|
50
36
|
}
|
|
51
|
-
|
|
37
|
+
// #region Euler
|
|
52
38
|
class EulerSerializer extends TypeSerializer {
|
|
53
39
|
constructor() {
|
|
54
40
|
super([Euler], "EulerSerializer");
|
|
@@ -68,7 +54,7 @@ class EulerSerializer extends TypeSerializer {
|
|
|
68
54
|
return { x: data.x, y: data.y, z: data.z, order: data.order };
|
|
69
55
|
}
|
|
70
56
|
}
|
|
71
|
-
|
|
57
|
+
// #region ObjectSerializer
|
|
72
58
|
class ObjectSerializer extends TypeSerializer {
|
|
73
59
|
constructor() {
|
|
74
60
|
super(Object3D, "ObjectSerializer");
|
|
@@ -96,16 +82,6 @@ class ObjectSerializer extends TypeSerializer {
|
|
|
96
82
|
console.warn(`Wrong usage of @serializable detected in your script \"${scriptname}\"\n\nIt looks like you used @serializable(Object3D) or @serializable(GameObject) for a prefab or scene reference which is exported to a separate glTF file.\n\nTo fix this please change your code to:\n\n@serializable(AssetReference)\n${context.path}! : AssetReference;\n\0`);
|
|
97
83
|
}
|
|
98
84
|
// ACTUALLY: this is already handled by the extension_utils where we resolve json pointers recursively
|
|
99
|
-
// if(data.startsWith("/nodes/")){
|
|
100
|
-
// const node = parseInt(data.substring("/nodes/".length));
|
|
101
|
-
// if (context.nodeToObject) {
|
|
102
|
-
// const res = context.nodeToObject[node];
|
|
103
|
-
// if (debugExtension)
|
|
104
|
-
// console.log("Deserialized object reference?", data, res, context?.nodeToObject);
|
|
105
|
-
// if (!res) console.warn("Did not find node: " + data, context.nodeToObject, context.object);
|
|
106
|
-
// return res;
|
|
107
|
-
// }
|
|
108
|
-
// }
|
|
109
85
|
return undefined;
|
|
110
86
|
}
|
|
111
87
|
if (data) {
|
|
@@ -156,7 +132,7 @@ class ObjectSerializer extends TypeSerializer {
|
|
|
156
132
|
return undefined;
|
|
157
133
|
}
|
|
158
134
|
}
|
|
159
|
-
|
|
135
|
+
// #region ComponentSerializer
|
|
160
136
|
class ComponentSerializer extends TypeSerializer {
|
|
161
137
|
constructor() {
|
|
162
138
|
super([Component, Behaviour], "ComponentSerializer");
|
|
@@ -226,8 +202,8 @@ class ComponentSerializer extends TypeSerializer {
|
|
|
226
202
|
}
|
|
227
203
|
}
|
|
228
204
|
}
|
|
229
|
-
export const componentSerializer = new ComponentSerializer();
|
|
230
205
|
const $eventListDebugInfo = Symbol("eventListDebugInfo");
|
|
206
|
+
// #region EventListSerializer
|
|
231
207
|
class EventListSerializer extends TypeSerializer {
|
|
232
208
|
constructor() {
|
|
233
209
|
super([EventList]);
|
|
@@ -335,19 +311,11 @@ class EventListSerializer extends TypeSerializer {
|
|
|
335
311
|
return undefined;
|
|
336
312
|
}
|
|
337
313
|
}
|
|
338
|
-
export const eventListSerializer = new EventListSerializer();
|
|
339
314
|
/** Map<Clone, Original> texture. This is used for compressed textures (or when the GLTFLoader is cloning RenderTextures)
|
|
340
315
|
* It's a weak map so we don't have to worry about memory leaks
|
|
341
316
|
*/
|
|
342
317
|
const cloneOriginalMap = new WeakMap();
|
|
343
|
-
|
|
344
|
-
Texture.prototype.clone = function () {
|
|
345
|
-
const clone = textureClone.call(this);
|
|
346
|
-
if (!cloneOriginalMap.has(clone)) {
|
|
347
|
-
cloneOriginalMap.set(clone, this);
|
|
348
|
-
}
|
|
349
|
-
return clone;
|
|
350
|
-
};
|
|
318
|
+
// #region RenderTextureSerializer
|
|
351
319
|
export class RenderTextureSerializer extends TypeSerializer {
|
|
352
320
|
constructor() {
|
|
353
321
|
super([RenderTexture, WebGLRenderTarget]);
|
|
@@ -385,7 +353,7 @@ export class RenderTextureSerializer extends TypeSerializer {
|
|
|
385
353
|
return undefined;
|
|
386
354
|
}
|
|
387
355
|
}
|
|
388
|
-
|
|
356
|
+
// #region UriSerializer
|
|
389
357
|
export class UriSerializer extends TypeSerializer {
|
|
390
358
|
constructor() {
|
|
391
359
|
super([URL]);
|
|
@@ -400,5 +368,51 @@ export class UriSerializer extends TypeSerializer {
|
|
|
400
368
|
return undefined;
|
|
401
369
|
}
|
|
402
370
|
}
|
|
403
|
-
|
|
371
|
+
// #region AudioClipSerializer
|
|
372
|
+
class AudioClipSerializer extends TypeSerializer {
|
|
373
|
+
constructor() {
|
|
374
|
+
super([AudioClip]);
|
|
375
|
+
}
|
|
376
|
+
onSerialize(_data, _context) {
|
|
377
|
+
return null;
|
|
378
|
+
}
|
|
379
|
+
onDeserialize(data, context) {
|
|
380
|
+
if (typeof data === "string" && data.length > 0) {
|
|
381
|
+
const url = resolveUrl(context.gltfId, data);
|
|
382
|
+
if (url)
|
|
383
|
+
return new AudioClip(url);
|
|
384
|
+
}
|
|
385
|
+
return undefined;
|
|
386
|
+
}
|
|
387
|
+
}
|
|
388
|
+
// #region Init serializer
|
|
389
|
+
// Module-level references used by EventListSerializer internally
|
|
390
|
+
export let colorSerializer;
|
|
391
|
+
export let objectSerializer;
|
|
392
|
+
export let componentSerializer;
|
|
393
|
+
export let eventListSerializer;
|
|
394
|
+
/** Register all builtin serializers and prototype patches.
|
|
395
|
+
* Must be called from {@link initEngine} so the registrations survive tree-shaking
|
|
396
|
+
* when the package declares `sideEffects: false`.
|
|
397
|
+
*/
|
|
398
|
+
export function initBuiltinSerializers() {
|
|
399
|
+
// Prototype patches
|
|
400
|
+
const textureClone = Texture.prototype.clone;
|
|
401
|
+
Texture.prototype.clone = function () {
|
|
402
|
+
const clone = textureClone.call(this);
|
|
403
|
+
if (!cloneOriginalMap.has(clone)) {
|
|
404
|
+
cloneOriginalMap.set(clone, this);
|
|
405
|
+
}
|
|
406
|
+
return clone;
|
|
407
|
+
};
|
|
408
|
+
// Register all serializers
|
|
409
|
+
colorSerializer = new ColorSerializer();
|
|
410
|
+
new EulerSerializer();
|
|
411
|
+
objectSerializer = new ObjectSerializer();
|
|
412
|
+
componentSerializer = new ComponentSerializer();
|
|
413
|
+
eventListSerializer = new EventListSerializer();
|
|
414
|
+
new RenderTextureSerializer();
|
|
415
|
+
new UriSerializer();
|
|
416
|
+
new AudioClipSerializer();
|
|
417
|
+
}
|
|
404
418
|
//# sourceMappingURL=engine_serialization_builtin_serializer.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"engine_serialization_builtin_serializer.js","sourceRoot":"","sources":["../../src/engine/engine_serialization_builtin_serializer.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"engine_serialization_builtin_serializer.js","sourceRoot":"","sources":["../../src/engine/engine_serialization_builtin_serializer.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* SSR-safe base classes for browser globals that are not available in Node/SSR environments.
|
|
3
|
+
*
|
|
4
|
+
* Use these instead of extending browser globals directly so that class definitions
|
|
5
|
+
* do not throw a ReferenceError at module evaluation time in SSR/Node contexts
|
|
6
|
+
* (SvelteKit, Next.js, etc.).
|
|
7
|
+
*
|
|
8
|
+
* In browser environments each constant is the real global; in SSR it falls back
|
|
9
|
+
* to a plain empty class so that `class Foo extends HTMLElementBase` is valid.
|
|
10
|
+
*/
|
|
11
|
+
/** True when running in an SSR/Node environment (no browser globals). */
|
|
12
|
+
export declare const SSR: boolean;
|
|
13
|
+
/** SSR-safe base class for web components. */
|
|
14
|
+
export declare const HTMLElementBase: typeof HTMLElement;
|
|
15
|
+
/** SSR-safe base class for pointer events. */
|
|
16
|
+
export declare const PointerEventBase: typeof PointerEvent;
|
|
17
|
+
/** SSR-safe base class for keyboard events. */
|
|
18
|
+
export declare const KeyboardEventBase: typeof KeyboardEvent;
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* SSR-safe base classes for browser globals that are not available in Node/SSR environments.
|
|
3
|
+
*
|
|
4
|
+
* Use these instead of extending browser globals directly so that class definitions
|
|
5
|
+
* do not throw a ReferenceError at module evaluation time in SSR/Node contexts
|
|
6
|
+
* (SvelteKit, Next.js, etc.).
|
|
7
|
+
*
|
|
8
|
+
* In browser environments each constant is the real global; in SSR it falls back
|
|
9
|
+
* to a plain empty class so that `class Foo extends HTMLElementBase` is valid.
|
|
10
|
+
*/
|
|
11
|
+
/** True when running in an SSR/Node environment (no browser globals). */
|
|
12
|
+
export const SSR = typeof window === "undefined";
|
|
13
|
+
/** SSR-safe base class for web components. */
|
|
14
|
+
export const HTMLElementBase = typeof HTMLElement !== "undefined" ? HTMLElement : class {
|
|
15
|
+
};
|
|
16
|
+
/** SSR-safe base class for pointer events. */
|
|
17
|
+
export const PointerEventBase = typeof PointerEvent !== "undefined" ? PointerEvent : class {
|
|
18
|
+
};
|
|
19
|
+
/** SSR-safe base class for keyboard events. */
|
|
20
|
+
export const KeyboardEventBase = typeof KeyboardEvent !== "undefined" ? KeyboardEvent : class {
|
|
21
|
+
};
|
|
22
|
+
// #region minimal polyfills
|
|
23
|
+
// Three.js FileLoader uses ProgressEvent in fetch stream callbacks.
|
|
24
|
+
// It doesn't exist in Node — install a minimal stub so SSR doesn't crash.
|
|
25
|
+
if (typeof globalThis.ProgressEvent === "undefined") {
|
|
26
|
+
globalThis.ProgressEvent = class ProgressEvent {
|
|
27
|
+
type;
|
|
28
|
+
lengthComputable;
|
|
29
|
+
loaded;
|
|
30
|
+
total;
|
|
31
|
+
constructor(type, init) {
|
|
32
|
+
this.type = type;
|
|
33
|
+
this.lengthComputable = init?.lengthComputable ?? false;
|
|
34
|
+
this.loaded = init?.loaded ?? 0;
|
|
35
|
+
this.total = init?.total ?? 0;
|
|
36
|
+
}
|
|
37
|
+
};
|
|
38
|
+
}
|
|
39
|
+
// #endregion
|
|
40
|
+
//# sourceMappingURL=engine_ssr.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"engine_ssr.js","sourceRoot":"","sources":["../../src/engine/engine_ssr.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAGH,yEAAyE;AACzE,MAAM,CAAC,MAAM,GAAG,GAAY,OAAO,MAAM,KAAK,WAAW,CAAC;AAE1D,8CAA8C;AAC9C,MAAM,CAAC,MAAM,eAAe,GACxB,OAAO,WAAW,KAAK,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAE;CAA2C,CAAC;AAEpG,8CAA8C;AAC9C,MAAM,CAAC,MAAM,gBAAgB,GACzB,OAAO,YAAY,KAAK,WAAW,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAE;CAA4C,CAAC;AAEvG,+CAA+C;AAC/C,MAAM,CAAC,MAAM,iBAAiB,GAC1B,OAAO,aAAa,KAAK,WAAW,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAE;CAA6C,CAAC;AAK1G,4BAA4B;AAC5B,oEAAoE;AACpE,0EAA0E;AAC1E,IAAI,OAAO,UAAU,CAAC,aAAa,KAAK,WAAW,EAAE,CAAC;IACjD,UAAkB,CAAC,aAAa,GAAG,MAAM,aAAa;QAC1C,IAAI,CAAS;QACb,gBAAgB,CAAU;QAC1B,MAAM,CAAS;QACf,KAAK,CAAS;QACvB,YAAY,IAAY,EAAE,IAAsE;YAC5F,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,gBAAgB,GAAG,IAAI,EAAE,gBAAgB,IAAI,KAAK,CAAC;YACxD,IAAI,CAAC,MAAM,GAAG,IAAI,EAAE,MAAM,IAAI,CAAC,CAAC;YAChC,IAAI,CAAC,KAAK,GAAG,IAAI,EAAE,KAAK,IAAI,CAAC,CAAC;QAClC,CAAC;KACJ,CAAC;AACN,CAAC;AACD,aAAa"}
|
|
@@ -120,13 +120,20 @@ export declare function isAnimationAction(obj: object): boolean;
|
|
|
120
120
|
* Utility class to perform various graphics operations like copying textures to canvas
|
|
121
121
|
*/
|
|
122
122
|
export declare class Graphics {
|
|
123
|
-
private static
|
|
124
|
-
private static
|
|
125
|
-
private static
|
|
126
|
-
private static
|
|
127
|
-
private static
|
|
128
|
-
private static
|
|
129
|
-
private static
|
|
123
|
+
private static _planeGeometry;
|
|
124
|
+
private static _renderer;
|
|
125
|
+
private static _perspectiveCam;
|
|
126
|
+
private static _orthographicCam;
|
|
127
|
+
private static _scene;
|
|
128
|
+
private static _blitMaterial;
|
|
129
|
+
private static _mesh;
|
|
130
|
+
private static get planeGeometry();
|
|
131
|
+
private static get renderer();
|
|
132
|
+
private static get perspectiveCam();
|
|
133
|
+
private static get orthographicCam();
|
|
134
|
+
private static get scene();
|
|
135
|
+
private static get blitMaterial();
|
|
136
|
+
private static get mesh();
|
|
130
137
|
/**
|
|
131
138
|
* Copy a texture to a new texture
|
|
132
139
|
* @param texture the texture to copy
|
|
@@ -414,13 +414,20 @@ void main(){
|
|
|
414
414
|
* Utility class to perform various graphics operations like copying textures to canvas
|
|
415
415
|
*/
|
|
416
416
|
export class Graphics {
|
|
417
|
-
static
|
|
418
|
-
static
|
|
419
|
-
static
|
|
420
|
-
static
|
|
421
|
-
static
|
|
422
|
-
static
|
|
423
|
-
static
|
|
417
|
+
static _planeGeometry;
|
|
418
|
+
static _renderer;
|
|
419
|
+
static _perspectiveCam;
|
|
420
|
+
static _orthographicCam;
|
|
421
|
+
static _scene;
|
|
422
|
+
static _blitMaterial;
|
|
423
|
+
static _mesh;
|
|
424
|
+
static get planeGeometry() { return this._planeGeometry ??= new PlaneGeometry(2, 2, 1, 1); }
|
|
425
|
+
static get renderer() { return this._renderer ??= new WebGLRenderer({ antialias: false, alpha: true }); }
|
|
426
|
+
static get perspectiveCam() { return this._perspectiveCam ??= new PerspectiveCamera(); }
|
|
427
|
+
static get orthographicCam() { return this._orthographicCam ??= new OrthographicCamera(); }
|
|
428
|
+
static get scene() { return this._scene ??= new Scene(); }
|
|
429
|
+
static get blitMaterial() { return this._blitMaterial ??= new BlitMaterial(); }
|
|
430
|
+
static get mesh() { return this._mesh ??= new Mesh(Graphics.planeGeometry, Graphics.blitMaterial); }
|
|
424
431
|
/**
|
|
425
432
|
* Copy a texture to a new texture
|
|
426
433
|
* @param texture the texture to copy
|