@needle-tools/engine 4.1.1 → 4.2.2

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 (92) hide show
  1. package/CHANGELOG.md +11 -0
  2. package/dist/needle-engine.bundle.js +7966 -7908
  3. package/dist/needle-engine.bundle.light.js +7961 -7903
  4. package/dist/needle-engine.bundle.light.min.js +139 -135
  5. package/dist/needle-engine.bundle.light.umd.cjs +140 -136
  6. package/dist/needle-engine.bundle.min.js +139 -135
  7. package/dist/needle-engine.bundle.umd.cjs +144 -140
  8. package/dist/needle-engine.d.ts +9 -9
  9. package/lib/engine/engine_input.d.ts +14 -2
  10. package/lib/engine/engine_input.js +41 -6
  11. package/lib/engine/engine_input.js.map +1 -1
  12. package/lib/engine/engine_serialization_core.js +16 -3
  13. package/lib/engine/engine_serialization_core.js.map +1 -1
  14. package/lib/engine/engine_types.d.ts +5 -0
  15. package/lib/engine/engine_utils.d.ts +2 -0
  16. package/lib/engine/engine_utils.js +8 -0
  17. package/lib/engine/engine_utils.js.map +1 -1
  18. package/lib/engine/webcomponents/needle menu/needle-menu-spatial.js +2 -2
  19. package/lib/engine/webcomponents/needle menu/needle-menu-spatial.js.map +1 -1
  20. package/lib/engine/xr/NeedleXRController.d.ts +0 -1
  21. package/lib/engine/xr/NeedleXRController.js +0 -14
  22. package/lib/engine/xr/NeedleXRController.js.map +1 -1
  23. package/lib/engine/xr/NeedleXRSession.js +10 -2
  24. package/lib/engine/xr/NeedleXRSession.js.map +1 -1
  25. package/lib/engine-components/DragControls.js +12 -3
  26. package/lib/engine-components/DragControls.js.map +1 -1
  27. package/lib/engine-components/Duplicatable.js +2 -2
  28. package/lib/engine-components/Duplicatable.js.map +1 -1
  29. package/lib/engine-components/EventTrigger.d.ts +2 -0
  30. package/lib/engine-components/EventTrigger.js +12 -0
  31. package/lib/engine-components/EventTrigger.js.map +1 -1
  32. package/lib/engine-components/Renderer.js +5 -0
  33. package/lib/engine-components/Renderer.js.map +1 -1
  34. package/lib/engine-components/ScreenCapture.js +2 -2
  35. package/lib/engine-components/ScreenCapture.js.map +1 -1
  36. package/lib/engine-components/export/usdz/ThreeUSDZExporter.js +0 -1
  37. package/lib/engine-components/export/usdz/ThreeUSDZExporter.js.map +1 -1
  38. package/lib/engine-components/export/usdz/USDZExporter.js +2 -2
  39. package/lib/engine-components/export/usdz/USDZExporter.js.map +1 -1
  40. package/lib/engine-components/export/usdz/extensions/behavior/Behaviour.js +19 -11
  41. package/lib/engine-components/export/usdz/extensions/behavior/Behaviour.js.map +1 -1
  42. package/lib/engine-components/export/usdz/extensions/behavior/BehaviourComponents.d.ts +7 -2
  43. package/lib/engine-components/export/usdz/extensions/behavior/BehaviourComponents.js +33 -11
  44. package/lib/engine-components/export/usdz/extensions/behavior/BehaviourComponents.js.map +1 -1
  45. package/lib/engine-components/export/usdz/extensions/behavior/BehavioursBuilder.d.ts +1 -0
  46. package/lib/engine-components/export/usdz/extensions/behavior/BehavioursBuilder.js +5 -2
  47. package/lib/engine-components/export/usdz/extensions/behavior/BehavioursBuilder.js.map +1 -1
  48. package/lib/engine-components/ui/Button.js +3 -3
  49. package/lib/engine-components/ui/Button.js.map +1 -1
  50. package/lib/engine-components/ui/EventSystem.d.ts +6 -10
  51. package/lib/engine-components/ui/EventSystem.js +35 -52
  52. package/lib/engine-components/ui/EventSystem.js.map +1 -1
  53. package/lib/engine-components/ui/InputField.d.ts +3 -1
  54. package/lib/engine-components/ui/InputField.js +8 -0
  55. package/lib/engine-components/ui/InputField.js.map +1 -1
  56. package/lib/engine-components/utils/OpenURL.js +2 -2
  57. package/lib/engine-components/utils/OpenURL.js.map +1 -1
  58. package/lib/engine-components/webxr/WebXRImageTracking.js +5 -1
  59. package/lib/engine-components/webxr/WebXRImageTracking.js.map +1 -1
  60. package/lib/engine-components/webxr/WebXRPlaneTracking.js +2 -2
  61. package/lib/engine-components/webxr/WebXRPlaneTracking.js.map +1 -1
  62. package/lib/engine-components/webxr/controllers/XRControllerFollow.js +3 -0
  63. package/lib/engine-components/webxr/controllers/XRControllerFollow.js.map +1 -1
  64. package/lib/engine-components/webxr/controllers/XRControllerModel.d.ts +3 -0
  65. package/lib/engine-components/webxr/controllers/XRControllerModel.js +11 -0
  66. package/lib/engine-components/webxr/controllers/XRControllerModel.js.map +1 -1
  67. package/package.json +1 -1
  68. package/src/engine/engine_input.ts +47 -9
  69. package/src/engine/engine_serialization_core.ts +13 -4
  70. package/src/engine/engine_types.ts +5 -0
  71. package/src/engine/engine_utils.ts +7 -0
  72. package/src/engine/webcomponents/needle menu/needle-menu-spatial.ts +2 -2
  73. package/src/engine/xr/NeedleXRController.ts +0 -14
  74. package/src/engine/xr/NeedleXRSession.ts +10 -2
  75. package/src/engine-components/DragControls.ts +13 -3
  76. package/src/engine-components/Duplicatable.ts +2 -2
  77. package/src/engine-components/EventTrigger.ts +14 -0
  78. package/src/engine-components/Renderer.ts +5 -0
  79. package/src/engine-components/ScreenCapture.ts +2 -2
  80. package/src/engine-components/export/usdz/ThreeUSDZExporter.ts +0 -1
  81. package/src/engine-components/export/usdz/USDZExporter.ts +2 -2
  82. package/src/engine-components/export/usdz/extensions/behavior/Behaviour.ts +17 -11
  83. package/src/engine-components/export/usdz/extensions/behavior/BehaviourComponents.ts +41 -23
  84. package/src/engine-components/export/usdz/extensions/behavior/BehavioursBuilder.ts +5 -2
  85. package/src/engine-components/ui/Button.ts +3 -3
  86. package/src/engine-components/ui/EventSystem.ts +45 -62
  87. package/src/engine-components/ui/InputField.ts +9 -1
  88. package/src/engine-components/utils/OpenURL.ts +2 -2
  89. package/src/engine-components/webxr/WebXRImageTracking.ts +5 -1
  90. package/src/engine-components/webxr/WebXRPlaneTracking.ts +2 -2
  91. package/src/engine-components/webxr/controllers/XRControllerFollow.ts +3 -0
  92. package/src/engine-components/webxr/controllers/XRControllerModel.ts +15 -0
