@needle-tools/engine 5.1.0-alpha.5 → 5.1.0-alpha.6

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 (54) hide show
  1. package/CHANGELOG.md +10 -0
  2. package/dist/{needle-engine.bundle-OPkPmdUM.umd.cjs → needle-engine.bundle-5avtTUMM.umd.cjs} +146 -145
  3. package/dist/{needle-engine.bundle-D7tzaiYE.min.js → needle-engine.bundle-BHcw4C8f.min.js} +175 -174
  4. package/dist/{needle-engine.bundle-C-LG00ZZ.js → needle-engine.bundle-C0gPOq4m.js} +6332 -6201
  5. package/dist/needle-engine.d.ts +91 -29
  6. package/dist/needle-engine.js +329 -329
  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_context.js +7 -0
  13. package/lib/engine/engine_context.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 +185 -57
  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/webcomponents/needle menu/needle-menu-spatial.js +2 -2
  24. package/lib/engine/webcomponents/needle menu/needle-menu-spatial.js.map +1 -1
  25. package/lib/engine/webcomponents/needle menu/needle-menu.js +5 -5
  26. package/lib/engine/webcomponents/needle menu/needle-menu.js.map +1 -1
  27. package/lib/engine/webcomponents/needle-engine.js +2 -2
  28. package/lib/engine/webcomponents/needle-engine.js.map +1 -1
  29. package/lib/engine/webcomponents/needle-engine.loading.js +2 -2
  30. package/lib/engine/webcomponents/needle-engine.loading.js.map +1 -1
  31. package/lib/engine/xr/TempXRContext.js +2 -2
  32. package/lib/engine/xr/TempXRContext.js.map +1 -1
  33. package/lib/engine-components/export/usdz/USDZExporter.js +4 -4
  34. package/lib/engine-components/export/usdz/USDZExporter.js.map +1 -1
  35. package/lib/engine-components/webxr/WebXRImageTracking.d.ts +62 -1
  36. package/lib/engine-components/webxr/WebXRImageTracking.js +55 -2
  37. package/lib/engine-components/webxr/WebXRImageTracking.js.map +1 -1
  38. package/package.json +1 -1
  39. package/plugins/common/license.js +26 -8
  40. package/plugins/vite/license.js +29 -12
  41. package/src/engine/api.ts +1 -1
  42. package/src/engine/engine_context.ts +11 -1
  43. package/src/engine/engine_init.ts +2 -2
  44. package/src/engine/engine_license.ts +201 -55
  45. package/src/engine/engine_networking_blob.ts +3 -3
  46. package/src/engine/engine_utils_qrcode.ts +2 -2
  47. package/src/engine/webcomponents/needle menu/needle-menu-spatial.ts +2 -2
  48. package/src/engine/webcomponents/needle menu/needle-menu.ts +5 -5
  49. package/src/engine/webcomponents/needle-engine.loading.ts +6 -6
  50. package/src/engine/webcomponents/needle-engine.ts +2 -2
  51. package/src/engine/xr/TempXRContext.ts +2 -2
  52. package/src/engine-components/export/usdz/USDZExporter.ts +4 -4
  53. package/src/engine-components/webxr/WebXRImageTracking.ts +77 -7
  54. package/src/vite-env.d.ts +0 -16
