@needle-tools/engine 5.1.11 → 5.1.13

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 (82) hide show
  1. package/CHANGELOG.md +6 -1
  2. package/SKILL.md +1 -1
  3. package/dist/gltf-progressive-BnLTsXZw.umd.cjs +10 -0
  4. package/dist/gltf-progressive-D6RT9IkB.min.js +10 -0
  5. package/dist/{gltf-progressive-B4DQEeBz.js → gltf-progressive-DaeP5KBr.js} +527 -514
  6. package/dist/{needle-engine.bundle-n5YALNtc.umd.cjs → needle-engine.bundle-B_ZctaDt.umd.cjs} +146 -146
  7. package/dist/{needle-engine.bundle-d-dLyN3s.min.js → needle-engine.bundle-DR967VjU.min.js} +145 -145
  8. package/dist/{needle-engine.bundle-ue2Lw4bF.js → needle-engine.bundle-DTvJ1zCJ.js} +7302 -7153
  9. package/dist/needle-engine.d.ts +23 -15
  10. package/dist/needle-engine.js +225 -226
  11. package/dist/needle-engine.min.js +1 -1
  12. package/dist/needle-engine.umd.cjs +1 -1
  13. package/lib/engine/api.d.ts +4 -3
  14. package/lib/engine/api.js +3 -9
  15. package/lib/engine/api.js.map +1 -1
  16. package/lib/engine/engine_addressables.d.ts +32 -1
  17. package/lib/engine/engine_addressables.js +71 -9
  18. package/lib/engine/engine_addressables.js.map +1 -1
  19. package/lib/engine/engine_application.d.ts +2 -0
  20. package/lib/engine/engine_application.js +7 -3
  21. package/lib/engine/engine_application.js.map +1 -1
  22. package/lib/engine/engine_context.js +25 -1
  23. package/lib/engine/engine_context.js.map +1 -1
  24. package/lib/engine/engine_init.js +2 -2
  25. package/lib/engine/engine_init.js.map +1 -1
  26. package/lib/engine/engine_input.js +1 -1
  27. package/lib/engine/engine_input.js.map +1 -1
  28. package/lib/engine/engine_license.d.ts +7 -7
  29. package/lib/engine/engine_license.js +121 -78
  30. package/lib/engine/engine_license.js.map +1 -1
  31. package/lib/engine/engine_lifecycle_functions_internal.js +20 -2
  32. package/lib/engine/engine_lifecycle_functions_internal.js.map +1 -1
  33. package/lib/engine/engine_networking_blob.js +3 -3
  34. package/lib/engine/engine_networking_streams.d.ts +3 -0
  35. package/lib/engine/engine_networking_streams.js +64 -17
  36. package/lib/engine/engine_networking_streams.js.map +1 -1
  37. package/lib/engine/engine_utils_qrcode.js +2 -2
  38. package/lib/engine/physics/workers/mesh-bvh/GenerateMeshBVHWorker.js +5 -0
  39. package/lib/engine/physics/workers/mesh-bvh/GenerateMeshBVHWorker.js.map +1 -1
  40. package/lib/engine/webcomponents/fonts.d.ts +1 -1
  41. package/lib/engine/webcomponents/fonts.js +16 -1
  42. package/lib/engine/webcomponents/fonts.js.map +1 -1
  43. package/lib/engine/webcomponents/icons.js +8 -1
  44. package/lib/engine/webcomponents/icons.js.map +1 -1
  45. package/lib/engine/webcomponents/needle menu/needle-menu-spatial.js +2 -2
  46. package/lib/engine/webcomponents/needle menu/needle-menu.d.ts +5 -0
  47. package/lib/engine/webcomponents/needle menu/needle-menu.js +34 -16
  48. package/lib/engine/webcomponents/needle menu/needle-menu.js.map +1 -1
  49. package/lib/engine/webcomponents/needle-engine.d.ts +1 -0
  50. package/lib/engine/webcomponents/needle-engine.js +18 -6
  51. package/lib/engine/webcomponents/needle-engine.js.map +1 -1
  52. package/lib/engine/webcomponents/needle-engine.loading.d.ts +2 -0
  53. package/lib/engine/webcomponents/needle-engine.loading.js +12 -2
  54. package/lib/engine/webcomponents/needle-engine.loading.js.map +1 -1
  55. package/lib/engine/xr/TempXRContext.js +2 -2
  56. package/lib/engine-components/export/usdz/USDZExporter.js +4 -4
  57. package/lib/engine-components/export/usdz/USDZExporter.js.map +1 -1
  58. package/package.json +2 -2
  59. package/plugins/common/license.js +4 -4
  60. package/plugins/vite/license.js +4 -4
  61. package/src/engine/api.ts +5 -3
  62. package/src/engine/engine_addressables.ts +75 -9
  63. package/src/engine/engine_application.ts +7 -2
  64. package/src/engine/engine_context.ts +25 -1
  65. package/src/engine/engine_init.ts +2 -2
  66. package/src/engine/engine_input.ts +2 -2
  67. package/src/engine/engine_license.ts +113 -75
  68. package/src/engine/engine_lifecycle_functions_internal.ts +21 -2
  69. package/src/engine/engine_networking_blob.ts +3 -3
  70. package/src/engine/engine_networking_streams.ts +61 -17
  71. package/src/engine/engine_utils_qrcode.ts +2 -2
  72. package/src/engine/physics/workers/mesh-bvh/GenerateMeshBVHWorker.js +8 -1
  73. package/src/engine/webcomponents/fonts.ts +16 -1
  74. package/src/engine/webcomponents/icons.ts +8 -1
  75. package/src/engine/webcomponents/needle menu/needle-menu-spatial.ts +2 -2
  76. package/src/engine/webcomponents/needle menu/needle-menu.ts +33 -15
  77. package/src/engine/webcomponents/needle-engine.loading.ts +19 -7
  78. package/src/engine/webcomponents/needle-engine.ts +16 -6
  79. package/src/engine/xr/TempXRContext.ts +2 -2
  80. package/src/engine-components/export/usdz/USDZExporter.ts +4 -4
  81. package/dist/gltf-progressive-CdjpU5eP.min.js +0 -10
  82. package/dist/gltf-progressive-DeZioRZe.umd.cjs +0 -10
