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

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 (40) hide show
  1. package/CHANGELOG.md +4 -0
  2. package/dist/{gltf-progressive-DXRy9EQz.js → gltf-progressive-BcHT3Nyo.js} +1 -1
  3. package/dist/{gltf-progressive-C-U_onhf.umd.cjs → gltf-progressive-CH3Q4H06.umd.cjs} +1 -1
  4. package/dist/{gltf-progressive-DViD_J_l.min.js → gltf-progressive-DR6HqF_h.min.js} +1 -1
  5. package/dist/{needle-engine.bundle-fXDFH_oR.js → needle-engine.bundle-B0qaChJt.js} +3312 -3284
  6. package/dist/{needle-engine.bundle-CJSl-mXb.min.js → needle-engine.bundle-CZBThBDy.min.js} +121 -121
  7. package/dist/{needle-engine.bundle-C4N-adas.umd.cjs → needle-engine.bundle-lBmpWgFp.umd.cjs} +113 -113
  8. package/dist/needle-engine.js +394 -393
  9. package/dist/needle-engine.min.js +1 -1
  10. package/dist/needle-engine.umd.cjs +1 -1
  11. package/dist/{postprocessing-61aXdqNz.umd.cjs → postprocessing-CVb_x9YY.umd.cjs} +1 -1
  12. package/dist/{postprocessing-D9jDHD0U.js → postprocessing-ORx-0eCx.js} +1 -1
  13. package/dist/{postprocessing-Be9Ds4NK.min.js → postprocessing-Ywv5oKkX.min.js} +1 -1
  14. package/dist/three-examples-BX_Sktc9.min.js +501 -0
  15. package/dist/{three-examples-BihZ_R96.js → three-examples-CNexix3E.js} +2436 -2781
  16. package/dist/{three-examples-Ce6Th3bv.umd.cjs → three-examples-DWxXVnws.umd.cjs} +21 -21
  17. package/dist/{vendor-BRpzuoJE.min.js → vendor-C43vobGc.min.js} +37 -37
  18. package/dist/{vendor-p_xp9KuJ.js → vendor-Z4SPrTcP.js} +2402 -2047
  19. package/dist/vendor-xfQ8tKF3.umd.cjs +1121 -0
  20. package/lib/engine/api.d.ts +1 -0
  21. package/lib/engine/api.js +1 -0
  22. package/lib/engine/api.js.map +1 -1
  23. package/lib/engine/engine_feature_flags.d.ts +3 -0
  24. package/lib/engine/engine_feature_flags.js +6 -0
  25. package/lib/engine/engine_feature_flags.js.map +1 -0
  26. package/lib/engine/engine_mainloop_utils.d.ts +2 -1
  27. package/lib/engine/engine_mainloop_utils.js +16 -4
  28. package/lib/engine/engine_mainloop_utils.js.map +1 -1
  29. package/lib/engine/extensions/extensions.js +2 -2
  30. package/lib/engine/extensions/extensions.js.map +1 -1
  31. package/lib/engine/js-extensions/Object3D.js +19 -0
  32. package/lib/engine/js-extensions/Object3D.js.map +1 -1
  33. package/package.json +4 -3
  34. package/src/engine/api.ts +2 -1
  35. package/src/engine/engine_feature_flags.ts +8 -0
  36. package/src/engine/engine_mainloop_utils.ts +21 -6
  37. package/src/engine/extensions/extensions.ts +2 -2
  38. package/src/engine/js-extensions/Object3D.ts +25 -2
  39. package/dist/three-examples-DKY9Nfge.min.js +0 -501
  40. package/dist/vendor-Ja-vKV-a.umd.cjs +0 -1121
@@ -32,6 +32,7 @@ export * from "./engine_context.js";
32
32
  export * from "./engine_context_registry.js";
33
33
  export * from "./engine_coroutine.js";
34
34
  export * from "./engine_create_objects.js";
35
+ export * from "./engine_feature_flags.js";
35
36
  export * from "./engine_gameobject.js";
36
37
  export { Gizmos } from "./engine_gizmos.js";
37
38
  export * from "./engine_gltf.js";
package/lib/engine/api.js CHANGED
@@ -32,6 +32,7 @@ export * from "./engine_context.js";
32
32
  export * from "./engine_context_registry.js";
33
33
  export * from "./engine_coroutine.js";
34
34
  export * from "./engine_create_objects.js";
35
+ export * from "./engine_feature_flags.js";
35
36
  export * from "./engine_gameobject.js";
36
37
  export { Gizmos } from "./engine_gizmos.js";
37
38
  export * from "./engine_gltf.js";
