@needle-tools/engine 4.8.6 → 4.8.7-next.c5a1d5a

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 (73) hide show
  1. package/CHANGELOG.md +4 -0
  2. package/components.needle.json +1 -1
  3. package/dist/{gltf-progressive-DXRy9EQz.js → gltf-progressive-BcHT3Nyo.js} +1 -1
  4. package/dist/{gltf-progressive-C-U_onhf.umd.cjs → gltf-progressive-CH3Q4H06.umd.cjs} +1 -1
  5. package/dist/{gltf-progressive-DViD_J_l.min.js → gltf-progressive-DR6HqF_h.min.js} +1 -1
  6. package/dist/{needle-engine.bundle-CQIq7Zg-.min.js → needle-engine.bundle-B8uN1t53.min.js} +124 -124
  7. package/dist/{needle-engine.bundle-BTJDRZkJ.js → needle-engine.bundle-BSEPqN_G.js} +4354 -4337
  8. package/dist/{needle-engine.bundle-CaNItSG7.umd.cjs → needle-engine.bundle-izSBbBnF.umd.cjs} +131 -131
  9. package/dist/needle-engine.js +402 -400
  10. package/dist/needle-engine.min.js +1 -1
  11. package/dist/needle-engine.umd.cjs +1 -1
  12. package/dist/{postprocessing-61aXdqNz.umd.cjs → postprocessing-CVb_x9YY.umd.cjs} +1 -1
  13. package/dist/{postprocessing-D9jDHD0U.js → postprocessing-ORx-0eCx.js} +1 -1
  14. package/dist/{postprocessing-Be9Ds4NK.min.js → postprocessing-Ywv5oKkX.min.js} +1 -1
  15. package/dist/three-examples-BX_Sktc9.min.js +501 -0
  16. package/dist/{three-examples-BihZ_R96.js → three-examples-CNexix3E.js} +2436 -2781
  17. package/dist/{three-examples-Ce6Th3bv.umd.cjs → three-examples-DWxXVnws.umd.cjs} +21 -21
  18. package/dist/{vendor-BRpzuoJE.min.js → vendor-C43vobGc.min.js} +37 -37
  19. package/dist/{vendor-p_xp9KuJ.js → vendor-Z4SPrTcP.js} +2402 -2047
  20. package/dist/vendor-xfQ8tKF3.umd.cjs +1121 -0
  21. package/lib/engine/api.d.ts +2 -0
  22. package/lib/engine/api.js +2 -0
  23. package/lib/engine/api.js.map +1 -1
  24. package/lib/engine/engine_addressables.d.ts +12 -12
  25. package/lib/engine/engine_addressables.js +30 -23
  26. package/lib/engine/engine_addressables.js.map +1 -1
  27. package/lib/engine/engine_animation.d.ts +1 -3
  28. package/lib/engine/engine_animation.js +15 -9
  29. package/lib/engine/engine_animation.js.map +1 -1
  30. package/lib/engine/engine_feature_flags.d.ts +3 -0
  31. package/lib/engine/engine_feature_flags.js +6 -0
  32. package/lib/engine/engine_feature_flags.js.map +1 -0
  33. package/lib/engine/engine_gameobject.js +0 -4
  34. package/lib/engine/engine_gameobject.js.map +1 -1
  35. package/lib/engine/engine_loaders.js +15 -11
  36. package/lib/engine/engine_loaders.js.map +1 -1
  37. package/lib/engine/engine_mainloop_utils.d.ts +2 -1
  38. package/lib/engine/engine_mainloop_utils.js +18 -6
  39. package/lib/engine/engine_mainloop_utils.js.map +1 -1
  40. package/lib/engine/engine_pmrem.d.ts +6 -0
  41. package/lib/engine/engine_pmrem.js +9 -40
  42. package/lib/engine/engine_pmrem.js.map +1 -1
  43. package/lib/engine/extensions/extensions.js +2 -2
  44. package/lib/engine/extensions/extensions.js.map +1 -1
  45. package/lib/engine/js-extensions/Object3D.js +19 -0
  46. package/lib/engine/js-extensions/Object3D.js.map +1 -1
  47. package/lib/engine-components/Animation.js +2 -1
  48. package/lib/engine-components/Animation.js.map +1 -1
  49. package/lib/engine-components/AnimationUtilsAutoplay.js +1 -6
  50. package/lib/engine-components/AnimationUtilsAutoplay.js.map +1 -1
  51. package/lib/engine-components/DropListener.d.ts +17 -12
  52. package/lib/engine-components/DropListener.js +34 -31
  53. package/lib/engine-components/DropListener.js.map +1 -1
  54. package/lib/engine-components/Skybox.js +9 -3
  55. package/lib/engine-components/Skybox.js.map +1 -1
  56. package/package.json +4 -3
  57. package/plugins/vite/alias.js +45 -23
  58. package/src/engine/api.ts +3 -1
  59. package/src/engine/engine_addressables.ts +44 -33
  60. package/src/engine/engine_animation.ts +17 -9
  61. package/src/engine/engine_feature_flags.ts +8 -0
  62. package/src/engine/engine_gameobject.ts +0 -4
  63. package/src/engine/engine_loaders.ts +18 -13
  64. package/src/engine/engine_mainloop_utils.ts +24 -8
  65. package/src/engine/engine_pmrem.ts +9 -45
  66. package/src/engine/extensions/extensions.ts +2 -2
  67. package/src/engine/js-extensions/Object3D.ts +25 -2
  68. package/src/engine-components/Animation.ts +1 -1
  69. package/src/engine-components/AnimationUtilsAutoplay.ts +1 -6
  70. package/src/engine-components/DropListener.ts +40 -31
  71. package/src/engine-components/Skybox.ts +8 -4
  72. package/dist/three-examples-DKY9Nfge.min.js +0 -501
  73. package/dist/vendor-Ja-vKV-a.umd.cjs +0 -1121
