@needle-tools/engine 5.1.3 → 5.1.4

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 (67) hide show
  1. package/CHANGELOG.md +7 -0
  2. package/dist/{needle-engine.bundle-CTHxmSih.min.js → needle-engine.bundle-BvxvjlSN.min.js} +170 -164
  3. package/dist/{needle-engine.bundle-BAT9_opF.js → needle-engine.bundle-CEba8eTv.js} +5956 -5899
  4. package/dist/{needle-engine.bundle-BiLCbb4D.umd.cjs → needle-engine.bundle-GUaSFX8u.umd.cjs} +142 -136
  5. package/dist/needle-engine.d.ts +33 -28
  6. package/dist/needle-engine.js +282 -282
  7. package/dist/needle-engine.min.js +1 -1
  8. package/dist/needle-engine.umd.cjs +1 -1
  9. package/lib/engine/api.d.ts +1 -1
  10. package/lib/engine/api.js +1 -1
  11. package/lib/engine/api.js.map +1 -1
  12. package/lib/engine/engine_camera.fit.js +25 -2
  13. package/lib/engine/engine_camera.fit.js.map +1 -1
  14. package/lib/engine/engine_init.js +2 -2
  15. package/lib/engine/engine_init.js.map +1 -1
  16. package/lib/engine/engine_license.d.ts +7 -7
  17. package/lib/engine/engine_license.js +71 -71
  18. package/lib/engine/engine_license.js.map +1 -1
  19. package/lib/engine/engine_networking_blob.js +3 -3
  20. package/lib/engine/engine_networking_blob.js.map +1 -1
  21. package/lib/engine/engine_utils_qrcode.js +2 -2
  22. package/lib/engine/engine_utils_qrcode.js.map +1 -1
  23. package/lib/engine/engine_utils_screenshot.d.ts +3 -1
  24. package/lib/engine/engine_utils_screenshot.js +103 -19
  25. package/lib/engine/engine_utils_screenshot.js.map +1 -1
  26. package/lib/engine/engine_utils_screenshot.needlego.d.ts +44 -0
  27. package/lib/engine/engine_utils_screenshot.needlego.js +22 -0
  28. package/lib/engine/engine_utils_screenshot.needlego.js.map +1 -0
  29. package/lib/engine/webcomponents/needle menu/needle-menu-spatial.js +2 -2
  30. package/lib/engine/webcomponents/needle menu/needle-menu-spatial.js.map +1 -1
  31. package/lib/engine/webcomponents/needle menu/needle-menu.js +5 -5
  32. package/lib/engine/webcomponents/needle menu/needle-menu.js.map +1 -1
  33. package/lib/engine/webcomponents/needle-engine.js +2 -2
  34. package/lib/engine/webcomponents/needle-engine.js.map +1 -1
  35. package/lib/engine/webcomponents/needle-engine.loading.js +2 -2
  36. package/lib/engine/webcomponents/needle-engine.loading.js.map +1 -1
  37. package/lib/engine/xr/NeedleXRSession.d.ts +3 -0
  38. package/lib/engine/xr/NeedleXRSession.js +41 -40
  39. package/lib/engine/xr/NeedleXRSession.js.map +1 -1
  40. package/lib/engine/xr/TempXRContext.js +2 -2
  41. package/lib/engine/xr/TempXRContext.js.map +1 -1
  42. package/lib/engine/xr/init.js +4 -5
  43. package/lib/engine/xr/init.js.map +1 -1
  44. package/lib/engine-components/GroundProjection.js +36 -16
  45. package/lib/engine-components/GroundProjection.js.map +1 -1
  46. package/lib/engine-components/export/usdz/USDZExporter.js +4 -4
  47. package/lib/engine-components/export/usdz/USDZExporter.js.map +1 -1
  48. package/package.json +1 -1
  49. package/plugins/common/license.js +4 -4
  50. package/plugins/vite/license.js +4 -4
  51. package/src/engine/api.ts +1 -1
  52. package/src/engine/engine_camera.fit.ts +19 -2
  53. package/src/engine/engine_init.ts +2 -2
  54. package/src/engine/engine_license.ts +68 -68
  55. package/src/engine/engine_networking_blob.ts +3 -3
  56. package/src/engine/engine_utils_qrcode.ts +2 -2
  57. package/src/engine/engine_utils_screenshot.needlego.ts +53 -0
  58. package/src/engine/engine_utils_screenshot.ts +107 -20
  59. package/src/engine/webcomponents/needle menu/needle-menu-spatial.ts +2 -2
  60. package/src/engine/webcomponents/needle menu/needle-menu.ts +5 -5
  61. package/src/engine/webcomponents/needle-engine.loading.ts +6 -6
  62. package/src/engine/webcomponents/needle-engine.ts +2 -2
  63. package/src/engine/xr/NeedleXRSession.ts +39 -45
  64. package/src/engine/xr/TempXRContext.ts +2 -2
  65. package/src/engine/xr/init.ts +4 -5
  66. package/src/engine-components/GroundProjection.ts +38 -17
  67. package/src/engine-components/export/usdz/USDZExporter.ts +4 -4