@@ -124,6 +124,8 @@ export declare class __Ignore {
124
124
 
125
125
  export declare function __internalNotifyObjectDestroyed(obj: Object3D): void;
126
126
 
127
+ /* Excluded from this release type: __otwqOR */
128
+
127
129
  /** Data describing the accessible semantics for a 3D object or component. */
128
130
  declare type AccessibilityData = {
129
131
  /** ARIA role (e.g. `"button"`, `"img"`, `"region"`). */
@@ -5420,6 +5422,8 @@ export declare class CustomShader extends RawShaderMaterial {
5420
5422
  onUpdateUniforms(camera?: Camera_2, obj?: any): void;
5421
5423
  }
5422
5424
 
5425
+ /* Excluded from this release type: _cxKhKwDL */
5426
+
5423
5427
  export declare const debugNet: boolean;
5424
5428
 
5425
5429
  export declare const debugOwner: boolean;
@@ -8147,14 +8151,8 @@ export declare type GuidsMap = {
8147
8151
  [key: string]: string;
8148
8152
  };
8149
8153
 
8150
- /* Excluded from this release type: hasCommercialLicense */
8151
-
8152
- /* Excluded from this release type: hasIndieLicense */
8153
-
8154
8154
  /* Excluded from this release type: hasPointerEventComponent */
8155
8155
 
8156
- /* Excluded from this release type: hasProLicense */
8157
-
8158
8156
  export declare function hideDebugConsole(): void;
8159
8157
 
8160
8158
  export declare enum HideFlags {
@@ -10961,6 +10959,8 @@ declare class LowPassFilter {
10961
10959
  reset(value: number): void;
10962
10960
  }
10963
10961
 
10962
+ /* Excluded from this release type: LynjGsV */
10963
+
10964
10964
  declare type MagicSkyboxName = "studio" | "blurred-skybox" | "quicklook-ar" | "quicklook";
10965
10965
 
10966
10966
  export declare class MainModule {
@@ -24001,6 +24001,25 @@ export declare class OrbitControls extends Component implements ICameraControlle
24001
24001
  * @link https://github.com/immersive-web/marker-tracking/blob/main/explainer.md - WebXR Marker Tracking Specification
24002
24002
  */
24003
24003
  export declare class WebXRImageTracking extends Component {
24004
+ /**
24005
+ * Event invoked every frame when images are being tracked.
24006
+ * @example
24007
+ * ```ts
24008
+ * const tracker = this.gameObject.getComponent(WebXRImageTracking);
24009
+ * tracker?.imageTracked.addEventListener(evt => {
24010
+ * for (const img of evt.trackedImages) {
24011
+ * console.log(img.url, img.state);
24012
+ * }
24013
+ * });
24014
+ * ```
24015
+ */
24016
+ imageTracked: EventList<WebXRImageTrackingEvent>;
24017
+ /** @inheritdoc */
24018
+ addEventListener<K extends keyof WebXRImageTrackingEventMap>(type: K, listener: (evt: WebXRImageTrackingEventMap[K]) => any): void;
24019
+ addEventListener<T extends Event>(type: string, listener: (evt: T) => any): void;
24020
+ /** @inheritdoc */
24021
+ removeEventListener<K extends keyof WebXRImageTrackingEventMap>(type: K, listener: (evt: WebXRImageTrackingEventMap[K]) => any): void;
24022
+ removeEventListener<T extends Event>(type: string, listener: (evt: T) => any): void;
24004
24023
  /**
24005
24024
  * Set which marker should be primary (first in the list).
24006
24025
  * Useful when deploying to QuickLook mode where one marker is tracked at a time.
@@ -24087,6 +24106,18 @@ export declare class OrbitControls extends Component implements ICameraControlle
24087
24106
  private onImageTrackingUpdate;
24088
24107
  }
24089
24108
 
24109
+ /** Data passed to image tracking event listeners. */
24110
+ export declare interface WebXRImageTrackingEvent {
24111
+ /** The images currently being tracked this frame. */
24112
+ readonly trackedImages: readonly WebXRTrackedImage[];
24113
+ }
24114
+
24115
+ /** Event map for {@link WebXRImageTracking} events. Use with `addEventListener` for typed event handling. */
24116
+ export declare interface WebXRImageTrackingEventMap {
24117
+ /** Dispatched every frame when images are being tracked. The event detail contains the tracking data for the current frame. */
24118
+ "image-tracking": CustomEvent<WebXRImageTrackingEvent>;
24119
+ }
24120
+
24090
24121
  /**
24091
24122
  * Configuration model for a tracked image marker.
24092
24123
  * Defines which image to track, its physical size, and which 3D content to display when detected.
@@ -24285,8 +24316,39 @@ export declare class OrbitControls extends Component implements ICameraControlle
24285
24316
  get widthInMeters(): number;
24286
24317
  /** The ImageBitmap used for tracking */
24287
24318
  get bitmap(): ImageBitmap;
24288
- /** The {@link WebXRImageTrackingModel} configuration for this tracked image */
24319
+ /**
24320
+ * The {@link WebXRImageTrackingModel} configuration for this tracked image.
24321
+ * Use this to access the assigned 3D object, marker settings, and other image tracking configuration.
24322
+ * Available on each {@link WebXRTrackedImage} received from the `image-tracking` {@link CustomEvent} (`event.detail`).
24323
+ * @example
24324
+ * ```ts
24325
+ * tracker.addEventListener("image-tracking", event => {
24326
+ * for (const img of event.detail.trackedImages) {
24327
+ * const model = img.model;
24328
+ * // Access the assigned 3D object
24329
+ * const obj = model.object;
24330
+ * // Access other settings
24331
+ * console.log(model.widthInMeters, model.hideWhenTrackingIsLost);
24332
+ * }
24333
+ * });
24334
+ * ```
24335
+ */
24289
24336
  get model(): WebXRImageTrackingModel;
24337
+ /**
24338
+ * The 3D object or prefab assigned to this tracked image marker in the {@link WebXRImageTrackingModel}.
24339
+ * Use this to access the object associated with an AR image tracking marker from the `image-tracking` {@link CustomEvent}.
24340
+ * Shorthand for `this.model.object`.
24341
+ * @example
24342
+ * ```ts
24343
+ * tracker.addEventListener("image-tracking", event => {
24344
+ * for (const img of event.detail.trackedImages) {
24345
+ * const obj = img.trackedModel;
24346
+ * // verbose alternative: img.model.object
24347
+ * }
24348
+ * });
24349
+ * ```
24350
+ */
24351
+ get trackedModel(): AssetReference | undefined;
24290
24352
  /**
24291
24353
  * The measured size of the detected image in the real world.
24292
24354
  * May differ from `widthInMeters` if the physical marker doesn't match the configured size.
@@ -24650,6 +24712,28 @@ export declare class OrbitControls extends Component implements ICameraControlle
24650
24712
  export { }
24651
24713
 
24652
24714
 
24715
+ declare module 'three' {
24716
+ interface SkinnedMesh {
24717
+ staticGenerator?: StaticGeometryGenerator;
24718
+ staticGeometry?: BufferGeometry;
24719
+ staticGeometryLastUpdate?: number;
24720
+ }
24721
+ interface Mesh {
24722
+ acceleratedRaycast?: any;
24723
+ }
24724
+ interface SkinnedMesh {
24725
+ /** @deprecated use autoUpdateMeshBvhInterval */
24726
+ autoUpdateMeshBVH?: boolean;
24727
+ /**
24728
+ * Interval in milliseconds to automatically update the mesh BVH. When set to >= 0 the BVH will be updated every x milliseconds.
24729
+ * @default undefined (disabled)
24730
+ */
24731
+ autoUpdateMeshBvhInterval?: number;
24732
+ bvhNeedsUpdate?: boolean;
24733
+ }
24734
+ }
24735
+
24736
+
24653
24737
  declare module 'three' {
24654
24738
  interface Object3D {
24655
24739
  get guid(): string | undefined;
@@ -24795,25 +24879,3 @@ declare module 'three' {
24795
24879
  slerp(end: Vector3, t: number): Vector3;
24796
24880
  }
24797
24881
  }
24798
-
24799
-
24800
- declare module 'three' {
24801
- interface SkinnedMesh {
24802
- staticGenerator?: StaticGeometryGenerator;
24803
- staticGeometry?: BufferGeometry;
24804
- staticGeometryLastUpdate?: number;
24805
- }
24806
- interface Mesh {
24807
- acceleratedRaycast?: any;
24808
- }
24809
- interface SkinnedMesh {
24810
- /** @deprecated use autoUpdateMeshBvhInterval */
24811
- autoUpdateMeshBVH?: boolean;
24812
- /**
24813
- * Interval in milliseconds to automatically update the mesh BVH. When set to >= 0 the BVH will be updated every x milliseconds.
24814
- * @default undefined (disabled)
24815
- */
24816
- autoUpdateMeshBvhInterval?: number;
24817
- bvhNeedsUpdate?: boolean;
24818
- }
24819
- }