@needle-tools/engine 5.1.0-canary.db0c38f → 5.1.0-canary.deec6e4

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 (106) hide show
  1. package/.needle/generated/needle-bindings.gen.d.ts +5 -0
  2. package/CHANGELOG.md +34 -0
  3. package/components.needle.json +1 -1
  4. package/dist/{needle-engine.bundle-YnpzzOPL.min.js → needle-engine.bundle-1s2gOoKZ.min.js} +144 -144
  5. package/dist/{needle-engine.bundle-B29kieh0.js → needle-engine.bundle-CvtELXh0.js} +6650 -6584
  6. package/dist/{needle-engine.bundle-Dq0Ly8fW.umd.cjs → needle-engine.bundle-j4nGJXCs.umd.cjs} +138 -138
  7. package/dist/needle-engine.d.ts +101 -89
  8. package/dist/needle-engine.js +188 -186
  9. package/dist/needle-engine.min.js +1 -1
  10. package/dist/needle-engine.umd.cjs +1 -1
  11. package/lib/engine/api.d.ts +1 -1
  12. package/lib/engine/debug/debug_spatial_console.d.ts +2 -0
  13. package/lib/engine/debug/debug_spatial_console.js +10 -7
  14. package/lib/engine/debug/debug_spatial_console.js.map +1 -1
  15. package/lib/engine/engine_addressables.d.ts +2 -0
  16. package/lib/engine/engine_addressables.js +6 -3
  17. package/lib/engine/engine_addressables.js.map +1 -1
  18. package/lib/engine/engine_context.d.ts +21 -20
  19. package/lib/engine/engine_context.js +25 -14
  20. package/lib/engine/engine_context.js.map +1 -1
  21. package/lib/engine/engine_init.js +15 -0
  22. package/lib/engine/engine_init.js.map +1 -1
  23. package/lib/engine/engine_license.d.ts +2 -0
  24. package/lib/engine/engine_license.js +14 -6
  25. package/lib/engine/engine_license.js.map +1 -1
  26. package/lib/engine/engine_lifecycle_functions_internal.js +5 -0
  27. package/lib/engine/engine_lifecycle_functions_internal.js.map +1 -1
  28. package/lib/engine/engine_pmrem.js +2 -2
  29. package/lib/engine/engine_pmrem.js.map +1 -1
  30. package/lib/engine/engine_scenedata.d.ts +13 -17
  31. package/lib/engine/engine_scenedata.js +56 -29
  32. package/lib/engine/engine_scenedata.js.map +1 -1
  33. package/lib/engine/engine_serialization_builtin_serializer.d.ts +10 -16
  34. package/lib/engine/engine_serialization_builtin_serializer.js +28 -41
  35. package/lib/engine/engine_serialization_builtin_serializer.js.map +1 -1
  36. package/lib/engine/engine_ssr.d.ts +2 -0
  37. package/lib/engine/engine_ssr.js +20 -0
  38. package/lib/engine/engine_ssr.js.map +1 -1
  39. package/lib/engine/engine_types.d.ts +2 -0
  40. package/lib/engine/engine_types.js.map +1 -1
  41. package/lib/engine/webcomponents/jsx.d.ts +51 -0
  42. package/lib/engine/webcomponents/logo-element.js.map +1 -1
  43. package/lib/engine/webcomponents/needle menu/needle-menu.d.ts +2 -3
  44. package/lib/engine/webcomponents/needle menu/needle-menu.js.map +1 -1
  45. package/lib/engine/webcomponents/needle-button.js.map +1 -1
  46. package/lib/engine/webcomponents/needle-engine.js.map +1 -1
  47. package/lib/engine-components/AnimatorController.d.ts +2 -0
  48. package/lib/engine-components/AnimatorController.js +4 -1
  49. package/lib/engine-components/AnimatorController.js.map +1 -1
  50. package/lib/engine-components/Light.d.ts +6 -8
  51. package/lib/engine-components/Light.js +40 -27
  52. package/lib/engine-components/Light.js.map +1 -1
  53. package/lib/engine-components/ReflectionProbe.js +2 -0
  54. package/lib/engine-components/ReflectionProbe.js.map +1 -1
  55. package/lib/engine-components/postprocessing/VolumeParameter.d.ts +2 -0
  56. package/lib/engine-components/postprocessing/VolumeParameter.js +4 -1
  57. package/lib/engine-components/postprocessing/VolumeParameter.js.map +1 -1
  58. package/lib/needle-engine.d.ts +2 -0
  59. package/lib/needle-engine.js +2 -0
  60. package/lib/needle-engine.js.map +1 -1
  61. package/package.json +3 -2
  62. package/plugins/dts-generator/dts.codegen.js +255 -50
  63. package/plugins/dts-generator/dts.scan.js +37 -9
  64. package/plugins/dts-generator/dts.writer.js +1 -1
  65. package/plugins/dts-generator/glb.discovery.js +140 -23
  66. package/plugins/dts-generator/glb.extractor.js +48 -8
  67. package/plugins/dts-generator/glb.reader.js +80 -27
  68. package/plugins/dts-generator/index.js +1 -1
  69. package/plugins/types/needle-bindings.d.ts +25 -14
  70. package/plugins/types/userconfig.d.ts +12 -0
  71. package/plugins/vite/asap.js +1 -1
  72. package/plugins/vite/dependency-watcher.d.ts +2 -2
  73. package/plugins/vite/dependency-watcher.js +3 -4
  74. package/plugins/vite/drop.d.ts +2 -2
  75. package/plugins/vite/drop.js +3 -4
  76. package/plugins/vite/dts-generator.d.ts +2 -2
  77. package/plugins/vite/dts-generator.js +43 -9
  78. package/plugins/vite/index.d.ts +9 -3
  79. package/plugins/vite/index.js +23 -10
  80. package/plugins/vite/meta.js +4 -2
  81. package/plugins/vite/poster.d.ts +2 -2
  82. package/plugins/vite/poster.js +3 -5
  83. package/plugins/vite/reload.d.ts +2 -2
  84. package/plugins/vite/reload.js +22 -22
  85. package/src/engine/api.ts +1 -1
  86. package/src/engine/debug/debug_spatial_console.ts +10 -7
  87. package/src/engine/engine_addressables.ts +6 -3
  88. package/src/engine/engine_context.ts +34 -20
  89. package/src/engine/engine_init.ts +14 -0
  90. package/src/engine/engine_license.ts +12 -10
  91. package/src/engine/engine_lifecycle_functions_internal.ts +7 -0
  92. package/src/engine/engine_pmrem.ts +3 -3
  93. package/src/engine/engine_scenedata.ts +53 -27
  94. package/src/engine/engine_serialization_builtin_serializer.ts +32 -43
  95. package/src/engine/engine_ssr.ts +29 -3
  96. package/src/engine/engine_types.ts +2 -0
  97. package/src/engine/webcomponents/jsx.d.ts +51 -0
  98. package/src/engine/webcomponents/logo-element.ts +1 -0
  99. package/src/engine/webcomponents/needle menu/needle-menu.ts +2 -1
  100. package/src/engine/webcomponents/needle-button.ts +1 -0
  101. package/src/engine/webcomponents/needle-engine.ts +1 -0
  102. package/src/engine-components/AnimatorController.ts +4 -1
  103. package/src/engine-components/Light.ts +40 -26
  104. package/src/engine-components/ReflectionProbe.ts +2 -0
  105. package/src/engine-components/postprocessing/VolumeParameter.ts +4 -1
  106. package/src/needle-engine.ts +3 -0