@@ -58,6 +58,9 @@ export declare class PeerHandle extends EventDispatcher<any> {
58
58
  private readonly _outgoingCalls;
59
59
  private _peer;
60
60
  private constructor();
61
+ private _disposed;
62
+ private readonly _callIntervals;
63
+ private dispose;
61
64
  private _enabled;
62
65
  private _enabledPeer;
63
66
  private onConnectRoomFn;
@@ -2,6 +2,7 @@ import { EventDispatcher } from "three";
2
2
  import { RoomEvents } from "../engine/engine_networking.js";
3
3
  import { getPeerjsInstance } from "../engine/engine_networking_peer.js";
4
4
  import { Context } from "./engine_context.js";
5
+ import { ContextEvent, ContextRegistry } from "./engine_context_registry.js";
5
6
  import { isComponent } from "./engine_types.js";
6
7
  import { getParam } from "./engine_utils.js";
7
8
  const debug = getParam("debugnetworkingstreams");
@@ -100,16 +101,31 @@ function applySdpTransform(sdp) {
100
101
  return sdp;
101
102
  }
102
103
  export class PeerHandle extends EventDispatcher {
103
- static instances = new Map();
104
+ // Weak ownership prevents this cache from rooting a context and its scene indefinitely.
105
+ // IDs are scoped to contexts: separate engine elements may use the same stream ID.
106
+ static instances = new WeakMap();
107
+ static {
108
+ ContextRegistry.registerCallback(ContextEvent.ContextDestroying, ({ context }) => {
109
+ const handles = PeerHandle.instances.get(context);
110
+ if (!handles)
111
+ return;
112
+ PeerHandle.instances.delete(context);
113
+ for (const handle of handles.values())
114
+ handle.dispose();
115
+ handles.clear();
116
+ });
117
+ }
104
118
  static getOrCreate(context, guid) {
105
- // if (id === undefined) {
106
- // // randomId
107
- // id = Math.random().toFixed(5);
108
- // }
109
- if (PeerHandle.instances.has(guid))
110
- return PeerHandle.instances.get(guid);
111
- const peer = new PeerHandle(context, guid);
112
- PeerHandle.instances.set(guid, peer);
119
+ let handles = PeerHandle.instances.get(context);
120
+ if (!handles) {
121
+ handles = new Map();
122
+ PeerHandle.instances.set(context, handles);
123
+ }
124
+ let peer = handles.get(guid);
125
+ if (!peer) {
126
+ peer = new PeerHandle(context, guid);
127
+ handles.set(guid, peer);
128
+ }
113
129
  return peer;
114
130
  }
115
131
  getMyPeerId() {
@@ -125,6 +141,8 @@ export class PeerHandle extends EventDispatcher {
125
141
  return peerId.substring(this.id.length + 1);
126
142
  }
127
143
  makeCall(peerId, stream) {
144
+ if (this._disposed)
145
+ return undefined;
128
146
  if (!stream?.id) {
129
147
  if (debug)
130
148
  console.warn("Can not make a call: mediastream has no id or is undefined");
@@ -154,10 +172,8 @@ export class PeerHandle extends EventDispatcher {
154
172
  return undefined;
155
173
  }
156
174
  closeAll() {
157
- for (const call of this._incomingCalls) {
158
- call.close();
159
- }
160
- for (const call of this._outgoingCalls) {
175
+ // Closing a call synchronously removes it from the original array.
176
+ for (const call of [...this._incomingCalls, ...this._outgoingCalls]) {
161
177
  call.close();
162
178
  }
163
179
  this.updateCalls();
@@ -224,6 +240,23 @@ export class PeerHandle extends EventDispatcher {
224
240
  console.error("[PeerJs] Error setting getUserMedia", err);
225
241
  }
226
242
  }
243
+ _disposed = false;
244
+ _callIntervals = new Set();
245
+ dispose() {
246
+ if (this._disposed)
247
+ return;
248
+ this._disposed = true;
249
+ this.disable();
250
+ this.unsubscribePeerEvents();
251
+ for (const interval of this._callIntervals)
252
+ clearInterval(interval);
253
+ this._callIntervals.clear();
254
+ this.closeAll();
255
+ this._incomingCalls.length = 0;
256
+ this._outgoingCalls.length = 0;
257
+ this._peer?.destroy();
258
+ this._peer = undefined;
259
+ }
227
260
  _enabled = false;
228
261
  _enabledPeer = false;
229
262
  onConnectRoomFn = this.onConnectRoom.bind(this);
@@ -232,7 +265,7 @@ export class PeerHandle extends EventDispatcher {
232
265
  // private onPeerReceiveCallFn: (call) => void = this.onPeerReceivingCall.bind(this);
233
266
  // private _connectionPeerIdMap : Map<string, string> = new Map();
234
267
  enable() {
235
- if (this._enabled)
268
+ if (this._disposed || this._enabled)
236
269
  return;
237
270
  this._enabled = true;
238
271
  this.context.connection.beginListen(RoomEvents.JoinedRoom, this.onConnectRoomFn);
@@ -256,15 +289,21 @@ export class PeerHandle extends EventDispatcher {
256
289
  // private onUserJoinedOrLeftRoom(_: UserJoinedOrLeftRoomModel): void {
257
290
  // };
258
291
  async setupPeer() {
259
- if (!this.context.connection.connectionId)
292
+ if (this._disposed || !this.context.connection.connectionId)
260
293
  return;
261
294
  if (this._enabledPeer)
262
295
  return;
263
296
  this._enabledPeer = true;
264
297
  if (!this._peer) {
265
298
  const peerId = this.getMyPeerId();
266
- if (peerId)
267
- this._peer = await getPeerjsInstance(peerId);
299
+ if (peerId) {
300
+ const peer = await getPeerjsInstance(peerId);
301
+ if (this._disposed) {
302
+ peer.destroy();
303
+ return;
304
+ }
305
+ this._peer = peer;
306
+ }
268
307
  else
269
308
  console.error("Failed to setup peerjs because we dont have a connection id", this.context.connection.connectionId);
270
309
  }
@@ -377,6 +416,8 @@ export class PeerHandle extends EventDispatcher {
377
416
  this.dispatchEvent(e);
378
417
  });
379
418
  call.on("stream", () => {
419
+ if (this._disposed)
420
+ return;
380
421
  if (debug)
381
422
  console.log("Received stream for call", call.metadata);
382
423
  // workaround for https://github.com/peers/peerjs/issues/636
@@ -388,9 +429,15 @@ export class PeerHandle extends EventDispatcher {
388
429
  console.warn("Close call because stream is not active", call.metadata);
389
430
  intervalCounter += 1;
390
431
  clearInterval(closeInterval);
432
+ this._callIntervals.delete(closeInterval);
391
433
  handle.close();
392
434
  }
393
435
  }, 2000);
436
+ this._callIntervals.add(closeInterval);
437
+ call.on("close", () => {
438
+ clearInterval(closeInterval);
439
+ this._callIntervals.delete(closeInterval);
440
+ });
394
441
  });
395
442
  }
396
443
  return handle;
@@ -1 +1 @@
1
- {"version":3,"file":"engine_networking_streams.js","sourceRoot":"","sources":["../../src/engine/engine_networking_streams.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"engine_networking_streams.js","sourceRoot":"","sources":["../../src/engine/engine_networking_streams.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { needleLogoOnlySVG } from "./assets/index.js";
2
2
  import { isDevEnvironment } from "./debug/debug.js";
3
- import { __zrAx } from "./engine_license.js";
3
+ import { __PemN } from "./engine_license.js";
4
4
  import { InternalAttributeUtils } from "./engine_utils_attributes.js";
5
5
  /** Generates a QR code HTML image using https://github.com/davidshimjs/qrcodejs
6
6
  * @param args.text The text to encode
@@ -113,7 +113,7 @@ async function internalRenderQRCodeOverlays(canvas, args) {
113
113
  if (!element) {
114
114
  console.debug("[QR Code] No web component found");
115
115
  }
116
- const canUseCustomLogo = __zrAx();
116
+ const canUseCustomLogo = __PemN();
117
117
  // Query logo src from needle-engine attribute.
118
118
  // For any supported attribute it's possible to use "falsey" values (e.g. "0" or "false" to disable the logo in the QR code)
119
119
  let logoSrc = null;
@@ -77,6 +77,11 @@ export class GenerateMeshBVHWorker extends WorkerBase {
77
77
  groups: [...geometry.groups],
78
78
  },
79
79
  }, transferable.map(arr => arr.buffer).filter(v => (typeof SharedArrayBuffer === 'undefined') || !(v instanceof SharedArrayBuffer)));
80
+ }).finally(() => {
81
+ // Pooled workers outlive each job. Both handlers capture the job scope,
82
+ // including its geometry, even after the promise has settled.
83
+ worker.onmessage = null;
84
+ worker.onerror = null;
80
85
  });
81
86
  }
82
87
  }
@@ -1 +1 @@
1
- {"version":3,"file":"GenerateMeshBVHWorker.js","sourceRoot":"","sources":["../../../../../src/engine/physics/workers/mesh-bvh/GenerateMeshBVHWorker.js"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"GenerateMeshBVHWorker.js","sourceRoot":"","sources":["../../../../../src/engine/physics/workers/mesh-bvh/GenerateMeshBVHWorker.js"],"names":[],"mappings":"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"}
@@ -3,7 +3,7 @@ declare type LoadFontOptions = {
3
3
  element?: HTMLElement | DocumentFragment;
4
4
  loadedCallback?: () => void;
5
5
  };
6
- export declare function loadFont(url: string, opts?: LoadFontOptions): void;
6
+ export declare function loadFont(url: string, opts?: LoadFontOptions): () => void;
7
7
  /** Ensure the fonts that needle engine uses are loaded */
8
8
  export declare function ensureFonts(): void;
9
9
  export { materialSymbolsFontUrl as iconFontUrl };
@@ -16,7 +16,7 @@ export function loadFont(url, opts) {
16
16
  // crossorigin must match the HTML <link> attribute (set by asap.js) so the browser
17
17
  // can reuse the cached CORS response instead of making a separate non-CORS request
18
18
  fontLink.crossOrigin = "";
19
- fontLink.onload = () => { fontLink.rel = "stylesheet"; };
19
+ fontLink.onload = activateFontStylesheet;
20
20
  element.appendChild(fontLink);
21
21
  elements.push(fontLink);
22
22
  }
@@ -28,6 +28,21 @@ export function loadFont(url, opts) {
28
28
  }
29
29
  }
30
30
  }
31
+ // The link lives in document.head and can outlive the component using this callback.
32
+ return () => {
33
+ if (opts?.loadedCallback) {
34
+ for (const link of elements)
35
+ link.removeEventListener("load", opts.loadedCallback);
36
+ }
37
+ };
38
+ }
39
+ // Keep this outside loadFont: its scope includes consumer callbacks and their contexts.
40
+ function activateFontStylesheet(event) {
41
+ const link = event.currentTarget;
42
+ if (link instanceof HTMLLinkElement) {
43
+ link.rel = "stylesheet";
44
+ link.onload = null;
45
+ }
31
46
  }
32
47
  /** Ensure the fonts that needle engine uses are loaded */
33
48
  export function ensureFonts() {
@@ -1 +1 @@
1
- {"version":3,"file":"fonts.js","sourceRoot":"","sources":["../../../src/engine/webcomponents/fonts.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAC,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAO1E,MAAM,UAAU,QAAQ,CAAC,GAAW,EAAE,IAAsB;IACxD,MAAM,OAAO,GAAG,IAAI,EAAE,OAAO,IAAI,QAAQ,CAAC,IAAI,CAAC;IAC/C,gEAAgE;IAChE,sCAAsC;IACtC,mFAAmF;IACnF,0EAA0E;IAC1E,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,eAAe,GAAG,IAAI,CAAC,CAAC,CAAC;IAC9E,IAAI,QAAQ,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;QACvB,MAAM,QAAQ,GAAG,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;QAChD,QAAQ,CAAC,IAAI,GAAG,GAAG,CAAC;QACpB,yEAAyE;QACzE,wEAAwE;QACxE,QAAQ,CAAC,GAAG,GAAG,SAAS,CAAC;QACzB,QAAQ,CAAC,EAAE,GAAG,OAAO,CAAC;QACtB,mFAAmF;QACnF,mFAAmF;QACnF,QAAQ,CAAC,WAAW,GAAG,EAAE,CAAC;QAC1B,QAAQ,CAAC,MAAM,GAAG,GAAG,EAAE,GAAG,QAAQ,CAAC,GAAG,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC;QACzD,OAAO,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;QAC9B,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC5B,CAAC;IAED,IAAI,IAAI,EAAE,cAAc,EAAE,CAAC;QACvB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACvC,IAAI,IAAI,EAAE,cAAc,EAAE,CAAC;gBACvB,MAAM,QAAQ,GAAG,QAAQ,CAAC,CAAC,CAAoB,CAAC;gBAChD,QAAQ,CAAC,gBAAgB,CAAC,MAAM,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;YAC3D,CAAC;QACL,CAAC;IACL,CAAC;AACL,CAAC;AAGD,0DAA0D;AAC1D,MAAM,UAAU,WAAW;IACvB,QAAQ,CAAC,iBAAiB,CAAC,CAAC;AAChC,CAAC;AAED,OAAO,EAAE,sBAAsB,IAAI,WAAW,EAAE,CAAC;AACjD,wFAAwF"}
1
+ {"version":3,"file":"fonts.js","sourceRoot":"","sources":["../../../src/engine/webcomponents/fonts.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAC,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAO1E,MAAM,UAAU,QAAQ,CAAC,GAAW,EAAE,IAAsB;IACxD,MAAM,OAAO,GAAG,IAAI,EAAE,OAAO,IAAI,QAAQ,CAAC,IAAI,CAAC;IAC/C,gEAAgE;IAChE,sCAAsC;IACtC,mFAAmF;IACnF,0EAA0E;IAC1E,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,eAAe,GAAG,IAAI,CAAC,CAAC,CAAC;IAC9E,IAAI,QAAQ,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;QACvB,MAAM,QAAQ,GAAG,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;QAChD,QAAQ,CAAC,IAAI,GAAG,GAAG,CAAC;QACpB,yEAAyE;QACzE,wEAAwE;QACxE,QAAQ,CAAC,GAAG,GAAG,SAAS,CAAC;QACzB,QAAQ,CAAC,EAAE,GAAG,OAAO,CAAC;QACtB,mFAAmF;QACnF,mFAAmF;QACnF,QAAQ,CAAC,WAAW,GAAG,EAAE,CAAC;QAC1B,QAAQ,CAAC,MAAM,GAAG,sBAAsB,CAAC;QACzC,OAAO,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;QAC9B,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC5B,CAAC;IAED,IAAI,IAAI,EAAE,cAAc,EAAE,CAAC;QACvB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACvC,IAAI,IAAI,EAAE,cAAc,EAAE,CAAC;gBACvB,MAAM,QAAQ,GAAG,QAAQ,CAAC,CAAC,CAAoB,CAAC;gBAChD,QAAQ,CAAC,gBAAgB,CAAC,MAAM,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;YAC3D,CAAC;QACL,CAAC;IACL,CAAC;IACD,qFAAqF;IACrF,OAAO,GAAG,EAAE;QACR,IAAI,IAAI,EAAE,cAAc,EAAE,CAAC;YACvB,KAAK,MAAM,IAAI,IAAI,QAAQ;gBAAE,IAAI,CAAC,mBAAmB,CAAC,MAAM,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;QACvF,CAAC;IACL,CAAC,CAAC;AACN,CAAC;AAGD,wFAAwF;AACxF,SAAS,sBAAsB,CAAC,KAAY;IACxC,MAAM,IAAI,GAAG,KAAK,CAAC,aAAa,CAAC;IACjC,IAAI,IAAI,YAAY,eAAe,EAAE,CAAC;QAClC,IAAI,CAAC,GAAG,GAAG,YAAY,CAAC;QACxB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;IACvB,CAAC;AACL,CAAC;AAED,0DAA0D;AAC1D,MAAM,UAAU,WAAW;IACvB,QAAQ,CAAC,iBAAiB,CAAC,CAAC;AAChC,CAAC;AAED,OAAO,EAAE,sBAAsB,IAAI,WAAW,EAAE,CAAC;AACjD,wFAAwF"}
@@ -17,7 +17,15 @@ export function getIconElement(str) {
17
17
  span.setAttribute("role", "img");
18
18
  span.setAttribute("aria-label", str + " icon");
19
19
  span.setAttribute("aria-hidden", "true");
20
+ updateIconWhenFontReady(new WeakRef(span), str);
21
+ return span;
22
+ }
23
+ // Pending font loads must not retain detached menu trees.
24
+ function updateIconWhenFontReady(reference, str) {
20
25
  fontReady(fontname).then(res => {
26
+ const span = reference.deref();
27
+ if (!span)
28
+ return;
21
29
  if (res) {
22
30
  span.style.visibility = "";
23
31
  span.innerText = str; // re-assign, otherise more_vert doesnt show up. Maybe because of layout restructuring on mobile
@@ -32,7 +40,6 @@ export function getIconElement(str) {
32
40
  }
33
41
  }
34
42
  });
35
- return span;
36
43
  }
37
44
  /**@returns true if the element is an needle engine icon element */
38
45
  export function isIconElement(element) {
@@ -1 +1 @@
1
- {"version":3,"file":"icons.js","sourceRoot":"","sources":["../../../src/engine/webcomponents/icons.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"icons.js","sourceRoot":"","sources":["../../../src/engine/webcomponents/icons.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAEhC,MAAM,QAAQ,GAAG,2BAA2B,CAAC;AAE7C;;;EAGE;AACF,MAAM,UAAU,cAAc,CAAC,GAAW;IACtC,MAAM,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;IAC5C,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,MAAM,CAAC;IAC7B,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,MAAM,CAAC;IAC9B,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC/B,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,2BAA2B,EAAE,aAAa,CAAC,CAAC;IAC/D,IAAI,CAAC,YAAY,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;IACrC,IAAI,CAAC,SAAS,GAAG,GAAG,CAAC;IACrB,IAAI,CAAC,KAAK,CAAC,UAAU,GAAG,QAAQ,CAAC;IACjC,IAAI,CAAC,KAAK,CAAC,UAAU,GAAG,MAAM,CAAC;IAC/B,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IACjC,IAAI,CAAC,YAAY,CAAC,YAAY,EAAE,GAAG,GAAG,OAAO,CAAC,CAAC;IAC/C,IAAI,CAAC,YAAY,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC;IACzC,uBAAuB,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC;IAChD,OAAO,IAAI,CAAC;AAChB,CAAC;AAED,0DAA0D;AAC1D,SAAS,uBAAuB,CAAC,SAAmC,EAAE,GAAW;IAC7E,SAAS,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;QAC3B,MAAM,IAAI,GAAG,SAAS,CAAC,KAAK,EAAE,CAAC;QAC/B,IAAI,CAAC,IAAI;YAAE,OAAO;QAClB,IAAI,GAAG,EAAE,CAAC;YACN,IAAI,CAAC,KAAK,CAAC,UAAU,GAAG,EAAE,CAAC;YAC3B,IAAI,CAAC,SAAS,GAAG,GAAG,CAAC,CAAC,gGAAgG;QAC1H,CAAC;aACI,CAAC;YACF,IAAI,GAAG,KAAK,WAAW,EAAE,CAAC;gBACtB,IAAI,CAAC,KAAK,CAAC,UAAU,GAAG,EAAE,CAAC;gBAC3B,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC;YAC5B,CAAC;iBACI,CAAC;gBACF,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC;YAChC,CAAC;QACL,CAAC;IACL,CAAC,CAAC,CAAC;AACP,CAAC;AAED,mEAAmE;AACnE,MAAM,UAAU,aAAa,CAAC,OAAa;IACvC,MAAM,IAAI,GAAG,OAAsB,CAAC;IACpC,OAAO,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,2BAA2B,CAAC,IAAI,KAAK,CAAC;AAC1E,CAAC;AAED,MAAM,QAAQ,GAAG,IAAI,GAAG,EAA0B,CAAC;AAEnD,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,GAAW;IAC5C,2BAA2B;IAC3B,MAAM,SAAS,CAAC,QAAQ,CAAC,CAAC;IAC1B,IAAI,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;QACpB,OAAO,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAmB,CAAC;IAC/C,CAAC;IACD,MAAM,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;IAChD,MAAM,IAAI,GAAG,EAAE,CAAC;IAChB,MAAM,CAAC,KAAK,GAAG,IAAI,CAAC;IACpB,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC;IACrB,MAAM,GAAG,GAAG,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;IACpC,IAAI,GAAG,EAAE,CAAC;QACN,GAAG,CAAC,IAAI,GAAG,GAAG,IAAI,OAAO,QAAQ,GAAG,CAAC;QACrC,GAAG,CAAC,SAAS,GAAG,OAAO,CAAC;QACxB,GAAG,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC;QAC3B,MAAM,IAAI,GAAG,MAAM,CAAC,SAAS,EAAE,CAAC;QAChC,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;QAC9B,OAAO,CAAC,IAAI,GAAG,GAAG,GAAG,OAAO,CAAC;QAC7B,OAAO,CAAC,KAAK,GAAG,IAAI,KAAK,EAAE,CAAC;QAC5B,OAAO,CAAC,KAAK,CAAC,GAAG,GAAG,IAAI,CAAC;QACzB,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC;QAC3B,QAAQ,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;QAC3B,OAAO,OAAO,CAAC;IACnB,CAAC;IACD,QAAQ,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IACxB,OAAO,IAAI,CAAC;AAChB,CAAC;AAGD,MAAM,eAAe,GAAkC,IAAI,GAAG,EAAE,CAAC;AAEjE,KAAK,UAAU,SAAS,CAAC,QAAgB,EAAE,UAAkB,CAAC,EAAE,eAAuB,CAAC;IACpF,MAAM,GAAG,GAAG,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,QAAQ,QAAQ,GAAG,CAAC,CAAC;IACtD,IAAI,CAAC,GAAG,EAAE,CAAC;QACP,MAAM,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC;IAC/B,CAAC;IAED,kDAAkD;IAClD,yLAAyL;IACzL,MAAM,OAAO,GAAG,eAAe,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,QAAQ,GAAG,CAAC;SACpF,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,GAAG,CAAC,CAAC;SAC5B,OAAO,CAAC,GAAG,EAAE;QACV,eAAe,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IACrC,CAAC,CAAC,CAAC;IACP,eAAe,CAAC,GAAG,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IACvC,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC;IAC7B,IAAI,CAAC,MAAM,EAAE,CAAC;QACV,IAAI,YAAY,GAAG,OAAO,EAAE,CAAC;YACzB,OAAO,IAAI,OAAO,CAAC,GAAG,CAAC,EAAE;gBACrB,UAAU,CAAC,GAAG,EAAE;oBACZ,GAAG,CAAC,SAAS,CAAC,QAAQ,EAAE,OAAO,EAAE,YAAY,GAAG,CAAC,CAAC,CAAC,CAAC;gBACxD,CAAC,EAAE,IAAI,CAAC,CAAC;YACb,CAAC,CAAC,CAAC;QACP,CAAC;QACD,OAAO,KAAK,CAAC;IACjB,CAAC;IACD,OAAO,IAAI,CAAC;AAChB,CAAC"}
@@ -1,7 +1,7 @@
1
1
  import { Mesh, Object3D, TextureLoader, Vector4 } from "three";
2
2
  import ThreeMeshUI from "three-mesh-ui";
3
3
  import { addNewComponent } from "../../engine_components.js";
4
- import { __zrAx } from "../../engine_license.js";
4
+ import { __PemN } from "../../engine_license.js";
5
5
  import { OneEuroFilterXYZ } from "../../engine_math.js";
6
6
  import { lookAtObject } from "../../engine_three_utils.js";
7
7
  import { TypeStore } from "../../engine_typestore.js";
@@ -284,7 +284,7 @@ export class NeedleSpatialMenu {
284
284
  }
285
285
  if (this.menu) {
286
286
  const index = this.menu.children.indexOf(this._poweredByNeedleElement);
287
- if (!this._showNeedleLogo && __zrAx()) {
287
+ if (!this._showNeedleLogo && __PemN()) {
288
288
  if (index >= 0) {
289
289
  this._poweredByNeedleElement.removeFromParent();
290
290
  this.markDirty();
@@ -150,6 +150,11 @@ export declare class NeedleMenuElement extends HTMLElementBase {
150
150
  static getOrCreate(domElement: HTMLElement, context: Context): NeedleMenuElement;
151
151
  private _domElement;
152
152
  private _context;
153
+ private _unsubscribeFont?;
154
+ private _licenseFrame?;
155
+ private _unsubscribeLicense?;
156
+ /** @internal Release font and license subscriptions when the owning context is destroyed. */
157
+ dispose(): void;
153
158
  private _didInitialize;
154
159
  constructor();
155
160
  private initializeDom;
@@ -1,9 +1,9 @@
1
1
  import { showBalloonMessage } from "../../debug/debug.js";
2
- import { __zrAx, $onQdBrJB, Telemetry } from "../../engine_license.js";
2
+ import { __PemN, _$EPASa, Telemetry } from "../../engine_license.js";
3
3
  import { isLocalNetwork } from "../../engine_networking_utils.js";
4
4
  import { HTMLElementBase } from "../../engine_ssr.js";
5
5
  import { DeviceUtilities, getParam } from "../../engine_utils.js";
6
- import { onXRSessionStart } from "../../xr/events.js";
6
+ import { offXRSessionStart, onXRSessionStart } from "../../xr/events.js";
7
7
  import { ButtonsFactory } from "../buttons.js";
8
8
  import { ensureFonts, iconFontUrl, loadFont } from "../fonts.js";
9
9
  import { getIconElement } from "../icons.js";
@@ -79,7 +79,9 @@ export class NeedleMenu {
79
79
  }
80
80
  /** @ignore internal method */
81
81
  onDestroy() {
82
+ offXRSessionStart(this.onStartXR);
82
83
  window.removeEventListener("message", this.onPostMessage);
84
+ this._menu.dispose();
83
85
  this._menu.remove();
84
86
  this._spatialMenu.onDestroy();
85
87
  }
@@ -273,6 +275,19 @@ export class NeedleMenuElement extends HTMLElementBase {
273
275
  }
274
276
  _domElement = null;
275
277
  _context = null;
278
+ _unsubscribeFont;
279
+ _licenseFrame;
280
+ _unsubscribeLicense;
281
+ /** @internal Release font and license subscriptions when the owning context is destroyed. */
282
+ dispose() {
283
+ this._unsubscribeFont?.();
284
+ this._unsubscribeFont = undefined;
285
+ if (this._licenseFrame !== undefined)
286
+ window.cancelAnimationFrame(this._licenseFrame);
287
+ this._licenseFrame = undefined;
288
+ this._unsubscribeLicense?.();
289
+ this._unsubscribeLicense = undefined;
290
+ }
276
291
  _didInitialize = false;
277
292
  constructor() {
278
293
  super();
@@ -678,7 +693,7 @@ export class NeedleMenuElement extends HTMLElementBase {
678
693
  // we need to add the icons to both the shadow dom as well as the HEAD to work
679
694
  // https://github.com/google/material-design-icons/issues/1165
680
695
  ensureFonts();
681
- loadFont(iconFontUrl, { loadedCallback: () => { this.handleSizeChange(); } });
696
+ this._unsubscribeFont = loadFont(iconFontUrl, { loadedCallback: () => { this.handleSizeChange(); } });
682
697
  loadFont(iconFontUrl, { element: shadow });
683
698
  const content = template.content.cloneNode(true);
684
699
  shadow?.appendChild(content);
@@ -702,17 +717,20 @@ export class NeedleMenuElement extends HTMLElementBase {
702
717
  try {
703
718
  // if the user has a license then we CAN hide the needle logo
704
719
  // calling this method immediately will cause an issue with vite bundling tho
705
- window.requestAnimationFrame(() => $onQdBrJB(res => {
706
- if (res == true && __zrAx() && !debugNonCommercial) {
707
- let visible = this._userRequestedLogoVisible;
708
- if (visible === undefined)
709
- visible = false;
710
- this.___onSetLogoVisible(visible);
711
- }
712
- else {
713
- this.___onSetLogoVisible(true);
714
- }
715
- }));
720
+ this._licenseFrame = window.requestAnimationFrame(() => {
721
+ this._licenseFrame = undefined;
722
+ this._unsubscribeLicense = _$EPASa(res => {
723
+ if (res == true && __PemN() && !debugNonCommercial) {
724
+ let visible = this._userRequestedLogoVisible;
725
+ if (visible === undefined)
726
+ visible = false;
727
+ this.___onSetLogoVisible(visible);
728
+ }
729
+ else {
730
+ this.___onSetLogoVisible(true);
731
+ }
732
+ });
733
+ });
716
734
  }
717
735
  catch (e) {
718
736
  console.error("[Needle Menu] License check failed.", e);
@@ -751,7 +769,7 @@ export class NeedleMenuElement extends HTMLElementBase {
751
769
  // ensure the menu is not hidden or removed
752
770
  const requiredParent = this?.parentNode;
753
771
  if (this.style.display != "flex" || this.style.visibility != "visible" || this.style.opacity != "1" || requiredParent != this._domElement?.shadowRoot) {
754
- if (!__zrAx()) {
772
+ if (!__PemN()) {
755
773
  const change = changeEventCounter++;
756
774
  // if a user doesn't have a local pro license *but* for development the menu is hidden then we show a warning
757
775
  if (isLocalNetwork() && this._userRequestedMenuVisible === false) {
@@ -838,7 +856,7 @@ export class NeedleMenuElement extends HTMLElementBase {
838
856
  showNeedleLogo(visible) {
839
857
  this._userRequestedLogoVisible = visible;
840
858
  if (!visible) {
841
- if (!__zrAx() || debugNonCommercial) {
859
+ if (!__PemN() || debugNonCommercial) {
842
860
  console.warn("[Needle Engine] You need a commercial license to hide the Needle Engine logo in production.");
843
861
  const localNetwork = isLocalNetwork();
844
862
  if (!localNetwork)