@needle-tools/engine 4.16.12 → 4.16.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 (30) hide show
  1. package/CHANGELOG.md +4 -0
  2. package/dist/gltf-progressive-BT_4GMMF.js +1927 -0
  3. package/dist/gltf-progressive-C4zH6OZo.min.js +10 -0
  4. package/dist/gltf-progressive-KjDKGnBJ.umd.cjs +10 -0
  5. package/dist/{needle-engine.bundle-BfsnYTeP.js → needle-engine.bundle-B_o07sw9.js} +4156 -4143
  6. package/dist/{needle-engine.bundle-COr8D1vc.umd.cjs → needle-engine.bundle-BiPi1Ix_.umd.cjs} +117 -117
  7. package/dist/{needle-engine.bundle-DG1sGkxn.min.js → needle-engine.bundle-C7hgmyY2.min.js} +118 -118
  8. package/dist/needle-engine.d.ts +2 -0
  9. package/dist/needle-engine.js +3 -3
  10. package/dist/needle-engine.min.js +1 -1
  11. package/dist/needle-engine.umd.cjs +1 -1
  12. package/dist/three.js +3 -0
  13. package/dist/three.min.js +22 -22
  14. package/dist/three.umd.cjs +24 -24
  15. package/lib/engine/engine_context.js +3 -0
  16. package/lib/engine/engine_context.js.map +1 -1
  17. package/lib/engine/engine_loaders.gltf.d.ts +3 -1
  18. package/lib/engine/engine_loaders.gltf.js +6 -1
  19. package/lib/engine/engine_loaders.gltf.js.map +1 -1
  20. package/lib/engine/engine_physics.d.ts +2 -0
  21. package/lib/engine/engine_physics.js +23 -1
  22. package/lib/engine/engine_physics.js.map +1 -1
  23. package/package.json +2 -2
  24. package/src/engine/engine_context.ts +3 -0
  25. package/src/engine/engine_loaders.gltf.ts +8 -2
  26. package/src/engine/engine_physics.ts +22 -1
  27. package/dist/gltf-progressive-DLDvZ8Xm.umd.cjs +0 -10
  28. package/dist/gltf-progressive-DMK8kKVB.js +0 -1543
  29. package/dist/gltf-progressive-RPgYR6rv.min.js +0 -10
  30. /package/dist/{loader.worker-BqODMeeW.js → gltf-progressive.worker-BqODMeeW.js} +0 -0
@@ -23,6 +23,7 @@ import { Input } from './engine_input.js';
23
23
  import { Telemetry } from './engine_license.js';
24
24
  import { invokeLifecycleFunctions } from './engine_lifecycle_functions_internal.js';
25
25
  import { LightDataRegistry } from './engine_lightdata.js';
26
+ import { disposeGLTFLoaders } from './engine_loaders.gltf.js';
26
27
  import { LODsManager } from "./engine_lods.js";
27
28
  import * as looputils from './engine_mainloop_utils.js';
28
29
  import { NetworkConnection } from './engine_networking.js';
