@needle-tools/engine 5.1.12 → 5.1.14

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 (149) hide show
  1. package/CHANGELOG.md +12 -0
  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/{materialx-BBv-42Th.min.js → materialx-D3ZU4CP6.min.js} +1 -1
  7. package/dist/{materialx-0m1xlF5m.js → materialx-FhjQQgNu.js} +1 -1
  8. package/dist/{materialx-8OpPwNc7.umd.cjs → materialx-RxB3AN7d.umd.cjs} +2 -2
  9. package/dist/{needle-engine.bundle-9m-VdGg2.js → needle-engine.bundle-BEa7CABw.js} +7420 -7254
  10. package/dist/{needle-engine.bundle-BmdWLmLa.min.js → needle-engine.bundle-mkmiuKZB.min.js} +145 -145
  11. package/dist/{needle-engine.bundle-DdH96IqH.umd.cjs → needle-engine.bundle-y1_E7Ovt.umd.cjs} +146 -146
  12. package/dist/needle-engine.d.ts +37 -29
  13. package/dist/needle-engine.js +519 -520
  14. package/dist/needle-engine.min.js +1 -1
  15. package/dist/needle-engine.umd.cjs +1 -1
  16. package/dist/{vendor-DiDMDryv.js → vendor-BVzQovzJ.js} +5161 -5161
  17. package/dist/{vendor-DE_m5MvL.umd.cjs → vendor-C5YVRzxf.umd.cjs} +5 -5
  18. package/dist/{vendor-B7IfFLrR.min.js → vendor-rvNvQ-IU.min.js} +5 -5
  19. package/lib/engine/api.d.ts +4 -3
  20. package/lib/engine/api.js +3 -9
  21. package/lib/engine/api.js.map +1 -1
  22. package/lib/engine/engine_addressables.d.ts +32 -1
  23. package/lib/engine/engine_addressables.js +71 -9
  24. package/lib/engine/engine_addressables.js.map +1 -1
  25. package/lib/engine/engine_application.d.ts +2 -0
  26. package/lib/engine/engine_application.js +7 -3
  27. package/lib/engine/engine_application.js.map +1 -1
  28. package/lib/engine/engine_context.js +25 -1
  29. package/lib/engine/engine_context.js.map +1 -1
  30. package/lib/engine/engine_gameobject.js +1 -1
  31. package/lib/engine/engine_gameobject.js.map +1 -1
  32. package/lib/engine/engine_gltf_builtin_components.js +1 -1
  33. package/lib/engine/engine_gltf_builtin_components.js.map +1 -1
  34. package/lib/engine/engine_init.js +2 -2
  35. package/lib/engine/engine_init.js.map +1 -1
  36. package/lib/engine/engine_input.js +1 -1
  37. package/lib/engine/engine_input.js.map +1 -1
  38. package/lib/engine/engine_instantiate_resolve.js.map +1 -1
  39. package/lib/engine/engine_license.d.ts +7 -7
  40. package/lib/engine/engine_license.js +123 -80
  41. package/lib/engine/engine_license.js.map +1 -1
  42. package/lib/engine/engine_lifecycle_functions_internal.js +20 -2
  43. package/lib/engine/engine_lifecycle_functions_internal.js.map +1 -1
  44. package/lib/engine/engine_materialpropertyblock.js +18 -0
  45. package/lib/engine/engine_materialpropertyblock.js.map +1 -1
  46. package/lib/engine/engine_networking.d.ts +1 -1
  47. package/lib/engine/engine_networking.js +1 -1
  48. package/lib/engine/engine_networking.js.map +1 -1
  49. package/lib/engine/engine_networking_blob.js +3 -3
  50. package/lib/engine/engine_networking_blob.js.map +1 -1
  51. package/lib/engine/engine_networking_streams.d.ts +3 -0
  52. package/lib/engine/engine_networking_streams.js +64 -17
  53. package/lib/engine/engine_networking_streams.js.map +1 -1
  54. package/lib/engine/engine_utils_qrcode.js +2 -2
  55. package/lib/engine/engine_utils_qrcode.js.map +1 -1
  56. package/lib/engine/physics/workers/mesh-bvh/GenerateMeshBVHWorker.js +5 -0
  57. package/lib/engine/physics/workers/mesh-bvh/GenerateMeshBVHWorker.js.map +1 -1
  58. package/lib/engine/webcomponents/fonts.d.ts +1 -1
  59. package/lib/engine/webcomponents/fonts.js +16 -1
  60. package/lib/engine/webcomponents/fonts.js.map +1 -1
  61. package/lib/engine/webcomponents/icons.js +8 -1
  62. package/lib/engine/webcomponents/icons.js.map +1 -1
  63. package/lib/engine/webcomponents/needle menu/needle-menu-spatial.js +2 -2
  64. package/lib/engine/webcomponents/needle menu/needle-menu-spatial.js.map +1 -1
  65. package/lib/engine/webcomponents/needle menu/needle-menu.d.ts +5 -0
  66. package/lib/engine/webcomponents/needle menu/needle-menu.js +34 -16
  67. package/lib/engine/webcomponents/needle menu/needle-menu.js.map +1 -1
  68. package/lib/engine/webcomponents/needle-engine.d.ts +1 -0
  69. package/lib/engine/webcomponents/needle-engine.js +18 -6
  70. package/lib/engine/webcomponents/needle-engine.js.map +1 -1
  71. package/lib/engine/webcomponents/needle-engine.loading.d.ts +2 -0
  72. package/lib/engine/webcomponents/needle-engine.loading.js +12 -2
  73. package/lib/engine/webcomponents/needle-engine.loading.js.map +1 -1
  74. package/lib/engine/xr/NeedleXRSession.js +11 -10
  75. package/lib/engine/xr/NeedleXRSession.js.map +1 -1
  76. package/lib/engine/xr/TempXRContext.js +2 -2
  77. package/lib/engine/xr/TempXRContext.js.map +1 -1
  78. package/lib/engine-components/AnimationBuilder.d.ts +1 -1
  79. package/lib/engine-components/AnimationBuilder.js.map +1 -1
  80. package/lib/engine-components/AnimatorController.builder.d.ts +2 -2
  81. package/lib/engine-components/AnimatorController.builder.js +2 -2
  82. package/lib/engine-components/AnimatorController.builder.js.map +1 -1
  83. package/lib/engine-components/Component.d.ts +1 -1
  84. package/lib/engine-components/Component.js +1 -1
  85. package/lib/engine-components/Component.js.map +1 -1
  86. package/lib/engine-components/DragControls.d.ts +2 -2
  87. package/lib/engine-components/DragControls.js +2 -2
  88. package/lib/engine-components/DragControls.js.map +1 -1
  89. package/lib/engine-components/DragControlsConstraints.js.map +1 -1
  90. package/lib/engine-components/Light.js +1 -1
  91. package/lib/engine-components/Light.js.map +1 -1
  92. package/lib/engine-components/api.d.ts +2 -2
  93. package/lib/engine-components/api.js +1 -1
  94. package/lib/engine-components/api.js.map +1 -1
  95. package/lib/engine-components/export/usdz/USDZExporter.js +4 -4
  96. package/lib/engine-components/export/usdz/USDZExporter.js.map +1 -1
  97. package/lib/engine-components/export/usdz/extensions/behavior/BehaviourComponents.js.map +1 -1
  98. package/lib/engine-components/postprocessing/index.d.ts +1 -1
  99. package/lib/engine-components/postprocessing/index.js +1 -1
  100. package/lib/engine-components/postprocessing/index.js.map +1 -1
  101. package/lib/engine-components/timeline/TimelineBuilder.d.ts +4 -4
  102. package/lib/engine-components/timeline/TimelineBuilder.js +2 -2
  103. package/lib/engine-components/timeline/TimelineBuilder.js.map +1 -1
  104. package/lib/engine-components/timeline/TimelineTracks.js +24 -15
  105. package/lib/engine-components/timeline/TimelineTracks.js.map +1 -1
  106. package/lib/engine-components/webxr/WebXRImageTracking.utils.js.map +1 -1
  107. package/package.json +2 -2
  108. package/plugins/common/license.js +4 -4
  109. package/plugins/vite/license.js +4 -4
  110. package/src/engine/api.ts +5 -3
  111. package/src/engine/engine_addressables.ts +75 -9
  112. package/src/engine/engine_application.ts +7 -2
  113. package/src/engine/engine_context.ts +25 -1
  114. package/src/engine/engine_gameobject.ts +2 -2
  115. package/src/engine/engine_gltf_builtin_components.ts +1 -1
  116. package/src/engine/engine_init.ts +2 -2
  117. package/src/engine/engine_input.ts +2 -2
  118. package/src/engine/engine_instantiate_resolve.ts +1 -1
  119. package/src/engine/engine_license.ts +115 -77
  120. package/src/engine/engine_lifecycle_functions_internal.ts +21 -2
  121. package/src/engine/engine_materialpropertyblock.ts +21 -0
  122. package/src/engine/engine_networking.ts +2 -2
  123. package/src/engine/engine_networking_blob.ts +3 -3
  124. package/src/engine/engine_networking_streams.ts +61 -17
  125. package/src/engine/engine_utils_qrcode.ts +2 -2
  126. package/src/engine/physics/workers/mesh-bvh/GenerateMeshBVHWorker.js +8 -1
  127. package/src/engine/webcomponents/fonts.ts +16 -1
  128. package/src/engine/webcomponents/icons.ts +8 -1
  129. package/src/engine/webcomponents/needle menu/needle-menu-spatial.ts +2 -2
  130. package/src/engine/webcomponents/needle menu/needle-menu.ts +33 -15
  131. package/src/engine/webcomponents/needle-engine.loading.ts +19 -7
  132. package/src/engine/webcomponents/needle-engine.ts +16 -6
  133. package/src/engine/xr/NeedleXRSession.ts +11 -10
  134. package/src/engine/xr/TempXRContext.ts +2 -2
  135. package/src/engine-components/AnimationBuilder.ts +1 -1
  136. package/src/engine-components/AnimatorController.builder.ts +4 -4
  137. package/src/engine-components/Component.ts +1 -1
  138. package/src/engine-components/DragControls.ts +2 -3
  139. package/src/engine-components/DragControlsConstraints.ts +1 -2
  140. package/src/engine-components/Light.ts +1 -1
  141. package/src/engine-components/api.ts +2 -2
  142. package/src/engine-components/export/usdz/USDZExporter.ts +4 -4
  143. package/src/engine-components/export/usdz/extensions/behavior/BehaviourComponents.ts +1 -1
  144. package/src/engine-components/postprocessing/index.ts +1 -1
  145. package/src/engine-components/timeline/TimelineBuilder.ts +5 -5
  146. package/src/engine-components/timeline/TimelineTracks.ts +25 -17
  147. package/src/engine-components/webxr/WebXRImageTracking.utils.ts +0 -1
  148. package/dist/gltf-progressive-CdjpU5eP.min.js +0 -10
  149. package/dist/gltf-progressive-DeZioRZe.umd.cjs +0 -10