@@ -20,8 +20,9 @@ export declare function addScriptToArrays(script: any, context: IContext): void;
20
20
  export declare function removeScriptFromContext(script: any, context: IContext): void;
21
21
  /** @internal */
22
22
  export declare function isNeedleXRSessionEventReceiver(script: any, mode: XRSessionMode | null): script is INeedleXRSessionEventReceiver;
23
+ export declare function markHierarchyDirty(): void;
23
24
  /** @internal */
24
- export declare function updateIsActive(obj?: Object3D): void;
25
+ export declare function updateIsActive(obj?: Object3D, force?: boolean): void;
25
26
  /** @internal */
26
27
  export declare function updateActiveInHierarchyWithoutEventCall(go: Object3D): void;
27
28
  /** @internal */
@@ -2,6 +2,7 @@ import { CubeCamera, Scene, WebGLCubeRenderTarget } from 'three';
2
2
  import { isDevEnvironment } from "./debug/index.js";
3
3
  import * as constants from "./engine_constants.js";
4
4
  import { ContextRegistry } from "./engine_context_registry.js";
5
+ import { NEEDLE_ENGINE_FEATURE_FLAGS } from './engine_feature_flags.js';
5
6
  import { isActiveSelf } from './engine_gameobject.js';
6
7
  import { safeInvoke } from "./engine_generic_utils.js";
7
8
  import { getParam } from './engine_utils.js';
@@ -267,8 +268,19 @@ export function isNeedleXRSessionEventReceiver(script, mode) {
267
268
  }
268
269
  return false;
269
270
  }
271
+ let needsUpdate = true;
272
+ export function markHierarchyDirty() {
273
+ needsUpdate = true;
274
+ }
270
275
  /** @internal */
