@needle-tools/engine 4.16.4-next.b2877e2 → 4.16.4-next.d7334fa

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 (60) hide show
  1. package/CHANGELOG.md +5 -0
  2. package/dist/gltf-progressive-BJ9OrddA.js +28272 -0
  3. package/dist/gltf-progressive-Ck_bXBr_.umd.cjs +4022 -0
  4. package/dist/gltf-progressive-CqZYu6Hx.min.js +4022 -0
  5. package/dist/loader.worker-CCrD-Ycm.js +3 -0
  6. package/dist/{materialx-CT8J50pg.js → materialx-CEJOMiVq.js} +6 -7
  7. package/dist/{materialx-BrPdNmQT.umd.cjs → materialx-CN_PDqtU.umd.cjs} +1 -1
  8. package/dist/{materialx-D_ofN96q.min.js → materialx-DZYSWLvT.min.js} +1 -1
  9. package/dist/{needle-engine.bundle-CA3cGZLm.umd.cjs → needle-engine.bundle-7jhrheqM.umd.cjs} +159 -159
  10. package/dist/{needle-engine.bundle-BaX4DZTL.min.js → needle-engine.bundle-B1vy0_5d.min.js} +137 -137
  11. package/dist/{needle-engine.bundle-06bUoVsZ.js → needle-engine.bundle-BVUJloKV.js} +4192 -4185
  12. package/dist/needle-engine.d.ts +59 -53
  13. package/dist/needle-engine.js +3 -3
  14. package/dist/needle-engine.min.js +1 -1
  15. package/dist/needle-engine.umd.cjs +1 -1
  16. package/dist/three-examples.js +3294 -4643
  17. package/dist/three-examples.min.js +13 -47
  18. package/dist/three-examples.umd.cjs +12 -46
  19. package/dist/three.js +24892 -15999
  20. package/dist/three.min.js +214 -214
  21. package/dist/three.umd.cjs +208 -208
  22. package/dist/{vendor-DZ45lcA8.min.js → vendor-BPp9F5vR.min.js} +19 -19
  23. package/dist/{vendor-BsRxp-FT.js → vendor-CQMI3jTS.js} +862 -901
  24. package/dist/{vendor-BwxpsdCm.umd.cjs → vendor-CipoooTV.umd.cjs} +20 -20
  25. package/lib/engine/engine_feature_flags.d.ts +3 -3
  26. package/lib/engine/engine_feature_flags.js +3 -5
  27. package/lib/engine/engine_feature_flags.js.map +1 -1
  28. package/lib/engine/engine_lods.d.ts +9 -1
  29. package/lib/engine/engine_lods.js +9 -1
  30. package/lib/engine/engine_lods.js.map +1 -1
  31. package/lib/engine/engine_mainloop_utils.js +49 -60
  32. package/lib/engine/engine_mainloop_utils.js.map +1 -1
  33. package/lib/engine/engine_modules.d.ts +26 -30
  34. package/lib/engine/engine_modules.js +32 -103
  35. package/lib/engine/engine_modules.js.map +1 -1
  36. package/lib/engine/engine_three_utils.js +7 -13
  37. package/lib/engine/engine_three_utils.js.map +1 -1
  38. package/lib/engine/webcomponents/needle-engine.d.ts +6 -2
  39. package/lib/engine/webcomponents/needle-engine.js +56 -41
  40. package/lib/engine/webcomponents/needle-engine.js.map +1 -1
  41. package/package.json +3 -2
  42. package/plugins/vite/alias.d.ts +1 -1
  43. package/plugins/vite/alias.js +87 -82
  44. package/plugins/vite/build-pipeline.js +4 -3
  45. package/plugins/vite/dependencies.js +7 -5
  46. package/plugins/vite/drop.js +6 -8
  47. package/plugins/vite/editor-connection.js +2 -1
  48. package/plugins/vite/index.js +12 -0
  49. package/plugins/vite/poster.js +2 -1
  50. package/plugins/vite/reload.js +7 -2
  51. package/src/engine/engine_feature_flags.ts +3 -7
  52. package/src/engine/engine_lods.ts +10 -2
  53. package/src/engine/engine_mainloop_utils.ts +54 -62
  54. package/src/engine/engine_modules.ts +39 -101
  55. package/src/engine/engine_three_utils.ts +7 -15
  56. package/src/engine/webcomponents/needle-engine.ts +62 -47
  57. package/dist/gltf-progressive-DQa78GTA.min.js +0 -10
  58. package/dist/gltf-progressive-LOFTyzy4.umd.cjs +0 -10
  59. package/dist/gltf-progressive-_wvokUUu.js +0 -1528
  60. package/dist/loader.worker-BqODMeeW.js +0 -23