@@ -95,7 +95,8 @@
95
95
  */
96
96
  export * from "./debug/index.js";
97
97
  /** Addressable asset system for loading assets by address/label */
98
- export * from "./engine_addressables.js";
98
+ export type { ProgressCallback } from "./engine_addressables.js";
99
+ export { Addressables, AssetReference, FileReference, FileReferenceSerializer, ImageReference, ImageReferenceSerializer } from "./engine_addressables.js";
99
100
  /** Animation playback and control utilities */
100
101
  export { AnimationUtils } from "./engine_animation.js";
101
102
  /** Standalone audio clip for playback control */
@@ -133,8 +134,8 @@ export * from "./engine_context_registry.js";
133
134
  */
134
135
  export * from "./engine_coroutine.js";
135
136
  /** DisposableStore for managing lifecycle-bound cleanup in components */
136
- export { DisposableStore, on, isDisposable } from "./engine_disposable.js";
137
137
  export type { DisposeFn, IDisposable } from "./engine_disposable.js";
138
+ export { DisposableStore, isDisposable, on } from "./engine_disposable.js";
138
139
  /** Factory functions for creating primitives and objects */
139
140
  export * from "./engine_create_objects.js";
140
141
  /** Feature flags for enabling/disabling engine features */
@@ -162,7 +163,7 @@ export * from "./engine_input.js";
162
163
  /** GPU instancing utilities for rendering many similar objects efficiently */