@@ -3,15 +3,13 @@ import { TypeStore } from "./engine_typestore.js";
3
3
  import { isDevEnvironment } from "./debug/index.js";
4
4
  import { ContextRegistry } from "./engine_context_registry.js";
5
5
  /**
6
- * Global proxy for the primary Needle Engine context.
7
- * Resolves lazily on property access via `ContextRegistry.Current` —
8
- * safe to import at module level, including in SSR environments
9
- * (returns a silent error proxy when no context is active).
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.
10
8
  *
11
- * Use this outside of Needle component lifecycle (e.g. in Svelte/React/Vue
12
- * components, button handlers, or vanilla JS) instead of threading `ctx` around.
9
+ * Safe to import at module level, including in SSR environments.
10
+ * For pages with multiple `<needle-engine>` elements, use `ctx` directly instead.
13
11
  *
14
- * For multiple `<needle-engine>` elements on the same page, use `ctx` directly.
12
+ * @experimental This API may change in future releases.
15
13
  *
16
14
  * @example
17
15
  * import { needle } from "@needle-tools/engine";
@@ -26,7 +24,7 @@ export const needle = new Proxy({}, {
26
24
  const ctx = ContextRegistry.Current;
27
25
  if (!ctx) {
28
26
  const fn = isDevEnvironment() ? console.error : console.warn;
29
- fn(`[needle] needle.${prop} accessed before scene started`);
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 => { ... })`);
30
28
  return makeErrorProxy(`needle not ready — scene hasn't started yet`);
31
29
  }
32
30
  const val = ctx[prop];
@@ -36,7 +34,7 @@ export const needle = new Proxy({}, {
36
34
  const ctx = ContextRegistry.Current;
37
35
  if (!ctx) {
38
36
  const fn = isDevEnvironment() ? console.error : console.warn;
39
- fn(`[needle] needle.${prop} set before scene started`);
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 => { ... })`);
40
38
  return true;
41
39
  }
42
40
  ctx[prop] = value;
@@ -66,40 +64,69 @@ function makeErrorProxy(message) {
66
64
  };
67
65
  return new Proxy({}, handler);
68
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
+ }
69
104
  /**
70
105
  * Returns a lazily-resolved proxy typed as {@link SceneData}.
71
106
  * The proxy is cached per context — each context gets exactly one instance.
72
107
  *
73
- * Accessing a property traverses the scene graph on demand:
74
- * - First level → find Object3D by node name
75
- * - Second level getComponent by component name (via TypeStore)
76
- * - Third level read/write a field on the real component instance
77
- *
78
- * If a node or component is not found, property accesses log a warning
79
- * instead of throwing, so chained access never crashes.
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
80
112
  *
81
- * @example
82
- * ctx.sceneData.Camera.OrbitControls.autoRotate = true;
113
+ * GLB name is ignored at runtime (scene is already loaded).
114
+ * Node lookup starts at the scene root.
83
115
  */