@@ -1,3 +1,3 @@
1
- export declare namespace NEEDLE_ENGINE_FEATURE_FLAGS {
2
- let experimentalSmartHierarchyUpdate: boolean;
3
- }
1
+ export declare const NEEDLE_ENGINE_FEATURE_FLAGS: {
2
+ experimentalSmartHierarchyUpdate: boolean;
3
+ };
@@ -1,6 +1,4 @@
1
- export var NEEDLE_ENGINE_FEATURE_FLAGS;
2
- (function (NEEDLE_ENGINE_FEATURE_FLAGS) {
3
- // eslint-disable-next-line prefer-const
4
- NEEDLE_ENGINE_FEATURE_FLAGS.experimentalSmartHierarchyUpdate = false;
5
- })(NEEDLE_ENGINE_FEATURE_FLAGS || (NEEDLE_ENGINE_FEATURE_FLAGS = {}));
1
+ export const NEEDLE_ENGINE_FEATURE_FLAGS = {
2
+ experimentalSmartHierarchyUpdate: false,
3
+ };
6
4
  //# sourceMappingURL=engine_feature_flags.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"engine_feature_flags.js","sourceRoot":"","sources":["../../src/engine/engine_feature_flags.ts"],"names":[],"mappings":"AAEA,MAAM,KAAW,2BAA2B,CAK3C;AALD,WAAiB,2BAA2B;IAExC,wCAAwC;IAC7B,4DAAgC,GAAG,KAAK,CAAC;AAExD,CAAC,EALgB,2BAA2B,KAA3B,2BAA2B,QAK3C"}
1
+ {"version":3,"file":"engine_feature_flags.js","sourceRoot":"","sources":["../../src/engine/engine_feature_flags.ts"],"names":[],"mappings":"AACA,MAAM,CAAC,MAAM,2BAA2B,GAAG;IACvC,gCAAgC,EAAE,KAAK;CAC1C,CAAC"}
@@ -4,7 +4,9 @@ import { Camera, Mesh, Scene, WebGLRenderer } from "three";
4
4
  import type { Context } from "./engine_context.js";
5
5
  /**
6
6
  * Needle Engine LODs manager. Wrapper around the internal LODs manager.
7
- * It uses the @needle-tools/gltf-progressive package to manage LODs.
7
+ * It uses the [@needle-tools/gltf-progressive](https://npmjs.com/package/@needle-tools/gltf-progressive) package to manage LODs.
8
+ *
9
+ * For lower-level control (e.g. configuring max concurrent loading tasks, queue settings, or other progressive loading specifics), use {@link NEEDLE_progressive} directly.
8
10
  * @link https://npmjs.com/package/@needle-tools/gltf-progressive
9
11
  */