163
164
  export { InstancingUtil } from "./engine_instancing.js";
164
165
  /** License checking utilities */
165
- export { $uxbFepO, _$EHSDVcNK, _$VfAckLjB } from "./engine_license.js";
166
+ export { __alnviAJA, __YFTdTh, _$xBhfh } from "./engine_license.js";
166
167
  /** Lifecycle API for registering global callbacks */
167
168
  export * from "./engine_lifecycle_api.js";
168
169
  /** Model loader callbacks for customizing load behavior */
package/lib/engine/api.js CHANGED
@@ -98,12 +98,7 @@
98
98
  // Debugging utilities, gizmos, and development tools.
99
99
  // ============================================================================
100
100
  export * from "./debug/index.js";
101
- // ============================================================================
102
- // ASSET LOADING & MANAGEMENT
103
- // Systems for loading, managing, and referencing assets at runtime.
104
- // ============================================================================
105
- /** Addressable asset system for loading assets by address/label */
106
- export * from "./engine_addressables.js";
101
+ export { Addressables, AssetReference, FileReference, FileReferenceSerializer, ImageReference, ImageReferenceSerializer } from "./engine_addressables.js";
107
102
  /** Animation playback and control utilities */
108
103
  export { AnimationUtils } from "./engine_animation.js";