84
116
  export function getSceneData(ctx) {
85
117
  let proxy = cache.get(ctx);
86
118
  if (!proxy) {
87
119
  proxy = new Proxy({}, {
88
- get(_target, nodeName) {
120
+ get(_target, _glbName) {
121
+ // GLB name level — ignored at runtime, return node-name proxy
89
122
  return new Proxy({}, {
90
- get(_target, compName) {
123
+ get(_target, nodeName) {
124
+ if (nodeName === "then")
125
+ return undefined;
91
126
  const node = ctx.scene.getObjectByName(nodeName) ?? null;
92
127
  if (!node)
93
128
  return makeErrorProxy(`Node "${nodeName}" not found in scene`);
94
- if (compName === "$node")
95
- return node;
96
- const ctor = TypeStore.get(compName);
97
- if (!ctor)
98
- return makeErrorProxy(`Component type "${compName}" not registered (node "${nodeName}")`);
99
- const comp = getComponent(node, ctor);
100
- if (!comp)
101
- return makeErrorProxy(`Component "${compName}" not found on node "${nodeName}"`);
102
- return comp;
129
+ return makeNodeProxy(ctx, node);
103
130
  }
104
131
  });
105
132
  }
@@ -1 +1 @@
1
- {"version":3,"file":"engine_scenedata.js","sourceRoot":"","sources":["../../src/engine/engine_scenedata.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAClD,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAE/D;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,CAAC,MAAM,MAAM,GAAa,IAAI,KAAK,CAAC,EAAc,EAAE;IACtD,GAAG,CAAC,OAAO,EAAE,IAAY;QACrB,IAAI,IAAI,KAAK,MAAM;YAAE,OAAO,SAAS,CAAC,CAAC,gBAAgB;QACvD,MAAM,GAAG,GAAG,eAAe,CAAC,OAAO,CAAC;QACpC,IAAI,CAAC,GAAG,EAAE,CAAC;YACP,MAAM,EAAE,GAAG,gBAAgB,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC;YAC7D,EAAE,CAAC,mBAAmB,IAAI,gCAAgC,CAAC,CAAC;YAC5D,OAAO,cAAc,CAAC,6CAA6C,CAAC,CAAC;QACzE,CAAC;QACD,MAAM,GAAG,GAAI,GAAW,CAAC,IAAI,CAAC,CAAC;QAC/B,OAAO,OAAO,GAAG,KAAK,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;IAC3D,CAAC;IACD,GAAG,CAAC,OAAO,EAAE,IAAY,EAAE,KAAc;QACrC,MAAM,GAAG,GAAG,eAAe,CAAC,OAAO,CAAC;QACpC,IAAI,CAAC,GAAG,EAAE,CAAC;YACP,MAAM,EAAE,GAAG,gBAAgB,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC;YAC7D,EAAE,CAAC,mBAAmB,IAAI,2BAA2B,CAAC,CAAC;YACvD,OAAO,IAAI,CAAC;QAChB,CAAC;QACA,GAAW,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC;QAC3B,OAAO,IAAI,CAAC;IAChB,CAAC;CACJ,CAAC,CAAC;AAEH,MAAM,KAAK,GAAG,IAAI,OAAO,EAAuB,CAAC;AAEjD;;;;GAIG;AACH,SAAS,cAAc,CAAC,OAAe;IACnC,MAAM,OAAO,GAAyB;QAClC,GAAG,CAAC,EAAE,EAAE,IAAY;YAChB,IAAI,IAAI,KAAK,MAAM;gBAAE,OAAO,SAAS,CAAC,CAAC,gBAAgB;YACvD,MAAM,EAAE,GAAG,gBAAgB,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC;YAC7D,EAAE,CAAC,eAAe,OAAO,EAAE,CAAC,CAAC;YAC7B,OAAO,cAAc,CAAC,OAAO,CAAC,CAAC;QACnC,CAAC;QACD,GAAG,CAAC,EAAE,EAAE,IAAY;YAChB,MAAM,EAAE,GAAG,gBAAgB,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC;YAC7D,EAAE,CAAC,eAAe,OAAO,mBAAmB,IAAI,IAAI,CAAC,CAAC;YACtD,OAAO,IAAI,CAAC,CAAC,qBAAqB;QACtC,CAAC;KACJ,CAAC;IACF,OAAO,IAAI,KAAK,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;AAClC,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,YAAY,CAAC,GAAa;IACtC,IAAI,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAC3B,IAAI,CAAC,KAAK,EAAE,CAAC;QACT,KAAK,GAAG,IAAI,KAAK,CAAC,EAAe,EAAE;YAC/B,GAAG,CAAC,OAAO,EAAE,QAAgB;gBACzB,OAAO,IAAI,KAAK,CAAC,EAAE,EAAE;oBACjB,GAAG,CAAC,OAAO,EAAE,QAAgB;wBACzB,MAAM,IAAI,GAAG,GAAG,CAAC,KAAK,CAAC,eAAe,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC;wBACzD,IAAI,CAAC,IAAI;4BAAE,OAAO,cAAc,CAAC,SAAS,QAAQ,sBAAsB,CAAC,CAAC;wBAC1E,IAAI,QAAQ,KAAK,OAAO;4BAAE,OAAO,IAAI,CAAC;wBACtC,MAAM,IAAI,GAAG,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;wBACrC,IAAI,CAAC,IAAI;4BAAE,OAAO,cAAc,CAAC,mBAAmB,QAAQ,2BAA2B,QAAQ,IAAI,CAAC,CAAC;wBACrG,MAAM,IAAI,GAAG,YAAY,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;wBACtC,IAAI,CAAC,IAAI;4BAAE,OAAO,cAAc,CAAC,cAAc,QAAQ,wBAAwB,QAAQ,GAAG,CAAC,CAAC;wBAC5F,OAAO,IAAI,CAAC;oBAChB,CAAC;iBACJ,CAAC,CAAC;YACP,CAAC;SACJ,CAAC,CAAC;QACH,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IAC1B,CAAC;IACD,OAAO,KAAK,CAAC;AACjB,CAAC"}
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, Euler, Object3D } from "three";
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 {};
@@ -8,22 +8,6 @@ import { TypeSerializer } from "./engine_serialization_core.js";
8
8
  import { RenderTexture } from "./engine_texture.js";
9
9
  import { resolveUrl } from "./engine_utils.js";
10
10
  import { RGBAColor } from "./js-extensions/index.js";
11
- // export class SourcePath {
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();
27
11
  class ColorSerializer extends TypeSerializer {
28
12
  constructor() {
29
13
  super([Color, RGBAColor], "ColorSerializer");
@@ -48,7 +32,6 @@ class ColorSerializer extends TypeSerializer {
48
32
  return { r: data.r, g: data.g, b: data.b };
49
33
  }
50
34
  }
51
- export const colorSerializer = new ColorSerializer();
52
35
  class EulerSerializer extends TypeSerializer {
53
36
  constructor() {
54
37
  super([Euler], "EulerSerializer");
@@ -68,7 +51,6 @@ class EulerSerializer extends TypeSerializer {
68
51
  return { x: data.x, y: data.y, z: data.z, order: data.order };
69
52
  }
70
53
  }
71
- export const euler = new EulerSerializer();
72
54
  class ObjectSerializer extends TypeSerializer {
73
55
  constructor() {
74
56
  super(Object3D, "ObjectSerializer");
@@ -96,16 +78,6 @@ class ObjectSerializer extends TypeSerializer {
96
78
  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
79
  }
98
80
  // 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
81
  return undefined;
110
82
  }
111
83
  if (data) {
@@ -156,7 +128,6 @@ class ObjectSerializer extends TypeSerializer {
156
128
  return undefined;
157
129
  }
158
130
  }
159
- export const objectSerializer = new ObjectSerializer();
160
131
  class ComponentSerializer extends TypeSerializer {
161
132
  constructor() {
162
133
  super([Component, Behaviour], "ComponentSerializer");
@@ -226,7 +197,6 @@ class ComponentSerializer extends TypeSerializer {
226
197
  }
227
198
  }
228
199
  }
229
- export const componentSerializer = new ComponentSerializer();
230
200
  const $eventListDebugInfo = Symbol("eventListDebugInfo");
231
201
  class EventListSerializer extends TypeSerializer {
232
202
  constructor() {
@@ -335,19 +305,10 @@ class EventListSerializer extends TypeSerializer {
335
305
  return undefined;
336
306
  }
337
307
  }
338
- export const eventListSerializer = new EventListSerializer();
339
308
  /** Map<Clone, Original> texture. This is used for compressed textures (or when the GLTFLoader is cloning RenderTextures)
340
309
  * It's a weak map so we don't have to worry about memory leaks
341
310
  */
342
311
  const cloneOriginalMap = new WeakMap();
343
- const textureClone = Texture.prototype.clone;
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
- };
351
312
  export class RenderTextureSerializer extends TypeSerializer {
352
313
  constructor() {
353
314
  super([RenderTexture, WebGLRenderTarget]);
@@ -385,7 +346,6 @@ export class RenderTextureSerializer extends TypeSerializer {
385
346
  return undefined;
386
347
  }
387
348
  }
388
- new RenderTextureSerializer();
389
349
  export class UriSerializer extends TypeSerializer {
390
350
  constructor() {
391
351
  super([URL]);
@@ -400,5 +360,32 @@ export class UriSerializer extends TypeSerializer {
400
360
  return undefined;
401
361
  }
402
362
  }
403
- new UriSerializer();
363
+ // Module-level references used by EventListSerializer internally
364
+ export let colorSerializer;
365
+ export let objectSerializer;
366
+ export let componentSerializer;
367
+ export let eventListSerializer;
368
+ /** Register all builtin serializers and prototype patches.
369
+ * Must be called from {@link initEngine} so the registrations survive tree-shaking
370
+ * when the package declares `sideEffects: false`.
371
+ */
372
+ export function initBuiltinSerializers() {
373
+ // Prototype patches
374
+ const textureClone = Texture.prototype.clone;
375
+ Texture.prototype.clone = function () {
376
+ const clone = textureClone.call(this);
377
+ if (!cloneOriginalMap.has(clone)) {
378
+ cloneOriginalMap.set(clone, this);
379
+ }
380
+ return clone;
381
+ };
382
+ // Register all serializers
383
+ colorSerializer = new ColorSerializer();
384
+ new EulerSerializer();
385
+ objectSerializer = new ObjectSerializer();
386
+ componentSerializer = new ComponentSerializer();
387
+ eventListSerializer = new EventListSerializer();
388
+ new RenderTextureSerializer();
389
+ new UriSerializer();
390
+ }
404
391
  //# 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":"AAAA,OAAO,EAAE,KAAK,EAAE,iBAAiB,EAAE,KAAK,EAAE,oBAAoB,EAAE,QAAQ,EAAE,UAAU,EAAE,OAAO,EAAE,iBAAiB,EAAE,MAAM,OAAO,CAAC;AAEhI,OAAO,EAAE,gBAAgB,EAAsB,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AACpG,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,mCAAmC,CAAC;AACrF,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,mCAAmC,CAAC;AACxE,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAChE,OAAO,EAAwB,cAAc,EAAE,MAAM,gCAAgC,CAAC;AACtF,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEpD,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAGrD,MAAM,eAAgB,SAAQ,cAAc;IACxC;QACI,KAAK,CAAC,CAAC,KAAK,EAAE,SAAS,CAAC,EAAE,iBAAiB,CAAC,CAAA;IAChD,CAAC;IACD,aAAa,CAAC,IAAS;QACnB,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,KAAK,IAAI;YAAE,OAAO;QAChD,IAAI,IAAI,CAAC,CAAC,KAAK,SAAS,EAAE,CAAC;YACvB,OAAO,IAAI,SAAS,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;QACzD,CAAC;aACI,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;YAChC,OAAO,IAAI,SAAS,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;QAC7D,CAAC;QACD,OAAO,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;IAC7C,CAAC;IACD,WAAW,CAAC,IAAS;QACjB,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,KAAK,IAAI;YAAE,OAAO;QAChD,IAAI,IAAI,CAAC,CAAC,KAAK,SAAS;YACpB,OAAO,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC,EAAE,CAAA;;YAErD,OAAO,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC,EAAE,CAAA;IAClD,CAAC;CACJ;AAED,MAAM,eAAgB,SAAQ,cAAc;IACxC;QACI,KAAK,CAAC,CAAC,KAAK,CAAC,EAAE,iBAAiB,CAAC,CAAC;IACtC,CAAC;IACD,aAAa,CAAC,IAAS,EAAE,QAA8B;QACnD,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,KAAK,IAAI;YAAE,OAAO,SAAS,CAAC;QAC1D,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YACb,OAAO,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;QACzD,CAAC;aACI,IAAI,IAAI,CAAC,CAAC,IAAI,SAAS,EAAE,CAAC;YAC3B,OAAO,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;QAC7C,CAAC;QACD,OAAO,SAAS,CAAC;IACrB,CAAC;IACD,WAAW,CAAC,IAAS,EAAE,QAA8B;QACjD,OAAO,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC;IAClE,CAAC;CACJ;AAMD,MAAM,gBAAiB,SAAQ,cAAc;IACzC;QACI,KAAK,CAAC,QAAQ,EAAE,kBAAkB,CAAC,CAAC;IACxC,CAAC;IAED,WAAW,CAAC,IAAS,EAAE,OAA6B;QAChD,IAAI,OAAO,CAAC,YAAY,KAAK,SAAS,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YAClD,MAAM,IAAI,GAAG,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC7C,IAAI,cAAc;gBACd,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;YAC5C,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,CAAA;QACzB,CAAC;QACD,OAAO,SAAS,CAAC;IACrB,CAAC;IAED,aAAa,CAAC,IAAgC,EAAE,OAA6B;QAEzE,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC3B,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;gBAClD,2JAA2J;gBAC3J,IAAI,OAAO,CAAC,YAAY,YAAY,KAAK,EAAE,CAAC;oBACxC,IAAI,OAAO,CAAC,YAAY,CAAC,QAAQ,CAAC,cAAc,CAAC;wBAAE,OAAO,SAAS,CAAC;gBACxE,CAAC;gBACD,IAAI,gBAAgB,EAAE;oBAClB,kBAAkB,CAAC,oJAAoJ,CAAC,CAAC;gBAC7K,MAAM,UAAU,GAAG,OAAO,CAAC,MAAM,EAAE,WAAW,EAAE,IAAI,CAAC;gBACrD,OAAO,CAAC,IAAI,CAAC,0DAA0D,UAAU,6OAA6O,OAAO,CAAC,IAAI,yBAAyB,CAAC,CAAC;YACzW,CAAC;YACD,sGAAsG;YACtG,OAAO,SAAS,CAAC;QACrB,CAAC;QAED,IAAI,IAAI,EAAE,CAAC;YACP,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;gBAClD,MAAM,GAAG,GAAG,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAC5C,IAAI,cAAc;oBACd,OAAO,CAAC,GAAG,CAAC,gCAAgC,EAAE,IAAI,EAAE,GAAG,EAAE,OAAO,EAAE,YAAY,CAAC,CAAC;gBACpF,IAAI,CAAC,GAAG;oBAAE,OAAO,CAAC,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,YAAY,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;gBAChG,OAAO,GAAG,CAAC;YACf,CAAC;iBACI,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;gBACjB,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;oBACnB,OAAO,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;oBACjC,OAAO,SAAS,CAAC;gBACrB,CAAC;gBACD,oDAAoD;gBACpD,8GAA8G;gBAC9G,gGAAgG;gBAChG,kCAAkC;gBAClC,IAAI,GAAG,GAA8C,SAAS,CAAC;gBAC/D,yDAAyD;gBACzD,MAAM,SAAS,GAAG,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC;gBACtC,IAAI,SAAS,EAAE,CAAC;oBACZ,GAAG,GAAG,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;gBACtD,CAAC;gBACD,0CAA0C;gBAC1C,IAAI,CAAC,GAAG,EAAE,CAAC;oBACP,GAAG,GAAG,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;gBAClE,CAAC;gBACD,IAAI,CAAC,GAAG,EAAE,CAAC;oBACP,IAAI,gBAAgB,EAAE,IAAI,cAAc;wBACpC,OAAO,CAAC,IAAI,CAAC,oCAAoC,EAAE,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;oBAClH,IAAI,CAAC,mBAAmB,CAAC,GAAG,IAAI,CAAC;gBACrC,CAAC;qBACI,CAAC;oBACF,IAAI,GAAG,IAAK,GAAkB,CAAC,WAAW,KAAK,IAAI,EAAE,CAAC;wBAClD,IAAG,cAAc;4BAAE,OAAO,CAAC,IAAI,CAAC,8CAA8C,CAAC,CAAC;wBAChF,GAAG,GAAI,GAAkB,CAAC,UAAU,CAAC;oBACzC,CAAC;oBACD,IAAI,cAAc;wBACd,OAAO,CAAC,GAAG,CAAC,gCAAgC,EAAE,IAAI,EAAE,GAAG,EAAE,OAAO,EAAE,YAAY,CAAC,CAAC;gBACxF,CAAC;gBACD,OAAO,GAAG,CAAC;YACf,CAAC;QACL,CAAC;QACD,OAAO,SAAS,CAAC;IACrB,CAAC;CACJ;AAGD,MAAM,mBAAoB,SAAQ,cAAc;IAE5C;QACI,KAAK,CAAC,CAAC,SAAS,EAAE,SAAS,CAAC,EAAE,qBAAqB,CAAC,CAAC;IACzD,CAAC;IAED,WAAW,CAAC,IAAS,EAAE,QAA8B;QACjD,IAAI,IAAI,EAAE,IAAI,EAAE,CAAC;YACb,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAA;QAC9B,CAAC;QACD,OAAO,SAAS,CAAC;IACrB,CAAC;IAED,aAAa,CAAC,IAAS,EAAE,OAA6B;QAClD,IAAI,IAAI,EAAE,IAAI,EAAE,CAAC;YAEb,sPAAsP;YACtP,IAAI,IAAI,CAAC,kBAAkB,EAAE,CAAC;gBAC1B,IAAG,cAAc;oBAAE,OAAO,CAAC,GAAG,CAAC,oEAAoE,EAAE,IAAI,CAAC,CAAC;gBAC3G,OAAO,SAAS,CAAC;YACrB,CAAC;YAED,MAAM,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;YACjC,8FAA8F;YAC9F,mFAAmF;YACnF,8DAA8D;YAC9D,IAAI,cAAc;gBACd,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;YACzE,4HAA4H;YAC5H,6EAA6E;YAC7E,IAAI,GAAG,GAAG,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;YAC1D,IAAI,GAAG,EAAE,CAAC;gBACN,OAAO,GAAG,CAAC;YACf,CAAC;YACD,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;gBAClB,8DAA8D;gBAC9D,6BAA6B;gBAC7B,GAAG,GAAG,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;gBAChE,IAAI,GAAG;oBAAE,OAAO,GAAG,CAAC;YACxB,CAAC;YACD,IAAI,gBAAgB,EAAE,IAAI,cAAc,EAAE,CAAC;gBACvC,OAAO,CAAC,IAAI,CAAC,2CAA2C,GAAG,WAAW,GAAG,gBAAgB,GAAG,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;YAC3H,CAAC;YACD,IAAI,CAAC,mBAAmB,CAAC,GAAG,IAAI,CAAC;YACjC,OAAO,SAAS,CAAC;QACrB,CAAC;QACD,0DAA0D;QAC1D,8CAA8C;QAC9C,IAAI;QACJ,OAAO,SAAS,CAAC;IACrB,CAAC;IAED,iBAAiB,CAAC,IAAY,EAAE,IAAc;QAC1C,0BAA0B;QAC1B,oCAAoC;QACpC,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,IAAI;YAAE,OAAO,IAAI,CAAC;QAEvC,MAAM,GAAG,GAAG,UAAU,CAAC,gBAAgB,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE;YAChD,IAAI,CAAC,CAAC,IAAI,KAAK,IAAI;gBAAE,OAAO,CAAC,CAAC;YAC9B,OAAO,SAAS,CAAC;QACrB,CAAC,EAAE,KAAK,CAAC,CAAC;QACV,IAAI,GAAG,KAAK,SAAS;YACjB,OAAO,GAAG,CAAC;QAEf,mCAAmC;QACnC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAC5C,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;YAC/B,MAAM,GAAG,GAAG,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;YAChD,IAAI,GAAG;gBAAE,OAAO,GAAG,CAAC;QACxB,CAAC;IACL,CAAC;CACJ;AAeD,MAAM,mBAAmB,GAAG,MAAM,CAAC,oBAAoB,CAAC,CAAC;AAEzD,MAAM,mBAAoB,SAAQ,cAAc;IAC5C;QACI,KAAK,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC;IACvB,CAAC;IAED,WAAW,CAAC,KAAqB,EAAE,QAA8B;QAC7D,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC;QACrC,OAAO,SAAS,CAAC;IACrB,CAAC;IAED,aAAa,CAAC,IAAmB,EAAE,OAA6B;QAC5D,yKAAyK;QACzK,IAAI,OAAO,IAAI,KAAK,UAAU,EAAE,CAAC;YAC7B,MAAM,OAAO,GAAG,IAAI,SAAS,CAAC,CAAC,IAAI,QAAQ,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;YACpE,OAAO,OAAO,CAAC;QACnB,CAAC;aACI,IAAI,IAAI,IAAI,IAAI,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;YACzC,IAAI,cAAc;gBACd,OAAO,CAAC,GAAG,CAAC,mBAAmB,EAAE,IAAI,CAAC,CAAC;YAC3C,MAAM,GAAG,GAAG,IAAI,KAAK,EAAY,CAAC;YAClC,IAAI,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC1C,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;oBAC5B,IAAI,cAAc;wBACd,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;oBACtB,IAAI,MAAM,GAAG,mBAAmB,CAAC,iBAAiB,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;oBAC9E,+EAA+E;oBAC/E,IAAI,CAAC,MAAM,IAAI,OAAO,CAAC,OAAO,EAAE,KAAK,EAAE,CAAC;wBACpC,MAAM,GAAG,mBAAmB,CAAC,iBAAiB,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;oBACxF,CAAC;oBACD,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,EAAE,MAAM,GAAG,CAAC,CAAC;oBAC1C,IAAI,MAAM,IAAI,SAAS,EAAE,CAAC;wBACtB,MAAM,0BAA0B,GAAG,GAAG,EAAE;4BACpC,MAAM,mBAAmB,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;4BAChF,IAAI,OAAO,MAAM,CAAC,mBAAmB,CAAC,KAAK,UAAU,EAAE,CAAC;gCACpD,OAAO,CAAC,IAAI,CAAC,4CAA4C,IAAI,CAAC,MAAM,cAAc,MAAM,CAAC,IAAI,mBAAmB,IAAI,CAAC,MAAM,OAAO,mBAAmB,KAAK,EAAE,MAAM,CAAC,mBAAmB,CAAC,EAAE,gBAAgB,EAAE,MAAM,CAAC,CAAC;gCACnN,kBAAkB,CAAC,6EAA6E,CAAC,CAAC;gCAClG,OAAO;4BACX,CAAC;iCACI,CAAC;gCACF,OAAO,CAAC,IAAI,CAAC,4CAA4C,IAAI,CAAC,MAAM,cAAc,MAAM,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,OAAO,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;4BACzI,CAAC;wBACL,CAAC,CAAA;wBACD,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;wBACnC,IAAI,OAAO,MAAM,KAAK,UAAU,EAAE,CAAC;4BAC/B,IAAI,WAAW,GAAG,KAAK,CAAC;4BACxB,IAAI,gBAAgB,GAAG,MAAM,CAAC;4BAC9B,0DAA0D;4BAC1D,OAAO,gBAAgB,EAAE,CAAC;gCACtB,MAAM,IAAI,GAAG,MAAM,CAAC,wBAAwB,CAAC,gBAAgB,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;gCAC5E,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,KAAK,IAAI,IAAI,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;oCAC/C,WAAW,GAAG,IAAI,CAAC;oCACnB,MAAM;gCACV,CAAC;gCACD,gBAAgB,GAAG,MAAM,CAAC,cAAc,CAAC,gBAAgB,CAAC,CAAC;4BAC/D,CAAC;4BACD,IAAI,CAAC,WAAW,IAAI,CAAC,gBAAgB,EAAE,IAAI,cAAc,CAAC;gCACtD,0BAA0B,EAAE,CAAC;wBACrC,CAAC;oBACL,CAAC;oBAED,SAAS,mBAAmB,CAAC,GAAQ;wBACjC,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;4BAC1B,mFAAmF;4BACnF,IAAI,MAAM,GAAG,gBAAgB,CAAC,aAAa,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;4BAC1D,IAAI,CAAC,MAAM;gCAAE,MAAM,GAAG,mBAAmB,CAAC,aAAa,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;4BACtE,IAAI,MAAM;gCAAE,OAAO,MAAM,CAAC;wBAC9B,CAAC;wBACD,OAAO,GAAG,CAAC;oBACf,CAAC;oBAED,IAAI,MAAM,EAAE,CAAC;wBACT,IAAI,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC;wBACzB,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;4BACrB,IAAI,GAAG,mBAAmB,CAAC,IAAI,CAAC,CAAC;wBACrC,CAAC;6BACI,IAAI,IAAI,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;4BACpC,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;wBACnD,CAAC;wBACD,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;wBACnC,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;4BACvB,OAAO,CAAC,IAAI,CAAC,iCAAiC,IAAI,CAAC,MAAM,SAAS,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;wBACtF,CAAC;6BACI,CAAC;4BACF,IAAI,IAAI,KAAK,SAAS,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;gCAC7C,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC;4BAClB,CAAC;4BACD,qGAAqG;4BACrG,iGAAiG;4BACjG,MAAM,EAAE,GAAG,IAAI,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;4BACjE,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;wBACjB,CAAC;oBACL,CAAC;yBACI,IAAI,gBAAgB,EAAE,EAAE,CAAC;wBAC1B,OAAO,CAAC,IAAI,CAAC,4DAA4D,OAAO,CAAC,MAAM,EAAE,IAAI,GAAG,EAAE,IAAI,CAAC,CAAC;oBAC5G,CAAC;gBACL,CAAC;YACL,CAAC;YACD,MAAM,GAAG,GAAG,IAAI,SAAS,CAAC,GAAG,CAAC,CAAC;YAE/B,IAAI,cAAc;gBACd,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YAErB,MAAM,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC;YACtC,IAAI,cAAc,KAAK,SAAS,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;gBAC7D,GAAG,CAAC,cAAc,CAAC,OAAO,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC;YACrD,CAAC;YAED,OAAO,GAAG,CAAC;QACf,CAAC;QACD,OAAO,SAAS,CAAC;IACrB,CAAC;CA2BJ;AAGD;;GAEG;AACH,MAAM,gBAAgB,GAAG,IAAI,OAAO,EAAoB,CAAC;AAEzD,MAAM,OAAO,uBAAwB,SAAQ,cAAc;IACvD;QACI,KAAK,CAAC,CAAC,aAAa,EAAE,iBAAiB,CAAC,CAAC,CAAC;IAC9C,CAAC;IAED,WAAW,CAAC,KAAU,EAAE,QAA8B;IACtD,CAAC;IAED,aAAa,CAAC,IAAS,EAAE,OAA6B;QAClD,IAAI,IAAI,YAAY,OAAO,IAAI,OAAO,CAAC,IAAI,KAAK,aAAa,EAAE,CAAC;YAC5D,IAAI,GAAG,GAAG,IAAe,CAAC;YAC1B,oFAAoF;YACpF,8CAA8C;YAC9C,IAAI,gBAAgB,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC5B,MAAM,QAAQ,GAAG,gBAAgB,CAAC,GAAG,CAAC,GAAG,CAAE,CAAC;gBAC5C,GAAG,GAAG,QAAQ,CAAC;YACnB,CAAC;YACD,GAAG,CAAC,qBAAqB,GAAG,IAAI,CAAC;YACjC,GAAG,CAAC,KAAK,GAAG,IAAI,CAAC;YACjB,GAAG,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC;YACjB,GAAG,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YAClB,GAAG,CAAC,WAAW,GAAG,IAAI,CAAC;YACvB,iMAAiM;YACjM,GAAG,CAAC,OAAO,GAAG,EAAE,CAAC;YACjB,IAAI,GAAG,YAAY,iBAAiB,EAAE,CAAC;gBACnC,YAAY;gBACZ,GAAG,CAAC,qBAAqB,CAAC,GAAG,KAAK,CAAC;gBACnC,YAAY;gBACZ,GAAG,CAAC,MAAM,GAAG,UAAU,CAAC;YAC5B,CAAC;YAED,MAAM,EAAE,GAAG,IAAI,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,EAAE,GAAG,CAAC,KAAK,CAAC,MAAM,EAAE;gBAC5D,UAAU,EAAE,oBAAoB;aACnC,CAAC,CAAC;YACH,EAAE,CAAC,OAAO,GAAG,GAAG,CAAC;YACjB,OAAO,EAAE,CAAC;QACd,CAAC;QACD,OAAO,SAAS,CAAC;IACrB,CAAC;CACJ;AAGD,MAAM,OAAO,aAAc,SAAQ,cAAc;IAC7C;QACI,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IACjB,CAAC;IAED,WAAW,CAAC,KAAa,EAAE,QAA8B;QACrD,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,aAAa,CAAC,IAAY,EAAE,QAA8B;QACtD,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC9C,OAAO,UAAU,CAAC,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QAC7C,CAAC;QACD,OAAO,SAAS,CAAC;IACrB,CAAC;CACJ;AAGD,iEAAiE;AACjE,MAAM,CAAC,IAAI,eAAgC,CAAC;AAC5C,MAAM,CAAC,IAAI,gBAAkC,CAAC;AAC9C,MAAM,CAAC,IAAI,mBAAwC,CAAC;AACpD,MAAM,CAAC,IAAI,mBAAwC,CAAC;AAEpD;;;GAGG;AACH,MAAM,UAAU,sBAAsB;IAClC,oBAAoB;IACpB,MAAM,YAAY,GAAG,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC;IAC7C,OAAO,CAAC,SAAS,CAAC,KAAK,GAAG;QACtB,MAAM,KAAK,GAAG,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACtC,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;YAC/B,gBAAgB,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;QACtC,CAAC;QACD,OAAO,KAAK,CAAC;IACjB,CAAC,CAAA;IAED,2BAA2B;IAC3B,eAAe,GAAG,IAAI,eAAe,EAAE,CAAC;IACxC,IAAI,eAAe,EAAE,CAAC;IACtB,gBAAgB,GAAG,IAAI,gBAAgB,EAAE,CAAC;IAC1C,mBAAmB,GAAG,IAAI,mBAAmB,EAAE,CAAC;IAChD,mBAAmB,GAAG,IAAI,mBAAmB,EAAE,CAAC;IAChD,IAAI,uBAAuB,EAAE,CAAC;IAC9B,IAAI,aAAa,EAAE,CAAC;AACxB,CAAC"}
@@ -8,6 +8,8 @@
8
8
  * In browser environments each constant is the real global; in SSR it falls back
9
9
  * to a plain empty class so that `class Foo extends HTMLElementBase` is valid.
10
10
  */
11
+ /** True when running in an SSR/Node environment (no browser globals). */
12
+ export declare const SSR: boolean;
11
13
  /** SSR-safe base class for web components. */
12
14
  export declare const HTMLElementBase: typeof HTMLElement;
13
15
  /** SSR-safe base class for pointer events. */
@@ -8,6 +8,8 @@
8
8
  * In browser environments each constant is the real global; in SSR it falls back
9
9
  * to a plain empty class so that `class Foo extends HTMLElementBase` is valid.
10
10
  */
11
+ /** True when running in an SSR/Node environment (no browser globals). */
12
+ export const SSR = typeof window === "undefined";
11
13
  /** SSR-safe base class for web components. */
12
14
  export const HTMLElementBase = typeof HTMLElement !== "undefined" ? HTMLElement : class {
13
15
  };
@@ -17,4 +19,22 @@ export const PointerEventBase = typeof PointerEvent !== "undefined" ? PointerEve
17
19
  /** SSR-safe base class for keyboard events. */
18
20
  export const KeyboardEventBase = typeof KeyboardEvent !== "undefined" ? KeyboardEvent : class {
19
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
20
40
  //# sourceMappingURL=engine_ssr.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"engine_ssr.js","sourceRoot":"","sources":["../../src/engine/engine_ssr.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,8CAA8C;AAC9C,MAAM,CAAC,MAAM,eAAe,GACxB,OAAO,WAAW,KAAK,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAE;CAA0C,CAAC;AAEnG,8CAA8C;AAC9C,MAAM,CAAC,MAAM,gBAAgB,GACzB,OAAO,YAAY,KAAK,WAAW,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAE;CAA2C,CAAC;AAEtG,+CAA+C;AAC/C,MAAM,CAAC,MAAM,iBAAiB,GAC1B,OAAO,aAAa,KAAK,WAAW,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAE;CAA4C,CAAC"}
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"}
@@ -202,6 +202,8 @@ export declare interface ICameraController {
202
202
  export declare interface ILight extends IComponent {
203
203
  intensity: number;
204
204
  color: Color;
205
+ /** The type of light as a lowercase string: `"directional"`, `"point"`, `"spot"` */
206
+ readonly type: "directional" | "point" | "spot";
205
207
  }
206
208
  export declare interface ISharedMaterials {
207
209
  [num: number]: Material;
@@ -1 +1 @@
1
- {"version":3,"file":"engine_types.js","sourceRoot":"","sources":["../../src/engine/engine_types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"engine_types.js","sourceRoot":"","sources":["../../src/engine/engine_types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,51 @@
1
+ /**
2
+ * JSX IntrinsicElements declarations for Needle Engine web components.
3
+ *
4
+ * Covers both the global JSX namespace (Preact, SolidJS, Svelte, vanilla TS)
5
+ * and React's module-scoped JSX namespace (react-jsx / react-jsxdev transform).
6
+ *
7
+ * IMPORTANT: This file must be a module (has a top-level import/export) so that
8
+ * `declare module "react"` is treated as a *module augmentation* (merging into
9
+ * the existing React types) rather than an *ambient module declaration* (which
10
+ * would shadow/replace @types/react).
11
+ */
12
+
13
+ import type { NeedleEngineAttributes } from "./needle-engine.js";
14
+
15
+ interface NeedleButtonJSXAttributes extends Partial<Omit<HTMLElement, "style" | "children">> {
16
+ style?: Partial<CSSStyleDeclaration>;
17
+ ar?: boolean | string;
18
+ vr?: boolean | string;
19
+ quicklook?: boolean | string;
20
+ qrcode?: boolean | string;
21
+ unstyled?: boolean | string;
22
+ }
23
+
24
+ interface NeedleMenuJSXAttributes extends Partial<Omit<HTMLElement, "style" | "children">> {
25
+ style?: Partial<CSSStyleDeclaration>;
26
+ }
27
+
28
+ interface NeedleLogoElementJSXAttributes extends Partial<Omit<HTMLElement, "style" | "children">> {
29
+ style?: Partial<CSSStyleDeclaration>;
30
+ }
31
+
32
+ interface NeedleElements {
33
+ "needle-engine": Partial<NeedleEngineAttributes>;
34
+ "needle-button": NeedleButtonJSXAttributes;
35
+ "needle-menu": NeedleMenuJSXAttributes;
36
+ "needle-logo-element": NeedleLogoElementJSXAttributes;
37
+ }
38
+
39
+ // Global JSX namespace — Preact, SolidJS, Svelte, vanilla TS
40
+ declare global {
41
+ namespace JSX {
42
+ interface IntrinsicElements extends NeedleElements {}
43
+ }
44
+ }
45
+
46
+ // React module-scoped JSX namespace (module augmentation, not ambient declaration)
47
+ declare module "react" {
48
+ namespace JSX {
49
+ interface IntrinsicElements extends NeedleElements {}
50
+ }
51
+ }
@@ -1 +1 @@
1
- {"version":3,"file":"logo-element.js","sourceRoot":"","sources":["../../../src/engine/webcomponents/logo-element.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"logo-element.js","sourceRoot":"","sources":["../../../src/engine/webcomponents/logo-element.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,8 @@
1
1
  import { HTMLElementBase } from "../../engine_ssr.js";
2
2
  import type { Context } from "../../engine_context.js";
3
- import { NeedleLogoElement } from "../logo-element.js";
4
3
  declare global {
5
4
  interface HTMLElementTagNameMap {
6
- "needle-logo-element": NeedleLogoElement;
5
+ "needle-menu": NeedleMenuElement;
7
6
  }
8
7
  }
9
8
  /** This is the model for the postMessage event that the needle engine will send to create menu items */
@@ -147,7 +146,7 @@ export declare class NeedleMenu {
147
146
  */
148
147
  export declare class NeedleMenuElement extends HTMLElementBase {
149
148
  #private;
150
- static create(): HTMLElement;
149
+ static create(): NeedleMenuElement;
151
150
  static getOrCreate(domElement: HTMLElement, context: Context): NeedleMenuElement;
152
151
  private _domElement;
153
152
  private _context;