@needle-tools/engine 4.16.11 → 4.16.12

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 (70) hide show
  1. package/CHANGELOG.md +5 -0
  2. package/SKILL.md +64 -4
  3. package/dist/gltf-progressive-DLDvZ8Xm.umd.cjs +10 -0
  4. package/dist/{gltf-progressive-CzxjNmG6.js → gltf-progressive-DMK8kKVB.js} +352 -346
  5. package/dist/gltf-progressive-RPgYR6rv.min.js +10 -0
  6. package/dist/{needle-engine.bundle-Du3vf5L1.js → needle-engine.bundle-BfsnYTeP.js} +6960 -6823
  7. package/dist/{needle-engine.bundle-DOChN3At.umd.cjs → needle-engine.bundle-COr8D1vc.umd.cjs} +130 -130
  8. package/dist/{needle-engine.bundle-fP5tOMI1.min.js → needle-engine.bundle-DG1sGkxn.min.js} +131 -131
  9. package/dist/needle-engine.d.ts +11 -1
  10. package/dist/needle-engine.js +3 -3
  11. package/dist/needle-engine.min.js +1 -1
  12. package/dist/needle-engine.umd.cjs +1 -1
  13. package/dist/three-examples.js +52 -52
  14. package/dist/three-examples.min.js +4 -4
  15. package/dist/three-examples.umd.cjs +2 -2
  16. package/lib/engine/api.d.ts +2 -1
  17. package/lib/engine/api.js +1 -6
  18. package/lib/engine/api.js.map +1 -1
  19. package/lib/engine/engine_addressables.d.ts +32 -1
  20. package/lib/engine/engine_addressables.js +71 -9
  21. package/lib/engine/engine_addressables.js.map +1 -1
  22. package/lib/engine/engine_application.d.ts +2 -0
  23. package/lib/engine/engine_application.js +7 -3
  24. package/lib/engine/engine_application.js.map +1 -1
  25. package/lib/engine/engine_context.js +25 -1
  26. package/lib/engine/engine_context.js.map +1 -1
  27. package/lib/engine/engine_input.js +1 -1
  28. package/lib/engine/engine_input.js.map +1 -1
  29. package/lib/engine/engine_license.d.ts +1 -1
  30. package/lib/engine/engine_license.js +31 -5
  31. package/lib/engine/engine_license.js.map +1 -1
  32. package/lib/engine/engine_lifecycle_functions_internal.js +20 -2
  33. package/lib/engine/engine_lifecycle_functions_internal.js.map +1 -1
  34. package/lib/engine/engine_networking_streams.d.ts +5 -1
  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/physics/workers/mesh-bvh/GenerateMeshBVHWorker.js +5 -0
  38. package/lib/engine/physics/workers/mesh-bvh/GenerateMeshBVHWorker.js.map +1 -1
  39. package/lib/engine/webcomponents/fonts.d.ts +1 -1
  40. package/lib/engine/webcomponents/fonts.js +7 -0
  41. package/lib/engine/webcomponents/fonts.js.map +1 -1
  42. package/lib/engine/webcomponents/icons.js +8 -1
  43. package/lib/engine/webcomponents/icons.js.map +1 -1
  44. package/lib/engine/webcomponents/needle menu/needle-menu.d.ts +5 -0
  45. package/lib/engine/webcomponents/needle menu/needle-menu.js +31 -13
  46. package/lib/engine/webcomponents/needle menu/needle-menu.js.map +1 -1
  47. package/lib/engine/webcomponents/needle-engine.d.ts +1 -0
  48. package/lib/engine/webcomponents/needle-engine.js +16 -4
  49. package/lib/engine/webcomponents/needle-engine.js.map +1 -1
  50. package/lib/engine/webcomponents/needle-engine.loading.d.ts +2 -0
  51. package/lib/engine/webcomponents/needle-engine.loading.js +10 -0
  52. package/lib/engine/webcomponents/needle-engine.loading.js.map +1 -1
  53. package/lib/engine-components/postprocessing/Effects/Tonemapping.utils.d.ts +1 -1
  54. package/package.json +2 -2
  55. package/src/engine/api.ts +3 -1
  56. package/src/engine/engine_addressables.ts +75 -9
  57. package/src/engine/engine_application.ts +7 -2
  58. package/src/engine/engine_context.ts +25 -1
  59. package/src/engine/engine_input.ts +2 -2
  60. package/src/engine/engine_license.ts +28 -5
  61. package/src/engine/engine_lifecycle_functions_internal.ts +21 -2
  62. package/src/engine/engine_networking_streams.ts +64 -19
  63. package/src/engine/physics/workers/mesh-bvh/GenerateMeshBVHWorker.js +8 -1
  64. package/src/engine/webcomponents/fonts.ts +6 -0
  65. package/src/engine/webcomponents/icons.ts +9 -2
  66. package/src/engine/webcomponents/needle menu/needle-menu.ts +30 -12
  67. package/src/engine/webcomponents/needle-engine.loading.ts +13 -1
  68. package/src/engine/webcomponents/needle-engine.ts +15 -5
  69. package/dist/gltf-progressive-BacJPTD6.umd.cjs +0 -10
  70. package/dist/gltf-progressive-BmXoz_HR.min.js +0 -10