109
104
  /** Standalone audio clip for playback control */
@@ -153,8 +148,7 @@ export * from "./engine_context_registry.js";
153
148
  * Use startCoroutine() for frame-based async operations.
154
149
  */
155
150
  export * from "./engine_coroutine.js";
156
- /** DisposableStore for managing lifecycle-bound cleanup in components */
157
- export { DisposableStore, on, isDisposable } from "./engine_disposable.js";
151
+ export { DisposableStore, isDisposable, on } from "./engine_disposable.js";
158
152
  /** Factory functions for creating primitives and objects */
159
153
  export * from "./engine_create_objects.js";
160
154
  /** Feature flags for enabling/disabling engine features */
@@ -190,7 +184,7 @@ export * from "./engine_input.js";
190
184
  /** GPU instancing utilities for rendering many similar objects efficiently */
191
185
  export { InstancingUtil } from "./engine_instancing.js";
192
186
  /** License checking utilities */
193
- export { $uxbFepO, _$EHSDVcNK, _$VfAckLjB } from "./engine_license.js";
187
+ export { __alnviAJA, __YFTdTh, _$xBhfh } from "./engine_license.js";
194
188
  // ============================================================================
195
189
  // LIFECYCLE & LOADING
196
190
  // Component lifecycle hooks and asset loading systems.