@@ -1 +1 @@
1
- {"version":3,"file":"api.js","sourceRoot":"","sources":["../../src/engine/api.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,cAAc,kBAAkB,CAAC;AACjC,cAAc,0BAA0B,CAAC;AACzC,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACtD,cAAc,2BAA2B,CAAC;AAC1C,OAAO,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAC/G,cAAc,wBAAwB,CAAC;AACvC,cAAc,iCAAiC,CAAC;AAChD,cAAc,iCAAiC,CAAC;AAChD,cAAc,uBAAuB,CAAC;AACtC,cAAc,qBAAqB,CAAC;AACpC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,uBAAuB,CAAA;AACrC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,wBAAwB,CAAC;AACvC,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAA;AAC3C,cAAc,kBAAkB,CAAC;AACjC,cAAc,wBAAwB,CAAC;AACvC,cAAc,mBAAmB,CAAC;AAClC,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,EAAE,oBAAoB,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAC3F,cAAc,2BAA2B,CAAC;AAC1C,OAAO,EAAE,uBAAuB,EAAE,MAAM,+BAA+B,CAAC;AACxE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAC,SAAS,EAAE,MAAM,qBAAqB,CAAC;AACpE,cAAc,kBAAkB,CAAC;AACjC,OAAO,EAAE,OAAO,IAAI,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AACvE,cAAc,wBAAwB,CAAC;AACvC,OAAO,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAC;AACxD,cAAc,6BAA6B,CAAC;AAC5C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,oCAAoC,CAAC;AACnD,cAAc,6BAA6B,CAAC;AAC5C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,qBAAqB,CAAC;AACpC,cAAc,qBAAqB,CAAC;AACpC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,wBAAwB,CAAC;AACvC,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAC9C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,2BAA2B,CAAC;AAE1C,cAAc,wBAAwB,CAAC;AACvC,cAAc,qBAAqB,CAAC;AACpC,cAAc,yBAAyB,CAAC;AACxC,cAAc,kBAAkB,CAAC;AACjC,cAAc,wBAAwB,CAAC;AACvC,cAAc,mBAAmB,CAAC;AAClC,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAChE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AAC9D,cAAc,mBAAmB,CAAC;AAClC,cAAc,0BAA0B,CAAC;AACzC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,mBAAmB,CAAC;AAClC,cAAc,uBAAuB,CAAC;AACtC,cAAc,0BAA0B,CAAC;AACzC,cAAc,wBAAwB,CAAA;AACtC,cAAc,6CAA6C,CAAC;AAC5D,cAAc,kCAAkC,CAAC;AACjD,cAAc,0CAA0C,CAAC;AACzD,cAAc,aAAa,CAAA"}
1
+ {"version":3,"file":"api.js","sourceRoot":"","sources":["../../src/engine/api.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,cAAc,kBAAkB,CAAC;AACjC,cAAc,0BAA0B,CAAC;AACzC,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACtD,cAAc,2BAA2B,CAAC;AAC1C,OAAO,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAC/G,cAAc,wBAAwB,CAAC;AACvC,cAAc,iCAAiC,CAAC;AAChD,cAAc,iCAAiC,CAAC;AAChD,cAAc,uBAAuB,CAAC;AACtC,cAAc,qBAAqB,CAAC;AACpC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,uBAAuB,CAAA;AACrC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,2BAA2B,CAAA;AACzC,cAAc,wBAAwB,CAAC;AACvC,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAA;AAC3C,cAAc,kBAAkB,CAAC;AACjC,cAAc,wBAAwB,CAAC;AACvC,cAAc,mBAAmB,CAAC;AAClC,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,EAAE,oBAAoB,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAC3F,cAAc,2BAA2B,CAAC;AAC1C,OAAO,EAAE,uBAAuB,EAAE,MAAM,+BAA+B,CAAC;AACxE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AACrE,cAAc,kBAAkB,CAAC;AACjC,OAAO,EAAE,OAAO,IAAI,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AACvE,cAAc,wBAAwB,CAAC;AACvC,OAAO,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAC;AACxD,cAAc,6BAA6B,CAAC;AAC5C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,oCAAoC,CAAC;AACnD,cAAc,6BAA6B,CAAC;AAC5C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,qBAAqB,CAAC;AACpC,cAAc,qBAAqB,CAAC;AACpC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,wBAAwB,CAAC;AACvC,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAC9C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,2BAA2B,CAAC;AAE1C,cAAc,wBAAwB,CAAC;AACvC,cAAc,qBAAqB,CAAC;AACpC,cAAc,yBAAyB,CAAC;AACxC,cAAc,kBAAkB,CAAC;AACjC,cAAc,wBAAwB,CAAC;AACvC,cAAc,mBAAmB,CAAC;AAClC,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAChE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AAC9D,cAAc,mBAAmB,CAAC;AAClC,cAAc,0BAA0B,CAAC;AACzC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,mBAAmB,CAAC;AAClC,cAAc,uBAAuB,CAAC;AACtC,cAAc,0BAA0B,CAAC;AACzC,cAAc,wBAAwB,CAAA;AACtC,cAAc,6CAA6C,CAAC;AAC5D,cAAc,kCAAkC,CAAC;AACjD,cAAc,0CAA0C,CAAC;AACzD,cAAc,aAAa,CAAA"}
@@ -0,0 +1,3 @@
1
+ export declare namespace NEEDLE_ENGINE_FEATURE_FLAGS {
2
+ let experimentalSmartHierarchyUpdate: boolean;
3
+ }
@@ -0,0 +1,6 @@
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 = {}));
6
+ //# sourceMappingURL=engine_feature_flags.js.map
@@ -0,0 +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"}
@@ -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,9 +303,9 @@ 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
310
  if (activeInHierarchy && go.parent && level === 0) {
299
311
  const parent = go.parent;
@@ -314,7 +326,7 @@ function updateIsActiveInHierarchyRecursiveRuntime(go, activeInHierarchy, allowE
314
326
  if (changed) {
315
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":"AAAA,OAAO,EAAE,UAAU,EAAY,KAAK,EAAE,qBAAqB,EAAE,MAAM,OAAO,CAAC;AAE3E,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,KAAK,SAAS,MAAM,uBAAuB,CAAC;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAC/D,OAAO,EAAE,2BAA2B,EAAE,MAAM,2BAA2B,CAAC;AACxE,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAEvD,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAG7C,MAAM,KAAK,GAAG,QAAQ,CAAC,iBAAiB,CAAC,CAAC;AAC1C,MAAM,cAAc,GAAG,QAAQ,CAAC,gBAAgB,CAAC,CAAC;AAElD,8DAA8D;AAC9D,4DAA4D;AAC5D,6BAA6B;AAC7B,MAAM,kBAAkB,GAAU,EAAE,CAAC;AAErC,gBAAgB;AAChB,MAAM,UAAU,aAAa;IACzB,OAAO,kBAAkB,CAAC,MAAM,GAAG,CAAC,CAAC;AACzC,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,iBAAiB,CAAC,OAAiB;IAC/C,IAAI,KAAK;QACL,OAAO,CAAC,GAAG,CAAC,yBAAyB,EAAE,OAAO,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC,GAAG,OAAO,CAAC,WAAW,CAAC,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,CAAC;IAG3K,IAAI,OAAO,CAAC,+BAA+B,CAAC,MAAM,GAAG,CAAC,EAAE;QACpD,KAAK,MAAM,EAAE,IAAI,OAAO,CAAC,+BAA+B,EAAE;YACtD,IAAI,CAAC,EAAE;gBAAE,SAAS;YAClB,EAAE,EAAE,CAAC;SACR;QACD,OAAO,CAAC,+BAA+B,CAAC,MAAM,GAAG,CAAC,CAAC;KACtD;IAED,IAAI,OAAO,CAAC,WAAW,CAAC,MAAM,IAAI,CAAC;QAAE,OAAO;IAE5C,yDAAyD;IACzD,2DAA2D;IAC3D,sDAAsD;IACtD,kBAAkB,CAAC,MAAM,GAAG,CAAC,CAAC;IAC9B,IAAI,OAAO,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE;QAChC,kBAAkB,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;KACnD;IACD,OAAO,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC;IAE/B,6DAA6D;IAC7D,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,kBAAkB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;QAChD,IAAI;YACA,MAAM,MAAM,GAAe,kBAAkB,CAAC,CAAC,CAAC,CAAC;YACjD,IAAI,MAAM,CAAC,WAAW,KAAK,IAAI,EAAE;gBAC7B,IAAI,gBAAgB,EAAE,IAAI,KAAK;oBAC3B,OAAO,CAAC,KAAK,CAAC,kLAAkL,EAAE,MAAM,CAAC,CAAC;gBAC9M,kBAAkB,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;gBAChC,CAAC,EAAE,CAAC;gBACJ,SAAS;aACZ;YACD,IAAI,MAAM,CAAC,SAAS;gBAAE,SAAS;YAC/B,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE;gBACpB,OAAO,CAAC,IAAI,CAAC,kHAAkH,CAAC,CAAC;gBACjI,kBAAkB,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;gBAChC,CAAC,EAAE,CAAC;gBACJ,SAAS;aACZ;YACD,MAAM,CAAC,OAAO,GAAG,OAAO,CAAC;YACzB,uCAAuC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;YAC3D,iBAAiB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;SACtC;QACD,OAAO,GAAG,EAAE;YACR,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YACnB,uBAAuB,CAAC,kBAAkB,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;YACxD,kBAAkB,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YAChC,CAAC,EAAE,CAAC;SACP;KACJ;IAED,QAAQ;IACR,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,kBAAkB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;QAChD,IAAI;YACA,MAAM,MAAM,GAAe,kBAAkB,CAAC,CAAC,CAAC,CAAC;YACjD,IAAI,MAAM,CAAC,SAAS,EAAE;gBAClB,uBAAuB,CAAC,kBAAkB,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;gBACxD,kBAAkB,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;gBAChC,CAAC,EAAE,CAAC;gBAAC,SAAS;aACjB;YACD,IAAI,MAAM,CAAC,WAAW,EAAE;gBACpB,IAAI;oBACA,MAAM,CAAC,WAAW,EAAE,CAAC;iBACxB;gBACD,OAAO,GAAG,EAAE;oBAAE,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;iBAAE;aACtC;YACD,yCAAyC;YACzC,yEAAyE;YACzE,IAAI,MAAM,CAAC,eAAe,KAAK,SAAS,EAAE;gBACtC,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE;oBACpB,OAAO,CAAC,KAAK,CAAC,oDAAoD,EAAE,MAAM,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC;iBAClG;gBACD,uCAAuC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;gBAC3D,IAAI,MAAM,CAAC,gBAAgB;oBACvB,UAAU,CAAC,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;gBAEpD,qDAAqD;aACxD;SACJ;QACD,OAAO,GAAG,EAAE;YACR,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YACnB,uBAAuB,CAAC,kBAAkB,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;YACxD,kBAAkB,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YAChC,CAAC,EAAE,CAAC;SACP;KACJ;IAED,WAAW;IACX,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,kBAAkB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;QAChD,IAAI;YACA,MAAM,MAAM,GAAe,kBAAkB,CAAC,CAAC,CAAC,CAAC;YACjD,IAAI,MAAM,CAAC,SAAS;gBAAE,SAAS;YAC/B,gEAAgE;YAChE,IAAI,MAAM,CAAC,OAAO,KAAK,KAAK;gBAAE,SAAS;YACvC,uCAAuC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;YAC3D,IAAI,MAAM,CAAC,gBAAgB,KAAK,KAAK;gBAAE,SAAS;YAChD,IAAI,MAAM,CAAC,gBAAgB,KAAK,SAAS,EAAE;gBACvC,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC;gBACtB,UAAU,CAAC,MAAM,CAAC,gBAAgB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;aACpD;SACJ;QACD,OAAO,GAAG,EAAE;YACR,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YACnB,uBAAuB,CAAC,kBAAkB,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;YACxD,kBAAkB,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YAChC,CAAC,EAAE,CAAC;SACP;KACJ;IAED,gBAAgB;IAChB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,kBAAkB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;QAChD,IAAI;YACA,MAAM,MAAM,GAAG,kBAAkB,CAAC,CAAC,CAAC,CAAC;YACrC,IAAI,MAAM,CAAC,SAAS;gBAAE,SAAS;YAC/B,IAAI,CAAC,MAAM,CAAC,UAAU;gBAAE,SAAS;YACjC,OAAO,CAAC,gBAAgB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;SACzC;QACD,OAAO,GAAG,EAAE;YACR,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YACnB,uBAAuB,CAAC,kBAAkB,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;YACxD,kBAAkB,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YAChC,CAAC,EAAE,CAAC;SACP;KACJ;IAED,6CAA6C;IAC7C,sCAAsC;IACtC,oCAAoC;IACpC,IAAI;IACJ,kBAAkB,CAAC,MAAM,GAAG,CAAC,CAAC;IAE9B,iGAAiG;IACjG,KAAK,MAAM,EAAE,IAAI,OAAO,CAAC,gCAAgC,EAAE;QACvD,IAAI,EAAE;YACF,EAAE,EAAE,CAAC;KACZ;IACD,OAAO,CAAC,gCAAgC,CAAC,MAAM,GAAG,CAAC,CAAC;AACxD,CAAC;AAED,gBAAgB;AAChB,MAAM,UAAU,sBAAsB,CAAC,MAAkB;IACrD,IAAI,CAAC,MAAM;QAAE,OAAO;IACpB,MAAM,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;IAC/B,uBAAuB,CAAC,MAAM,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;AACpD,CAAC;AAED,gBAAgB;AAChB,MAAM,UAAU,YAAY,CAAC,OAAiB,EAAE,MAAiB;IAC7D,wBAAwB;IACxB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,gBAAgB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;QACtD,IAAI;YACA,MAAM,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC;YAC3C,IAAI,MAAM,KAAK,SAAS,IAAI,MAAM,CAAC,UAAU,KAAK,MAAM;gBAAE,SAAS;YACnE,IAAI,MAAM,CAAC,SAAS;gBAAE,SAAS;YAC/B,IAAI,MAAM,CAAC,gBAAgB,KAAK,KAAK,EAAE;gBACnC,SAAS;aACZ;YACD,8CAA8C;YAC9C,+CAA+C;YAC/C,UAAU,CAAC,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;YAChD,IAAI,MAAM,CAAC,OAAO,EAAE;gBAChB,UAAU,CAAC,MAAM,CAAC,gBAAgB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;gBACjD,iBAAiB;gBACjB,UAAU,CAAC,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;gBAChD,OAAO,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;gBACtC,CAAC,EAAE,CAAC;aACP;SACJ;QACD,OAAO,GAAG,EAAE;YACR,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YACnB,uBAAuB,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;YAC9D,OAAO,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YACtC,CAAC,EAAE,CAAC;SACP;KACJ;AACL,CAAC;AAGD,gBAAgB;AAChB,MAAM,UAAU,iBAAiB,CAAC,MAAW,EAAE,OAAiB;IAC5D,uFAAuF;IACvF,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IAC9C,IAAI,KAAK,KAAK,CAAC,CAAC;QAAE,OAAO;IACzB,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC7B,IAAI,MAAM,CAAC,WAAW;QAAE,OAAO,CAAC,mBAAmB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACjE,IAAI,MAAM,CAAC,MAAM;QAAE,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACvD,IAAI,MAAM,CAAC,UAAU;QAAE,OAAO,CAAC,kBAAkB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC/D,IAAI,MAAM,CAAC,cAAc;QAAE,OAAO,CAAC,sBAAsB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACvE,IAAI,MAAM,CAAC,aAAa;QAAE,OAAO,CAAC,qBAAqB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACrE,IAAI,MAAM,CAAC,eAAe;QAAE,OAAO,CAAC,qBAAqB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACvE,IAAI,8BAA8B,CAAC,MAAM,EAAE,IAAI,CAAC;QAAE,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACtF,4EAA4E;IAC5E,IAAI,8BAA8B,CAAC,MAAM,EAAE,cAAc,CAAC;QAAE,OAAO,CAAC,oBAAoB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACtG,IAAI,8BAA8B,CAAC,MAAM,EAAE,cAAc,CAAC;QAAE,OAAO,CAAC,oBAAoB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AAC1G,CAAC;AAED,gBAAgB;AAChB,MAAM,UAAU,uBAAuB,CAAC,MAAW,EAAE,OAAiB;IAClE,eAAe,CAAC,MAAM,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;IAC7C,eAAe,CAAC,MAAM,EAAE,OAAO,CAAC,gBAAgB,CAAC,CAAC;IAClD,eAAe,CAAC,MAAM,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;IACzC,eAAe,CAAC,MAAM,EAAE,OAAO,CAAC,mBAAmB,CAAC,CAAC;IACrD,eAAe,CAAC,MAAM,EAAE,OAAO,CAAC,cAAc,CAAC,CAAC;IAChD,eAAe,CAAC,MAAM,EAAE,OAAO,CAAC,kBAAkB,CAAC,CAAC;IACpD,eAAe,CAAC,MAAM,EAAE,OAAO,CAAC,sBAAsB,CAAC,CAAC;IACxD,eAAe,CAAC,MAAM,EAAE,OAAO,CAAC,qBAAqB,CAAC,CAAC;IACvD,eAAe,CAAC,MAAM,EAAE,OAAO,CAAC,qBAAqB,CAAC,CAAC;IACvD,eAAe,CAAC,MAAM,EAAE,OAAO,CAAC,cAAc,CAAC,CAAC;IAChD,eAAe,CAAC,MAAM,EAAE,OAAO,CAAC,oBAAoB,CAAC,CAAC;IACtD,eAAe,CAAC,MAAM,EAAE,OAAO,CAAC,oBAAoB,CAAC,CAAC;IACtD,OAAO,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAC;AAC1C,CAAC;AAED,SAAS,eAAe,CAAC,MAAW,EAAE,KAAY;IAC9C,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IACpC,IAAI,KAAK,IAAI,CAAC;QAAE,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;AAC3C,CAAC;AAED,gBAAgB;AAChB,MAAM,UAAU,8BAA8B,CAAC,MAAW,EAAE,IAA0B;IAClF,IAAI,MAAM,EAAE;QACR,MAAM,CAAC,GAAG,MAAgD,CAAC;QAC3D,IAAI,CAAC,CAAC,UAAU;YACZ,CAAC,CAAC,SAAS;YACX,CAAC,CAAC,UAAU;YACZ,CAAC,CAAC,SAAS;YACX,CAAC,CAAC,mBAAmB;YACrB,CAAC,CAAC,qBAAqB,EACzB;YACE,IAAI,IAAI,IAAI,IAAI,EAAE;gBACd,IAAI,CAAC,CAAC,UAAU,EAAE,CAAC,IAAI,CAAC,KAAK,KAAK;oBAAE,OAAO,KAAK,CAAC;aACpD;YACD,OAAO,IAAI,CAAC;SACf;KACJ;IACD,OAAO,KAAK,CAAC;AACjB,CAAC;AAGD,IAAI,WAAW,GAAG,IAAI,CAAC;AACvB,MAAM,UAAU,kBAAkB;IAC9B,WAAW,GAAG,IAAI,CAAC;AACvB,CAAC;AAED,gBAAgB;AAChB,MAAM,UAAU,cAAc,CAAC,GAAc,EAAE,QAAiB,KAAK;IAEjE,IAAI,2BAA2B,CAAC,gCAAgC,EAAE;QAE9D,IAAI,CAAC,KAAK,EAAE;YACR,IAAI,CAAC,WAAW;gBAAE,OAAO;SAC5B;QACD,WAAW,GAAG,KAAK,CAAC;KACvB;IAED,IAAI,CAAC,GAAG;QAAE,GAAG,GAAG,eAAe,CAAC,OAAO,CAAC,KAAK,CAAC;IAC9C,IAAI,CAAC,GAAG,EAAE;QACN,OAAO,CAAC,KAAK,CAAC,oCAAoC,CAAC,CAAC;QACpD,OAAO;KACV;IACD,MAAM,UAAU,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC;IACrC,MAAM,aAAa,GAAG,yCAAyC,CAAC,GAAG,EAAE,UAAU,EAAE,IAAI,CAAC,CAAC;IACvF,IAAI,CAAC,aAAa,EAAE;QAChB,IAAI,KAAK,IAAI,gBAAgB,EAAE,EAAE;YAC7B,OAAO,CAAC,KAAK,CAAC,yLAAyL,EAAE,GAAG,CAAC,CAAA;SAChN;;YAEG,OAAO,CAAC,KAAK,CAAC,kDAAkD,GAAG,GAAG,CAAC,IAAI,GAAG,IAAI,EAAE,GAAG,CAAC,CAAC;QAC7F,OAAO,CAAC,IAAI,CAAC,2LAA2L,CAAC,CAAA;KAE5M;AACL,CAAC;AAED,SAAS,yCAAyC,CAAC,EAAY,EAAE,iBAA0B,EAAE,cAAuB,EAAE,QAAgB,CAAC;IACnI,IAAI,KAAK,GAAG,IAAI,EAAE;QACd,OAAO,CAAC,IAAI,CAAC,yEAAyE,CAAC,CAAC;QACxF,OAAO,KAAK,CAAC;KAChB;IAED,MAAM,UAAU,GAAG,YAAY,CAAC,EAAE,CAAC,CAAC;IACpC,IAAI,iBAAiB,EAAE;QACnB,iBAAiB,GAAG,UAAU,CAAC;QAC/B,yFAAyF;QACzF,IAAI,iBAAiB,IAAI,EAAE,CAAC,MAAM,IAAI,KAAK,KAAK,CAAC,EAAE;YAC/C,MAAM,MAAM,GAAG,EAAE,CAAC,MAAM,CAAC;YACzB,iBAAiB,GAAG,MAAM,CAAC,SAAS,CAAC,0BAA0B,CAAC,CAAC;YACjE,IAAI,iBAAiB,KAAK,SAAS,EAAE;gBACjC,+XAA+X;gBAC/X,IAAI,MAAM,YAAY,KAAK,EAAE;iBAC5B;qBACI;oBACD,iBAAiB,GAAG,IAAI,CAAC;iBAC5B;aACJ;SACJ;KACJ;IAED,MAAM,UAAU,GAAG,EAAE,CAAC,SAAS,CAAC,0BAA0B,CAAC,CAAC;IAC5D,MAAM,OAAO,GAAG,UAAU,KAAK,iBAAiB,CAAC;IAEjD,6DAA6D;IAC7D,IAAI,OAAO,EAAE;QACT,EAAE,CAAC,SAAS,CAAC,0BAA0B,CAAC,GAAG,iBAAiB,CAAC;QAE7D,IAAI,cAAc;YACd,OAAO,CAAC,IAAI,CAAC,eAAe,EAAE,EAAE,CAAC,IAAI,EAAE,UAAU,EAAE,EAAE,CAAC,OAAO,EAAE,iBAAiB,EAAE,UAAU,GAAG,OAAO,EAAE,EAAE,CAAC,CAAC;QAChH,IAAI,cAAc,EAAE;YAChB,YAAY,CAAC,EAAE,EAAE,IAAI,CAAC,EAAE;gBACpB,IAAI,iBAAiB,EAAE;oBACnB,IAAI,IAAI,CAAC,OAAO,EAAE;wBACd,UAAU,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;wBAC5C,IAAI,IAAI,CAAC,OAAO,EAAE;4BACd,IAAI,CAAC,gBAAgB,EAAE,CAAC;yBAC3B;qBACJ;iBACJ;qBACI;oBACD,IAAI,IAAI,CAAC,YAAY,CAAC,IAAI,IAAI,CAAC,OAAO,EAAE;wBACpC,IAAI,CAAC,aAAa,CAAC,GAAG,KAAK,CAAC;wBAC5B,IAAI,CAAC,SAAS,EAAE,CAAC;qBACpB;iBACJ;YACL,CAAC,CAAC,CAAC;SACN;KACJ;IAED,IAAI,OAAO,GAAG,IAAI,CAAC;IACnB,IAAI,EAAE,CAAC,QAAQ,EAAE;QACb,KAAK,MAAM,EAAE,IAAI,EAAE,CAAC,QAAQ,EAAE;YAC1B,MAAM,GAAG,GAAG,yCAAyC,CAAC,EAAE,EAAE,iBAAiB,EAAE,cAAc,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC;YACxG,IAAI,GAAG,KAAK,KAAK;gBAAE,OAAO,GAAG,KAAK,CAAC;SACtC;KACJ;IACD,OAAO,OAAO,CAAC;AACnB,CAAC;AAED,gEAAgE;AAChE,sDAAsD;AACtD,wBAAwB;AACxB,6EAA6E;AAC7E,6DAA6D;AAC7D,6DAA6D;AAC7D,2BAA2B;AAC3B,YAAY;AACZ,oCAAoC;AACpC,QAAQ;AACR,oBAAoB;AACpB,IAAI;AAEJ,yBAAyB;AACzB,qEAAqE;AACrE,8DAA8D;AAC9D,wDAAwD;AACxD,6CAA6C;AAC7C,+BAA+B;AAC/B,2BAA2B;AAC3B,uDAAuD;AACvD,iCAAiC;AACjC,8BAA8B;AAC9B,oBAAoB;AACpB,QAAQ;AACR,4BAA4B;AAC5B,sBAAsB;AACtB,yCAAyC;AACzC,IAAI;AAEJ,gBAAgB;AAChB,MAAM,UAAU,uCAAuC,CAAC,EAAY;IAChE,IAAI,iBAAiB,GAAG,IAAI,CAAC;IAC7B,IAAI,OAAO,GAAoB,EAAE,CAAC;IAClC,IAAI,UAAU,GAAY,KAAK,CAAC;IAChC,OAAO,OAAO,EAAE;QACZ,IAAI,CAAC,OAAO;YAAE,MAAM;QACpB,IAAI,OAAO,CAAC,IAAI,KAAK,OAAO;YAAE,UAAU,GAAG,IAAI,CAAC;QAChD,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,EAAE;YACxB,iBAAiB,GAAG,KAAK,CAAC;YAC1B,MAAM;SACT;QACD,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC;KAC5B;IACD,IAAI,CAAC,EAAE,EAAE;QACL,OAAO,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;QAC5B,OAAO;KACV;IACD,EAAE,CAAC,SAAS,CAAC,0BAA0B,CAAC,GAAG,iBAAiB,IAAI,UAAU,CAAC;AAC/E,CAAC;AAED,SAAS,YAAY,CAAC,EAAY,EAAE,GAA+B;IAC/D,IAAI,EAAE,CAAC,QAAQ,EAAE,UAAU,EAAE;QACzB,KAAK,MAAM,IAAI,IAAI,EAAE,CAAC,QAAQ,CAAC,UAAU,EAAE;YACvC,GAAG,CAAC,IAAI,CAAC,CAAC;SACb;KACJ;AACL,CAAC;AAGD,MAAM,WAAW,GAA8B,IAAI,GAAG,EAAE,CAAC;AACzD,MAAM,cAAc,GAAG,MAAM,CAAC,aAAa,CAAC,CAAC;AAC7C,MAAM,kBAAkB,GAAG,MAAM,CAAC,mBAAmB,CAAC,CAAC;AACvD,MAAM,YAAY,GAAG,QAAQ,CAAC,cAAc,CAAC,CAAC;AAE9C,gBAAgB;AAChB,MAAM,UAAU,qBAAqB,CAAC,GAAa,EAAE,OAAiB;IAClE,IAAI,CAAC,GAAG;QAAE,OAAO;IACjB,4FAA4F;IAC5F,IAAI,GAAG,CAAC,cAAc,CAAC,KAAK,IAAI;QAAE,OAAO;IACzC,IAAI,GAAG,CAAC,kBAAkB,CAAC,KAAK,IAAI;QAAE,OAAO;IAC7C,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE;QAC3B,WAAW,CAAC,GAAG,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;KAChC;IACD,GAAG,CAAC,kBAAkB,CAAC,GAAG,IAAI,CAAC;IAC/B,MAAM,IAAI,GAAG,WAAW,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IACtC,IAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAChB,IAAI,YAAY;QAAE,OAAO,CAAC,KAAK,CAAC,kBAAkB,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;AAClE,CAAC;AAED,IAAI,aAAa,GAAiC,IAAI,CAAC;AACvD,IAAI,aAAa,GAAsB,IAAI,CAAC;AAE5C,gIAAgI;AAChI,MAAM,UAAU,UAAU,CAAC,OAAiB;IACxC,IAAI,CAAC,OAAO;QAAE,OAAO;IACrB,MAAM,IAAI,GAAG,WAAW,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IACtC,IAAI,CAAC,IAAI,EAAE,MAAM;QAAE,OAAO;IAE1B,MAAM,GAAG,GAAG,OAAO,CAAC,UAAU,CAAC;IAC/B,IAAI,GAAG,EAAE;QACL,IAAI,YAAY;YAAE,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,IAAI,CAAC,MAAM,EAAE,SAAS,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC;QAC5E,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;QAClC,IAAI,QAAQ,CAAC,OAAO,EAAE;YAClB,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;YAC5B,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,GAAI,CAAC,CAAA;YAC7B,aAAa,KAAK,IAAI,qBAAqB,CAAC,EAAE,CAAC,CAAA;YAC/C,aAAa,KAAK,IAAI,UAAU,CAAC,KAAK,EAAE,OAAO,EAAE,aAAa,CAAC,CAAC;YAChE,aAAa,CAAC,MAAM,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;YACtC,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE;gBACpB,GAAG,CAAC,cAAc,CAAC,GAAG,IAAI,CAAC;gBAC3B,GAAG,CAAC,kBAAkB,CAAC,GAAG,KAAK,CAAC;aACnC;YACD,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;YAChB,IAAI,YAAY;gBAAE,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;SACjD;KACJ;AACL,CAAC;AAED,gBAAgB;AAChB,MAAM,UAAU,gBAAgB,CAAC,OAAiB;IAC9C,MAAM,IAAI,GAAG,WAAW,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IACtC,IAAI,IAAI,EAAE;QACN,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE;YACpB,GAAG,CAAC,kBAAkB,CAAC,GAAG,KAAK,CAAC;SACnC;QACD,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;KACnB;IACD,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;AAChC,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":"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"}
1
+ {"version":3,"file":"Object3D.js","sourceRoot":"","sources":["../../../src/engine/js-extensions/Object3D.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.8.6-next.f3ce848",
3
+ "version": "4.8.7",
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": {
@@ -94,6 +94,7 @@
94
94
  "dependencies": {
95
95
  "@dimforge/rapier3d-compat": "^0.14.0",
96
96
  "@needle-tools/gltf-progressive": "3.3.2",
97
+ "@needle-tools/three-animation-pointer": "1.0.0-beta.3",
97
98
  "@webxr-input-profiles/motion-controllers": "^1.0.0",
98
99
  "flatbuffers": "2.0.4",
99
100
  "md5": "^2.3.0",
@@ -102,7 +103,7 @@
102
103
  "postprocessing": "^6.36.6",
103
104
  "simplex-noise": "^4.0.1",
104
105
  "stats.js": "^0.17.0",
105
- "three": "npm:@needle-tools/three@0.169.9",
106
+ "three": "npm:@needle-tools/three@0.169.10",
106
107
  "three-mesh-bvh": "^0.9.1",
107
108
  "three-mesh-ui": "npm:@needle-tools/three-mesh-ui@^7.1.5-alpha.5",
108
109
  "three.quarks": "0.15.6",
@@ -167,4 +168,4 @@
167
168
  "module": "lib/needle-engine.js",
168
169
  "typings": "lib/needle-engine.d.ts",
169
170
  "types": "lib/needle-engine.d.ts"
170
- }
171
+ }
package/src/engine/api.ts CHANGED
@@ -33,6 +33,7 @@ export * from "./engine_context.js";
33
33
  export * from "./engine_context_registry.js";
34
34
  export * from "./engine_coroutine.js"
35
35
  export * from "./engine_create_objects.js";
36
+ export * from "./engine_feature_flags.js"
36
37
  export * from "./engine_gameobject.js";
37
38
  export { Gizmos } from "./engine_gizmos.js"
38
39
  export * from "./engine_gltf.js";
@@ -42,7 +43,7 @@ export { InstancingUtil } from "./engine_instancing.js";
42
43
  export { hasCommercialLicense, hasIndieLicense, hasProLicense } from "./engine_license.js";
43
44
  export * from "./engine_lifecycle_api.js";
44
45
  export { NeedleEngineModelLoader } from "./engine_loaders.callbacks.js";
45
- export { loadAsset, loadSync,parseSync } from "./engine_loaders.js";
46
+ export { loadAsset, loadSync, parseSync } from "./engine_loaders.js";
46
47
  export * from "./engine_math.js";
47
48
  export { MODULES as NEEDLE_ENGINE_MODULES } from "./engine_modules.js";
48
49
  export * from "./engine_networking.js";
@@ -0,0 +1,8 @@
1
+
2
+
3
+ export namespace NEEDLE_ENGINE_FEATURE_FLAGS {
4
+
5
+ // eslint-disable-next-line prefer-const
6
+ export let experimentalSmartHierarchyUpdate = false;
7
+
8
+ }
@@ -3,6 +3,7 @@ import { CubeCamera, Object3D, Scene, WebGLCubeRenderTarget } from 'three';
3
3
  import { isDevEnvironment } from "./debug/index.js";
4
4
  import * as constants from "./engine_constants.js";
5
5
  import { ContextRegistry } from "./engine_context_registry.js";
6
+ import { NEEDLE_ENGINE_FEATURE_FLAGS } from './engine_feature_flags.js';
6
7
  import { isActiveSelf } from './engine_gameobject.js';
7
8
  import { safeInvoke } from "./engine_generic_utils.js";
8
9
  import type { IComponent, IContext } from './engine_types.js';
@@ -31,7 +32,7 @@ export function processNewScripts(context: IContext) {
31
32
  if (debug)
32
33
  console.log("Register new components", context.new_scripts.length, [...context.new_scripts], context.alias ? ("element: " + context.alias) : context["hash"], context);
33
34
 
34
-
35
+
35
36
  if (context.new_scripts_pre_setup_callbacks.length > 0) {
36
37
  for (const cb of context.new_scripts_pre_setup_callbacks) {
37
38
  if (!cb) continue;
@@ -39,7 +40,7 @@ export function processNewScripts(context: IContext) {
39
40
  }
40
41
  context.new_scripts_pre_setup_callbacks.length = 0;
41
42
  }
42
-
43
+
43
44
  if (context.new_scripts.length <= 0) return;
44
45
 
45
46
  // TODO: update all the code from above to use this logic
@@ -269,8 +270,22 @@ export function isNeedleXRSessionEventReceiver(script: any, mode: XRSessionMode
269
270
  }
270
271
 
271
272
 
273
+ let needsUpdate = true;
274
+ export function markHierarchyDirty() {
275
+ needsUpdate = true;
276
+ }
277
+
272
278
  /** @internal */
273
- export function updateIsActive(obj?: Object3D) {
279
+ export function updateIsActive(obj?: Object3D, force: boolean = false) {
280
+
281
+ if (NEEDLE_ENGINE_FEATURE_FLAGS.experimentalSmartHierarchyUpdate) {
282
+
283
+ if (!force) {
284
+ if (!needsUpdate) return;
285
+ }
286
+ needsUpdate = false;
287
+ }
288
+
274
289
  if (!obj) obj = ContextRegistry.Current.scene;
275
290
  if (!obj) {
276
291
  console.trace("Invalid call - no current context.");
@@ -295,9 +310,9 @@ function updateIsActiveInHierarchyRecursiveRuntime(go: Object3D, activeInHierarc
295
310
  return false;
296
311
  }
297
312
 
298
- const isActive = isActiveSelf(go);
313
+ const activeSelf = isActiveSelf(go);
299
314
  if (activeInHierarchy) {
300
- activeInHierarchy = isActive;
315
+ activeInHierarchy = activeSelf;
301
316
  // IF we update activeInHierarchy within a disabled hierarchy we need to check the parent
302
317
  if (activeInHierarchy && go.parent && level === 0) {
303
318
  const parent = go.parent;
@@ -321,7 +336,7 @@ function updateIsActiveInHierarchyRecursiveRuntime(go: Object3D, activeInHierarc
321
336
  go[constants.activeInHierarchyFieldName] = activeInHierarchy;
322
337
 
323
338
  if (debugHierarchy)
324
- console.warn("ACTIVE CHANGE", go.name, isActive, go.visible, activeInHierarchy, "changed?" + changed, go);
339
+ console.warn("ACTIVE CHANGE", go.name, activeSelf, go.visible, activeInHierarchy, "changed?" + changed, go);
325
340
  if (allowEventCall) {
326
341
  perComponent(go, comp => {
327
342
  if (activeInHierarchy) {
@@ -22,11 +22,11 @@ const debug = getParam("debugextensions");
22
22
 
23
23
  // lazily import the GLTFAnimationPointerExtension in case it doesnt exist (e.g. using vanilla three)
24
24
  let GLTFAnimationPointerExtension: any;
25
- const KHR_ANIMATIONPOINTER_IMPORT = import("three/examples/jsm/loaders/GLTFLoaderAnimationPointer.js").then(async mod => {
25
+ const KHR_ANIMATIONPOINTER_IMPORT = import("@needle-tools/three-animation-pointer").then(async mod => {
26
26
  GLTFAnimationPointerExtension = mod.GLTFAnimationPointerExtension;
27
27
  return GLTFAnimationPointerExtension;
28
28
  }).catch(e => {
29
- console.warn("Failed to import GLTFLoaderAnimationPointer. Please use @needle-tools/three for full KHR_animation support", e);
29
+ console.warn("Failed to import GLTFLoaderAnimationPointer. Please use @needle-tools/three-animationpointer for full KHR_animation support", e);
30
30
  });
31
31
 
32
32
 
@@ -1,7 +1,7 @@
1
1
  import { Object3D, Quaternion, Vector3 } from "three";
2
2
  import { TransformControlsGizmo } from "three/examples/jsm/controls/TransformControls.js";
3
3
 
4
- import { addComponent, addNewComponent, getComponent, getComponentInChildren, getComponentInParent, getComponents, getComponentsInChildren, getComponentsInParent, getOrAddComponent, removeComponent } from "../../engine/engine_components.js";
4
+ import { addComponent, getComponent, getComponentInChildren, getComponentInParent, getComponents, getComponentsInChildren, getComponentsInParent, getOrAddComponent, removeComponent } from "../../engine/engine_components.js";
5
5
  import { destroy, isActiveSelf, setActive } from "../../engine/engine_gameobject.js";
6
6
  import {
7
7
  getTempVector,
@@ -15,7 +15,9 @@ import {
15
15
  setWorldScale
16
16
  }
17
17
  from "../../engine/engine_three_utils.js";
18
- import type { ComponentInit, Constructor, ConstructorConcrete, HideFlags,IComponent as Component, IComponent } from "../../engine/engine_types.js";
18
+ import type { ComponentInit, Constructor, ConstructorConcrete, HideFlags, IComponent as Component, IComponent } from "../../engine/engine_types.js";
19
+ import { NEEDLE_ENGINE_FEATURE_FLAGS } from "../engine_feature_flags.js";
20
+ import { markHierarchyDirty } from "../engine_mainloop_utils.js";
19
21
  import { applyPrototypeExtensions, registerPrototypeExtensions } from "./ExtensionUtils.js";
20
22
 
21
23
 
@@ -150,6 +152,27 @@ export function apply(object: Object3D) {
150
152
  }
151
153
  }
152
154
 
155
+ if (NEEDLE_ENGINE_FEATURE_FLAGS.experimentalSmartHierarchyUpdate) {
156
+
157
+ const addFn = Object3D.prototype.add;
158
+ Object3D.prototype.add = function (...args: any) {
159
+ markHierarchyDirty();
160
+ return addFn.apply(this, args);
161
+ }
162
+
163
+ const attachFn = Object3D.prototype.attach;
164
+ Object3D.prototype.attach = function (...args: any) {
165
+ markHierarchyDirty();
166
+ return attachFn.apply(this, args);
167
+ }
168
+
169
+ const removeFn = Object3D.prototype.remove;
170
+ Object3D.prototype.remove = function (...args: any) {
171
+ markHierarchyDirty();
172
+ return removeFn.apply(this, args);
173
+ }
174
+ }
175
+
153
176
 
154
177
  Object3D.prototype["SetActive"] = function (active: boolean) {
155
178
  this.visible = active;