@@ -123,7 +123,7 @@ export declare class __Ignore {
123
123
 
124
124
  export declare function __internalNotifyObjectDestroyed(obj: Object3D): void;
125
125
 
126
- /* Excluded from this release type: __OBvkie */
126
+ /* Excluded from this release type: __QhCnOwd */
127
127
 
128
128
  /** Data describing the accessible semantics for a 3D object or component. */
129
129
  declare type AccessibilityData = {
@@ -9745,7 +9745,8 @@ export declare class Interactable extends Component {
9745
9745
  export declare namespace InternalScreenshotUtils {
9746
9746
  /**
9747
9747
  * Screenshot rendering for AR
9748
- * @param args
9748
+ * @param args Set `skipCameraImage` to render only the 3D layer with a transparent background
9749
+ * (used when the camera feed is composited elsewhere, e.g. natively in the Needle Go App Clip)
9749
9750
  * @returns The canvas with the screenshot
9750
9751
  */
9751
9752
  export function compositeWithCameraImage(args: {
@@ -9754,6 +9755,7 @@ export declare namespace InternalScreenshotUtils {
9754
9755
  renderer: WebGLRenderer;
9755
9756
  width: number;
9756
9757
  height: number;
9758
+ skipCameraImage?: boolean;
9757
9759
  }): HTMLCanvasElement;
9758
9760
  export type FullscreenPlane = Mesh & {
9759
9761
  setTexture: (texture: Texture) => void;
@@ -10555,6 +10557,8 @@ declare type KF_2<V> = AnimationKeyframe<V>[] | Tween<V>;
10555
10557
  /** Keyframe array or tween shorthand */
10556
10558
  declare type KF_3<V> = AnimationKeyframe<V>[] | Tween<V>;
10557
10559
 
10560
+ /* Excluded from this release type: KLaEb */
10561
+
10558
10562
  declare type LabelHandle = {
10559
10563
  setText(str: string): any;
10560
10564
  };
@@ -12879,7 +12883,10 @@ export declare class NeedleXRSession implements INeedleXRSession {
12879
12883
  * @returns true if the browser supports the given XRSessionMode
12880
12884
  */
12881
12885
  static isSessionSupported(mode: XRSessionMode): Promise<boolean>;
12886
+ /** Resolved support results, kept as booleans so call sites can read them synchronously (e.g. the iOS AppClip path). */
12882
12887
  private static _sessionSupportedCache;
12888
+ /** In-flight probes, to de-duplicate concurrent isSessionSupported() calls per mode. */
12889
+ private static _sessionSupportedInFlight;
12883
12890
  private static _deviceChangeHooked;
12884
12891
  /** Invalidate the support cache when the set of XR devices changes, so a newly
12885
12892
  * connected headset is picked up by the next isSessionSupported() call. */
@@ -14024,8 +14031,6 @@ export declare function offXRSessionEnd(fn: (evt: XRSessionEventArgs) => void):
14024
14031
  */
14025
14032
  export declare function offXRSessionStart(fn: (evt: XRSessionEventArgs) => void): void;
14026
14033
 
14027
- /* Excluded from this release type: Ojgqq */
14028
-
14029
14034
  /**
14030
14035
  * @experimental
14031
14036
  * Subscribe to a DOM event on any {@link EventTarget} (window, document, HTML elements, etc.)
@@ -24794,9 +24799,9 @@ export declare class OrbitControls extends Component implements ICameraControlle
24794
24799
  constructor(context: WebXRImageTracking, trackedImage: WebXRImageTrackingModel, bitmap: ImageBitmap, measuredSize: number, state: "tracked" | "emulated", pose: any);
24795
24800
  }
24796
24801
 
24797
- export declare type WriteCallback = (data: any, prop: string) => void;
24802
+ /* Excluded from this release type: wPA */
24798
24803
 
24799
- /* Excluded from this release type: _XCzQKUE */
24804
+ export declare type WriteCallback = (data: any, prop: string) => void;
24800
24805
 
24801
24806
  /** Button names as used in the xr profile */
24802
24807
  export declare type XRControllerButtonName = "thumbrest" | "xr-standard-trigger" | "xr-standard-squeeze" | "xr-standard-thumbstick" | "xr-standard-touchpad" | "menu" | GamepadButtonName | StylusButtonName;
@@ -25116,6 +25121,28 @@ export declare class OrbitControls extends Component implements ICameraControlle
25116
25121
  export { }
25117
25122
 
25118
25123
 
25124
+ declare module 'three' {
25125
+ interface SkinnedMesh {
25126
+ staticGenerator?: StaticGeometryGenerator;
25127
+ staticGeometry?: BufferGeometry;
25128
+ staticGeometryLastUpdate?: number;
25129
+ }
25130
+ interface Mesh {
25131
+ acceleratedRaycast?: any;
25132
+ }
25133
+ interface SkinnedMesh {
25134
+ /** @deprecated use autoUpdateMeshBvhInterval */
25135
+ autoUpdateMeshBVH?: boolean;
25136
+ /**
25137
+ * Interval in milliseconds to automatically update the mesh BVH. When set to >= 0 the BVH will be updated every x milliseconds.
25138
+ * @default undefined (disabled)
25139
+ */
25140
+ autoUpdateMeshBvhInterval?: number;
25141
+ bvhNeedsUpdate?: boolean;
25142
+ }
25143
+ }
25144
+
25145
+
25119
25146
  declare module 'three' {
25120
25147
  interface Object3D {
25121
25148
  get guid(): string | undefined;
@@ -25263,28 +25290,6 @@ declare module 'three' {
25263
25290
  }
25264
25291
 
25265
25292
 
25266
- declare module 'three' {
25267
- interface SkinnedMesh {
25268
- staticGenerator?: StaticGeometryGenerator;
25269
- staticGeometry?: BufferGeometry;
25270
- staticGeometryLastUpdate?: number;
25271
- }
25272
- interface Mesh {
25273
- acceleratedRaycast?: any;
25274
- }
25275
- interface SkinnedMesh {
25276
- /** @deprecated use autoUpdateMeshBvhInterval */
25277
- autoUpdateMeshBVH?: boolean;
25278
- /**
25279
- * Interval in milliseconds to automatically update the mesh BVH. When set to >= 0 the BVH will be updated every x milliseconds.
25280
- * @default undefined (disabled)
25281
- */
25282
- autoUpdateMeshBvhInterval?: number;
25283
- bvhNeedsUpdate?: boolean;
25284
- }
25285
- }
25286
-
25287
-
25288
25293
  declare module 'three/examples/jsm/controls/OrbitControls.js' {
25289
25294
  interface OrbitControls {
25290
25295
  _sphericalDelta: import("three").Spherical;