@@ -803,6 +804,8 @@ export class Context {
803
804
  // this they are never emptied: a SPA that repeatedly creates and destroys <needle-engine>
804
805
  // elements keeps every loaded file and image alive for the lifetime of the document.
805
806
  if (ContextRegistry.Registered.length === 0) {
807
+ Physics.disposeMeshBVHWorkers();
808
+ disposeGLTFLoaders();
806
809
  clearAssetCaches();
807
810
  // Geometry promises in this shared cache retain resource users and their textures.
808
811
  NEEDLE_progressive.dispose();
@@ -1 +1 @@
1
- {"version":3,"file":"engine_context.js","sourceRoot":"","sources":["../../src/engine/engine_context.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"engine_context.js","sourceRoot":"","sources":["../../src/engine/engine_context.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,7 @@
1
1
  import { GLTFLoader } from 'three/examples/jsm/loaders/GLTFLoader.js';
2
- import { Context } from "./engine_setup.js";
2
+ import type { Context } from "./engine_setup.js";
3
+ /** Release shared decoder workers after the last engine context is destroyed. */
4
+ export declare function disposeGLTFLoaders(): void;
3
5
  export declare function setDracoDecoderPath(path: string | undefined): void;
4
6
  export declare function setDracoDecoderType(type: string | undefined): void;
5
7
  export declare function setKtx2TranscoderPath(path: string): void;
@@ -1,4 +1,4 @@
1
- import { addDracoAndKTX2Loaders as addDracoAndKTX2LoadersGLTFProgressive, configureLoader, createLoaders, setDracoDecoderLocation, setKTX2TranscoderLocation } from '@needle-tools/gltf-progressive';
1
+ import { addDracoAndKTX2Loaders as addDracoAndKTX2LoadersGLTFProgressive, configureLoader, createLoaders, disposeLoaders, setDracoDecoderLocation, setKTX2TranscoderLocation } from '@needle-tools/gltf-progressive';
2
2
  import { getParam } from "./engine_utils.js";
3
3
  const debug = getParam("debugdecoders");
4
4
  let loaders = null;
@@ -9,6 +9,11 @@ function ensureLoaders() {
9
9
  }
10
10
  return loaders;
11
11
  }
12
+ /** Release shared decoder workers after the last engine context is destroyed. */
13
+ export function disposeGLTFLoaders() {
14
+ disposeLoaders();
15
+ loaders = null;
16
+ }
12
17
  export function setDracoDecoderPath(path) {
13
18
  if (path !== undefined && typeof path === "string") {
14
19
  setDracoDecoderLocation(path);
@@ -1 +1 @@
1
- {"version":3,"file":"engine_loaders.gltf.js","sourceRoot":"","sources":["../../src/engine/engine_loaders.gltf.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,sBAAsB,IAAI,qCAAqC,EAAE,eAAe,EAAE,aAAa,EAAE,uBAAuB,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAC;AAOrM,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAE7C,MAAM,KAAK,GAAG,QAAQ,CAAC,eAAe,CAAC,CAAC;AAExC,IAAI,OAAO,GAAuG,IAAI,CAAC;AAEvH,SAAS,aAAa;IAClB,IAAI,CAAC,OAAO,EAAE,CAAC;QACX,MAAM,GAAG,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC;QAChC,OAAO,GAAG,EAAE,WAAW,EAAE,GAAG,CAAC,WAAW,EAAE,UAAU,EAAE,GAAG,CAAC,UAAU,EAAE,cAAc,EAAE,GAAG,CAAC,cAAc,EAAE,CAAC;IAC/G,CAAC;IACD,OAAO,OAAO,CAAC;AACnB,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,IAAwB;IACxD,IAAI,IAAI,KAAK,SAAS,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;QACjD,uBAAuB,CAAC,IAAI,CAAC,CAAC;IAClC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,IAAwB;IACxD,IAAI,IAAI,KAAK,SAAS,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;QACjD,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;YAChB,MAAM,OAAO,GAAG,aAAa,EAAE,CAAC;YAChC,IAAI,KAAK;gBAAE,OAAO,CAAC,GAAG,CAAC,+BAA+B,EAAE,IAAI,CAAC,CAAC;YAC9D,OAAO,CAAC,WAAW,CAAC,gBAAgB,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;QACzD,CAAC;IACL,CAAC;AACL,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,IAAY;IAC9C,IAAI,IAAI,KAAK,SAAS,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;QACjD,yBAAyB,CAAC,IAAI,CAAC,CAAC;IACpC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,eAAoB;IAClD,IAAI,eAAe,KAAK,SAAS,EAAE,CAAC;QAChC,MAAM,OAAO,GAAG,aAAa,EAAE,CAAC;QAChC,OAAO,CAAC,cAAc,GAAG,eAAe,CAAC;IAC7C,CAAC;AACL,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,sBAAsB,CAAC,MAAkB,EAAE,OAAkC;IAEzF,MAAM,OAAO,GAAG,aAAa,EAAE,CAAC;IAEhC,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;QACnB,OAAO,CAAC,UAAU,CAAC,aAAa,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IACvD,CAAC;;QAEG,OAAO,CAAC,IAAI,CAAC,wFAAwF,CAAC,CAAC;IAE3G,qCAAqC,CAAC,MAAM,CAAC,CAAC;IAE9C,IAAI,CAAC,MAAM,CAAC,WAAW;QACnB,MAAM,CAAC,cAAc,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;IAC/C,IAAI,CAAE,MAAc,CAAC,UAAU;QAC3B,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IAC7C,IAAI,CAAE,MAAc,CAAC,cAAc;QAC/B,MAAM,CAAC,iBAAiB,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;IAErD,eAAe,CAAC,MAAM,EAAE;QACpB,WAAW,EAAE,IAAI;KACpB,CAAC,CAAC;IAEH,OAAO,MAAM,CAAC;AAClB,CAAC"}
1
+ {"version":3,"file":"engine_loaders.gltf.js","sourceRoot":"","sources":["../../src/engine/engine_loaders.gltf.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,sBAAsB,IAAI,qCAAqC,EAAE,eAAe,EAAE,aAAa,EAAE,cAAc,EAAE,uBAAuB,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAC;AAOrN,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAE7C,MAAM,KAAK,GAAG,QAAQ,CAAC,eAAe,CAAC,CAAC;AAExC,IAAI,OAAO,GAAuG,IAAI,CAAC;AAEvH,SAAS,aAAa;IAClB,IAAI,CAAC,OAAO,EAAE,CAAC;QACX,MAAM,GAAG,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC;QAChC,OAAO,GAAG,EAAE,WAAW,EAAE,GAAG,CAAC,WAAW,EAAE,UAAU,EAAE,GAAG,CAAC,UAAU,EAAE,cAAc,EAAE,GAAG,CAAC,cAAc,EAAE,CAAC;IAC/G,CAAC;IACD,OAAO,OAAO,CAAC;AACnB,CAAC;AAED,iFAAiF;AACjF,MAAM,UAAU,kBAAkB;IAC9B,cAAc,EAAE,CAAC;IACjB,OAAO,GAAG,IAAI,CAAC;AACnB,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,IAAwB;IACxD,IAAI,IAAI,KAAK,SAAS,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;QACjD,uBAAuB,CAAC,IAAI,CAAC,CAAC;IAClC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,IAAwB;IACxD,IAAI,IAAI,KAAK,SAAS,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;QACjD,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;YAChB,MAAM,OAAO,GAAG,aAAa,EAAE,CAAC;YAChC,IAAI,KAAK;gBAAE,OAAO,CAAC,GAAG,CAAC,+BAA+B,EAAE,IAAI,CAAC,CAAC;YAC9D,OAAO,CAAC,WAAW,CAAC,gBAAgB,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;QACzD,CAAC;IACL,CAAC;AACL,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,IAAY;IAC9C,IAAI,IAAI,KAAK,SAAS,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;QACjD,yBAAyB,CAAC,IAAI,CAAC,CAAC;IACpC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,eAAoB;IAClD,IAAI,eAAe,KAAK,SAAS,EAAE,CAAC;QAChC,MAAM,OAAO,GAAG,aAAa,EAAE,CAAC;QAChC,OAAO,CAAC,cAAc,GAAG,eAAe,CAAC;IAC7C,CAAC;AACL,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,sBAAsB,CAAC,MAAkB,EAAE,OAAkC;IAEzF,MAAM,OAAO,GAAG,aAAa,EAAE,CAAC;IAEhC,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;QACnB,OAAO,CAAC,UAAU,CAAC,aAAa,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IACvD,CAAC;;QAEG,OAAO,CAAC,IAAI,CAAC,wFAAwF,CAAC,CAAC;IAE3G,qCAAqC,CAAC,MAAM,CAAC,CAAC;IAE9C,IAAI,CAAC,MAAM,CAAC,WAAW;QACnB,MAAM,CAAC,cAAc,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;IAC/C,IAAI,CAAE,MAAc,CAAC,UAAU;QAC3B,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IAC7C,IAAI,CAAE,MAAc,CAAC,cAAc;QAC/B,MAAM,CAAC,iBAAiB,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;IAErD,eAAe,CAAC,MAAM,EAAE;QACpB,WAAW,EAAE,IAAI;KACpB,CAAC,CAAC;IAEH,OAAO,MAAM,CAAC;AAClB,CAAC"}
@@ -128,6 +128,8 @@ export declare class SphereIntersection implements Intersection {
128
128
  * @see {@link RapierPhysics} for physics engine implementation details
129
129
  */
130
130
  export declare class Physics {
131
+ /** Release the shared BVH worker pool after the last engine context is destroyed. */
132
+ static disposeMeshBVHWorkers(): void;
131
133
  private static _raycasting;
132
134
  /**
133
135
  * Returns true if raycasting is currently in progress
@@ -94,6 +94,10 @@ export class SphereIntersection {
94
94
  * @see {@link RapierPhysics} for physics engine implementation details
95
95
  */
96
96
  export class Physics {
97
+ /** Release the shared BVH worker pool after the last engine context is destroyed. */
98
+ static disposeMeshBVHWorkers() {
99
+ NEMeshBVH.disposeWorkers();
100
+ }
97
101
  static _raycasting = 0;
98
102
  /**
99
103
  * Returns true if raycasting is currently in progress
@@ -587,7 +591,13 @@ var NEMeshBVH;
587
591
  .finally(() => {
588
592
  if (debugPhysics)
589
593
  console.log(">>>>> worker done", name, { hasBoundsTre: geom.boundsTree != undefined });
590
- availableWorkers.push(workerInstance);
594
+ if (retiredWorkers.has(workerInstance)) {
595
+ retiredWorkers.delete(workerInstance);
596
+ workerInstance.dispose();
597
+ }
598
+ else {
599
+ availableWorkers.push(workerInstance);
600
+ }
591
601
  copy.dispose();
592
602
  performance.mark("bvh.create.end");
593
603
  performance.measure("bvh.create (worker)", "bvh.create.start", "bvh.create.end");
@@ -704,6 +714,18 @@ var NEMeshBVH;
704
714
  const canUseWorkerSymbol = Symbol("Needle:MeshBVH-CanUseWorker");
705
715
  const workerInstances = [];
706
716
  const availableWorkers = [];
717
+ const retiredWorkers = new Set();
718
+ function disposeWorkers() {
719
+ for (const worker of workerInstances) {
720
+ if (worker.running)
721
+ retiredWorkers.add(worker);
722
+ else
723
+ worker.dispose();
724
+ }
725
+ workerInstances.length = 0;
726
+ availableWorkers.length = 0;
727
+ }
728
+ NEMeshBVH.disposeWorkers = disposeWorkers;
707
729
  function internalSetupWorker() {
708
730
  didSetupWorker = true;
709
731
  isRequestingWorker = true;
@@ -1 +1 @@
1
- {"version":3,"file":"engine_physics.js","sourceRoot":"","sources":["../../src/engine/engine_physics.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"engine_physics.js","sourceRoot":"","sources":["../../src/engine/engine_physics.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@needle-tools/engine",
3
- "version": "4.16.12",
3
+ "version": "4.16.13",
4
4
  "description": "Needle Engine is a web-based runtime for 3D apps. It runs on your machine for development with great integrations into editors like Unity or Blender - and can be deployed onto any device! It is flexible, extensible and networking and XR are built-in.",
5
5
  "main": "dist/needle-engine.min.js",
6
6
  "exports": {
@@ -114,7 +114,7 @@
114
114
  ],
115
115
  "dependencies": {
116
116
  "@dimforge/rapier3d-compat": "0.19.x",
117
- "@needle-tools/gltf-progressive": "3.4.0-beta.4",
117
+ "@needle-tools/gltf-progressive": "3.6.2",
118
118
  "@needle-tools/materialx": "1.4.6",
119
119
  "@needle-tools/three-animation-pointer": "1.0.7",
120
120
  "@webxr-input-profiles/motion-controllers": "^1.0.0",
@@ -32,6 +32,7 @@ import { Input } from './engine_input.js';
32
32
  import { Telemetry } from './engine_license.js';
33
33
  import { invokeLifecycleFunctions } from './engine_lifecycle_functions_internal.js';
34
34
  import { type ILightDataRegistry, LightDataRegistry } from './engine_lightdata.js';
35
+ import { disposeGLTFLoaders } from './engine_loaders.gltf.js';
35
36
  import { LODsManager } from "./engine_lods.js";
36
37
  import * as looputils from './engine_mainloop_utils.js';
37
38
  import { NetworkConnection } from './engine_networking.js';
@@ -900,6 +901,8 @@ export class Context implements IContext {
900
901
  // this they are never emptied: a SPA that repeatedly creates and destroys <needle-engine>
901
902
  // elements keeps every loaded file and image alive for the lifetime of the document.
902
903
  if (ContextRegistry.Registered.length === 0) {
904
+ Physics.disposeMeshBVHWorkers();
905
+ disposeGLTFLoaders();
903
906
  clearAssetCaches();
904
907
  // Geometry promises in this shared cache retain resource users and their textures.
905
908
  NEEDLE_progressive.dispose();
@@ -1,11 +1,11 @@
1
1
 
2
- import { addDracoAndKTX2Loaders as addDracoAndKTX2LoadersGLTFProgressive, configureLoader, createLoaders, setDracoDecoderLocation, setKTX2TranscoderLocation } from '@needle-tools/gltf-progressive';
2
+ import { addDracoAndKTX2Loaders as addDracoAndKTX2LoadersGLTFProgressive, configureLoader, createLoaders, disposeLoaders, setDracoDecoderLocation, setKTX2TranscoderLocation } from '@needle-tools/gltf-progressive';
3
3
  import { MeshoptDecoder } from 'three/examples/jsm/libs/meshopt_decoder.module.js';
4
4
  import { DRACOLoader } from 'three/examples/jsm/loaders/DRACOLoader.js';
5
5
  import { GLTFLoader } from 'three/examples/jsm/loaders/GLTFLoader.js'
6
6
  import { KTX2Loader } from 'three/examples/jsm/loaders/KTX2Loader.js';
7
7
 
8
- import { Context } from "./engine_setup.js"
8
+ import type { Context } from "./engine_setup.js"
9
9
  import { getParam } from "./engine_utils.js";
10
10
 
11
11
  const debug = getParam("debugdecoders");
@@ -20,6 +20,12 @@ function ensureLoaders() {
20
20
  return loaders;
21
21
  }
22
22
 
23
+ /** Release shared decoder workers after the last engine context is destroyed. */
24
+ export function disposeGLTFLoaders() {
25
+ disposeLoaders();
26
+ loaders = null;
27
+ }
28
+
23
29
  export function setDracoDecoderPath(path: string | undefined) {
24
30
  if (path !== undefined && typeof path === "string") {
25
31
  setDracoDecoderLocation(path);
@@ -175,6 +175,11 @@ export class SphereIntersection implements Intersection {
175
175
  */
176
176
  export class Physics {
177
177
 
178
+ /** Release the shared BVH worker pool after the last engine context is destroyed. */
179
+ static disposeMeshBVHWorkers() {
180
+ NEMeshBVH.disposeWorkers();
181
+ }
182
+
178
183
  private static _raycasting: number = 0;
179
184
  /**
180
185
  * Returns true if raycasting is currently in progress
@@ -738,7 +743,13 @@ namespace NEMeshBVH {
738
743
  })
739
744
  .finally(() => {
740
745
  if (debugPhysics) console.log(">>>>> worker done", name, { hasBoundsTre: geom.boundsTree != undefined });
741
- availableWorkers.push(workerInstance);
746
+ if (retiredWorkers.has(workerInstance)) {
747
+ retiredWorkers.delete(workerInstance);
748
+ workerInstance.dispose();
749
+ }
750
+ else {
751
+ availableWorkers.push(workerInstance);
752
+ }
742
753
  copy.dispose();
743
754
  performance.mark("bvh.create.end");
744
755
  performance.measure("bvh.create (worker)", "bvh.create.start", "bvh.create.end");
@@ -859,6 +870,16 @@ namespace NEMeshBVH {
859
870
  const canUseWorkerSymbol = Symbol("Needle:MeshBVH-CanUseWorker");
860
871
  const workerInstances: GenerateMeshBVHWorker[] = [];
861
872
  const availableWorkers: GenerateMeshBVHWorker[] = [];
873
+ const retiredWorkers = new Set<GenerateMeshBVHWorker>();
874
+
875
+ export function disposeWorkers() {
876
+ for (const worker of workerInstances) {
877
+ if (worker.running) retiredWorkers.add(worker);
878
+ else worker.dispose();
879
+ }
880
+ workerInstances.length = 0;
881
+ availableWorkers.length = 0;
882
+ }
862
883
 
863
884
  function internalSetupWorker() {
864
885
  didSetupWorker = true;