@needle-tools/engine 5.1.8 → 5.1.10

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 (108) hide show
  1. package/CHANGELOG.md +16 -0
  2. package/SKILL.md +62 -4
  3. package/components.needle.json +1 -1
  4. package/dist/{needle-engine.bundle-CaD5rOJ0.js → needle-engine.bundle-DP--RGAU.js} +6126 -5969
  5. package/dist/{needle-engine.bundle-X7Y4A-EO.min.js → needle-engine.bundle-DZD-GG7l.min.js} +144 -143
  6. package/dist/{needle-engine.bundle-D8gP8Nd0.umd.cjs → needle-engine.bundle-Dv5TidOk.umd.cjs} +141 -140
  7. package/dist/needle-engine.d.ts +133 -36
  8. package/dist/needle-engine.js +617 -613
  9. package/dist/needle-engine.min.js +1 -1
  10. package/dist/needle-engine.umd.cjs +1 -1
  11. package/dist/three-examples.js +727 -781
  12. package/dist/three-examples.min.js +12 -12
  13. package/dist/three-examples.umd.cjs +9 -9
  14. package/lib/engine/api.d.ts +1 -1
  15. package/lib/engine/api.js +1 -1
  16. package/lib/engine/api.js.map +1 -1
  17. package/lib/engine/engine_init.js +2 -2
  18. package/lib/engine/engine_init.js.map +1 -1
  19. package/lib/engine/engine_license.d.ts +7 -7
  20. package/lib/engine/engine_license.js +71 -71
  21. package/lib/engine/engine_license.js.map +1 -1
  22. package/lib/engine/engine_materialpropertyblock.d.ts +13 -4
  23. package/lib/engine/engine_materialpropertyblock.js +16 -5
  24. package/lib/engine/engine_materialpropertyblock.js.map +1 -1
  25. package/lib/engine/engine_networking_blob.js +3 -3
  26. package/lib/engine/engine_networking_blob.js.map +1 -1
  27. package/lib/engine/engine_utils_qrcode.js +2 -2
  28. package/lib/engine/engine_utils_qrcode.js.map +1 -1
  29. package/lib/engine/postprocessing/postprocessing.d.ts +18 -0
  30. package/lib/engine/postprocessing/postprocessing.js +31 -2
  31. package/lib/engine/postprocessing/postprocessing.js.map +1 -1
  32. package/lib/engine/webcomponents/needle menu/needle-menu-spatial.js +2 -2
  33. package/lib/engine/webcomponents/needle menu/needle-menu-spatial.js.map +1 -1
  34. package/lib/engine/webcomponents/needle menu/needle-menu.js +5 -5
  35. package/lib/engine/webcomponents/needle menu/needle-menu.js.map +1 -1
  36. package/lib/engine/webcomponents/needle-engine.ar-overlay.js +11 -0
  37. package/lib/engine/webcomponents/needle-engine.ar-overlay.js.map +1 -1
  38. package/lib/engine/webcomponents/needle-engine.js +2 -2
  39. package/lib/engine/webcomponents/needle-engine.js.map +1 -1
  40. package/lib/engine/webcomponents/needle-engine.loading.js +2 -2
  41. package/lib/engine/webcomponents/needle-engine.loading.js.map +1 -1
  42. package/lib/engine/xr/NeedleXRSession.d.ts +7 -2
  43. package/lib/engine/xr/NeedleXRSession.js +65 -5
  44. package/lib/engine/xr/NeedleXRSession.js.map +1 -1
  45. package/lib/engine/xr/TempXRContext.js +2 -2
  46. package/lib/engine/xr/TempXRContext.js.map +1 -1
  47. package/lib/engine/xr/XRHandMeshModel.d.ts +31 -0
  48. package/lib/engine/xr/XRHandMeshModel.js +153 -0
  49. package/lib/engine/xr/XRHandMeshModel.js.map +1 -0
  50. package/lib/engine-components/Component.d.ts +2 -1
  51. package/lib/engine-components/Component.js.map +1 -1
  52. package/lib/engine-components/ReflectionProbe.js +3 -3
  53. package/lib/engine-components/ReflectionProbe.js.map +1 -1
  54. package/lib/engine-components/RendererLightmap.js +1 -1
  55. package/lib/engine-components/RendererLightmap.js.map +1 -1
  56. package/lib/engine-components/SyncedRoom.js +5 -0
  57. package/lib/engine-components/SyncedRoom.js.map +1 -1
  58. package/lib/engine-components/export/usdz/USDZExporter.js +4 -4
  59. package/lib/engine-components/export/usdz/USDZExporter.js.map +1 -1
  60. package/lib/engine-components/postprocessing/Effects/DepthOfField.js +10 -2
  61. package/lib/engine-components/postprocessing/Effects/DepthOfField.js.map +1 -1
  62. package/lib/engine-components/postprocessing/index.d.ts +4 -0
  63. package/lib/engine-components/postprocessing/index.js +7 -0
  64. package/lib/engine-components/postprocessing/index.js.map +1 -1
  65. package/lib/engine-components/utils/LookAt.d.ts +13 -4
  66. package/lib/engine-components/utils/LookAt.js +13 -4
  67. package/lib/engine-components/utils/LookAt.js.map +1 -1
  68. package/lib/engine-components/webxr/WebXR.js +1 -1
  69. package/lib/engine-components/webxr/WebXR.js.map +1 -1
  70. package/lib/engine-components/webxr/WebXRImageTracking.d.ts +35 -18
  71. package/lib/engine-components/webxr/WebXRImageTracking.js +93 -78
  72. package/lib/engine-components/webxr/WebXRImageTracking.js.map +1 -1
  73. package/lib/engine-components/webxr/WebXRImageTracking.utils.d.ts +35 -0
  74. package/lib/engine-components/webxr/WebXRImageTracking.utils.js +96 -0
  75. package/lib/engine-components/webxr/WebXRImageTracking.utils.js.map +1 -0
  76. package/lib/engine-components/webxr/controllers/XRControllerModel.d.ts +1 -1
  77. package/lib/engine-components/webxr/controllers/XRControllerModel.js +12 -7
  78. package/lib/engine-components/webxr/controllers/XRControllerModel.js.map +1 -1
  79. package/package.json +2 -2
  80. package/plugins/common/license.js +4 -4
  81. package/plugins/vite/license.js +4 -4
  82. package/src/engine/api.ts +1 -1
  83. package/src/engine/engine_init.ts +2 -2
  84. package/src/engine/engine_license.ts +68 -68
  85. package/src/engine/engine_materialpropertyblock.ts +17 -5
  86. package/src/engine/engine_networking_blob.ts +3 -3
  87. package/src/engine/engine_utils_qrcode.ts +2 -2
  88. package/src/engine/postprocessing/postprocessing.ts +32 -2
  89. package/src/engine/webcomponents/needle menu/needle-menu-spatial.ts +2 -2
  90. package/src/engine/webcomponents/needle menu/needle-menu.ts +5 -5
  91. package/src/engine/webcomponents/needle-engine.ar-overlay.ts +13 -0
  92. package/src/engine/webcomponents/needle-engine.loading.ts +6 -6
  93. package/src/engine/webcomponents/needle-engine.ts +2 -2
  94. package/src/engine/xr/NeedleXRSession.ts +68 -8
  95. package/src/engine/xr/TempXRContext.ts +2 -2
  96. package/src/engine/xr/XRHandMeshModel.ts +179 -0
  97. package/src/engine-components/Component.ts +2 -1
  98. package/src/engine-components/ReflectionProbe.ts +3 -3
  99. package/src/engine-components/RendererLightmap.ts +1 -1
  100. package/src/engine-components/SyncedRoom.ts +5 -0
  101. package/src/engine-components/export/usdz/USDZExporter.ts +4 -4
  102. package/src/engine-components/postprocessing/Effects/DepthOfField.ts +10 -2
  103. package/src/engine-components/postprocessing/index.ts +7 -0
  104. package/src/engine-components/utils/LookAt.ts +13 -4
  105. package/src/engine-components/webxr/WebXR.ts +1 -1
  106. package/src/engine-components/webxr/WebXRImageTracking.ts +120 -66
  107. package/src/engine-components/webxr/WebXRImageTracking.utils.ts +105 -0
  108. package/src/engine-components/webxr/controllers/XRControllerModel.ts +13 -7