@@ -296,7 +296,7 @@ export class WebXRPlaneTracking extends Behaviour {
296
296
  if (newPlane instanceof Mesh) {
297
297
  disposeObjectResources(newPlane.geometry);
298
298
  newPlane.geometry = this.createGeometry(data);
299
- this.makeOccluder(newPlane, newPlane.material, this.occluder);
299
+ this.makeOccluder(newPlane, newPlane.material, this.occluder && !this.dataTemplate);
300
300
  }
301
301
  else if (newPlane instanceof Group) {
302
302
  // We want to process only one level of children on purpose here
@@ -304,7 +304,7 @@ export class WebXRPlaneTracking extends Behaviour {
304
304
  if (ch instanceof Mesh) {
305
305
  disposeObjectResources(ch.geometry);
306
306
  ch.geometry = this.createGeometry(data);
307
- this.makeOccluder(ch, ch.material, this.occluder);
307
+ this.makeOccluder(ch, ch.material, this.occluder && !this.dataTemplate);
308
308
  }
309
309
  }
310
310
  }
@@ -1 +1 @@
1
- {"version":3,"file":"WebXRPlaneTracking.js","sourceRoot":"","sources":["../../../src/engine-components/webxr/WebXRPlaneTracking.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"WebXRPlaneTracking.js","sourceRoot":"","sources":["../../../src/engine-components/webxr/WebXRPlaneTracking.ts"],"names":[],"mappings":"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"}
@@ -56,6 +56,9 @@ export class XRControllerFollow extends Behaviour {
56
56
  }
57
57
  /** @internal */
58
58
  onUpdateXR(args) {
59
+ // explicit check since we're overriding activeAndEnabled
60
+ if (!this.enabled)
61
+ return;
59
62
  // try to get the controller
60
63
  const ctrl = args.xr.getController(this.side);
61
64
  if (ctrl) {
@@ -1 +1 @@
1
- {"version":3,"file":"XRControllerFollow.js","sourceRoot":"","sources":["../../../../src/engine-components/webxr/controllers/XRControllerFollow.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"XRControllerFollow.js","sourceRoot":"","sources":["../../../../src/engine-components/webxr/controllers/XRControllerFollow.ts"],"names":[],"mappings":"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"}
@@ -28,6 +28,9 @@ export declare class XRControllerModel extends Behaviour {
28
28
  private readonly _models;
29
29
  onXRControllerAdded(args: NeedleXRControllerEventArgs): Promise<void>;
30
30
  onXRControllerRemoved(args: NeedleXRControllerEventArgs): void;
31
+ onBeforeXR(_mode: XRSessionMode, args: XRSessionInit & {
32
+ trackedImages: Array<any>;
33
+ }): void;
31
34
  onLeaveXR(_args: NeedleXREventArgs): void;
32
35
  onBeforeRender(): void;
33
36
  private updateRendering;
@@ -113,6 +113,17 @@ export class XRControllerModel extends Behaviour {
113
113
  entry.model = undefined;
114
114
  }
115
115
  }
116
+ onBeforeXR(_mode, args) {
117
+ // When a custom hand model is used, we want to ensure we're requesting hand tracking,
118
+ // even when the platform default doesn't include it (for example, on VisionOS we don't
119
+ // request hand tracking by default because there's an additional permissions dialogue.
120
+ if (this.createHandModel && (this.customLeftHand || this.customRightHand)) {
121
+ args.optionalFeatures = args.optionalFeatures || [];
122
+ if (!args.optionalFeatures.includes("hand-tracking")) {
123
+ args.optionalFeatures.push("hand-tracking");
124
+ }
125
+ }
126
+ }
116
127
  onLeaveXR(_args) {
117
128
  for (const entry of this._models) {
118
129
  if (!entry)
@@ -1 +1 @@
1
- {"version":3,"file":"XRControllerModel.js","sourceRoot":"","sources":["../../../../src/engine-components/webxr/controllers/XRControllerModel.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"XRControllerModel.js","sourceRoot":"","sources":["../../../../src/engine-components/webxr/controllers/XRControllerModel.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAe,MAAM,OAAO,CAAC;AACjF,OAAO,EAAE,UAAU,EAAE,MAAM,0CAA0C,CAAC;AACtE,OAAO,EAAE,wBAAwB,EAAE,MAAM,sDAAsD,CAAC;AAChG,OAAO,EAAE,eAAe,EAAE,MAAM,6CAA6C,CAAC;AAG9E,OAAO,EAAE,cAAc,EAAE,MAAM,wCAAwC,CAAC;AACxE,OAAO,EAAE,cAAc,EAAE,MAAM,sCAAsC,CAAC;AACtE,OAAO,EAAE,MAAM,EAAE,MAAM,kCAAkC,CAAC;AAC1D,OAAO,EAAE,SAAS,EAAE,MAAM,gCAAgC,CAAC;AAE3D,OAAO,EAAE,sBAAsB,EAAE,MAAM,mCAAmC,CAAC;AAC3E,OAAO,EAAE,YAAY,EAAE,MAAM,mDAAmD,CAAC;AAEjF,OAAO,EAAE,QAAQ,EAAE,MAAM,iCAAiC,CAAC;AAC3D,OAAO,EAAgF,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAC7I,OAAO,EAAE,0BAA0B,EAAE,kBAAkB,EAAE,MAAM,0CAA0C,CAAC;AAC1G,OAAO,EAAE,kBAAkB,EAAE,MAAM,kDAAkD,CAAC;AACtF,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AACnE,OAAO,EAAE,SAAS,EAAyB,MAAM,oBAAoB,CAAA;AAErE,MAAM,KAAK,GAAG,QAAQ,CAAC,YAAY,CAAC,CAAC;AAErC,MAAM,gBAAgB,GAAG,IAAI,YAAY,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;AACnD,MAAM,sBAAsB,GAAG,IAAI,KAAK,EAAU,CAAC;AAEnD;;GAEG;AACH,MAAM,OAAO,iBAAkB,SAAQ,SAAS;IAE5C;;;OAGG;IAEH,qBAAqB,GAAY,IAAI,CAAC;IAEtC;;;OAGG;IAEH,eAAe,GAAY,IAAI,CAAC;IAEhC,+DAA+D;IAE/D,cAAc,CAAkB;IAChC,+DAA+D;IAE/D,eAAe,CAAkB;IAGjC,MAAM,CAAU,OAAO,GAA6B,IAAI,wBAAwB,EAAE,CAAC;IAEnF,UAAU,CAAC,IAAmB;QAC1B,OAAO,IAAI,KAAK,cAAc,IAAI,IAAI,KAAK,cAAc,CAAC;IAC9D,CAAC;IAEgB,OAAO,GAAG,IAAI,KAAK,EAAuF,CAAC;IAG5H,KAAK,CAAC,mBAAmB,CAAC,IAAiC;QACvD,2EAA2E;QAC3E,MAAM,kBAAkB,GAAG,IAAI,CAAC,EAAE,CAAC,IAAI,IAAI,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC;QACjE,IAAI,CAAC,kBAAkB;YAAE,OAAO;QAEhC,MAAM,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC;QAE5B,IAAI,KAAK;YAAE,OAAO,CAAC,IAAI,CAAC,0BAA0B,EAAE,UAAU,CAAC,IAAI,EAAE,UAAU,CAAC,KAAK,CAAC,CAAA;QAEtF,IAAI,IAAI,CAAC,qBAAqB,IAAI,IAAI,CAAC,eAAe,EAAE;YACpD,IAAI,UAAU,CAAC,IAAI,EAAE;gBACjB,IAAI,IAAI,CAAC,eAAe,EAAE;oBACtB,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;oBACvD,uFAAuF;oBACvF,IAAI,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,SAAS,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE;wBACrD,IAAI,GAAG,EAAE,UAAU;4BAAE,cAAc,CAAC,GAAG,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;wBAC3D,GAAG,EAAE,UAAU,EAAE,OAAO,EAAE,CAAC;wBAC3B,OAAO;qBACV;oBACD,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,UAAU,EAAE,KAAK,EAAE,GAAG,CAAC,UAAU,EAAE,QAAQ,EAAE,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC;oBAC7F,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,GAAG,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;oBACrE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;oBAC/B,UAAU,CAAC,KAAK,GAAG,GAAG,CAAC,UAAU,CAAC;iBACrC;aACJ;iBACI;gBACD,IAAI,IAAI,CAAC,qBAAqB,EAAE;oBAC5B,MAAM,QAAQ,GAAG,MAAM,UAAU,CAAC,WAAW,EAAE,CAAC;oBAChD,IAAI,QAAQ,EAAE;wBACV,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;wBACzD,uFAAuF;wBACvF,IAAI,CAAC,KAAK,IAAI,CAAC,UAAU,CAAC,SAAS,IAAI,UAAU,CAAC,MAAM,EAAE;4BACtD,OAAO;yBACV;wBACD,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,CAAC;wBACrD,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,GAAG,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;wBACrE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;wBACtB,wDAAwD;wBACxD,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE;4BACnB,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;4BACpB,4EAA4E;4BAC5E,KAAK,CAAC,gBAAgB,GAAG,KAAK,CAAC;4BAC/B,KAAK,CAAC,YAAY,EAAE,CAAC;wBACzB,CAAC,CAAC,CAAC;wBACH,UAAU,CAAC,KAAK,GAAG,KAAK,CAAC;qBAC5B;yBACI,IAAI,UAAU,CAAC,aAAa,KAAK,mBAAmB,EAAE;wBACvD,OAAO,CAAC,IAAI,CAAC,wCAAwC,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC;qBAC5E;iBACJ;aACJ;SACJ;IACL,CAAC;IAED,qBAAqB,CAAC,IAAiC;QACnD,OAAO,CAAC,KAAK,CAAC,uBAAuB,EAAE,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;QACpF,uIAAuI;QACvI,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,KAAK,IAAI,CAAC,UAAU,CAAC,CAAC;QACnF,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;QACzC,IAAI,CAAC,KAAK;YAAE,OAAO;QAEnB,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC;QAErC,IAAI,KAAK,CAAC,KAAK,EAAE;YACb,cAAc,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;YACnC,KAAK,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;YACtB,KAAK,CAAC,KAAK,GAAG,SAAS,CAAC;SAC3B;IACL,CAAC;IAED,UAAU,CAAC,KAAoB,EAAE,IAAmD;QAChF,sFAAsF;QACtF,uFAAuF;QACvF,uFAAuF;QACvF,IAAI,IAAI,CAAC,eAAe,IAAI,CAAC,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,eAAe,CAAC,EAAE;YACvE,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,gBAAgB,IAAI,EAAE,CAAC;YACpD,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,eAAe,CAAC,EAAE;gBAClD,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;aAC/C;SACJ;IACL,CAAC;IAED,SAAS,CAAC,KAAwB;QAC9B,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,OAAO,EAAE;YAC9B,IAAI,CAAC,KAAK;gBAAE,SAAS;YAErB,IAAI,KAAK,CAAC,KAAK,EAAE;gBACb,cAAc,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;gBACnC,KAAK,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;gBACtB,KAAK,CAAC,KAAK,GAAG,SAAS,CAAC;aAC3B;YAED,2EAA2E;YAC3E,IAAI,KAAK,CAAC,UAAU,CAAC,KAAK,KAAK,KAAK,CAAC,KAAK,EAAE;gBACxC,KAAK,CAAC,UAAU,CAAC,KAAK,GAAG,IAAI,CAAC;aACjC;SACJ;QACD,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC;IAC5B,CAAC;IAED,cAAc;QACV,IAAI,CAAC,eAAe,CAAC,MAAM;YAAE,OAAO;QAEpC,IAAI,KAAK;YAAE,sBAAsB,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAClD,eAAe;QACf,IAAI,CAAC,eAAe,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;QAE7C,IAAI,KAAK,EAAE;YACP,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,sBAAsB,CAAC,CAAC,CAAC,CAAC;YAClD,sBAAsB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAChC,IAAI,sBAAsB,CAAC,MAAM,IAAI,EAAE,EAAE;gBACrC,sBAAsB,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;gBAC9B,MAAM,IAAI,GAAG,sBAAsB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,sBAAsB,CAAC,MAAM,CAAC;gBAC/F,sBAAsB,CAAC,MAAM,GAAG,CAAC,CAAC;gBAClC,iEAAiE;aACpE;SACJ;IACL,CAAC;IAEO,eAAe,CAAC,EAAmB;QAEvC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YAC1C,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;YAC9B,IAAI,CAAC,KAAK;gBAAE,SAAS;YACrB,MAAM,IAAI,GAAG,KAAK,CAAC,UAAU,CAAC;YAC9B,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE;gBACjB,mEAAmE;gBACnE,IAAI,KAAK;oBAAE,OAAO,CAAC,IAAI,CAAC,mEAAmE,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;gBACnH,SAAS;aACZ;YAGD,iCAAiC;YACjC,IAAI,KAAK,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE;gBAChC,KAAK,CAAC,KAAK,CAAC,gBAAgB,GAAG,KAAK,CAAC;gBACrC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;gBACzC,KAAK,CAAC,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC;gBACtC,iDAAiD;gBACjD,EAAE,CAAC,GAAG,EAAE,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;aACvC;YACD,0BAA0B;iBACrB,IAAI,IAAI,CAAC,WAAW,CAAC,IAAI,IAAI,KAAK,CAAC,QAAQ,EAAE;gBAC9C,MAAM,cAAc,GAAG,EAAE,CAAC,cAAc,CAAC;gBACzC,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBAC1D,8CAA8C;gBAC9C,4FAA4F;gBAC5F,iBAAiB;gBACjB,4DAA4D;gBAC5D,sDAAsD;gBACtD,uBAAuB;gBACvB,gEAAgE;gBAChE,qFAAqF;gBACrF,oCAAoC;gBACpC,YAAY;gBACZ,eAAe;gBACf,QAAQ;gBACR,IAAI;gBACJ,QAAQ;gBACR,IAAI,cAAc,IAAI,EAAE,CAAC,KAAK,CAAC,YAAY,EAAE;oBACzC,KAAK,MAAM,UAAU,IAAI,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE;wBACrD,gFAAgF;wBAChF,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;wBAChD,IAAI,KAAK,EAAE;4BACP,kDAAkD;4BAClD,MAAM,SAAS,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,CAAC,CAAC;4BACpD,IAAI,SAAS,EAAE;gCACX,MAAM,QAAQ,GAAG,SAAS,CAAC,SAAS,CAAC,QAAQ,CAAC;gCAC9C,MAAM,UAAU,GAAG,SAAS,CAAC,SAAS,CAAC,WAAW,CAAC;gCACnD,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gCAC9B,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;gCAClC,KAAK,CAAC,gBAAgB,GAAG,KAAK,CAAC;6BAClC;4BACD,KAAK,CAAC,OAAO,GAAG,SAAS,IAAI,IAAI,CAAC;yBACrC;qBACJ;oBACD,4CAA4C;oBAC5C,IAAI,KAAK,CAAC,KAAK,EAAE;wBACb,KAAK,CAAC,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC;wBACtC,IAAI,KAAK,CAAC,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,KAAK,CAAC,MAAM,KAAK,EAAE,CAAC,GAAG,EAAE,UAAU,EAAE;4BAClE,EAAE,CAAC,GAAG,EAAE,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;yBACvC;qBACJ;oBAED,IAAI,KAAK,CAAC,KAAK,EAAE,OAAO,EAAE;wBACtB,KAAK,CAAC,QAAQ,EAAE,UAAU,EAAE,CAAC;wBAC7B,KAAK,CAAC,KAAK,CAAC,gBAAgB,GAAG,KAAK,CAAC;wBACrC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;wBAC9B,KAAK,CAAC,KAAK,CAAC,YAAY,CAAC,iBAAiB,CAAC,CAAC;qBAC/C;iBACJ;aACJ;SACJ;IACL,CAAC;IAES,KAAK,CAAC,SAAS,CAAC,UAA8B,EAAE,GAAW;QACjE,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE;YACvB,OAAO,CAAC,IAAI,CAAC,4EAA4E,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC;YAC5G,OAAO,IAAI,CAAC;SACf;QACD,MAAM,cAAc,GAAG,cAAc,CAAC,WAAW,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;QAC3D,MAAM,KAAK,GAAG,MAAM,cAAc,CAAC,WAAW,EAAgB,CAAC;QAC/D,cAAc,CAAC,KAAK,CAAC,CAAC;QAEtB,IAAI,eAAe,CAAC,MAAM,EAAE,aAAa,EAAE;YACvC,KAAK,CAAC,eAAe,CAAC,CAAC,GAAa,EAAE,EAAE;gBACpC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;YAC3B,CAAC,CAAC,CAAA;SACL;QACD,OAAO,KAAoB,CAAC;IAChC,CAAC;IAES,KAAK,CAAC,aAAa,CAAC,IAAe,EAAE,UAA8B;QAEzE,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;QAC7B,MAAM,IAAI,GAAG,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;QAC3D,IAAI,CAAC,IAAI,EAAE;YACP,IAAI,KAAK;gBAAE,MAAM,CAAC,SAAS,CAAC,UAAU,CAAC,gBAAgB,EAAE,0BAA0B,GAAG,UAAU,CAAC,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;;gBAC3G,OAAO,CAAC,IAAI,CAAC,0BAA0B,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC;SACpE;QAED,MAAM,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;QAChC,sBAAsB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QACxC,MAAM,kBAAkB,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC;QAC/D,MAAM,mBAAmB,GAAG,0BAA0B,CAAC,MAAM,CAAC,CAAC;QAE/D,IAAI,QAAQ,GAAG,EAAE,CAAC;QAElB,MAAM,UAAU,GAAG,UAAU,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC;QAC3F,IAAI,UAAU,EAAE;YACZ,MAAM,mBAAmB,GAAG,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAC7E,QAAQ,GAAG,mBAAmB,CAAC;YAC/B,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;SACtB;aACI;YACD,gBAAgB;YAChB,mEAAmE;YACnE,QAAQ,GAAG,UAAU,CAAC,WAAW,CAAC,UAAU,KAAK,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC;YAC3E,MAAM,CAAC,OAAO,CAAC,2FAA2F,CAAC,CAAC;SAC/G;QAGD,MAAM,UAAU,GAAG,IAAI,QAAQ,EAAE,CAAC;QAClC,cAAc,CAAC,UAAU,CAAC,CAAC;QAC3B,aAAa;QACb,MAAM,QAAQ,GAAG,IAAI,eAAe,CAAC,UAAU,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,MAAgB,EAAE,EAAE;YAEvG,MAAM,IAAI,GAAG,mBAAmB,CAAC,IAAI,CAAC;YACtC,uFAAuF;YACvF,8EAA8E;YAC9E,IAAI,IAAI,EAAE,KAAK,CAAC,QAAQ,EAAE,MAAM,KAAK,CAAC,EAAE;gBACpC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC;aACnC;YAED,2GAA2G;YAC3G,SAAS,EAAE,CAAC,uBAAuB,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,QAAQ,IAAI,QAAQ,EAAE,mBAAmB,CAAC,IAAI,EAAE,IAAI,EAAE,mBAAmB,CAAC,CAAC;YAElI,4CAA4C;YAC5C,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE;gBACpB,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;gBACpB,IAAI,eAAe,CAAC,MAAM,EAAE,aAAa,IAAI,CAAC,UAAU;oBACpD,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;gBAC7B,IAAI,KAAK,YAAY,IAAI,EAAE;oBACvB,kBAAkB,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;iBAC9C;YACL,CAAC,CAAC,CAAC;YACH,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE;gBACvB,IAAI,KAAK;oBAAE,MAAM,CAAC,SAAS,CAAC,UAAU,CAAC,gBAAgB,EAAE,0CAA0C,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;gBAC7G,MAAM,CAAC,gBAAgB,EAAE,CAAC;aAC7B;QACL,CAAC,CAAC,CAAC;QAEH,IAAI,KAAK;YAAE,UAAU,CAAC,GAAG,CAAC,IAAI,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC;QAE9C,IAAI,UAAU,CAAC,WAAW,CAAC,IAAI,EAAE;YAC7B,IAAI,KAAK;gBAAE,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;YACpD,KAAK,MAAM,UAAU,IAAI,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE;gBAC3D,IAAI,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,SAAS,CAAC,KAAK,SAAS,EAAE;oBACjD,MAAM,KAAK,GAAG,IAAI,KAAK,EAAE,CAAC;oBAC1B,KAAK,CAAC,gBAAgB,GAAG,KAAK,CAAC;oBAC/B,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC;oBACrB,4BAA4B;oBAC5B,aAAa;oBACb,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,SAAS,CAAC,GAAG,KAAK,CAAC;oBAC1C,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;iBAEnB;aACJ;SACJ;aACI;YACD,IAAI,KAAK,EAAE;gBACP,MAAM,CAAC,SAAS,CAAC,UAAU,CAAC,gBAAgB,EAAE,sCAAsC,GAAG,UAAU,CAAC,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;aACpH;SACJ;QAED,OAAO,EAAE,UAAU,EAAE,UAAyB,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC;IACzE,CAAC;IAEO,YAAY,CAAC,GAAa;QAC9B,IAAI,GAAG,YAAY,IAAI,EAAE;YACrB,IAAI,GAAG,GAAG,GAAG,CAAC,QAAQ,CAAC;YACvB,IAAI,GAAG,YAAY,QAAQ,EAAE;gBACzB,GAAG,GAAG,GAAG,CAAC,QAAQ,GAAG,GAAG,CAAC,KAAK,EAAE,CAAC;gBACjC,aAAa;gBACb,GAAG,CAAC,UAAU,GAAG,IAAI,CAAC;gBACtB,GAAG,CAAC,SAAS,GAAG,IAAI,CAAC;gBACrB,GAAG,CAAC,UAAU,GAAG,KAAK,CAAC;gBACvB,GAAG,CAAC,aAAa,GAAG,KAAK,CAAC;gBAC1B,GAAG,CAAC,WAAW,GAAG,CAAC,GAAG,CAAC;aAC1B;SACJ;IACL,CAAC;;AAhVD;IADC,YAAY,EAAE;gEACuB;AAOtC;IADC,YAAY,EAAE;0DACiB;AAIhC;IADC,YAAY,CAAC,cAAc,CAAC;yDACG;AAGhC;IADC,YAAY,CAAC,cAAc,CAAC;0DACI"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@needle-tools/engine",
3
- "version": "4.1.1",
3
+ "version": "4.2.2",
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": {
@@ -3,7 +3,7 @@ import { Intersection, Matrix4, Object3D, Ray, Vector2, Vector3 } from 'three';
3
3
  import { showBalloonMessage, showBalloonWarning } from './debug/debug.js';
4
4
  import { Context } from './engine_setup.js';
5
5
  import { getTempVector, getWorldQuaternion } from './engine_three_utils.js';
6
- import type { ButtonName, IGameObject, IInput, MouseButtonName, Vec2 } from './engine_types.js';
6
+ import type { ButtonName, CursorTypeName, IGameObject, IInput, MouseButtonName, Vec2 } from './engine_types.js';
7
7
  import { DeviceUtilities, type EnumToPrimitiveUnion, getParam } from './engine_utils.js';
8
8
 
9
9
  const debug = getParam("debuginput");
@@ -394,21 +394,46 @@ export class Input implements IInput {
394
394
  get mouseWheelChanged(): boolean { return this.getMouseWheelChanged(0); }
395
395
 
396
396
  /** Is the primary pointer double clicked (usually the left button). This is equivalent to `input.mouseDoubleClick` */
397
- get click() : boolean { return this._pointerClick[0]; }
397
+ get click(): boolean { return this._pointerClick[0]; }
398
398
  /** Was a double click detected for the primary pointer? */
399
- get doubleClick() : boolean { return this._pointerDoubleClick[0]; }
399
+ get doubleClick(): boolean { return this._pointerDoubleClick[0]; }
400
400
 
401
- private _specialCursorTrigger: number = 0;
401
+ private readonly _setCursorTypes: CursorTypeName[] = [];
402
402
 
403
+ /** @deprecated use setCursor("pointer") */
403
404
  setCursorPointer() {
404
- this._specialCursorTrigger += 1;
405
- this.context.domElement.style.cursor = "pointer";
405
+ this.setCursor("pointer");
406
406
  }
407
+ /** @deprecated use unsetCursor() */
407
408
  setCursorNormal() {
408
- this._specialCursorTrigger -= 1;
409
- this._specialCursorTrigger = Math.max(0, this._specialCursorTrigger);
410
- if (this._specialCursorTrigger === 0)
409
+ this.unsetCursor("pointer");
410
+ }
411
+ /**
412
+ * Set a custom cursor. This will set the cursor type until unsetCursor is called
413
+ */
414
+ setCursor(type: CursorTypeName) {
415
+ this._setCursorTypes.push(type);
416
+ if (this._setCursorTypes.length > 10) {
417
+ this._setCursorTypes.shift();
418
+ }
419
+ this.updateCursor();
420
+ }
421
+ /**
422
+ * Unset a custom cursor. This will set the cursor type to the previous type or default
423
+ */
424
+ unsetCursor(type: CursorTypeName) {
425
+ for (let i = this._setCursorTypes.length - 1; i >= 0; i--) {
426
+ if (this._setCursorTypes[i] === type) {
427
+ this._setCursorTypes.splice(i, 1);
428
+ this.updateCursor();
429
+ break;
430
+ }
431
+ }
432
+ }
433
+ private updateCursor() {
434
+ if (this._setCursorTypes?.length == 0)
411
435
  this.context.domElement.style.cursor = "default";
436
+ else this.context.domElement.style.cursor = this._setCursorTypes[this._setCursorTypes.length - 1];
412
437
  }
413
438
 
414
439
  /**
@@ -756,6 +781,10 @@ export class Input implements IInput {
756
781
  window.removeEventListener('pointerup', this.onPointerUp);
757
782
  window.removeEventListener('pointercancel', this.onPointerCancel);
758
783
 
784
+ window.removeEventListener("touchstart", this.onTouchStart);
785
+ window.removeEventListener("touchmove", this.onTouchMove);
786
+ window.removeEventListener("touchend", this.onTouchEnd);
787
+
759
788
  this._htmlEventSource?.removeEventListener('wheel', this.onMouseWheel, false);
760
789
  window.removeEventListener("wheel", this.onWheelWindow, false);
761
790
 
@@ -778,7 +807,10 @@ export class Input implements IInput {
778
807
  }
779
808
  }
780
809
 
810
+ private readonly _receivedPointerMoveEventsThisFrame = new Array<number>;
811
+
781
812
  private onEndOfFrame = () => {
813
+ this._receivedPointerMoveEventsThisFrame.length = 0;
782
814
  for (let i = 0; i < this._pointerUp.length; i++)
783
815
  this._pointerUp[i] = false;
784
816
  for (let i = 0; i < this._pointerDown.length; i++)
@@ -901,8 +933,14 @@ export class Input implements IInput {
901
933
  }
902
934
  private onPointerMove = (evt: PointerEvent) => {
903
935
  if (this.context.isInAR) return;
936
+
937
+ // Prevent multiple pointerMove events per frame
938
+ if (this._receivedPointerMoveEventsThisFrame.includes(evt.pointerId)) return;
939
+ this._receivedPointerMoveEventsThisFrame.push(evt.pointerId);
940
+
904
941
  // We want to keep receiving move events until pointerUp and not stop handling events just because we're hovering over *some* HTML element
905
942
  // if (this.canReceiveInput(evt) === false) return;
943
+
906
944
  let button = evt.button;
907
945
  if (evt.pointerType === "mouse") {
908
946
  const pressedButton = this.getFirstPressedButtonForPointer(0);
@@ -1,8 +1,8 @@
1
- import { AnimationClip, Material, Mesh, Object3D, Texture } from "three";
1
+ import { AnimationClip, BufferGeometry, InstancedBufferGeometry, Material, Mesh, Object3D, Texture, WireframeGeometry } from "three";
2
2
  import { type GLTF } from "three/examples/jsm/loaders/GLTFLoader.js";
3
3
 
4
4
  import { debugExtension } from "../engine/engine_default_parameters.js";
5
- import { addLog,LogType } from "./debug/debug_overlay.js";
5
+ import { addLog, LogType } from "./debug/debug_overlay.js";
6
6
  import { isLocalNetwork } from "./engine_networking_utils.js";
7
7
  import { Context } from "./engine_setup.js";
8
8
  import type { Constructor, ConstructorConcrete, SourceIdentifier } from "./engine_types.js";
@@ -515,8 +515,17 @@ function deserializeObjectWithType(data: any, typeOrConstructor: ConstructorConc
515
515
 
516
516
  // e.g. when @serializable(Texture) and the texture is already resolved via json pointer from gltf
517
517
  // then we dont need to do anything else
518
- if (!typeIsFunction && currentValue instanceof type) return currentValue;
519
-
518
+ if (!typeIsFunction && currentValue) {
519
+ if (currentValue instanceof Material) return currentValue;
520
+ if (currentValue instanceof Texture) return currentValue;
521
+ if (currentValue instanceof Mesh) return currentValue;
522
+ if (currentValue instanceof BufferGeometry) return currentValue;
523
+ if (currentValue instanceof AnimationClip) return currentValue;
524
+ }
525
+ // Removed this line because it prevents assigning serialized values to existing instances for e.g. EventList
526
+ // https://linear.app/needle/issue/NE-5350
527
+ // if (!typeIsFunction && currentValue instanceof type) return currentValue;
528
+
520
529
  // try to resolve the serializer for a type only once
521
530
  if (!typeContext) {
522
531
  typeContext = {
@@ -528,6 +528,11 @@ export interface IPhysicsEngine {
528
528
  debugRenderRaycasts: boolean;
529
529
  }
530
530
 
531
+ /**
532
+ * Available cursor types
533
+ * @link https://developer.mozilla.org/en-US/docs/Web/CSS/cursor
534
+ */
535
+ export type CursorTypeName = "auto" | "default" | "none" | "context-menu" | "help" | "pointer" | "progress" | "wait" | "cell" | "crosshair" | "text" | "vertical-text" | "alias" | "copy" | "move" | "no-drop" | "not-allowed" | "grab" | "grabbing" | "all-scroll" | "col-resize" | "row-resize" | "n-resize" | "e-resize" | "s-resize" | "w-resize" | "nw-resize" | "se-resize" | "sw-resize" | "ew-resize" | "ns-resize" | "nesw-resize" | "nwse-resize" | "zoom-in" | "zoom-out";
531
536
 
532
537
  /** Typical mouse button names for most devices */
533
538
  export type MouseButtonName = "left" | "right" | "middle";
@@ -630,6 +630,13 @@ export namespace DeviceUtilities {
630
630
  }
631
631
  }
632
632
 
633
+ let __isVisionOS: boolean | undefined;
634
+ /** @returns `true` for VisionOS devices */
635
+ export function isVisionOS() {
636
+ if (__isVisionOS !== undefined) return __isVisionOS;
637
+ return __isVisionOS = (isMacOS() && "xr" in navigator);
638
+ }
639
+
633
640
  let __isiOS: boolean | undefined;
634
641
  const iosDevices = ['iPad Simulator', 'iPhone Simulator', 'iPod Simulator', 'iPad', 'iPhone', 'iPod'];
635
642
 
@@ -548,14 +548,14 @@ class OnClick implements Pick<IComponent, "__internalAwake"> {
548
548
  }
549
549
 
550
550
  onPointerEnter() {
551
- this.context.input.setCursorPointer();
551
+ this.context.input.setCursor("pointer");
552
552
  if (this.allowModifyUI) {
553
553
  this.element.set({ backgroundOpacity: 1 });
554
554
  ThreeMeshUI.update();
555
555
  }
556
556
  }
557
557
  onPointerExit() {
558
- this.context.input.setCursorNormal();
558
+ this.context.input.unsetCursor("pointer");
559
559
  if (this.allowModifyUI) {
560
560
  this.element.set({ backgroundOpacity: 0 });
561
561
  ThreeMeshUI.update();
@@ -161,7 +161,6 @@ export class NeedleXRController implements IPointerHitEventReceiver {
161
161
  private _hasSelectEvent = false;
162
162
  get hasSelectEvent() { return this._hasSelectEvent; }
163
163
  private _isMxInk = false;
164
- private _isMxInkFallback = false;
165
164
  private _isMetaQuestTouchController = false;
166
165
 
167
166
  /** Perform a hit test against the XR planes or meshes. shorthand for `xr.getHitTest(controller)`
@@ -438,14 +437,6 @@ C:${this.connected ? "x" : "-"} T:${this.isTracking ? "x" : "-"} Hand:${this.inp
438
437
  rayPositionRaw = getTempVector(t.position);
439
438
  rayQuaternionRaw = getTempQuaternion(t.orientation);
440
439
 
441
- // HACK: offset for MX Ink on QuestOS v69 and less. This will hopefully not be required with OS v70+ anymore,
442
- // when the pen should have its own proper profile and correct ray space.
443
- if (this._isMxInk && !this._isMxInkFallback) {
444
- const offset = getTempVector(0.013, 0.000, -0.028).applyQuaternion(rayQuaternionRaw);
445
- rayPositionRaw.add(offset);
446
- this._rayPosition.add(offset);
447
- }
448
-
449
440
  this._rayPositionRaw.copy(rayPositionRaw);
450
441
  this._rayRotationRaw.copy(rayQuaternionRaw);
451
442
  }
@@ -759,11 +750,6 @@ C:${this.connected ? "x" : "-"} T:${this.isTracking ? "x" : "-"} Hand:${this.inp
759
750
  this.getMotionController = fetchProfileCall.then(res => {
760
751
 
761
752
  if (!this.connected) return null;
762
- if (this._isMxInk && !res.assetPath) {
763
- if (debug) console.log("Falling back to custom MX Ink model", res.profile, res.assetPath);
764
- res.assetPath = "https://cdn.needle.tools/static/models/controllers/logitech_vr_stylus_v1.3.1_grip_questos68.glb";
765
- this._isMxInkFallback = true;
766
- }
767
753
 
768
754
  this._motioncontroller = new MotionController(
769
755
  this.inputSource,
@@ -373,12 +373,20 @@ export class NeedleXRSession implements INeedleXRSession {
373
373
  static getDefaultSessionInit(mode: Omit<XRSessionMode, "inline">): XRSessionInit {
374
374
  switch (mode) {
375
375
  case "immersive-ar":
376
+ const arFeatures = ['anchors', 'local-floor', 'layers', 'dom-overlay', 'hit-test', 'unbounded'];
377
+ // Don't request handtracking by default on VisionOS
378
+ if (!DeviceUtilities.isVisionOS())
379
+ arFeatures.push('hand-tracking');
376
380
  return {
377
- optionalFeatures: ['anchors', 'local-floor', 'hand-tracking', 'layers', 'dom-overlay', 'hit-test', 'unbounded'],
381
+ optionalFeatures: arFeatures,
378
382
  }
379
383
  case "immersive-vr":
384
+ const vrFeatures = ['local-floor', 'bounded-floor', 'high-fixed-foveation-level', 'layers'];
385
+ // Don't request handtracking by default on VisionOS
386
+ if (!DeviceUtilities.isVisionOS())
387
+ vrFeatures.push('hand-tracking');
380
388
  return {
381
- optionalFeatures: ['local-floor', 'bounded-floor', 'hand-tracking', 'high-fixed-foveation-level', 'layers'],
389
+ optionalFeatures: vrFeatures,
382
390
  }
383
391
  default:
384
392
  console.warn("No default session init for mode", mode);
@@ -248,9 +248,14 @@ export class DragControls extends Behaviour implements IPointerEventHandler {
248
248
  const iterator = this._dragHandlers.values();
249
249
  const a = iterator.next().value;
250
250
  const b = iterator.next().value;
251
- const mtHandler = new MultiTouchDragHandler(this, this._targetObject!, a, b);
252
- this._dragHandlers.set(this.gameObject, mtHandler);
253
- mtHandler.onDragStart(args);
251
+ if (a instanceof DragPointerHandler && b instanceof DragPointerHandler) {
252
+ const mtHandler = new MultiTouchDragHandler(this, this._targetObject!, a, b);
253
+ this._dragHandlers.set(this.gameObject, mtHandler);
254
+ mtHandler.onDragStart(args);
255
+ }
256
+ else {
257
+ console.error("Attempting to construct a MultiTouchDragHandler with invalid DragPointerHandlers. This is likely a bug.", { a, b });
258
+ }
254
259
  }
255
260
 
256
261
  args.use();
@@ -605,6 +610,11 @@ class MultiTouchDragHandler implements IDragHandler {
605
610
  const draggedObject = this.gameObject;
606
611
  const targetObject = this._followObject;
607
612
 
613
+ if (!draggedObject) {
614
+ console.error("MultiTouchDragHandler has no dragged object. This is likely a bug.");
615
+ return;
616
+ }
617
+
608
618
  targetObject.updateMatrix();
609
619
  targetObject.updateMatrixWorld(true);
610
620
 
@@ -105,14 +105,14 @@ export class Duplicatable extends Behaviour implements IPointerEventHandler {
105
105
  if (!this.object) return;
106
106
  if (!this.context.connection.allowEditing) return;
107
107
  if (args.button !== 0) return;
108
- this.context.input.setCursorPointer();
108
+ this.context.input.setCursor("pointer");
109
109
  }
110
110
  onPointerExit(args: PointerEventData) {
111
111
  if (args.used) return;
112
112
  if (!this.object) return;
113
113
  if (!this.context.connection.allowEditing) return;
114
114
  if (args.button !== 0) return;
115
- this.context.input.setCursorNormal();
115
+ this.context.input.unsetCursor("pointer");
116
116
  }
117
117
 
118
118
  /** @internal */
@@ -1,4 +1,5 @@
1
1
  import { serializable } from "../engine/engine_serialization.js";
2
+ import { EventSystem } from "./api.js";
2
3
  import { Behaviour } from "./Component.js"
3
4
  import { EventList } from "./EventList.js";
4
5
  import { EventType } from "./EventType.js"
@@ -33,6 +34,13 @@ export class EventTrigger extends Behaviour implements IPointerEventHandler {
33
34
  }
34
35
  }
35
36
 
37
+ private hasTrigger(type: EventType) {
38
+ return this.triggers?.some(t => t.eventID === type) ?? false;
39
+ }
40
+ private shouldChangeCursor() {
41
+ return this.hasTrigger(EventType.PointerClick) || this.hasTrigger(EventType.PointerDown) || this.hasTrigger(EventType.PointerUp);
42
+ }
43
+
36
44
  /** @internal */
37
45
  onPointerClick(_: PointerEventData) {
38
46
  this.invoke(EventType.PointerClick);
@@ -40,11 +48,17 @@ export class EventTrigger extends Behaviour implements IPointerEventHandler {
40
48
 
41
49
  /** @internal */
42
50
  onPointerEnter(_: PointerEventData) {
51
+ if (this.shouldChangeCursor()) {
52
+ this.context.input.setCursor("pointer");
53
+ }
43
54
  this.invoke(EventType.PointerEnter);
44
55
  }
45
56
 
46
57
  /** @internal */
47
58
  onPointerExit(_: PointerEventData) {
59
+ if (this.shouldChangeCursor()) {
60
+ this.context.input.unsetCursor("pointer");
61
+ }
48
62
  this.invoke(EventType.PointerExit);
49
63
  }
50
64
 
@@ -716,6 +716,11 @@ export class Renderer extends Behaviour implements IRenderer {
716
716
  const factor = this.hasLightmap ? Math.PI : 1;
717
717
  const environmentIntensity = this.context.mainCameraComponent?.environmentIntensity ?? 1;
718
718
  material.envMapIntensity = Math.max(0, environmentIntensity * this.context.sceneLighting.environmentIntensity / factor);
719
+
720
+ // since three 163 we need to set the envMap to the scene envMap if it is not set
721
+ // otherwise the envmapIntensity has no effect: https://github.com/mrdoob/three.js/pull/27903
722
+ // internal issue: https://linear.app/needle/issue/NE-6363
723
+ if (!material.envMap) material.envMap = this.context.scene.environment;
719
724
  }
720
725
 
721
726
  if (this._lightmaps) {
@@ -88,13 +88,13 @@ export class ScreenCapture extends Behaviour implements IPointerClickHandler {
88
88
  onPointerEnter() {
89
89
  if (this.context.connection.allowEditing == false) return;
90
90
  if (!this.allowStartOnClick) return;
91
- this.context.input.setCursorPointer();
91
+ this.context.input.setCursor("pointer");
92
92
  }
93
93
  /** @internal */
94
94
  onPointerExit() {
95
95
  if (this.context.connection.allowEditing == false) return;
96
96
  if (!this.allowStartOnClick) return;
97
- this.context.input.setCursorNormal();
97
+ this.context.input.unsetCursor("pointer");
98
98
  }
99
99
 
100
100
  /** @internal */
@@ -1966,7 +1966,6 @@ function buildMaterial( material: MeshBasicMaterial, textures: TextureMap, quick
1966
1966
 
1967
1967
  const materialName = getMaterialName(material);
1968
1968
 
1969
- console.log(material);
1970
1969
  // Special case: occluder material
1971
1970
  // Supported on iOS 18+ and visionOS 1+
1972
1971
  const isShadowCatcherMaterial =
@@ -403,7 +403,7 @@ export class USDZExporter extends Behaviour {
403
403
  if (this.autoExportAnimations) {
404
404
  implicitBehaviors.push(...registerAnimatorsImplictly(objectToExport, animExt));
405
405
  }
406
- const audioExt = this.extensions.find(ext => ext.extensionName === "Audio");
406
+ const audioExt = extensions.find(ext => ext.extensionName === "Audio");
407
407
  if (audioExt && this.autoExportAudioSources)
408
408
  implicitBehaviors.push(...registerAudioSourcesImplictly(objectToExport, audioExt as AudioExtension));
409
409
 
@@ -454,7 +454,7 @@ export class USDZExporter extends Behaviour {
454
454
  });
455
455
  }
456
456
 
457
- const behaviorExt = this.extensions.find(ext => ext.extensionName === "Behaviour") as BehaviorExtension | undefined;
457
+ const behaviorExt = extensions.find(ext => ext.extensionName === "Behaviour") as BehaviorExtension | undefined;
458
458
  if (this.interactive && behaviorExt && objectsToDisableAtSceneStart.length > 0) {
459
459
  behaviorExt.addBehavior(disableObjectsAtStart(objectsToDisableAtSceneStart));
460
460
  }