@@ -1 +1 @@
1
- {"version":3,"file":"api.js","sourceRoot":"","sources":["../../src/engine/api.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"api.js","sourceRoot":"","sources":["../../src/engine/api.ts"],"names":[],"mappings":"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"}
@@ -191,11 +191,22 @@ export declare class ImageReference {
191
191
  readonly url: string;
192
192
  private _bitmap?;
193
193
  private _bitmapObject?;
194
+ private _bitmapGeneration;
194
195
  dispose(): void;
196
+ /**
197
+ * @internal Only used during final context teardown; see {@link clearAssetCaches}.
198
+ * Dispose every cached {@link ImageReference} and empty the cache.
199
+ *
200
+ * The cache is static, so it outlives any {@link Context}: without this, images loaded by a
201
+ * page that is later torn down (e.g. navigating between routes in a SPA) stay in memory for
202
+ * the lifetime of the document, and the heap grows with every navigation.
203
+ * Called automatically once the last context is disposed — see {@link clearAssetCaches}.
204
+ */
205
+ static clearCache(): void;
195
206
  createHTMLImage(): HTMLImageElement;
196
207
  private loader;
197
208
  createTexture(): Promise<Texture | null>;
198
- /** Loads the bitmap data of the image */
209
+ /** Loads the bitmap data of the image. Returns null if disposed before loading completes. */
199
210
  getBitmap(): Promise<ImageBitmap | null>;
200
211
  }
201
212
  /** @internal */
@@ -226,7 +237,27 @@ export declare class FileReference {
226
237
  readonly url: string;
227
238
  private res?;
228
239
  constructor(url: string);
240
+ /** Drop the cached response so its body can be garbage collected. A subsequent load re-fetches. */
241
+ dispose(): void;
242
+ /**
243
+ * @internal Only used during final context teardown; see {@link clearAssetCaches}.
244
+ * Dispose every cached {@link FileReference} and empty the cache.
245
+ *
246
+ * The cache is static, so it outlives any {@link Context}: each entry holds the fetch response
247
+ * for its url, which keeps the file's binary data alive for the lifetime of the document.
248
+ * Called automatically once the last context is disposed — see {@link clearAssetCaches}.
249
+ */
250
+ static clearCache(): void;
229
251
  }
252
+ /**
253
+ * @internal Clear the shared file and image caches after the last context is disposed.
254
+ *
255
+ * Intentionally not exposed through the public engine API: clearing these caches closes
256
+ * ImageBitmaps already returned to callers. It does not destroy scenes or remove consumers,
257
+ * so calling it while a context is alive can invalidate assets that are still in use.
258
+ * A public API needs resource ownership tracking and defined handling of pending loads first.
259
+ */
260
+ export declare function clearAssetCaches(): void;
230
261
  /** @internal */
231
262
  export declare class FileReferenceSerializer extends TypeSerializer {
232
263
  constructor();
@@ -560,12 +560,33 @@ export class ImageReference {
560
560
  url;
561
561
  _bitmap;
562
562
  _bitmapObject;
563
+ _bitmapGeneration = 0;
563
564
  dispose() {
565
+ // Invalidate image loads and decodes that may complete after teardown.
566
+ this._bitmapGeneration++;
564
567
  if (this._bitmapObject) {
565
568
  this._bitmapObject.close();
569
+ // drop the reference too: close() frees the underlying image data, but keeping the
570
+ // object alive keeps the wrapper (and anything reachable from it) in the heap.
571
+ this._bitmapObject = undefined;
566
572
  }
567
573
  this._bitmap = undefined;
568
574
  }
575
+ /**
576
+ * @internal Only used during final context teardown; see {@link clearAssetCaches}.
577
+ * Dispose every cached {@link ImageReference} and empty the cache.
578
+ *
579
+ * The cache is static, so it outlives any {@link Context}: without this, images loaded by a
580
+ * page that is later torn down (e.g. navigating between routes in a SPA) stay in memory for
581
+ * the lifetime of the document, and the heap grows with every navigation.
582
+ * Called automatically once the last context is disposed — see {@link clearAssetCaches}.
583
+ */
584
+ static clearCache() {
585
+ for (const ref of ImageReference.imageReferences.values()) {
586
+ ref.dispose();
587
+ }
588
+ ImageReference.imageReferences.clear();
589
+ }
569
590
  createHTMLImage() {
570
591
  const img = new Image();
571
592
  img.src = this.url;
@@ -596,23 +617,34 @@ export class ImageReference {
596
617
  // return null;
597
618
  // });
598
619
  }
599
- /** Loads the bitmap data of the image */
620
+ /** Loads the bitmap data of the image. Returns null if disposed before loading completes. */
600
621
  getBitmap() {
601
622
  if (this._bitmap)
602
623
  return this._bitmap;
603
- this._bitmap = new Promise((res, _) => {
624
+ const generation = this._bitmapGeneration;
625
+ this._bitmap = new Promise((resolve, reject) => {
604
626
  const imageElement = document.createElement("img");
605
627
  imageElement.addEventListener("load", () => {
606
- this._bitmap = createImageBitmap(imageElement).then((bitmap) => {
628
+ if (generation !== this._bitmapGeneration) {
629
+ resolve(null);
630
+ return;
631
+ }
632
+ createImageBitmap(imageElement).then(bitmap => {
633
+ if (generation !== this._bitmapGeneration) {
634
+ // The cache no longer owns this request. Do not revive disposed state
635
+ // or overwrite a newer load on a reference that has been reused.
636
+ bitmap.close();
637
+ resolve(null);
638
+ return;
639
+ }
607
640
  this._bitmapObject = bitmap;
608
- res(bitmap);
609
- return bitmap;
610
- });
611
- });
641
+ resolve(bitmap);
642
+ }, reject);
643
+ }, { once: true });
612
644
  imageElement.addEventListener("error", err => {
613
645
  console.error("Failed to load image:" + this.url, err);
614
- res(null);
615
- });
646
+ resolve(null);
647
+ }, { once: true });
616
648
  imageElement.src = this.url;
617
649
  });
618
650
  return this._bitmap;
@@ -673,6 +705,36 @@ export class FileReference {
673
705
  constructor(url) {
674
706
  this.url = url;
675
707
  }
708
+ /** Drop the cached response so its body can be garbage collected. A subsequent load re-fetches. */
709
+ dispose() {
710
+ this.res = undefined;
711
+ }
712
+ /**
713
+ * @internal Only used during final context teardown; see {@link clearAssetCaches}.
714
+ * Dispose every cached {@link FileReference} and empty the cache.
715
+ *
716
+ * The cache is static, so it outlives any {@link Context}: each entry holds the fetch response
717
+ * for its url, which keeps the file's binary data alive for the lifetime of the document.
718
+ * Called automatically once the last context is disposed — see {@link clearAssetCaches}.
719
+ */
720
+ static clearCache() {
721
+ for (const ref of FileReference.cache.values()) {
722
+ ref.dispose();
723
+ }
724
+ FileReference.cache.clear();
725
+ }
726
+ }
727
+ /**
728
+ * @internal Clear the shared file and image caches after the last context is disposed.
729
+ *
730
+ * Intentionally not exposed through the public engine API: clearing these caches closes
731
+ * ImageBitmaps already returned to callers. It does not destroy scenes or remove consumers,
732
+ * so calling it while a context is alive can invalidate assets that are still in use.
733
+ * A public API needs resource ownership tracking and defined handling of pending loads first.
734
+ */
735
+ export function clearAssetCaches() {
736
+ FileReference.clearCache();
737
+ ImageReference.clearCache();
676
738
  }
677
739
  /** @internal */
678
740
  export class FileReferenceSerializer extends TypeSerializer {
@@ -1 +1 @@
1
- {"version":3,"file":"engine_addressables.js","sourceRoot":"","sources":["../../src/engine/engine_addressables.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"engine_addressables.js","sourceRoot":"","sources":["../../src/engine/engine_addressables.ts"],"names":[],"mappings":"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"}
@@ -50,5 +50,7 @@ export declare class Application extends EventTarget {
50
50
  private _isVisible;
51
51
  /** @internal */
52
52
  constructor(context: Context);
53
+ /** @internal Remove the global listener when the owning context is disposed. */
54
+ dispose(): void;
53
55
  private onVisiblityChanged;
54
56
  }
@@ -95,9 +95,13 @@ export class Application extends EventTarget {
95
95
  constructor(context) {
96
96
  super();
97
97
  this.context = context;
98
- window.addEventListener("visibilitychange", this.onVisiblityChanged.bind(this), false);
98
+ window.addEventListener("visibilitychange", this.onVisiblityChanged, false);
99
99
  }
100
- onVisiblityChanged(evt) {
100
+ /** @internal Remove the global listener when the owning context is disposed. */
101
+ dispose() {
102
+ window.removeEventListener("visibilitychange", this.onVisiblityChanged, false);
103
+ }
104
+ onVisiblityChanged = (evt) => {
101
105
  // console.log(evt.target.visibilityState)
102
106
  switch (evt.target.visibilityState) {
103
107
  case "hidden":
@@ -109,6 +113,6 @@ export class Application extends EventTarget {
109
113
  this.dispatchEvent(new Event(ApplicationEvents.Visible));
110
114
  break;
111
115
  }
112
- }
116
+ };
113
117
  }
114
118
  //# sourceMappingURL=engine_application.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"engine_application.js","sourceRoot":"","sources":["../../src/engine/engine_application.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"engine_application.js","sourceRoot":"","sources":["../../src/engine/engine_application.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  import 'three/examples/jsm/renderers/webgl-legacy/nodes/WebGLNodes.js';
2
+ import { NEEDLE_progressive } from '@needle-tools/gltf-progressive';
2
3
  import { Color, DepthTexture, Group, NearestFilter, NoToneMapping, Object3D, PCFSoftShadowMap, PerspectiveCamera, RGBAFormat, Scene, SRGBColorSpace, Texture, WebGLRenderer, WebGLRenderTarget } from 'three';
3
4
  /** @ts-ignore (not yet in types?) */
4
5
  import { BasicNodeLibrary } from "three";
@@ -7,7 +8,7 @@ import { nodeFrame } from "three/examples/jsm/renderers/webgl-legacy/nodes/WebGL
7
8
  import { initSpectorIfAvailable } from './debug/debug_spector.js';
8
9
  import { isDevEnvironment, LogType, showBalloonError, showBalloonMessage } from './debug/index.js';
9
10
  import { AccessibilityManager } from './engine_accessibility.js';
10
- import { Addressables } from './engine_addressables.js';
11
+ import { Addressables, clearAssetCaches } from './engine_addressables.js';
11
12
  import { AnimationsRegistry } from './engine_animation.js';
12
13
  import { Application } from './engine_application.js';
13
14
  import { AssetDatabase } from './engine_assetdatabase.js';
@@ -828,6 +829,19 @@ export class Context {
828
829
  Context.Current = this;
829
830
  ContextRegistry.dispatchCallback(ContextEvent.ContextDestroying, this);
830
831
  invokeLifecycleFunctions(this, ContextEvent.ContextDestroying);
832
+ // The global legacy node frame must not retain this context's scene after teardown.
833
+ if (nodeFrame.camera === this._mainCamera || nodeFrame.camera === this._fallbackCamera
834
+ || nodeFrame.camera === this.mainCameraComponent?.threeCamera) {
835
+ nodeFrame.camera = null;
836
+ }
837
+ if (this.renderer && nodeFrame.renderer === this.renderer) {
838
+ nodeFrame.camera = null;
839
+ nodeFrame.renderer = null;
840
+ nodeFrame.object = null;
841
+ nodeFrame.material = null;
842
+ nodeFrame.scene = null;
843
+ nodeFrame.geometry = null;
844
+ }
831
845
  this.clear();
832
846
  // Unhook the LOD render patch and remove this context's lodsManager from the
833
847
  // global gltf-progressive plugin registry before the renderer goes away.
@@ -845,6 +859,7 @@ export class Context {
845
859
  }
846
860
  this.scene = null;
847
861
  this.renderer = null;
862
+ this.application.dispose();
848
863
  this.input.dispose();
849
864
  this.connection.dispose();
850
865
  this.menu.onDestroy();
@@ -864,6 +879,15 @@ export class Context {
864
879
  ContextRegistry.dispatchCallback(ContextEvent.ContextDestroyed, this);
865
880
  invokeLifecycleFunctions(this, ContextEvent.ContextDestroyed);
866
881
  ContextRegistry.unregister(this);
882
+ // The asset caches (FileReference/ImageReference) are static and shared by all contexts, so
883
+ // they can only be released once nothing is left that could still be using them. Without
884
+ // this they are never emptied: a SPA that repeatedly creates and destroys <needle-engine>
885
+ // elements keeps every loaded file and image alive for the lifetime of the document.
886
+ if (ContextRegistry.Registered.length === 0) {
887
+ clearAssetCaches();
888
+ // Geometry promises in this shared cache retain resource users and their textures.
889
+ NEEDLE_progressive.dispose();
890
+ }
867
891
  if (Context.Current === this) {
868
892
  //@ts-ignore
869
893
  Context.Current = null;