271
- export function updateIsActive(obj) {
276
+ export function updateIsActive(obj, force = false) {
277
+ if (NEEDLE_ENGINE_FEATURE_FLAGS.experimentalSmartHierarchyUpdate) {
278
+ if (!force) {
279
+ if (!needsUpdate)
280
+ return;
281
+ }
282
+ needsUpdate = false;
283
+ }
272
284
  if (!obj)
273
285
  obj = ContextRegistry.Current.scene;
274
286
  if (!obj) {
@@ -291,11 +303,11 @@ function updateIsActiveInHierarchyRecursiveRuntime(go, activeInHierarchy, allowE
291
303
  console.warn("Hierarchy is too deep (> 1000 level) - will abort updating active state");
292
304
  return false;
293
305
  }
294
- const isActive = isActiveSelf(go);
306
+ const activeSelf = isActiveSelf(go);
295
307
  if (activeInHierarchy) {
296
- activeInHierarchy = isActive;
308
+ activeInHierarchy = activeSelf;
297
309
  // IF we update activeInHierarchy within a disabled hierarchy we need to check the parent
298
- if (activeInHierarchy && go.parent) {
310
+ if (activeInHierarchy && go.parent && level === 0) {
299
311
  const parent = go.parent;
300
312
  activeInHierarchy = parent[constants.activeInHierarchyFieldName];
301
313
  if (activeInHierarchy === undefined) {
@@ -310,11 +322,11 @@ function updateIsActiveInHierarchyRecursiveRuntime(go, activeInHierarchy, allowE
310
322
  }
311
323
  const prevActive = go[constants.activeInHierarchyFieldName];
312
324
  const changed = prevActive !== activeInHierarchy;
313
- go[constants.activeInHierarchyFieldName] = activeInHierarchy;
314
325
  // only raise events here if we didnt call enable etc already
315
326
  if (changed) {
327
+ go[constants.activeInHierarchyFieldName] = activeInHierarchy;
316
328
  if (debugHierarchy)
317
- console.warn("ACTIVE CHANGE", go.name, isActive, go.visible, activeInHierarchy, "changed?" + changed, go);
329
+ console.warn("ACTIVE CHANGE", go.name, activeSelf, go.visible, activeInHierarchy, "changed?" + changed, go);
318
330
  if (allowEventCall) {
319
331
  perComponent(go, comp => {
320
332
  if (activeInHierarchy) {
@@ -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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"}
@@ -1,2 +1,8 @@
1
1
  import { Texture, WebGLRenderer } from "three";
2
+ /**
3
+ * Loads a PMREM texture from the given URL. This also supports the ultra-fast preprocessed environment maps (PMREM) format.
4
+ * @param url The URL of the PMREM texture to load.
5
+ * @param renderer The WebGLRenderer to use for loading the texture.
6
+ * @returns A promise that resolves to the loaded texture or null if loading failed.
7
+ */
2
8
  export declare function loadPMREM(url: string, renderer: WebGLRenderer): Promise<Texture | null>;
@@ -2,9 +2,14 @@ import { createLoaders } from "@needle-tools/gltf-progressive";
2
2
  import { CubeUVReflectionMapping, SRGBColorSpace, TextureLoader } from "three";
3
3
  import { EXRLoader } from "three/examples/jsm/loaders/EXRLoader";
4
4
  import { RGBELoader } from "three/examples/jsm/loaders/RGBELoader";
5
- import { disposeObjectResources, setDisposable } from "./engine_assetdatabase.js";
6
5
  const running = new Map();
7
6
  // #region api
7
+ /**
8
+ * Loads a PMREM texture from the given URL. This also supports the ultra-fast preprocessed environment maps (PMREM) format.
9
+ * @param url The URL of the PMREM texture to load.
10
+ * @param renderer The WebGLRenderer to use for loading the texture.
11
+ * @returns A promise that resolves to the loaded texture or null if loading failed.
12
+ */
8
13
  export function loadPMREM(url, renderer) {
9
14
  if (running.has(url)) {
10
15
  return running.get(url);
@@ -12,52 +17,17 @@ export function loadPMREM(url, renderer) {
12
17
  const actualUrl = new URL(url, window.location.href);
13
18
  const promise = internalLoadPMREM(actualUrl, renderer);
14
19
  running.set(url, promise);
20
+ promise.finally(() => {
21
+ running.delete(url);
22
+ });
15
23
  return promise;
16
24
  }
17
- function ensureGlobalCache() {
18
- if (!globalThis["NEEDLE_ENGINE_SKYBOX_TEXTURES"])
19
- globalThis["NEEDLE_ENGINE_SKYBOX_TEXTURES"] = new Array();
20
- return globalThis["NEEDLE_ENGINE_SKYBOX_TEXTURES"];
21
- }
22
- function tryGetPreviouslyLoadedTexture(src) {
23
- const cache = ensureGlobalCache();
24
- const found = cache.find(x => x.src === src);
25
- if (found) {
26
- return found.texture;
27
- }
28
- return null;
29
- }
30
- async function disposeCachedTexture(tex) {
31
- const texture = await tex;
32
- if (!texture)
33
- return;
34
- setDisposable(texture, true);
35
- disposeObjectResources(texture);
36
- }
37
- function registerPromise(src, texture) {
38
- const cache = ensureGlobalCache();
39
- // Make sure the cache doesnt get too big
40
- while (cache.length > 5) {
41
- const entry = cache.shift();
42
- if (entry) {
43
- disposeCachedTexture(entry.texture);
44
- }
45
- }
46
- texture.then(t => { return setDisposable(t, false); });
47
- cache.push({ src, texture });
48
- }
49
25
  // #region loading
50
26
  async function internalLoadPMREM(url, renderer) {
51
27
  if (!url)
52
28
  return Promise.resolve(null);
53
29
  const pathname = url.pathname;
54
30
  const isPMREM_URL = url.toString().toLowerCase().includes("pmrem") || url.searchParams.get("pmrem") != null;
55
- const cached = tryGetPreviouslyLoadedTexture(pathname);
56
- if (cached) {
57
- const res = await cached;
58
- if (res?.source?.data?.length > 0 || res?.source?.data?.data?.length)
59
- return res;
60
- }
61
31
  const isEXR = pathname.endsWith(".exr");
62
32
  const isHdr = pathname.endsWith(".hdr");
63
33
  const isKtx2 = pathname.endsWith(".ktx2");
@@ -90,7 +60,6 @@ async function internalLoadPMREM(url, renderer) {
90
60
  }
91
61
  return tex;
92
62
  });
93
- registerPromise(str, promise);
94
63
  const texture = await promise.catch(_err => {
95
64
  console.warn("Failed to load texture from url:", url);
96
65
  return null;
@@ -1 +1 @@
1
- {"version":3,"file":"engine_pmrem.js","sourceRoot":"","sources":["../../src/engine/engine_pmrem.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAC/D,OAAO,EAAE,uBAAuB,EAAE,cAAc,EAAW,aAAa,EAAiB,MAAM,OAAO,CAAC;AACvG,OAAO,EAAE,SAAS,EAAE,MAAM,sCAAsC,CAAC;AAEjE,OAAO,EAAE,UAAU,EAAE,MAAM,uCAAuC,CAAC;AAEnE,OAAO,EAAE,sBAAsB,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAElF,MAAM,OAAO,GAAyC,IAAI,GAAG,EAAE,CAAC;AAEhE,cAAc;AAEd,MAAM,UAAU,SAAS,CAAC,GAAW,EAAE,QAAuB;IAC1D,IAAI,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;QAClB,OAAO,OAAO,CAAC,GAAG,CAAC,GAAG,CAAE,CAAC;KAC5B;IACD,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IACrD,MAAM,OAAO,GAAG,iBAAiB,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;IACvD,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;IAC1B,OAAO,OAAO,CAAC;AACnB,CAAC;AAOD,SAAS,iBAAiB;IACtB,IAAI,CAAC,UAAU,CAAC,+BAA+B,CAAC;QAC5C,UAAU,CAAC,+BAA+B,CAAC,GAAG,IAAI,KAAK,EAAoB,CAAC;IAChF,OAAO,UAAU,CAAC,+BAA+B,CAA4B,CAAC;AAClF,CAAC;AAED,SAAS,6BAA6B,CAAC,GAAW;IAC9C,MAAM,KAAK,GAAG,iBAAiB,EAAE,CAAC;IAClC,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC,CAAC;IAC7C,IAAI,KAAK,EAAE;QACP,OAAO,KAAK,CAAC,OAAO,CAAC;KACxB;IACD,OAAO,IAAI,CAAC;AAChB,CAAC;AACD,KAAK,UAAU,oBAAoB,CAAC,GAA4B;IAC5D,MAAM,OAAO,GAAG,MAAM,GAAG,CAAC;IAC1B,IAAI,CAAC,OAAO;QAAE,OAAO;IACrB,aAAa,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IAC7B,sBAAsB,CAAC,OAAO,CAAC,CAAC;AACpC,CAAC;AACD,SAAS,eAAe,CAAC,GAAW,EAAE,OAAgC;IAClE,MAAM,KAAK,GAAG,iBAAiB,EAAE,CAAC;IAClC,yCAAyC;IACzC,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;QACrB,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,EAAE,CAAC;QAC5B,IAAI,KAAK,EAAE;YAAE,oBAAoB,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;SAAE;KACtD;IACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,GAAG,OAAO,aAAa,CAAC,CAAC,EAAE,KAAK,CAAC,CAAA,CAAC,CAAC,CAAC,CAAC;IACtD,KAAK,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC;AACjC,CAAC;AAID,kBAAkB;AAGlB,KAAK,UAAU,iBAAiB,CAAC,GAAQ,EAAE,QAAuB;IAC9D,IAAI,CAAC,GAAG;QAAE,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAEvC,MAAM,QAAQ,GAAG,GAAG,CAAC,QAAQ,CAAC;IAC9B,MAAM,WAAW,GAAY,GAAG,CAAC,QAAQ,EAAE,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC;IAErH,MAAM,MAAM,GAAG,6BAA6B,CAAC,QAAQ,CAAC,CAAC;IACvD,IAAI,MAAM,EAAE;QACR,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC;QACzB,IAAI,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,CAAC,IAAI,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM;YAAE,OAAO,GAAG,CAAC;KACpF;IACD,MAAM,KAAK,GAAG,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IACxC,MAAM,KAAK,GAAG,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IACxC,MAAM,MAAM,GAAG,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IAE1C,IAAI,MAA2D,CAAC;IAEhE,IAAI,KAAK,EAAE;QACP,MAAM,GAAG,IAAI,SAAS,EAAE,CAAC;KAC5B;SACI,IAAI,KAAK,EAAE;QACZ,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;KAC7B;SACI,IAAI,MAAM,EAAE;QACb,MAAM,EAAE,UAAU,EAAE,GAAG,aAAa,CAAC,QAAQ,CAAC,CAAC;QAC/C,MAAM,GAAG,UAAU,CAAC;KACvB;SACI;QACD,MAAM,GAAG,IAAI,aAAa,EAAE,CAAC;KAChC;IAED,MAAM,GAAG,GAAG,GAAG,CAAC,QAAQ,EAAE,CAAC;IAC3B,MAAM,OAAO,GAAG,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC;SAChC,IAAI,CAAC,GAAG,CAAC,EAAE;QACR,IAAI,GAAG,EAAE;YACL,MAAM,SAAS,GAAG,QAAQ,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;YAC5C,GAAG,CAAC,IAAI,GAAG,QAAQ,CAAC,SAAS,CAAC,SAAS,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAElE,IAAI,WAAW,EAAE;gBACb,GAAG,CAAC,OAAO,GAAG,uBAAuB,CAAC;aACzC;YAED,IAAI,MAAM,YAAY,aAAa,EAAE;gBACjC,GAAG,CAAC,UAAU,GAAG,cAAc,CAAC;aACnC;SACJ;QACD,OAAO,GAAG,CAAC;IACf,CAAC,CAAC,CAAC;IAEP,eAAe,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;IAC9B,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE;QACvC,OAAO,CAAC,IAAI,CAAC,kCAAkC,EAAE,GAAG,CAAC,CAAC;QACtD,OAAO,IAAI,CAAC;IAChB,CAAC,CAAC,CAAC;IACH,OAAO,OAAO,CAAC;AACnB,CAAC"}
1
+ {"version":3,"file":"engine_pmrem.js","sourceRoot":"","sources":["../../src/engine/engine_pmrem.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAC/D,OAAO,EAAE,uBAAuB,EAAE,cAAc,EAAW,aAAa,EAAiB,MAAM,OAAO,CAAC;AACvG,OAAO,EAAE,SAAS,EAAE,MAAM,sCAAsC,CAAC;AAEjE,OAAO,EAAE,UAAU,EAAE,MAAM,uCAAuC,CAAC;AAEnE,MAAM,OAAO,GAAyC,IAAI,GAAG,EAAE,CAAC;AAEhE,cAAc;AAEd;;;;;GAKG;AACH,MAAM,UAAU,SAAS,CAAC,GAAW,EAAE,QAAuB;IAC1D,IAAI,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;QAClB,OAAO,OAAO,CAAC,GAAG,CAAC,GAAG,CAAE,CAAC;KAC5B;IACD,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IACrD,MAAM,OAAO,GAAG,iBAAiB,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;IACvD,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;IAC1B,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE;QACjB,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IACxB,CAAC,CAAC,CAAC;IACH,OAAO,OAAO,CAAC;AACnB,CAAC;AAGD,kBAAkB;AAGlB,KAAK,UAAU,iBAAiB,CAAC,GAAQ,EAAE,QAAuB;IAC9D,IAAI,CAAC,GAAG;QAAE,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAEvC,MAAM,QAAQ,GAAG,GAAG,CAAC,QAAQ,CAAC;IAC9B,MAAM,WAAW,GAAY,GAAG,CAAC,QAAQ,EAAE,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC;IAErH,MAAM,KAAK,GAAG,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IACxC,MAAM,KAAK,GAAG,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IACxC,MAAM,MAAM,GAAG,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IAE1C,IAAI,MAA2D,CAAC;IAEhE,IAAI,KAAK,EAAE;QACP,MAAM,GAAG,IAAI,SAAS,EAAE,CAAC;KAC5B;SACI,IAAI,KAAK,EAAE;QACZ,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;KAC7B;SACI,IAAI,MAAM,EAAE;QACb,MAAM,EAAE,UAAU,EAAE,GAAG,aAAa,CAAC,QAAQ,CAAC,CAAC;QAC/C,MAAM,GAAG,UAAU,CAAC;KACvB;SACI;QACD,MAAM,GAAG,IAAI,aAAa,EAAE,CAAC;KAChC;IAED,MAAM,GAAG,GAAG,GAAG,CAAC,QAAQ,EAAE,CAAC;IAC3B,MAAM,OAAO,GAAG,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC;SAChC,IAAI,CAAC,GAAG,CAAC,EAAE;QACR,IAAI,GAAG,EAAE;YACL,MAAM,SAAS,GAAG,QAAQ,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;YAC5C,GAAG,CAAC,IAAI,GAAG,QAAQ,CAAC,SAAS,CAAC,SAAS,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAElE,IAAI,WAAW,EAAE;gBACb,GAAG,CAAC,OAAO,GAAG,uBAAuB,CAAC;aACzC;YAED,IAAI,MAAM,YAAY,aAAa,EAAE;gBACjC,GAAG,CAAC,UAAU,GAAG,cAAc,CAAC;aACnC;SACJ;QACD,OAAO,GAAG,CAAC;IACf,CAAC,CAAC,CAAC;IAEP,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE;QACvC,OAAO,CAAC,IAAI,CAAC,kCAAkC,EAAE,GAAG,CAAC,CAAC;QACtD,OAAO,IAAI,CAAC;IAChB,CAAC,CAAC,CAAC;IACH,OAAO,OAAO,CAAC;AACnB,CAAC"}
@@ -15,11 +15,11 @@ import { InternalUsageTrackerPlugin } from "./usage_tracker.js";
15
15
  const debug = getParam("debugextensions");
16
16
  // lazily import the GLTFAnimationPointerExtension in case it doesnt exist (e.g. using vanilla three)
17
17
  let GLTFAnimationPointerExtension;
18
- const KHR_ANIMATIONPOINTER_IMPORT = import("three/examples/jsm/loaders/GLTFLoaderAnimationPointer.js").then(async (mod) => {
18
+ const KHR_ANIMATIONPOINTER_IMPORT = import("@needle-tools/three-animation-pointer").then(async (mod) => {
19
19
  GLTFAnimationPointerExtension = mod.GLTFAnimationPointerExtension;
20
20
  return GLTFAnimationPointerExtension;
21
21
  }).catch(e => {
22
- console.warn("Failed to import GLTFLoaderAnimationPointer. Please use @needle-tools/three for full KHR_animation support", e);
22
+ console.warn("Failed to import GLTFLoaderAnimationPointer. Please use @needle-tools/three-animationpointer for full KHR_animation support", e);
23
23
  });
24
24
  /**
25
25
  * Registered custom glTF extension plugins
@@ -1 +1 @@
1
- {"version":3,"file":"extensions.js","sourceRoot":"","sources":["../../../src/engine/extensions/extensions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"extensions.js","sourceRoot":"","sources":["../../../src/engine/extensions/extensions.ts"],"names":[],"mappings":"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"}
@@ -3,6 +3,8 @@ import { TransformControlsGizmo } from "three/examples/jsm/controls/TransformCon
3
3
  import { addComponent, getComponent, getComponentInChildren, getComponentInParent, getComponents, getComponentsInChildren, getComponentsInParent, getOrAddComponent, removeComponent } from "../../engine/engine_components.js";
4
4
  import { destroy, isActiveSelf, setActive } from "../../engine/engine_gameobject.js";
5
5
  import { getTempVector, getWorldPosition, getWorldQuaternion, getWorldRotation, getWorldScale, setWorldPosition, setWorldQuaternion, setWorldRotation, setWorldScale } from "../../engine/engine_three_utils.js";
6
+ import { NEEDLE_ENGINE_FEATURE_FLAGS } from "../engine_feature_flags.js";
7
+ import { markHierarchyDirty } from "../engine_mainloop_utils.js";
6
8
  import { applyPrototypeExtensions, registerPrototypeExtensions } from "./ExtensionUtils.js";
7
9
  /**
8
10
  * @internal
@@ -13,6 +15,23 @@ export function apply(object) {
13
15
  applyPrototypeExtensions(object, Object3D);
14
16
  }
15
17
  }
18
+ if (NEEDLE_ENGINE_FEATURE_FLAGS.experimentalSmartHierarchyUpdate) {
19
+ const addFn = Object3D.prototype.add;
20
+ Object3D.prototype.add = function (...args) {
21
+ markHierarchyDirty();
22
+ return addFn.apply(this, args);
23
+ };
24
+ const attachFn = Object3D.prototype.attach;
25
+ Object3D.prototype.attach = function (...args) {
26
+ markHierarchyDirty();
27
+ return attachFn.apply(this, args);
28
+ };
29
+ const removeFn = Object3D.prototype.remove;
30
+ Object3D.prototype.remove = function (...args) {
31
+ markHierarchyDirty();
32
+ return removeFn.apply(this, args);
33
+ };
34
+ }
16
35
  Object3D.prototype["SetActive"] = function (active) {
17
36
  this.visible = active;
18
37
  };
@@ -1 +1 @@
1
- {"version":3,"file":"Object3D.js","sourceRoot":"","sources":["../../../src/engine/js-extensions/Object3D.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAuB,MAAM,OAAO,CAAC;AACtD,OAAO,EAAE,sBAAsB,EAAE,MAAM,kDAAkD,CAAC;AAE1F,OAAO,EAAE,YAAY,EAAmB,YAAY,EAAE,sBAAsB,EAAE,oBAAoB,EAAE,aAAa,EAAE,uBAAuB,EAAE,qBAAqB,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAC;AACjP,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,mCAAmC,CAAC;AACrF,OAAO,EACH,aAAa,EACb,gBAAgB,EAChB,kBAAkB,EAClB,gBAAgB,EAChB,aAAa,EACb,gBAAgB,EAChB,kBAAkB,EAClB,gBAAgB,EAChB,aAAa,EAChB,MACQ,oCAAoC,CAAC;AAE9C,OAAO,EAAE,wBAAwB,EAAE,2BAA2B,EAAE,MAAM,qBAAqB,CAAC;AA4H5F;;;IAGI;AACJ,MAAM,UAAU,KAAK,CAAC,MAAgB;IAClC,IAAI,MAAM,IAAI,MAAM,CAAC,UAAU,KAAK,IAAI,EAAE;QACtC,wBAAwB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;KAC9C;AACL,CAAC;AAGD,QAAQ,CAAC,SAAS,CAAC,WAAW,CAAC,GAAG,UAAU,MAAe;IACvD,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;AAC1B,CAAC,CAAA;AACD,oCAAoC;AACpC,QAAQ,CAAC,SAAS,CAAC,WAAW,CAAC,GAAG,UAAU,MAAe;IACvD,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;AAC1B,CAAC,CAAA;AAED,QAAQ,CAAC,SAAS,CAAC,SAAS,CAAC,GAAG;IAC5B,OAAO,CAAC,IAAI,CAAC,CAAC;AAClB,CAAC,CAAA;AAGD,QAAQ,CAAC,SAAS,CAAC,cAAc,CAAC,GAAG,UAAgC,IAAgC,EAAE,IAAuB;IAC1H,OAAO,YAAY,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;AAC1C,CAAC,CAAA;AAED,QAAQ,CAAC,SAAS,CAAC,iBAAiB,CAAC,GAAG,UAA+B,IAA4B,EAAE,IAAuB;IACxH,OAAO,YAAY,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;AAC1C,CAAC,CAAA;AAED,QAAQ,CAAC,SAAS,CAAC,iBAAiB,CAAC,GAAG,UAAU,IAAe;IAC7D,OAAO,eAAe,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;AACvC,CAAC,CAAA;AAED,QAAQ,CAAC,SAAS,CAAC,mBAAmB,CAAC,GAAG,UAAgC,QAAgC,EAAE,IAAuB;IAC/H,OAAO,iBAAiB,CAAI,IAAI,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;AACtD,CAAC,CAAA;AAED,QAAQ,CAAC,SAAS,CAAC,cAAc,CAAC,GAAG,UAAgC,IAAoB;IACrF,OAAO,YAAY,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;AACpC,CAAC,CAAA;AAED,QAAQ,CAAC,SAAS,CAAC,eAAe,CAAC,GAAG,UAAgC,IAAoB,EAAE,GAAQ;IAChG,OAAO,aAAa,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC;AAC1C,CAAC,CAAA;AAED,QAAQ,CAAC,SAAS,CAAC,wBAAwB,CAAC,GAAG,UAAgC,IAAoB;IAC/F,OAAO,sBAAsB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;AAC9C,CAAC,CAAA;AAED,QAAQ,CAAC,SAAS,CAAC,yBAAyB,CAAC,GAAG,UAAgC,IAAoB,EAAE,GAAQ;IAC1G,OAAO,uBAAuB,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC;AACpD,CAAC,CAAA;AAED,QAAQ,CAAC,SAAS,CAAC,sBAAsB,CAAC,GAAG,UAAgC,IAAoB;IAC7F,OAAO,oBAAoB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;AAC5C,CAAC,CAAA;AAED,QAAQ,CAAC,SAAS,CAAC,uBAAuB,CAAC,GAAG,UAAgC,IAAoB,EAAE,GAAQ;IACxG,OAAO,qBAAqB,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC;AAClD,CAAC,CAAA;AAGD,kFAAkF;AAClF,IAAI,CAAC,MAAM,CAAC,wBAAwB,CAAC,QAAQ,CAAC,SAAS,EAAE,YAAY,CAAC,EAAE;IACpE,MAAM,CAAC,cAAc,CAAC,QAAQ,CAAC,SAAS,EAAE,YAAY,EAAE;QACpD,GAAG,EAAE;YACD,OAAO,YAAY,CAAC,IAAI,CAAC,CAAA;QAC7B,CAAC;QACD,GAAG,EAAE,UAAU,GAAqB;YAChC,SAAS,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QACzB,CAAC;KACJ,CAAC,CAAC;CACN;AAED,IAAI,CAAC,MAAM,CAAC,wBAAwB,CAAC,QAAQ,CAAC,SAAS,EAAE,eAAe,CAAC,EAAE;IACvE,MAAM,CAAC,cAAc,CAAC,QAAQ,CAAC,SAAS,EAAE,eAAe,EAAE;QACvD,GAAG,EAAE;YACD,+GAA+G;YAC/G,IAAI,IAAI,YAAY,sBAAsB,EAAE;gBACxC,OAAO,gBAAgB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;aAC3C;YACD,OAAO,gBAAgB,CAAC,IAAI,CAAC,CAAC;QAClC,CAAC;QACD,GAAG,EAAE,UAAU,GAAY;YACvB,gBAAgB,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;QAC/B,CAAC;KACJ,CAAC,CAAC;CACN;AAED,IAAI,CAAC,MAAM,CAAC,wBAAwB,CAAC,QAAQ,CAAC,SAAS,EAAE,iBAAiB,CAAC,EAAE;IACzE,MAAM,CAAC,cAAc,CAAC,QAAQ,CAAC,SAAS,EAAE,iBAAiB,EAAE;QACzD,GAAG,EAAE;YACD,IAAI,IAAI,YAAY,sBAAsB,EAAE;gBACxC,OAAO,kBAAkB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;aAC7C;YACD,OAAO,kBAAkB,CAAC,IAAI,CAAC,CAAC;QACpC,CAAC;QACD,GAAG,EAAE,UAAU,GAAe;YAC1B,kBAAkB,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;QACjC,CAAC;KACJ,CAAC,CAAC;CACN;AAED,IAAI,CAAC,MAAM,CAAC,wBAAwB,CAAC,QAAQ,CAAC,SAAS,EAAE,eAAe,CAAC,EAAE;IACvE,MAAM,CAAC,cAAc,CAAC,QAAQ,CAAC,SAAS,EAAE,eAAe,EAAE;QACvD,GAAG,EAAE;YACD,OAAO,gBAAgB,CAAC,IAAI,CAAC,CAAC;QAClC,CAAC;QACD,GAAG,EAAE,UAAU,GAAY;YACvB,gBAAgB,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;QAC/B,CAAC;KACJ,CAAC,CAAC;CACN;AAED,IAAI,CAAC,MAAM,CAAC,wBAAwB,CAAC,QAAQ,CAAC,SAAS,EAAE,YAAY,CAAC,EAAE;IACpE,MAAM,CAAC,cAAc,CAAC,QAAQ,CAAC,SAAS,EAAE,YAAY,EAAE;QACpD,GAAG,EAAE;YACD,OAAO,aAAa,CAAC,IAAI,CAAC,CAAC;QAC/B,CAAC;QACD,GAAG,EAAE,UAAU,GAAY;YACvB,aAAa,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;QAC5B,CAAC;KACJ,CAAC,CAAC;CACN;AAED,IAAI,CAAC,MAAM,CAAC,wBAAwB,CAAC,QAAQ,CAAC,SAAS,EAAE,cAAc,CAAC,EAAE;IACtE,MAAM,CAAC,cAAc,CAAC,QAAQ,CAAC,SAAS,EAAE,cAAc,EAAE;QACtD,GAAG,EAAE;YACD,OAAO,aAAa,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,eAAe,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAC;QAClF,CAAC;KACJ,CAAC,CAAC;CACN;AACD,IAAI,CAAC,MAAM,CAAC,wBAAwB,CAAC,QAAQ,CAAC,SAAS,EAAE,YAAY,CAAC,EAAE;IACpE,MAAM,CAAC,cAAc,CAAC,QAAQ,CAAC,SAAS,EAAE,YAAY,EAAE;QACpD,GAAG,EAAE;YACD,OAAO,aAAa,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,eAAe,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAC;QAClF,CAAC;KACJ,CAAC,CAAC;CACN;AACD,IAAI,CAAC,MAAM,CAAC,wBAAwB,CAAC,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAC,EAAE;IACjE,MAAM,CAAC,cAAc,CAAC,QAAQ,CAAC,SAAS,EAAE,SAAS,EAAE;QACjD,GAAG,EAAE;YACD,OAAO,aAAa,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,eAAe,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAC;QAClF,CAAC;KACJ,CAAC,CAAC;CACN;AAID,gDAAgD;AAChD,2BAA2B,CAAC,QAAQ,CAAC,CAAC"}
1
+ {"version":3,"file":"Object3D.js","sourceRoot":"","sources":["../../../src/engine/js-extensions/Object3D.ts"],"names":[],"mappings":"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"}
@@ -24,7 +24,8 @@ export class Animation extends Behaviour {
24
24
  addClip(clip) {
25
25
  if (!this.animations)
26
26
  this.animations = [];
27
- this.animations.push(clip);
27
+ if (!this.animations.includes(clip))
28
+ this.animations.push(clip);
28
29
  }
29
30
  /**
30
31
  * If true, the animation will start playing when the component is enabled
@@ -1 +1 @@
1
- {"version":3,"file":"Animation.js","sourceRoot":"","sources":["../../src/engine-components/Animation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Animation.js","sourceRoot":"","sources":["../../src/engine-components/Animation.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,4 @@
1
1
  import { AnimationUtils } from "../engine/engine_animation.js";
2
- import { addComponent } from "../engine/engine_components.js";
3
2
  import { ContextEvent, ContextRegistry } from "../engine/engine_context_registry.js";
4
3
  import { Animation } from "./Animation.js";
5
4
  import { Animator } from "./Animator.js";
@@ -27,11 +26,7 @@ ContextRegistry.registerCallback(ContextEvent.ContextCreated, args => {
27
26
  return undefined;
28
27
  }, true);
29
28
  if (hasAnimation !== true) {
30
- AnimationUtils.assignAnimationsFromFile(file.file, {
31
- createAnimationComponent: (obj, _clip) => {
32
- return addComponent(obj, Animation);
33
- },
34
- });
29
+ AnimationUtils.autoplayAnimations(file.file);
35
30
  }
36
31
  }
37
32
  }
@@ -1 +1 @@
1
- {"version":3,"file":"AnimationUtilsAutoplay.js","sourceRoot":"","sources":["../../src/engine-components/AnimationUtilsAutoplay.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAC/D,OAAO,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAC9D,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,sCAAsC,CAAC;AACrF,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC5C,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAElE,eAAe,CAAC,gBAAgB,CAAC,YAAY,CAAC,cAAc,EAAE,IAAI,CAAC,EAAE;IACjE,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;IAClE,IAAI,QAAQ,KAAK,SAAS,IAAI,CAAC,QAAQ,KAAK,EAAE,IAAI,QAAQ,KAAK,MAAM,IAAI,QAAQ,KAAK,GAAG,CAAC,EAAE;QACxF,IAAI,IAAI,CAAC,KAAK,EAAE;YACZ,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE;gBAC3B,MAAM,YAAY,GAAG,UAAU,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,EAAE;oBACrE,IAAI,IAAI,CAAC,OAAO,KAAK,KAAK;wBAAE,OAAO,SAAS,CAAC;oBAC7C,IAAI,IAAI,YAAY,SAAS,IAAI,IAAI,CAAC,iBAAiB,IAAI,IAAI,YAAY,QAAQ,IAAI,IAAI,YAAY,gBAAgB,IAAI,IAAI,CAAC,WAAW,KAAK,IAAI,EAAE;wBAClJ,OAAO,IAAI,CAAC;qBACf;yBACI,IAAI,IAAI,YAAY,SAAS,EAAE;wBAChC,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;wBAC9B,OAAO,IAAI,CAAC;qBACf;yBACI,IAAI,IAAI,YAAY,gBAAgB,EAAE;wBACvC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;wBACxB,OAAO,IAAI,CAAC;qBACf;oBACD,OAAO,SAAS,CAAC;gBACrB,CAAC,EAAE,IAAI,CAAC,CAAC;gBACT,IAAI,YAAY,KAAK,IAAI,EAAE;oBACvB,cAAc,CAAC,wBAAwB,CAAC,IAAI,CAAC,IAAY,EAAE;wBACvD,wBAAwB,EAAE,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE;4BACrC,OAAO,YAAY,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;wBACxC,CAAC;qBACJ,CAAC,CAAC;iBACN;aACJ;SACJ;KACJ;AACL,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"AnimationUtilsAutoplay.js","sourceRoot":"","sources":["../../src/engine-components/AnimationUtilsAutoplay.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAC/D,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,sCAAsC,CAAC;AACrF,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC5C,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAElE,eAAe,CAAC,gBAAgB,CAAC,YAAY,CAAC,cAAc,EAAE,IAAI,CAAC,EAAE;IACjE,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;IAClE,IAAI,QAAQ,KAAK,SAAS,IAAI,CAAC,QAAQ,KAAK,EAAE,IAAI,QAAQ,KAAK,MAAM,IAAI,QAAQ,KAAK,GAAG,CAAC,EAAE;QACxF,IAAI,IAAI,CAAC,KAAK,EAAE;YACZ,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE;gBAC3B,MAAM,YAAY,GAAG,UAAU,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,EAAE;oBACrE,IAAI,IAAI,CAAC,OAAO,KAAK,KAAK;wBAAE,OAAO,SAAS,CAAC;oBAC7C,IAAI,IAAI,YAAY,SAAS,IAAI,IAAI,CAAC,iBAAiB,IAAI,IAAI,YAAY,QAAQ,IAAI,IAAI,YAAY,gBAAgB,IAAI,IAAI,CAAC,WAAW,KAAK,IAAI,EAAE;wBAClJ,OAAO,IAAI,CAAC;qBACf;yBACI,IAAI,IAAI,YAAY,SAAS,EAAE;wBAChC,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;wBAC9B,OAAO,IAAI,CAAC;qBACf;yBACI,IAAI,IAAI,YAAY,gBAAgB,EAAE;wBACvC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;wBACxB,OAAO,IAAI,CAAC;qBACf;oBACD,OAAO,SAAS,CAAC;gBACrB,CAAC,EAAE,IAAI,CAAC,CAAC;gBACT,IAAI,YAAY,KAAK,IAAI,EAAE;oBACvB,cAAc,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAY,CAAC,CAAC;iBACxD;aACJ;SACJ;KACJ;AACL,CAAC,CAAC,CAAC"}
@@ -81,11 +81,6 @@ export declare type DropListenerOnDropArguments = {
81
81
  * @group Components
82
82
  */
83
83
  export declare class DropListener extends Behaviour {
84
- /**
85
- * When enabled, the DropListener will automatically synchronize dropped files to other connected clients.
86
- * When a file is dropped locally, it will be uploaded to blob storage and the URL will be shared with other clients.
87
- */
88
- useNetworking: boolean;
89
84
  /**
90
85
  * When assigned, the DropListener will only accept files that are dropped on this specific object.
91
86
  * This allows creating designated drop zones in your scene.
@@ -94,6 +89,9 @@ export declare class DropListener extends Behaviour {
94
89
  /**
95
90
  * When enabled, dropped objects will be automatically scaled to fit within the volume defined by fitVolumeSize.
96
91
  * Useful for ensuring dropped models appear at an appropriate scale.
92
+ *
93
+ * **Tip**: Use the handy `fitObjectIntoVolume` function (`import { fitObjectIntoVolume } from "@needle-tools/engine"`) for custom fitting needs.
94
+ *
97
95
  * @default false
98
96
  */
99
97
  fitIntoVolume: boolean;
@@ -108,6 +106,12 @@ export declare class DropListener extends Behaviour {
108
106
  * @default true
109
107
  */
110
108
  placeAtHitPosition: boolean;
109
+ /**
110
+ * When enabled, the DropListener will automatically synchronize dropped files to other connected clients.
111
+ * When a file is dropped locally, it will be uploaded to blob storage and the URL will be shared with other clients.
112
+ * @default false
113
+ */
114
+ useNetworking: boolean;
111
115
  /**
112
116
  * Event list that gets invoked after a file has been successfully added to the scene.
113
117
  * Receives {@link DropListenerOnDropArguments} containing the added object and related information.
@@ -119,22 +123,23 @@ export declare class DropListener extends Behaviour {
119
123
  * });
120
124
  */
121
125
  onDropped: EventList<DropListenerOnDropArguments>;
122
- /** @internal */
123
- onEnable(): void;
124
- /** @internal */
125
- onDisable(): void;
126
126
  /**
127
127
  * Loads a file from the given URL and adds it to the scene.
128
+ * @returns A promise that resolves to the loaded object or null if loading failed.
128
129
  */
129
130
  loadFromURL(url: string, data?: {
130
131
  point?: Vec3;
131
132
  size?: Vec3;
132
- }): void;
133
+ }): Promise<Object3D | null>;
133
134
  /**
134
135
  * Forgets all previously added objects.
135
136
  * The droplistener will then not be able to remove previously added objects.
136
137
  */
137
138
  forgetObjects(): void;
139
+ /** @internal */
140
+ onEnable(): void;
141
+ /** @internal */
142
+ onDisable(): void;
138
143
  /**
139
144
  * Handles network events received from other clients containing information about dropped objects
140
145
  * @param evt Network event data containing object information, position, and content URL
@@ -174,7 +179,7 @@ export declare class DropListener extends Behaviour {
174
179
  * @param fileList Array of dropped files
175
180
  * @param ctx Context information about where the drop occurred
176
181
  */
177
- private addDroppedFiles;
182
+ private addFromFiles;
178
183
  /** Previously added objects */
179
184
  private readonly _addedObjects;
180
185
  private readonly _addedModels;
@@ -192,7 +197,7 @@ export declare class DropListener extends Behaviour {
192
197
  * @param isRemote Whether this object was shared from a remote client
193
198
  * @returns The added object or null if adding failed
194
199
  */
195
- private addObject;
200
+ private onObjectLoaded;
196
201
  /**
197
202
  * Sends a network event to other clients about a dropped object
198
203
  * Only triggered when networking is enabled and the connection is established