@@ -1 +1 @@
1
- {"version":3,"file":"WebXR.js","sourceRoot":"","sources":["../../../src/engine-components/webxr/WebXR.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"WebXR.js","sourceRoot":"","sources":["../../../src/engine-components/webxr/WebXR.ts"],"names":[],"mappings":"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"}
@@ -129,14 +129,7 @@ export declare class WebXRImageTrackingModel {
129
129
  * @param params.imageDoesNotMove Enable for static markers (floor/wall mounted) to improve tracking stability
130
130
  * @param params.hideWhenTrackingIsLost If true, hides the object when tracking is lost; if false, leaves it at the last known position
131
131
  */
132
- constructor(params: {
133
- url: string;
134
- widthInMeters: number; /** Object to track */
135
- object: AssetReference | Object3D;
136
- createObjectInstance?: boolean;
137
- imageDoesNotMove?: boolean;
138
- hideWhenTrackingIsLost?: boolean;
139
- });
132
+ constructor(params: Omit<WebXRImageTrackingOptions, "asPrimary">);
140
133
  /**
141
134
  * URL to the marker image to track.
142
135
  * **Important:** Use images with high contrast and unique features to improve tracking quality.
@@ -210,6 +203,26 @@ export declare class WebXRImageTrackingModel {
210
203
  */
211
204
  getNameFromUrl(): string | null;
212
205
  }
206
+ /**
207
+ * Options for adding a trackable image marker via {@link WebXRImageTracking.addImage}.
208
+ * A convenience shape that also accepts a plain {@link Object3D} for `object`.
209
+ */
210
+ export interface WebXRImageTrackingOptions {
211
+ /** URL to the marker image to track. Use high-contrast images with unique features for reliable tracking. */
212
+ url?: string;
213
+ /** The 3D object (or {@link AssetReference}) to display when the marker is detected. */
214
+ object: AssetReference | Object3D;
215
+ /** Physical width of the printed marker in meters. Must match the real marker size. @default 0.25 */
216
+ widthInMeters?: number;
217
+ /** Create a new instance of the object for each detection. @default false */
218
+ createObjectInstance?: boolean;
219
+ /** Enable for static markers (walls/floor) to improve tracking stability. @default false */
220
+ imageDoesNotMove?: boolean;
221
+ /** Hide the object when tracking is lost. @default true */
222
+ hideWhenTrackingIsLost?: boolean;
223
+ /** Make this the primary marker (used in QuickLook fallback mode). @default false */
224
+ asPrimary?: boolean;
225
+ }
213
226
  /** Data passed to image tracking event listeners. */
214
227
  export interface WebXRImageTrackingEvent {
215
228
  /** The images currently being tracked this frame. */
@@ -363,22 +376,22 @@ export declare class WebXRImageTracking extends Behaviour {
363
376
  * **Tip:** Add all your markers upfront. In WebXR mode they all work simultaneously.
364
377
  * In QuickLook mode, the first (primary) marker is used.
365
378
  *
366
- * @param image The marker configuration to add
367
- * @param asPrimary Set to true to make this the primary marker (for QuickLook fallback)
379
+ * @param image The marker configuration - either a plain options object or a {@link WebXRImageTrackingModel}.
380
+ * Set `asPrimary: true` to make this the primary marker (for QuickLook fallback).
368
381
  *
369
382
  * @example
370
383
  * ```ts
371
- * // Super simple - works across all platforms
372
- * const marker = new WebXRImageTrackingModel({
384
+ * // Super simple - just pass the marker url and the object to show
385
+ * imageTracking.addImage({
373
386
  * url: "https://mysite.com/poster.png",
374
- * widthInMeters: 0.42, // A3 poster width
375
- * object: cool3DModel
387
+ * object: cool3DModel,
388
+ * widthInMeters: 0.42, // A3 poster width (optional, defaults to 0.25)
376
389
  * });
377
- * imageTracking.addImage(marker);
378
390
  * // That's it! Needle does the rest.
379
391
  * ```
380
392
  */
381
- addImage(image: WebXRImageTrackingModel, asPrimary?: boolean): void;
393
+ addImage(options: WebXRImageTrackingOptions): void;
394
+ addImage(model: WebXRImageTrackingModel): void;
382
395
  /**
383
396
  * Your list of markers to track. Add as many as you need!
384
397
  *
@@ -417,13 +430,17 @@ export declare class WebXRImageTracking extends Behaviour {
417
430
  onEnable(): void;
418
431
  /** @internal */
419
432
  onDisable(): void;
433
+ private onInvalidImageSizeDetected;
420
434
  private onBeforeUSDZExport;
421
435
  /** @internal */
422
436
  onBeforeXR(_mode: XRSessionMode, args: XRSessionInit & {
423
437
  trackedImages: Array<any>;
424
- }): void;
438
+ }): Promise<void>;
425
439
  /** @internal */
426
- onEnterXR(_args: NeedleXREventArgs): void;
440
+ onEnterXR(args: NeedleXREventArgs): void;
441
+ /** Late-registers this component's marker images into an already running session
442
+ * via the NeedleGo polyfill's runtime hook. See {@link onEnterXR}. */
443
+ private registerImagesWithRunningSession;
427
444
  /** @internal */
428
445
  onLeaveXR(_args: NeedleXREventArgs): void;
429
446
  private readonly imageToObjectMap;
@@ -7,6 +7,7 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
7
7
  import { Matrix4, Object3D, Quaternion, Vector3 } from "three";
8
8
  import { isDevEnvironment, showBalloonMessage, showBalloonWarning } from "../../engine/debug/index.js";
9
9
  import { AssetReference } from "../../engine/engine_addressables.js";
10
+ import { Telemetry } from "../../engine/engine_license.js";
10
11
  import { serializable } from "../../engine/engine_serialization.js";
11
12
  import { CircularBuffer, DeviceUtilities, getParam } from "../../engine/engine_utils.js";
12
13
  import { NeedleXRSession } from "../../engine/xr/api.js";
@@ -15,6 +16,7 @@ import { USDZExporter } from "../../engine-components/export/usdz/USDZExporter.j
15
16
  import { Behaviour, GameObject } from "../Component.js";
16
17
  import { EventList } from "../EventList.js";
17
18
  import { Renderer } from "../Renderer.js";
19
+ import { _imageElements, collectTrackedImages, loadImage } from "./WebXRImageTracking.utils.js";
18
20
  // https://github.com/immersive-web/marker-tracking/blob/main/explainer.md
19
21
  const debug = getParam("debugimagetracking");
20
22
  // #region WebXRTrackedImage
@@ -189,7 +191,8 @@ export class WebXRImageTrackingModel {
189
191
  */
190
192
  constructor(params) {
191
193
  this.image = params.url;
192
- this.widthInMeters = params.widthInMeters;
194
+ if (params.widthInMeters !== undefined)
195
+ this.widthInMeters = params.widthInMeters;
193
196
  if (params.object instanceof Object3D) {
194
197
  this.object = new AssetReference({ asset: params.object });
195
198
  }
@@ -549,35 +552,22 @@ export class WebXRImageTracking extends Behaviour {
549
552
  else
550
553
  console.warn(`[WebXRImageTracking] Can not set primary: image not found in 'trackedImages' array ${image.image}`);
551
554
  }
552
- /**
553
- * Add a marker to track - it's that simple!
554
- * Needle Engine handles all the platform differences automatically.
555
- *
556
- * **Tip:** Add all your markers upfront. In WebXR mode they all work simultaneously.
557
- * In QuickLook mode, the first (primary) marker is used.
558
- *
559
- * @param image The marker configuration to add
560
- * @param asPrimary Set to true to make this the primary marker (for QuickLook fallback)
561
- *
562
- * @example
563
- * ```ts
564
- * // Super simple - works across all platforms
565
- * const marker = new WebXRImageTrackingModel({
566
- * url: "https://mysite.com/poster.png",
567
- * widthInMeters: 0.42, // A3 poster width
568
- * object: cool3DModel
569
- * });
570
- * imageTracking.addImage(marker);
571
- * // That's it! Needle does the rest.
572
- * ```
573
- */
574
- addImage(image, asPrimary = false) {
575
- if (!this.trackedImages.includes(image)) {
576
- this.trackedImages.push(image);
577
- loadImage(image.image);
555
+ addImage(image) {
556
+ // Accept either a ready-made model or a plain options object (which allows `object` to be a
557
+ // plain Object3D). Normalize to a WebXRImageTrackingModel; the constructor wraps Object3D in
558
+ // an AssetReference for us.
559
+ const model = image instanceof WebXRImageTrackingModel ? image : new WebXRImageTrackingModel(image);
560
+ if (!this.trackedImages.includes(model)) {
561
+ this.trackedImages.push(model);
562
+ loadImage(model.image);
563
+ if (isDevEnvironment()) {
564
+ if (model.widthInMeters <= 0) {
565
+ this.onInvalidImageSizeDetected(model.image);
566
+ }
567
+ }
578
568
  }
579
- if (asPrimary)
580
- this.setPrimaryImage(image);
569
+ if (!(image instanceof WebXRImageTrackingModel) && image.asPrimary)
570
+ this.setPrimaryImage(model);
581
571
  }
582
572
  /**
583
573
  * Your list of markers to track. Add as many as you need!
@@ -620,6 +610,9 @@ export class WebXRImageTracking extends Behaviour {
620
610
  for (const trackedImage of this.trackedImages) {
621
611
  if (trackedImage.image) {
622
612
  loadImage(trackedImage.image);
613
+ if (isDevEnvironment() && trackedImage.widthInMeters <= 0) {
614
+ this.onInvalidImageSizeDetected(trackedImage.image);
615
+ }
623
616
  }
624
617
  }
625
618
  }
@@ -631,36 +624,43 @@ export class WebXRImageTracking extends Behaviour {
631
624
  onDisable() {
632
625
  USDZExporter.beforeExport.removeEventListener(this.onBeforeUSDZExport);
633
626
  }
627
+ onInvalidImageSizeDetected(url) {
628
+ if (globalThis["__NEEDLE_DEBUG_WebARImageSizeInvalid__"])
629
+ return;
630
+ globalThis["__NEEDLE_DEBUG_WebARImageSizeInvalid__"] = true;
631
+ console.warn(`[WebXRImageTracking] Invalid marker size detected for image ${url}. Ensure 'widthInMeters' is greater than 0 for accurate tracking.`);
632
+ if (isDevEnvironment()) {
633
+ showBalloonWarning(`[WebXRImageTracking] Invalid marker size detected for image ${url}. Ensure 'widthInMeters' is greater than 0 for accurate tracking.`);
634
+ }
635
+ }
634
636
  onBeforeUSDZExport = (args) => {
635
637
  if (this.activeAndEnabled && this.trackedImages?.length) {
636
638
  args.exporter.extensions.push(new ImageTrackingExtension(args.exporter, this));
637
639
  }
638
640
  };
639
641
  /** @internal */
640
- onBeforeXR(_mode, args) {
641
- // console.log("onXRRequested", args, this.trackedImages)
642
- if (this.trackedImages) {
643
- args.optionalFeatures = args.optionalFeatures || [];
644
- if (!args.optionalFeatures.includes("image-tracking"))
645
- args.optionalFeatures.push("image-tracking");
646
- if (!args.trackedImages)
647
- args.trackedImages = [];
648
- for (const trackedImage of this.trackedImages) {
649
- if (trackedImage.image?.length && trackedImage.widthInMeters > 0) {
650
- const bitmap = _imageElements.get(trackedImage.image);
651
- if (bitmap) {
652
- this.trackedImageIndexMap.set(args.trackedImages.length, trackedImage);
653
- args.trackedImages.push({
654
- image: bitmap,
655
- widthInMeters: trackedImage.widthInMeters
656
- });
657
- }
658
- }
659
- }
642
+ async onBeforeXR(_mode, args) {
643
+ if (!this.trackedImages)
644
+ return;
645
+ args.optionalFeatures = args.optionalFeatures || [];
646
+ if (!args.optionalFeatures.includes("image-tracking"))
647
+ args.optionalFeatures.push("image-tracking");
648
+ // Resolve the marker bitmaps *before* the session is requested.
649
+ // onBeforeXR runs the moment "Enter AR" is tapped. Marker images load asynchronously
650
+ // (network fetch + createImageBitmap), so without awaiting here a marker that hasn't finished
651
+ // decoding yet would be silently dropped from `trackedImages` and never registered with the
652
+ // native/WebXR session - it would then only start working after exiting and re-entering AR,
653
+ // once the bitmap has been cached. Awaiting the (idempotent) loads closes that race.
654
+ // A marker that can not be loaded resolves to null and is skipped individually, so a single
655
+ // unavailable image never rejects the whole XR session request. See forum topic #2859.
656
+ this.trackedImageIndexMap.clear();
657
+ const indexMap = await collectTrackedImages(this.trackedImages, args);
658
+ for (const [index, model] of indexMap) {
659
+ this.trackedImageIndexMap.set(index, model);
660
660
  }
661
661
  }
662
662
  /** @internal */
663
- onEnterXR(_args) {
663
+ onEnterXR(args) {
664
664
  if (this.trackedImages) {
665
665
  for (const trackedImage of this.trackedImages) {
666
666
  if (trackedImage.object?.asset) {
@@ -681,10 +681,53 @@ export class WebXRImageTracking extends Behaviour {
681
681
  for (const trackedData of this.imageToObjectMap.values()) {
682
682
  trackedData.frames = 0;
683
683
  }
684
+ // A session GRANTED before the scene finished loading (App Clip / NeedleGo
685
+ // handoff, Quest link traversal) was requested without this component's
686
+ // markers — onBeforeXR never contributed to its init, and the WebXR spec has
687
+ // no way to add tracked images to a running session. The NeedleGo polyfill
688
+ // CAN (ARKit re-runs its configuration with new detection images), so
689
+ // register late where supported and surface the misconfiguration otherwise.
690
+ if (this.trackedImages?.length && this.trackedImageIndexMap.size === 0) {
691
+ if (isDevEnvironment() || debug)
692
+ console.debug(`[WebXRImageTracking] No marker images made it into the session init (granted session?) — attempting runtime registration for ${this.trackedImages.length} image(s)`);
693
+ this.registerImagesWithRunningSession(args.xr.session);
694
+ }
695
+ else if (this.trackedImages?.length && (isDevEnvironment() || debug)) {
696
+ console.debug(`[WebXRImageTracking] ${this.trackedImageIndexMap.size} marker image(s) registered via the session init`);
697
+ }
684
698
  }
685
699
  ;
700
+ /** Late-registers this component's marker images into an already running session
701
+ * via the NeedleGo polyfill's runtime hook. See {@link onEnterXR}. */
702
+ async registerImagesWithRunningSession(session) {
703
+ const register = session.nonStandard_registerTrackedImages;
704
+ if (typeof register !== "function") {
705
+ console.warn("[WebXRImageTracking] The XR session was started before the scene finished loading and does not support registering marker images at runtime — image tracking will not work in this session. Exit and re-enter AR from the loaded page.");
706
+ Telemetry.sendEvent(this.context, "xr", { action: "image_tracking_missed_session_init" });
707
+ return;
708
+ }
709
+ const args = {};
710
+ const indexMap = await collectTrackedImages(this.trackedImages, args);
711
+ if (!args.trackedImages?.length)
712
+ return;
713
+ // the session may have ended (or been replaced) while marker bitmaps loaded
714
+ if (this.context.xr?.session !== session)
715
+ return;
716
+ const baseIndex = register.call(session, args.trackedImages);
717
+ if (baseIndex < 0)
718
+ return;
719
+ for (const [index, model] of indexMap) {
720
+ this.trackedImageIndexMap.set(baseIndex + index, model);
721
+ }
722
+ if (isDevEnvironment() || debug)
723
+ console.debug(`[WebXRImageTracking] Registered ${args.trackedImages.length} marker image(s) with the running session (granted before the scene loaded)`);
724
+ }
686
725
  /** @internal */
687
726
  onLeaveXR(_args) {
727
+ // result indices are scoped to the session that registered the images — a new
728
+ // session rebuilds the map (onBeforeXR, or the late registration in onEnterXR
729
+ // for granted sessions, which detects the empty map)
730
+ this.trackedImageIndexMap.clear();
688
731
  if (!this.supported && DeviceUtilities.isAndroidDevice()) {
689
732
  showBalloonWarning(this.webXRIncubationsWarning);
690
733
  }
@@ -863,32 +906,4 @@ __decorate([
863
906
  __decorate([
864
907
  serializable()
865
908
  ], WebXRImageTracking.prototype, "smooth", void 0);
866
- const _imageElements = new Map();
867
- const _imageLoadingPromises = new Map();
868
- async function loadImage(url) {
869
- if (_imageElements.has(url)) {
870
- if (_imageLoadingPromises.has(url))
871
- return _imageLoadingPromises.get(url);
872
- return Promise.resolve(true);
873
- }
874
- const promise = new Promise(res => {
875
- _imageElements.set(url, null);
876
- if (isDevEnvironment() || debug)
877
- console.debug(`[WebXRImageTracking] Start loading image for tracking: ${url}`);
878
- const imageElement = document.createElement("img");
879
- imageElement.src = url;
880
- imageElement.addEventListener("load", async () => {
881
- if (isDevEnvironment() || debug)
882
- console.debug(`[WebXRImageTracking] Loaded image for tracking: ${url}`);
883
- const img = await createImageBitmap(imageElement);
884
- _imageElements.set(url, img);
885
- res(true);
886
- });
887
- });
888
- _imageLoadingPromises.set(url, promise);
889
- promise.finally(() => {
890
- _imageLoadingPromises.delete(url);
891
- });
892
- return promise;
893
- }
894
909
  //# sourceMappingURL=WebXRImageTracking.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"WebXRImageTracking.js","sourceRoot":"","sources":["../../../src/engine-components/webxr/WebXRImageTracking.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"WebXRImageTracking.js","sourceRoot":"","sources":["../../../src/engine-components/webxr/WebXRImageTracking.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,35 @@
1
+ import type { WebXRImageTrackingModel } from "./WebXRImageTracking.js";
2
+ /**
3
+ * Cache of decoded marker bitmaps, keyed by image url.
4
+ * Also read by the USDZ exporter (see {@link WebXRImageTracking}) to embed the marker into the .usdz.
5
+ */
6
+ export declare const _imageElements: Map<string, ImageBitmap | null>;
7
+ /**
8
+ * Resolve marker bitmaps for the given tracked-image models and append them to `args.trackedImages`
9
+ * (the list handed to `navigator.xr.requestSession`).
10
+ *
11
+ * Every valid marker is awaited so that images which are still decoding when the XR session is
12
+ * requested get included instead of being silently dropped (which previously caused markers to only
13
+ * work after re-entering AR). Loading happens in parallel and never rejects: a marker that can not be
14
+ * loaded is skipped individually so a single unavailable image can not fail the whole session request.
15
+ *
16
+ * @param models The configured tracked-image models
17
+ * @param args The session init object; `trackedImages` is created if missing and appended to
18
+ * @param load Injectable loader (defaults to {@link loadImage}); resolves the decoded bitmap or null
19
+ * @returns Map of `trackedImages` index -> model for the appended images (used to resolve results)
20
+ */
21
+ export declare function collectTrackedImages(models: readonly WebXRImageTrackingModel[] | undefined | null, args: {
22
+ trackedImages?: Array<{
23
+ image: ImageBitmap;
24
+ widthInMeters: number;
25
+ }>;
26
+ }, load?: (url: string) => Promise<ImageBitmap | null>): Promise<Map<number, WebXRImageTrackingModel>>;
27
+ /**
28
+ * Load and decode a marker image into an {@link ImageBitmap}, caching it in {@link _imageElements}.
29
+ * Idempotent: concurrent or repeated calls for the same URL share a single in-flight load.
30
+ *
31
+ * Resolves to `null` and never rejects when the image can not be fetched or decoded, so callers can
32
+ * skip an unavailable marker without failing the surrounding XR session request. A failed load clears
33
+ * its cache entry so a later attempt (e.g. re-entering AR) can retry.
34
+ */
35
+ export declare function loadImage(url: string): Promise<ImageBitmap | null>;
@@ -0,0 +1,96 @@
1
+ import { isDevEnvironment } from "../../engine/debug/index.js";
2
+ import { getParam } from "../../engine/engine_utils.js";
3
+ // Kept in a dedicated module (with only lightweight imports) so the marker-loading logic can be unit
4
+ // tested without pulling in the heavy WebXRImageTracking / USDZ exporter import graph.
5
+ const debug = getParam("debugimagetracking");
6
+ /**
7
+ * Cache of decoded marker bitmaps, keyed by image url.
8
+ * Also read by the USDZ exporter (see {@link WebXRImageTracking}) to embed the marker into the .usdz.
9
+ */
10
+ export const _imageElements = new Map();
11
+ const _imageLoadingPromises = new Map();
12
+ /**
13
+ * Resolve marker bitmaps for the given tracked-image models and append them to `args.trackedImages`
14
+ * (the list handed to `navigator.xr.requestSession`).
15
+ *
16
+ * Every valid marker is awaited so that images which are still decoding when the XR session is
17
+ * requested get included instead of being silently dropped (which previously caused markers to only
18
+ * work after re-entering AR). Loading happens in parallel and never rejects: a marker that can not be
19
+ * loaded is skipped individually so a single unavailable image can not fail the whole session request.
20
+ *
21
+ * @param models The configured tracked-image models
22
+ * @param args The session init object; `trackedImages` is created if missing and appended to
23
+ * @param load Injectable loader (defaults to {@link loadImage}); resolves the decoded bitmap or null
24
+ * @returns Map of `trackedImages` index -> model for the appended images (used to resolve results)
25
+ */
26
+ export async function collectTrackedImages(models, args, load = loadImage) {
27
+ const indexMap = new Map();
28
+ if (!args.trackedImages)
29
+ args.trackedImages = [];
30
+ if (!models)
31
+ return indexMap;
32
+ const valid = models.filter(m => !!m.image?.length && m.widthInMeters > 0);
33
+ // Load in parallel and wait for all of them. Guard every load with a catch so that a rejecting
34
+ // loader is treated as "unavailable" (null) rather than aborting the whole session request.
35
+ const bitmaps = await Promise.all(valid.map(m => load(m.image).catch(() => null)));
36
+ for (let i = 0; i < valid.length; i++) {
37
+ const model = valid[i];
38
+ const bitmap = bitmaps[i];
39
+ if (bitmap) {
40
+ indexMap.set(args.trackedImages.length, model);
41
+ args.trackedImages.push({ image: bitmap, widthInMeters: model.widthInMeters });
42
+ }
43
+ else if (isDevEnvironment() || debug) {
44
+ console.warn(`[WebXRImageTracking] Marker image could not be loaded, skipping: ${model.image}`);
45
+ }
46
+ }
47
+ return indexMap;
48
+ }
49
+ /**
50
+ * Load and decode a marker image into an {@link ImageBitmap}, caching it in {@link _imageElements}.
51
+ * Idempotent: concurrent or repeated calls for the same URL share a single in-flight load.
52
+ *
53
+ * Resolves to `null` and never rejects when the image can not be fetched or decoded, so callers can
54
+ * skip an unavailable marker without failing the surrounding XR session request. A failed load clears
55
+ * its cache entry so a later attempt (e.g. re-entering AR) can retry.
56
+ */
57
+ export async function loadImage(url) {
58
+ const cached = _imageElements.get(url);
59
+ if (cached)
60
+ return cached;
61
+ const pending = _imageLoadingPromises.get(url);
62
+ if (pending)
63
+ return pending;
64
+ const promise = new Promise(res => {
65
+ _imageElements.set(url, null); // placeholder to dedupe concurrent loads
66
+ if (isDevEnvironment() || debug)
67
+ console.debug(`[WebXRImageTracking] Start loading image for tracking: ${url}`);
68
+ const imageElement = document.createElement("img");
69
+ imageElement.addEventListener("load", async () => {
70
+ try {
71
+ const img = await createImageBitmap(imageElement);
72
+ _imageElements.set(url, img);
73
+ if (isDevEnvironment() || debug)
74
+ console.debug(`[WebXRImageTracking] Loaded image for tracking: ${url}`);
75
+ res(img);
76
+ }
77
+ catch (err) {
78
+ console.error(`[WebXRImageTracking] Failed to decode marker image for tracking: ${url}`, err);
79
+ _imageElements.delete(url); // allow a retry later (e.g. re-entering AR)
80
+ res(null);
81
+ }
82
+ });
83
+ imageElement.addEventListener("error", (evt) => {
84
+ console.error(`[WebXRImageTracking] Failed to load marker image for tracking: ${url}`, evt);
85
+ _imageElements.delete(url); // allow a retry later (e.g. re-entering AR)
86
+ res(null);
87
+ });
88
+ imageElement.src = url;
89
+ });
90
+ _imageLoadingPromises.set(url, promise);
91
+ promise.finally(() => {
92
+ _imageLoadingPromises.delete(url);
93
+ });
94
+ return promise;
95
+ }
96
+ //# sourceMappingURL=WebXRImageTracking.utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WebXRImageTracking.utils.js","sourceRoot":"","sources":["../../../src/engine-components/webxr/WebXRImageTracking.utils.ts"],"names":[],"mappings":"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"}