10
12
  export declare class LODsManager implements NEEDLE_progressive_plugin {
@@ -18,6 +20,11 @@ export declare class LODsManager implements NEEDLE_progressive_plugin {
18
20
  * @link https://npmjs.com/package/@needle-tools/gltf-progressive
19
21
  */
20
22
  get manager(): _LODsManager | undefined;
23
+ /**
24
+ * The interval (in seconds) at which the bounding volumes of skinned meshes are automatically updated.
25
+ * If set to 0, automatic updates are disabled and bounding volumes will only be updated when the mesh is loaded or when the `updateSkinnedMeshBounds` method is called manually.
26
+ * @default 0
27
+ */
21
28
  get skinnedMeshAutoUpdateBoundsInterval(): number;
22
29
  set skinnedMeshAutoUpdateBoundsInterval(value: number);
23
30
  /**
@@ -26,6 +33,7 @@ export declare class LODsManager implements NEEDLE_progressive_plugin {
26
33
  */
27
34
  get targetTriangleDensity(): number;
28
35
  set targetTriangleDensity(value: number);
36
+ /** @internal */
29
37
  constructor(context: Context);
30
38
  private applySettings;
31
39
  /** @internal */
@@ -8,7 +8,9 @@ const _tempBox = new Box3();
8
8
  const _tempSphere = new Sphere();
9
9
  /**
10
10
  * Needle Engine LODs manager. Wrapper around the internal LODs manager.
11
- * It uses the @needle-tools/gltf-progressive package to manage LODs.
11
+ * It uses the [@needle-tools/gltf-progressive](https://npmjs.com/package/@needle-tools/gltf-progressive) package to manage LODs.
12
+ *
13
+ * For lower-level control (e.g. configuring max concurrent loading tasks, queue settings, or other progressive loading specifics), use {@link NEEDLE_progressive} directly.
12
14
  * @link https://npmjs.com/package/@needle-tools/gltf-progressive
13
15
  */
14
16
  export class LODsManager {
@@ -24,6 +26,11 @@ export class LODsManager {
24
26
  get manager() {
25
27
  return this._lodsManager;
26
28
  }
29
+ /**
30
+ * The interval (in seconds) at which the bounding volumes of skinned meshes are automatically updated.
31
+ * If set to 0, automatic updates are disabled and bounding volumes will only be updated when the mesh is loaded or when the `updateSkinnedMeshBounds` method is called manually.
32
+ * @default 0
33
+ */
27
34
  get skinnedMeshAutoUpdateBoundsInterval() {
28
35
  return this._lodsManager?.skinnedMeshAutoUpdateBoundsInterval || this._settings.skinnedMeshAutoUpdateBoundsInterval || 0;
29
36
  }
@@ -42,6 +49,7 @@ export class LODsManager {
42
49
  this._settings.targetTriangleDensity = value;
43
50
  this.applySettings();
44
51
  }
52
+ /** @internal */
45
53
  constructor(context) {
46
54
  this.context = context;
47
55
  }
@@ -1 +1 @@
1
- {"version":3,"file":"engine_lods.js","sourceRoot":"","sources":["../../src/engine/engine_lods.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"engine_lods.js","sourceRoot":"","sources":["../../src/engine/engine_lods.ts"],"names":[],"mappings":"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"}
@@ -268,6 +268,7 @@ export function isNeedleXRSessionEventReceiver(script, mode) {
268
268
  }
269
269
  return false;
270
270
  }
271
+ // #region activeInHierarchy
271
272
  let needsUpdate = true;
272
273
  export function markHierarchyDirty() {
273
274
  needsUpdate = true;
@@ -326,72 +327,70 @@ function updateIsActiveInHierarchyRecursiveRuntime(go, activeInHierarchy, allowE
326
327
  if (changed) {
327
328
  go[constants.activeInHierarchyFieldName] = activeInHierarchy;
328
329
  if (debugHierarchy)
329
- console.warn("ACTIVE CHANGE", go.name, activeSelf, go.visible, activeInHierarchy, "changed?" + changed, go);
330
+ console.warn("ACTIVE CHANGE", { name: go.name, activeSelf, visible: go.visible, activeInHierarchy, changed, go });
330
331
  if (allowEventCall) {
331
- perComponent(go, comp => {
332
- if (activeInHierarchy) {
333
- if (comp.enabled) {
334
- safeInvoke(comp.__internalAwake.bind(comp));
332
+ const components = go.userData?.components;
333
+ if (components) {
334
+ for (let ci = 0, cl = components.length; ci < cl; ci++) {
335
+ const comp = components[ci];
336
+ if (activeInHierarchy) {
335
337
  if (comp.enabled) {
336
- comp.__internalEnable();
338
+ try {
339
+ comp.__internalAwake();
340
+ }
341
+ catch (err) {
342
+ console.error(err);
343
+ }
344
+ if (comp.enabled) {
345
+ comp.__internalEnable();
346
+ }
337
347
  }
338
348
  }
339
- }
340
- else {
341
- if (comp["__didAwake"] && comp.enabled) {
342
- comp["__didEnable"] = false;
343
- comp.onDisable();
349
+ else {
350
+ if (comp["__didAwake"] && comp.enabled) {
351
+ comp["__didEnable"] = false;
352
+ comp.onDisable();
353
+ }
344
354
  }
345
355
  }
346
- });
356
+ }
347
357
  }
348
358
  }
349
- let success = true;
350
- if (go.children) {
351
- for (const ch of go.children) {
352
- const res = updateIsActiveInHierarchyRecursiveRuntime(ch, activeInHierarchy, allowEventCall, level + 1);
353
- if (res === false)
359
+ const children = go.children;
360
+ if (children) {
361
+ // When this node is inactive and hasn't changed, skip children that are already
362
+ // marked inactive. Only recurse into children that still have a stale active=true
363
+ // (e.g. after reparenting into this inactive subtree).
364
+ if (!changed && !activeInHierarchy) {
365
+ let success = true;
366
+ for (let i = 0, l = children.length; i < l; i++) {
367
+ const ch = children[i];
368
+ if (ch[constants.activeInHierarchyFieldName] !== false) {
369
+ if (updateIsActiveInHierarchyRecursiveRuntime(ch, false, allowEventCall, level + 1) === false)
370
+ success = false;
371
+ }
372
+ }
373
+ return success;
374
+ }
375
+ let success = true;
376
+ for (let i = 0, l = children.length; i < l; i++) {
377
+ if (updateIsActiveInHierarchyRecursiveRuntime(children[i], activeInHierarchy, allowEventCall, level + 1) === false)
354
378
  success = false;
355
379
  }
380
+ return success;
356
381
  }
357
- return success;
382
+ return true;
358
383
  }
359
- // function tryFindActiveStateInParent(obj: Object3D): boolean {
360
- // let current: Object3D | undefined | null = obj;
361
- // while (current) {
362
- // const activeState = current[constants.activeInHierarchyFieldName];
363
- // if (activeState !== undefined) return activeState;
364
- // if (current instanceof Scene && !current.parent) {
365
- // return true;
366
- // }
367
- // current = current.parent;
368
- // }
369
- // return false;
370
- // }
371
- // let isRunning = false;
372
- // // Prevent: https://github.com/needle-tools/needle-tiny/issues/641
373
- // const temporyChildArrayBuffer: Array<Array<Object3D>> = [];
374
- // export function* iterateChildrenSafe(obj: Object3D) {
375
- // if (!obj || !obj.children) yield null;
376
- // // if(isRunning) return;
377
- // // isRunning = true;
378
- // const arr = temporyChildArrayBuffer.pop() || [];
379
- // arr.push(...obj.children);
380
- // for (const ch of arr) {
381
- // yield ch;
382
- // }
383
- // // isRunning = false;
384
- // arr.length = 0;
385
- // temporyChildArrayBuffer.push(arr);
386
- // }
387
384
  /** @internal */
388
385
  export function updateActiveInHierarchyWithoutEventCall(go) {
386
+ if (!go) {
387
+ console.error("GO is null");
388
+ return;
389
+ }
389
390
  let activeInHierarchy = true;
390
- let current = go;
391
391
  let foundScene = false;
392
+ let current = go;
392
393
  while (current) {
393
- if (!current)
394
- break;
395
394
  if (current.type === "Scene")
396
395
  foundScene = true;
397
396
  if (!isActiveSelf(current)) {
@@ -400,19 +399,9 @@ export function updateActiveInHierarchyWithoutEventCall(go) {
400
399
  }
401
400
  current = current.parent;
402
401
  }
403
- if (!go) {
404
- console.error("GO is null");
405
- return;
406
- }
407
402
  go[constants.activeInHierarchyFieldName] = activeInHierarchy && foundScene;
408
403
  }
409
- function perComponent(go, evt) {
410
- if (go.userData?.components) {
411
- for (const comp of go.userData.components) {
412
- evt(comp);
413
- }
414
- }
415
- }
404
+ // #region prewarm
416
405
  const prewarmList = new Map();
417
406
  const $prewarmedFlag = Symbol("prewarmFlag");
418
407
  const $waitingForPrewarm = Symbol("waitingForPrewarm");
@@ -1 +1 @@
1
- {"version":3,"file":"engine_mainloop_utils.js","sourceRoot":"","sources":["../../src/engine/engine_mainloop_utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"engine_mainloop_utils.js","sourceRoot":"","sources":["../../src/engine/engine_mainloop_utils.ts"],"names":[],"mappings":"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"}
@@ -5,41 +5,37 @@
5
5
  *
6
6
  * If a module is already loaded it's also available in the `MODULE` variable.
7
7
  */
8
- export declare namespace MODULES {
9
- namespace MaterialX {
10
- type TYPE = typeof import("@needle-tools/materialx");
11
- let MODULE: TYPE;
12
- let MAYBEMODULE: TYPE | null;
8
+ export declare const MODULES: {
9
+ MaterialX: {
10
+ MODULE: typeof import("@needle-tools/materialx");
11
+ MAYBEMODULE: typeof import("@needle-tools/materialx") | null;
13
12
  /** Wait for the module to be loaded (doesn't trigger a load) */
14
- function ready(): Promise<TYPE>;
13
+ ready(): Promise<typeof import("@needle-tools/materialx")>;
15
14
  /** Load the module */
16
- function load(): Promise<TYPE>;
17
- }
18
- namespace RAPIER_PHYSICS {
19
- type TYPE = typeof import("@dimforge/rapier3d-compat");
20
- let MODULE: TYPE;
21
- let MAYBEMODULE: TYPE | null;
15
+ load(): Promise<typeof import("@needle-tools/materialx")>;
16
+ };
17
+ RAPIER_PHYSICS: {
18
+ MODULE: typeof import("@dimforge/rapier3d-compat");
19
+ MAYBEMODULE: typeof import("@dimforge/rapier3d-compat") | null;
22
20
  /** Wait for the module to be loaded (doesn't trigger a load) */
23
- function ready(): Promise<TYPE>;
21
+ ready(): Promise<typeof import("@dimforge/rapier3d-compat")>;
24
22
  /** Load the module */
25
- function load(): Promise<TYPE>;
26
- }
27
- namespace POSTPROCESSING {
28
- type TYPE = typeof import("postprocessing");
29
- let MODULE: TYPE;
30
- let MAYBEMODULE: TYPE | null;
23
+ load(): Promise<typeof import("@dimforge/rapier3d-compat")>;
24
+ };
25
+ POSTPROCESSING: {
26
+ MODULE: typeof import("postprocessing");
27
+ MAYBEMODULE: typeof import("postprocessing") | null;
31
28
  /** Wait for the module to be loaded (doesn't trigger a load) */
32
- function ready(): Promise<TYPE>;
29
+ ready(): Promise<typeof import("postprocessing")>;
33
30
  /** Load the module */
34
- function load(): Promise<TYPE>;
35
- }
36
- namespace POSTPROCESSING_AO {
37
- type TYPE = typeof import("n8ao");
38
- let MODULE: TYPE;
39
- let MAYBEMODULE: TYPE | null;
31
+ load(): Promise<typeof import("postprocessing")>;
32
+ };
33
+ POSTPROCESSING_AO: {
34
+ MODULE: any;
35
+ MAYBEMODULE: any;
40
36
  /** Wait for the module to be loaded (doesn't trigger a load) */
41
- function ready(): Promise<TYPE>;
37
+ ready(): Promise<any>;
42
38
  /** Load the module */
43
- function load(): Promise<TYPE>;
44
- }
45
- }
39
+ load(): Promise<any>;
40
+ };
41
+ };
@@ -1,3 +1,29 @@
1
+ function createModule(loader) {
2
+ const callbacks = [];
3
+ const mod = {
4
+ MODULE: undefined,
5
+ MAYBEMODULE: null,
6
+ /** Wait for the module to be loaded (doesn't trigger a load) */
7
+ ready() {
8
+ if (mod.MODULE)
9
+ return Promise.resolve(mod.MODULE);
10
+ return new Promise(resolve => { callbacks.push(resolve); });
11
+ },
12
+ /** Load the module */
13
+ async load() {
14
+ if (mod.MODULE)
15
+ return mod.MODULE;
16
+ const module = await loader();
17
+ mod.MODULE = module;
18
+ mod.MAYBEMODULE = module;
19
+ for (const cb of callbacks)
20
+ cb(module);
21
+ callbacks.length = 0;
22
+ return module;
23
+ }
24
+ };
25
+ return mod;
26
+ }
1
27
  /**
2
28
  * External dependencies that are loaded on demand either by the engine automatically when needed or they can be loaded manually by calling the `load` function.
3
29
  *
@@ -5,107 +31,10 @@
5
31
  *
6
32
  * If a module is already loaded it's also available in the `MODULE` variable.
7
33
  */
8
- export var MODULES;
9
- (function (MODULES) {
10
- let MaterialX;
11
- (function (MaterialX) {
12
- MaterialX.MAYBEMODULE = null;
13
- const callbacks = [];
14
- /** Wait for the module to be loaded (doesn't trigger a load) */
15
- function ready() {
16
- if (MaterialX.MODULE)
17
- return Promise.resolve(MaterialX.MODULE);
18
- return new Promise((resolve) => { callbacks.push(resolve); });
19
- }
20
- MaterialX.ready = ready;
21
- ;
22
- /** Load the module */
23
- async function load() {
24
- if (MaterialX.MODULE)
25
- return MaterialX.MODULE;
26
- const module = await import("@needle-tools/materialx");
27
- MaterialX.MODULE = module;
28
- MaterialX.MAYBEMODULE = module;
29
- callbacks.forEach((callback) => callback(module));
30
- callbacks.length = 0;
31
- return module;
32
- }
33
- MaterialX.load = load;
34
- })(MaterialX = MODULES.MaterialX || (MODULES.MaterialX = {}));
35
- let RAPIER_PHYSICS;
36
- (function (RAPIER_PHYSICS) {
37
- RAPIER_PHYSICS.MAYBEMODULE = null;
38
- const callbacks = [];
39
- /** Wait for the module to be loaded (doesn't trigger a load) */
40
- function ready() {
41
- if (RAPIER_PHYSICS.MODULE)
42
- return Promise.resolve(RAPIER_PHYSICS.MODULE);
43
- return new Promise((resolve) => { callbacks.push(resolve); });
44
- }
45
- RAPIER_PHYSICS.ready = ready;
46
- ;
47
- /** Load the module */
48
- async function load() {
49
- if (RAPIER_PHYSICS.MODULE)
50
- return RAPIER_PHYSICS.MODULE;
51
- const module = await import("@dimforge/rapier3d-compat");
52
- RAPIER_PHYSICS.MODULE = module;
53
- RAPIER_PHYSICS.MAYBEMODULE = module;
54
- callbacks.forEach((callback) => callback(module));
55
- callbacks.length = 0;
56
- return module;
57
- }
58
- RAPIER_PHYSICS.load = load;
59
- })(RAPIER_PHYSICS = MODULES.RAPIER_PHYSICS || (MODULES.RAPIER_PHYSICS = {}));
60
- let POSTPROCESSING;
61
- (function (POSTPROCESSING) {
62
- POSTPROCESSING.MAYBEMODULE = null;
63
- const callbacks = [];
64
- /** Wait for the module to be loaded (doesn't trigger a load) */
65
- function ready() {
66
- if (POSTPROCESSING.MODULE)
67
- return Promise.resolve(POSTPROCESSING.MODULE);
68
- return new Promise((resolve) => { callbacks.push(resolve); });
69
- }
70
- POSTPROCESSING.ready = ready;
71
- ;
72
- /** Load the module */
73
- async function load() {
74
- if (POSTPROCESSING.MODULE)
75
- return POSTPROCESSING.MODULE;
76
- const module = await import("postprocessing");
77
- POSTPROCESSING.MODULE = module;
78
- POSTPROCESSING.MAYBEMODULE = module;
79
- callbacks.forEach((callback) => callback(module));
80
- callbacks.length = 0;
81
- return module;
82
- }
83
- POSTPROCESSING.load = load;
84
- })(POSTPROCESSING = MODULES.POSTPROCESSING || (MODULES.POSTPROCESSING = {}));
85
- let POSTPROCESSING_AO;
86
- (function (POSTPROCESSING_AO) {
87
- POSTPROCESSING_AO.MAYBEMODULE = null;
88
- const callbacks = [];
89
- /** Wait for the module to be loaded (doesn't trigger a load) */
90
- function ready() {
91
- if (POSTPROCESSING_AO.MODULE)
92
- return Promise.resolve(POSTPROCESSING_AO.MODULE);
93
- return new Promise((resolve) => { callbacks.push(resolve); });
94
- }
95
- POSTPROCESSING_AO.ready = ready;
96
- ;
97
- /** Load the module */
98
- async function load() {
99
- if (POSTPROCESSING_AO.MODULE)
100
- return POSTPROCESSING_AO.MODULE;
101
- const module = await import("n8ao");
102
- POSTPROCESSING_AO.MODULE = module;
103
- POSTPROCESSING_AO.MAYBEMODULE = module;
104
- callbacks.forEach((callback) => callback(module));
105
- callbacks.length = 0;
106
- return module;
107
- }
108
- POSTPROCESSING_AO.load = load;
109
- })(POSTPROCESSING_AO = MODULES.POSTPROCESSING_AO || (MODULES.POSTPROCESSING_AO = {}));
110
- })(MODULES || (MODULES = {}));
34
+ export const MODULES = {
35
+ MaterialX: createModule(() => import("@needle-tools/materialx")),
36
+ RAPIER_PHYSICS: createModule(() => import("@dimforge/rapier3d-compat")),
37
+ POSTPROCESSING: createModule(() => import("postprocessing")),
38
+ POSTPROCESSING_AO: createModule(() => import("n8ao")),
39
+ };
111
40
  //# sourceMappingURL=engine_modules.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"engine_modules.js","sourceRoot":"","sources":["../../src/engine/engine_modules.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"engine_modules.js","sourceRoot":"","sources":["../../src/engine/engine_modules.ts"],"names":[],"mappings":"AACA,SAAS,YAAY,CAAI,MAAwB;IAC7C,MAAM,SAAS,GAA+B,EAAE,CAAC;IACjD,MAAM,GAAG,GAAG;QACR,MAAM,EAAE,SAAyB;QACjC,WAAW,EAAE,IAAgB;QAC7B,gEAAgE;QAChE,KAAK;YACD,IAAI,GAAG,CAAC,MAAM;gBAAE,OAAO,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YACnD,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,GAAG,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAChE,CAAC;QACD,sBAAsB;QACtB,KAAK,CAAC,IAAI;YACN,IAAI,GAAG,CAAC,MAAM;gBAAE,OAAO,GAAG,CAAC,MAAM,CAAC;YAClC,MAAM,MAAM,GAAG,MAAM,MAAM,EAAE,CAAC;YAC9B,GAAG,CAAC,MAAM,GAAG,MAAM,CAAC;YACpB,GAAG,CAAC,WAAW,GAAG,MAAM,CAAC;YACzB,KAAK,MAAM,EAAE,IAAI,SAAS;gBAAE,EAAE,CAAC,MAAM,CAAC,CAAC;YACvC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC;YACrB,OAAO,MAAM,CAAC;QAClB,CAAC;KACJ,CAAC;IACF,OAAO,GAAG,CAAC;AACf,CAAC;AAED;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,OAAO,GAAG;IACnB,SAAS,EAAE,YAAY,CACnB,GAAG,EAAE,CAAC,MAAM,CAAC,yBAAyB,CAAC,CAC1C;IACD,cAAc,EAAE,YAAY,CACxB,GAAG,EAAE,CAAC,MAAM,CAAC,2BAA2B,CAAC,CAC5C;IACD,cAAc,EAAE,YAAY,CACxB,GAAG,EAAE,CAAC,MAAM,CAAC,gBAAgB,CAAC,CACjC;IACD,iBAAiB,EAAE,YAAY,CAC3B,GAAG,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,CACvB;CACJ,CAAC"}
@@ -479,17 +479,13 @@ export class Graphics {
479
479
  mesh.frustumCulled = false;
480
480
  this.scene.children.length = 0;
481
481
  this.scene.add(mesh);
482
- // Save state
483
482
  const renderTarget = renderer.getRenderTarget();
484
- const gl = renderer.getContext();
485
- const depthTestEnabled = gl.getParameter(gl.DEPTH_TEST);
486
- const depthWriteMask = gl.getParameter(gl.DEPTH_WRITEMASK);
487
- const depthFunc = gl.getParameter(gl.DEPTH_FUNC);
488
483
  // Set state
484
+ const gl = renderer.getContext();
489
485
  if (depthTest)
490
- renderer.getContext().enable(renderer.getContext().DEPTH_TEST);
486
+ gl.enable(gl.DEPTH_TEST);
491
487
  else
492
- renderer.getContext().disable(renderer.getContext().DEPTH_TEST);
488
+ gl.disable(gl.DEPTH_TEST);
493
489
  renderer.state.buffers.depth.setMask(depthWrite);
494
490
  renderer.setClearColor(new Color(0, 0, 0), 0);
495
491
  if (renderer.pixelRatio !== window.devicePixelRatio) {
@@ -499,12 +495,10 @@ export class Graphics {
499
495
  renderer.setRenderTarget(target);
500
496
  renderer.clear();
501
497
  renderer.render(this.scene, this.perspectiveCam);
502
- // Restore state
503
- renderer.setRenderTarget(renderTarget); // reset render target
504
- const depthBuffer = renderer.state.buffers.depth;
505
- depthBuffer.setTest(depthTestEnabled);
506
- depthBuffer.setMask(depthWriteMask);
507
- depthBuffer.setFunc(depthFunc);
498
+ // Restore defaults (not using gl.getParameter to save/restore — it causes a synchronous GPU-CPU stall)
499
+ renderer.setRenderTarget(renderTarget);
500
+ gl.enable(gl.DEPTH_TEST);
501
+ renderer.state.buffers.depth.setMask(true);
508
502
  }
509
503
  /**
510
504
  * Copy a texture to a HTMLCanvasElement