@@ -1 +1 @@
1
- {"version":3,"file":"engine_license.js","sourceRoot":"","sources":["../../src/engine/engine_license.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"engine_license.js","sourceRoot":"","sources":["../../src/engine/engine_license.ts"],"names":[],"mappings":"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"}
@@ -100,12 +100,25 @@ function internalInvokeLifecycleFunctions(ctx, evt) {
100
100
  }
101
101
  }
102
102
  }
103
- const bufferArray = new Array();
103
+ const buffers = [];
104
+ let invocationDepth = 0;
104
105
  const hookContext = {
105
106
  context: null
106
107
  };
107
108
  function invoke(ctx, methods, invokeOnce) {
108
- bufferArray.length = 0;
109
+ // Reuse storage per nesting depth: hooks may synchronously invoke other hooks.
110
+ const bufferArray = buffers[invocationDepth] ?? (buffers[invocationDepth] = []);
111
+ invocationDepth++;
112
+ try {
113
+ invokeWithBuffer(ctx, methods, invokeOnce, bufferArray);
114
+ }
115
+ finally {
116
+ // One-time/unregistered callbacks can capture entire scenes as well.
117
+ bufferArray.length = 0;
118
+ invocationDepth--;
119
+ }
120
+ }
121
+ function invokeWithBuffer(ctx, methods, invokeOnce, bufferArray) {
109
122
  for (let i = 0; i < methods.length; i++) {
110
123
  bufferArray.push(methods[i]);
111
124
  }
@@ -117,6 +130,7 @@ function invoke(ctx, methods, invokeOnce) {
117
130
  invoke = false;
118
131
  }
119
132
  if (invoke) {
133
+ const previousContext = hookContext.context;
120
134
  try {
121
135
  hookContext.context = ctx;
122
136
  entry.method?.call(hookContext, ctx);
@@ -124,6 +138,10 @@ function invoke(ctx, methods, invokeOnce) {
124
138
  catch (e) {
125
139
  console.error("Error in lifecycle method", e);
126
140
  }
141
+ finally {
142
+ // This shared receiver must not keep the last invoked context alive.
143
+ hookContext.context = previousContext;
144
+ }
127
145
  }
128
146
  // Remove the method if it's a one time call
129
147
  if (entry.options?.once) {
@@ -1 +1 @@
1
- {"version":3,"file":"engine_lifecycle_functions_internal.js","sourceRoot":"","sources":["../../src/engine/engine_lifecycle_functions_internal.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"engine_lifecycle_functions_internal.js","sourceRoot":"","sources":["../../src/engine/engine_lifecycle_functions_internal.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
- import Peer, { MediaConnection } from "peerjs";
1
+ import type Peer from "peerjs";
2
+ import type { MediaConnection } from "peerjs";
2
3
  import { EventDispatcher } from "three";
3
4
  import { Context } from "./engine_context.js";
4
5
  import { type IComponent } from "./engine_types.js";
@@ -57,6 +58,9 @@ export declare class PeerHandle extends EventDispatcher<any> {
57
58
  private readonly _outgoingCalls;
58
59
  private _peer;
59
60
  private constructor();
61
+ private _disposed;
62
+ private readonly _callIntervals;
63
+ private dispose;
60
64
  private _enabled;
61
65
  private _enabledPeer;
62
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
  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 = getPeerjsInstance(peerId);
299
+ if (peerId) {
300
+ const peer = 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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"}
@@ -75,6 +75,11 @@ export class GenerateMeshBVHWorker extends WorkerBase {
75
75
  groups: [...geometry.groups],
76
76
  },
77
77
  }, transferable.map(arr => arr.buffer).filter(v => (typeof SharedArrayBuffer === 'undefined') || !(v instanceof SharedArrayBuffer)));
78
+ }).finally(() => {
79
+ // Pooled workers outlive each job. Both handlers capture the job scope,
80
+ // including its geometry, even after the promise has settled.
81
+ worker.onmessage = null;
82
+ worker.onerror = null;
78
83
  });
79
84
  }
80
85
  }
@@ -1 +1 @@
1
- {"version":3,"file":"GenerateMeshBVHWorker.js","sourceRoot":"","sources":["../../../../../src/engine/physics/workers/mesh-bvh/GenerateMeshBVHWorker.js"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,eAAe,EAAE,MAAM,OAAO,CAAC;AAC9C,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAEzC,uGAAuG;AACvG,OAAO,EAAE,UAAU,EAAE,MAAM,gDAAgD,CAAC;AAG5E,MAAM,OAAO,qBAAsB,SAAQ,UAAU;IAEpD;QACC,+DAA+D;QAC/D,0CAA0C;QAC1C,iHAAiH;QACjH,oCAAoC;QACpC,8DAA8D;QAC9D,2CAA2C;QAC3C,KAAK,CAAC,IAAI,MAAM,CAAC,IAAI,GAAG,CAAC,sDAAsD,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC;QACxH,IAAI,CAAC,IAAI,GAAG,uBAAuB,CAAC;IAErC,CAAC;IAED,OAAO,CAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,GAAG,EAAE;QAEtC,OAAO,IAAI,OAAO,CAAE,CAAE,OAAO,EAAE,MAAM,EAAG,EAAE;YAEzC,IACC,QAAQ,CAAC,YAAY,CAAE,UAAU,CAAE,CAAC,4BAA4B;gBAChE,QAAQ,CAAC,KAAK,IAAI,QAAQ,CAAC,KAAK,CAAC,4BAA4B,EAC5D,CAAC;gBAEF,MAAM,IAAI,KAAK,CAAE,kGAAkG,CAAE,CAAC;YAEvH,CAAC;YAEQ,MAAM,CAAC,OAAO,GAAG,CAAC,CAAC,EAAE;gBAEjB,MAAM,CAAC,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC,OAAO,IAAI,mJAAmJ,EAAE,CAAC,CAAC,CAAC;YAE9N,CAAC,CAAC;YAEF,MAAM,CAAC,SAAS,GAAG,CAAC,CAAC,EAAE;gBAEtB,MAAM,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC;gBAEnB,IAAK,IAAI,CAAC,KAAK,EAAG,CAAC;oBAElB,MAAM,CAAE,IAAI,KAAK,CAAE,IAAI,CAAC,KAAK,CAAE,CAAE,CAAC;oBAClC,MAAM,CAAC,SAAS,GAAG,IAAI,CAAC;gBAEzB,CAAC;qBAAM,IAAK,IAAI,CAAC,UAAU,EAAG,CAAC;oBAE9B,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC;oBACtC,MAAM,GAAG,GAAG,OAAO,CAAC,WAAW,CAAE,UAAU,EAAE,QAAQ,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAE,CAAC;oBAC7E,MAAM,aAAa,GAAG,MAAM,CAAC,MAAM,CAAE;wBAEpC,cAAc,EAAE,IAAI;qBAEpB,EAAE,OAAO,CAAE,CAAC;oBAEb,yEAAyE;oBACzE,sBAAsB;oBACtB,QAAQ,CAAC,UAAU,CAAC,QAAQ,CAAC,KAAK,GAAG,QAAQ,CAAC;oBAC9C,IAAK,UAAU,CAAC,KAAK,EAAG,CAAC;wBAExB,IAAK,QAAQ,CAAC,KAAK,EAAG,CAAC;4BAEtB,QAAQ,CAAC,KAAK,CAAC,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC;wBAEzC,CAAC;6BAAM,CAAC;4BAEP,MAAM,QAAQ,GAAG,IAAI,eAAe,CAAE,UAAU,CAAC,KAAK,EAAE,CAAC,EAAE,KAAK,CAAE,CAAC;4BACnE,QAAQ,CAAC,QAAQ,CAAE,QAAQ,CAAE,CAAC;wBAE/B,CAAC;oBAEF,CAAC;oBAED,IAAK,aAAa,CAAC,cAAc,EAAG,CAAC;wBAEpC,QAAQ,CAAC,WAAW,GAAG,GAAG,CAAC,cAAc,CAAE,IAAI,IAAI,EAAE,CAAE,CAAC;oBAEzD,CAAC;oBAED,IAAK,OAAO,CAAC,UAAU,EAAG,CAAC;wBAE1B,OAAO,CAAC,UAAU,CAAE,IAAI,CAAC,QAAQ,CAAE,CAAC;oBAErC,CAAC;oBAED,OAAO,CAAE,GAAG,CAAE,CAAC;oBACf,MAAM,CAAC,SAAS,GAAG,IAAI,CAAC;gBAEzB,CAAC;qBAAM,IAAK,OAAO,CAAC,UAAU,EAAG,CAAC;oBAEjC,OAAO,CAAC,UAAU,CAAE,IAAI,CAAC,QAAQ,CAAE,CAAC;gBAErC,CAAC;YAEF,CAAC,CAAC;YAEF,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;YAC3D,MAAM,QAAQ,GAAG,QAAQ,CAAC,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC;YACpD,MAAM,YAAY,GAAG,CAAE,QAAQ,CAAE,CAAC;YAClC,IAAK,KAAK,EAAG,CAAC;gBAEb,YAAY,CAAC,IAAI,CAAE,KAAK,CAAE,CAAC;YAE5B,CAAC;YAED,MAAM,CAAC,WAAW,CAAE;gBAEnB,KAAK;gBACL,QAAQ;gBACR,OAAO,EAAE;oBACR,GAAG,OAAO;oBACV,UAAU,EAAE,IAAI;oBAChB,wBAAwB,EAAE,OAAO,CAAE,OAAO,CAAC,UAAU,CAAE;oBACvD,MAAM,EAAE,CAAE,GAAI,QAAQ,CAAC,MAAM,CAAE;iBAC/B;aAED,EAAE,YAAY,CAAC,GAAG,CAAE,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,MAAM,CAAE,CAAC,MAAM,CAAE,CAAC,CAAC,EAAE,CAAC,CAAE,OAAO,iBAAiB,KAAK,WAAW,CAAE,IAAI,CAAE,CAAE,CAAC,YAAY,iBAAiB,CAAE,CAAE,CAAE,CAAC;QAEhJ,CAAC,CAAE,CAAC;IAEL,CAAC;CAED"}
1
+ {"version":3,"file":"GenerateMeshBVHWorker.js","sourceRoot":"","sources":["../../../../../src/engine/physics/workers/mesh-bvh/GenerateMeshBVHWorker.js"],"names":[],"mappings":"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"}
@@ -2,7 +2,7 @@ declare type LoadFontOptions = {
2
2
  element?: HTMLElement | DocumentFragment;
3
3
  loadedCallback?: () => void;
4
4
  };
5
- export declare function loadFont(url: string, opts?: LoadFontOptions): void;
5
+ export declare function loadFont(url: string, opts?: LoadFontOptions): () => void;
6
6
  /** Ensure the fonts that needle engine uses are loaded */
7
7
  export declare function ensureFonts(): void;
8
8
  export declare const iconFontUrl = "https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL,GRAD@24,400,0,0&display=block";
@@ -20,6 +20,13 @@ export function loadFont(url, opts) {
20
20
  }
21
21
  }
22
22
  }
23
+ // The link lives in document.head and can outlive the component using this callback.
24
+ return () => {
25
+ if (opts?.loadedCallback) {
26
+ for (const link of elements)
27
+ link.removeEventListener("load", opts.loadedCallback);
28
+ }
29
+ };
23
30
  }
24
31
  /** Ensure the fonts that needle engine uses are loaded */
25
32
  export function ensureFonts() {
@@ -1 +1 @@
1
- {"version":3,"file":"fonts.js","sourceRoot":"","sources":["../../../src/engine/webcomponents/fonts.ts"],"names":[],"mappings":"AAMA,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,+BAA+B,GAAG,IAAI,CAAC,CAAC,CAAC;IAC9F,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,QAAQ,CAAC,GAAG,GAAG,YAAY,CAAC;QAC5B,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,8FAA8F,CAAC,CAAC;AAC7G,CAAC;AAED,8CAA8C;AAC9C,+DAA+D;AAC/D,iDAAiD;AACjD,MAAM,CAAC,MAAM,WAAW,GAAG,iHAAiH,CAAC;AAC7I,wFAAwF"}
1
+ {"version":3,"file":"fonts.js","sourceRoot":"","sources":["../../../src/engine/webcomponents/fonts.ts"],"names":[],"mappings":"AAMA,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,+BAA+B,GAAG,IAAI,CAAC,CAAC,CAAC;IAC9F,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,QAAQ,CAAC,GAAG,GAAG,YAAY,CAAC;QAC5B,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,0DAA0D;AAC1D,MAAM,UAAU,WAAW;IACvB,QAAQ,CAAC,8FAA8F,CAAC,CAAC;AAC7G,CAAC;AAED,8CAA8C;AAC9C,+DAA+D;AAC/D,iDAAiD;AACjD,MAAM,CAAC,MAAM,WAAW,GAAG,iHAAiH,CAAC;AAC7I,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
  else {
@@ -30,7 +38,6 @@ export function getIconElement(str) {
30
38
  }
31
39
  }
32
40
  });
33
- return span;
34
41
  }
35
42
  /**@returns true if the element is an needle engine icon element */
36
43
  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":"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"}
@@ -150,6 +150,11 @@ export declare class NeedleMenuElement extends HTMLElement {
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;
@@ -2,7 +2,7 @@ import { showBalloonMessage } from "../../debug/debug.js";
2
2
  import { hasCommercialLicense, onLicenseCheckResultChanged, Telemetry } from "../../engine_license.js";
3
3
  import { isLocalNetwork } from "../../engine_networking_utils.js";
4
4
  import { DeviceUtilities, getParam } from "../../engine_utils.js";
5
- import { onXRSessionStart } from "../../xr/events.js";
5
+ import { offXRSessionStart, onXRSessionStart } from "../../xr/events.js";
6
6
  import { ButtonsFactory } from "../buttons.js";
7
7
  import { ensureFonts, iconFontUrl, loadFont } from "../fonts.js";
8
8
  import { getIconElement } from "../icons.js";
@@ -83,7 +83,9 @@ export class NeedleMenu {
83
83
  }
84
84
  /** @ignore internal method */
85
85
  onDestroy() {
86
+ offXRSessionStart(this.onStartXR);
86
87
  window.removeEventListener("message", this.onPostMessage);
88
+ this._menu.dispose();
87
89
  this._menu.remove();
88
90
  this._spatialMenu.onDestroy();
89
91
  }
@@ -268,6 +270,19 @@ export class NeedleMenuElement extends HTMLElement {
268
270
  }
269
271
  _domElement = null;
270
272
  _context = null;
273
+ _unsubscribeFont;
274
+ _licenseFrame;
275
+ _unsubscribeLicense;
276
+ /** @internal Release font and license subscriptions when the owning context is destroyed. */
277
+ dispose() {
278
+ this._unsubscribeFont?.();
279
+ this._unsubscribeFont = undefined;
280
+ if (this._licenseFrame !== undefined)
281
+ window.cancelAnimationFrame(this._licenseFrame);
282
+ this._licenseFrame = undefined;
283
+ this._unsubscribeLicense?.();
284
+ this._unsubscribeLicense = undefined;
285
+ }
271
286
  _didInitialize = false;
272
287
  constructor() {
273
288
  super();
@@ -673,7 +688,7 @@ export class NeedleMenuElement extends HTMLElement {
673
688
  // we need to add the icons to both the shadow dom as well as the HEAD to work
674
689
  // https://github.com/google/material-design-icons/issues/1165
675
690
  ensureFonts();
676
- loadFont(iconFontUrl, { loadedCallback: () => { this.handleSizeChange(); } });
691
+ this._unsubscribeFont = loadFont(iconFontUrl, { loadedCallback: () => { this.handleSizeChange(); } });
677
692
  loadFont(iconFontUrl, { element: shadow });
678
693
  const content = template.content.cloneNode(true);
679
694
  shadow?.appendChild(content);
@@ -697,17 +712,20 @@ export class NeedleMenuElement extends HTMLElement {
697
712
  try {
698
713
  // if the user has a license then we CAN hide the needle logo
699
714
  // calling this method immediately will cause an issue with vite bundling tho
700
- window.requestAnimationFrame(() => onLicenseCheckResultChanged(res => {
701
- if (res == true && hasCommercialLicense() && !debugNonCommercial) {
702
- let visible = this._userRequestedLogoVisible;
703
- if (visible === undefined)
704
- visible = false;
705
- this.___onSetLogoVisible(visible);
706
- }
707
- else {
708
- this.___onSetLogoVisible(true);
709
- }
710
- }));
715
+ this._licenseFrame = window.requestAnimationFrame(() => {
716
+ this._licenseFrame = undefined;
717
+ this._unsubscribeLicense = onLicenseCheckResultChanged(res => {
718
+ if (res == true && hasCommercialLicense() && !debugNonCommercial) {
719
+ let visible = this._userRequestedLogoVisible;
720
+ if (visible === undefined)
721
+ visible = false;
722
+ this.___onSetLogoVisible(visible);
723
+ }
724
+ else {
725
+ this.___onSetLogoVisible(true);
726
+ }
727
+ });
728
+ });
711
729
  }
712
730
  catch (e) {
713
731
  console.error("[Needle Menu] License check failed.", e);