@needle-tools/engine 4.12.3 → 4.12.4-next.46bee95

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 (74) hide show
  1. package/CHANGELOG.md +4 -0
  2. package/components.needle.json +1 -1
  3. package/dist/{gltf-progressive-Bfpfaz84.umd.cjs → gltf-progressive-BqUnxvCx.umd.cjs} +1 -1
  4. package/dist/{gltf-progressive-hFPACYio.min.js → gltf-progressive-CSaX5HQb.min.js} +2 -2
  5. package/dist/{gltf-progressive-DPunMlEM.js → gltf-progressive-ChnIhDXx.js} +27 -27
  6. package/dist/{loader.worker-DWzfDpAl.js → loader.worker-C1GG9A7C.js} +6 -6
  7. package/dist/{needle-engine.bundle-CLPD2ttK.umd.cjs → needle-engine.bundle-CojFvJHR.umd.cjs} +291 -285
  8. package/dist/{needle-engine.bundle-B3ssYJS0.min.js → needle-engine.bundle-CvasmiEO.min.js} +288 -282
  9. package/dist/{needle-engine.bundle-u-rSDw6R.js → needle-engine.bundle-DGjkYJDl.js} +7387 -7322
  10. package/dist/needle-engine.d.ts +53 -28
  11. package/dist/needle-engine.js +4 -4
  12. package/dist/needle-engine.min.js +1 -1
  13. package/dist/needle-engine.umd.cjs +1 -1
  14. package/dist/{postprocessing-ClLv0reO.min.js → postprocessing-12-UW7je.min.js} +1 -1
  15. package/dist/{postprocessing-BHQvwehB.umd.cjs → postprocessing-B3Hu0Ryi.umd.cjs} +1 -1
  16. package/dist/{postprocessing-DLI2N3LL.js → postprocessing-R535krvT.js} +2 -2
  17. package/dist/{three-Bf2NBxAw.umd.cjs → three-BzxwLtUE.umd.cjs} +176 -176
  18. package/dist/{three-BCCkyCA5.js → three-D9pcFbxc.js} +4637 -4636
  19. package/dist/{three-W7zWTcfP.min.js → three-DMvLgxja.min.js} +176 -176
  20. package/dist/{three-examples-DB5Uoja4.min.js → three-examples-CIv2roOA.min.js} +1 -1
  21. package/dist/{three-examples-Djbk6WA4.umd.cjs → three-examples-CjSwCv_b.umd.cjs} +1 -1
  22. package/dist/{three-examples-D4rE49Ui.js → three-examples-F0MJj0vr.js} +1 -1
  23. package/dist/{three-mesh-ui-zsOOA5Pq.umd.cjs → three-mesh-ui-BLnJQzMl.umd.cjs} +1 -1
  24. package/dist/{three-mesh-ui-CIez6qJQ.min.js → three-mesh-ui-BllgajJz.min.js} +1 -1
  25. package/dist/{three-mesh-ui-3nSSizT4.js → three-mesh-ui-DYyiRn5Y.js} +1 -1
  26. package/dist/{vendor-tyBvnMF-.umd.cjs → vendor-BFgQSG2m.umd.cjs} +1 -1
  27. package/dist/{vendor-DMZcbVO1.js → vendor-BIFy-gRe.js} +1 -1
  28. package/dist/{vendor-sURMCFSI.min.js → vendor-ChgmXMYr.min.js} +1 -1
  29. package/lib/engine/debug/debug_overlay.js +13 -2
  30. package/lib/engine/debug/debug_overlay.js.map +1 -1
  31. package/lib/engine/engine_animation.d.ts +7 -0
  32. package/lib/engine/engine_animation.js +16 -0
  33. package/lib/engine/engine_animation.js.map +1 -1
  34. package/lib/engine/engine_input.js +5 -3
  35. package/lib/engine/engine_input.js.map +1 -1
  36. package/lib/engine/webcomponents/WebXRButtons.js +7 -0
  37. package/lib/engine/webcomponents/WebXRButtons.js.map +1 -1
  38. package/lib/engine/webcomponents/buttons.js +4 -0
  39. package/lib/engine/webcomponents/buttons.js.map +1 -1
  40. package/lib/engine/webcomponents/icons.js +44 -5
  41. package/lib/engine/webcomponents/icons.js.map +1 -1
  42. package/lib/engine/webcomponents/logo-element.js +0 -1
  43. package/lib/engine/webcomponents/logo-element.js.map +1 -1
  44. package/lib/engine/webcomponents/needle menu/needle-menu.d.ts +14 -2
  45. package/lib/engine/webcomponents/needle menu/needle-menu.js +195 -142
  46. package/lib/engine/webcomponents/needle menu/needle-menu.js.map +1 -1
  47. package/lib/engine/xr/NeedleXRSession.d.ts +2 -0
  48. package/lib/engine/xr/NeedleXRSession.js +19 -10
  49. package/lib/engine/xr/NeedleXRSession.js.map +1 -1
  50. package/lib/engine-components/Animation.js +2 -0
  51. package/lib/engine-components/Animation.js.map +1 -1
  52. package/lib/engine-components/AnimatorController.js +2 -0
  53. package/lib/engine-components/AnimatorController.js.map +1 -1
  54. package/lib/engine-components/Light.d.ts +17 -12
  55. package/lib/engine-components/Light.js +52 -36
  56. package/lib/engine-components/Light.js.map +1 -1
  57. package/lib/engine-components/webxr/WebXRImageTracking.js +9 -2
  58. package/lib/engine-components/webxr/WebXRImageTracking.js.map +1 -1
  59. package/package.json +3 -3
  60. package/plugins/common/license.js +3 -3
  61. package/src/engine/debug/debug_overlay.ts +15 -2
  62. package/src/engine/engine_animation.ts +19 -1
  63. package/src/engine/engine_input.ts +5 -3
  64. package/src/engine/webcomponents/WebXRButtons.ts +8 -0
  65. package/src/engine/webcomponents/buttons.ts +5 -0
  66. package/src/engine/webcomponents/icons.ts +47 -5
  67. package/src/engine/webcomponents/index.ts +1 -1
  68. package/src/engine/webcomponents/logo-element.ts +0 -1
  69. package/src/engine/webcomponents/needle menu/needle-menu.ts +211 -146
  70. package/src/engine/xr/NeedleXRSession.ts +23 -10
  71. package/src/engine-components/Animation.ts +4 -1
  72. package/src/engine-components/AnimatorController.ts +3 -0
  73. package/src/engine-components/Light.ts +50 -42
  74. package/src/engine-components/webxr/WebXRImageTracking.ts +12 -2
@@ -9,8 +9,7 @@ import { serializable } from "../engine/engine_serialization_decorator.js";
9
9
  import { FrameEvent } from "../engine/engine_setup.js";
10
10
  import { setWorldPositionXYZ } from "../engine/engine_three_utils.js";
11
11
  import { getParam } from "../engine/engine_utils.js";
12
- import { Behaviour, GameObject } from "./Component.js";
13
- import { WebARSessionRoot } from "./webxr/WebARSessionRoot.js";
12
+ import { Behaviour } from "./Component.js";
14
13
  // https://threejs.org/examples/webgl_shadowmap_csm.html
15
14
  function toDegrees(radians) {
16
15
  return radians * 180 / Math.PI;
@@ -78,20 +77,55 @@ var LightShadows;
78
77
  export class Light extends Behaviour {
79
78
  /**
80
79
  * The type of light (spot, directional, point, etc.)
80
+ * Can not be changed at runtime.
81
81
  */
82
82
  type = 0;
83
83
  /**
84
- * The maximum distance the light affects
84
+ * The maximum distance the light affects.
85
+ * Only applicable for spot and point lights.
85
86
  */
86
- range = 1;
87
+ get range() {
88
+ return this._range;
89
+ }
90
+ set range(value) {
91
+ this._range = value;
92
+ if (this.light && (this.light.type === "SpotLight" || this.light.type === "PointLight") && ("distance" in this.light)) {
93
+ this.light.distance = value;
94
+ }
95
+ }
96
+ _range = 1;
87
97
  /**
88
- * The full outer angle of the spotlight cone in degrees
98
+ * The full outer angle of the spotlight cone in degrees.
99
+ * Only applicable for spot lights.
89
100
  */
90
- spotAngle = 1;
101
+ get spotAngle() {
102
+ return this._spotAngle;
103
+ }
104
+ set spotAngle(value) {
105
+ this._spotAngle = value;
106
+ if (this.light && this.light.type === "SpotLight" && ("angle" in this.light)) {
107
+ this.light.angle = toRadians(value / 2);
108
+ }
109
+ }
110
+ _spotAngle = 30;
91
111
  /**
92
- * The angle of the inner cone in degrees for soft-edge spotlights
112
+ * The angle of the inner cone in degrees for soft-edge spotlights.
113
+ * Must be less than or equal to the outer spot angle.
114
+ * Only applicable for spot lights.
93
115
  */
94
- innerSpotAngle = 1;
116
+ get innerSpotAngle() {
117
+ return this._innerSpotAngle;
118
+ }
119
+ set innerSpotAngle(value) {
120
+ this._innerSpotAngle = value;
121
+ if (this.light && this.light.type === "SpotLight" && ("penumbra" in this.light)) {
122
+ const outerAngle = this.spotAngle;
123
+ const innerAngle = value;
124
+ const penumbra = 1 - (toRadians(innerAngle / 2) / toRadians(outerAngle / 2));
125
+ this.light.penumbra = penumbra;
126
+ }
127
+ }
128
+ _innerSpotAngle = 10;
95
129
  /**
96
130
  * The color of the light
97
131
  */
@@ -174,14 +208,7 @@ export class Light extends Behaviour {
174
208
  set intensity(val) {
175
209
  this._intensity = val;
176
210
  if (this.light) {
177
- let factor = 1;
178
- if (this.context.isInXR && this._webARRoot) {
179
- const scaleFactor = this._webARRoot?.arScale;
180
- if (typeof scaleFactor === "number" && scaleFactor > 0) {
181
- factor /= scaleFactor;
182
- }
183
- }
184
- this.light.intensity = val * factor;
211
+ this.light.intensity = val;
185
212
  }
186
213
  if (debug)
187
214
  console.log("Set light intensity to " + this._intensity, val, this);
@@ -271,9 +298,6 @@ export class Light extends Behaviour {
271
298
  }
272
299
  return vec;
273
300
  }
274
- // public updateIntensity() {
275
- // this.intensity = this._intensity;
276
- // }
277
301
  awake() {
278
302
  this.color = new Color(this.color ?? 0xffffff);
279
303
  if (debug)
@@ -309,23 +333,6 @@ export class Light extends Behaviour {
309
333
  this.light.visible = false;
310
334
  }
311
335
  }
312
- _webXRStartedListener;
313
- _webXREndedListener;
314
- _webARRoot;
315
- onEnterXR(_args) {
316
- this._webARRoot = GameObject.getComponentInParent(this.gameObject, WebARSessionRoot) ?? undefined;
317
- // this.startCoroutine(this._updateLightIntensityInARRoutine());
318
- }
319
- // private *_updateLightIntensityInARRoutine() {
320
- // while (this.context.isInAR) {
321
- // yield;
322
- // // this.updateIntensity();
323
- // for (let i = 0; i < 30; i++) yield;
324
- // }
325
- // }
326
- onLeaveXR(_args) {
327
- // this.updateIntensity();
328
- }
329
336
  /**
330
337
  * Creates the appropriate three.js light based on the configured light type
331
338
  * and applies all settings like shadows, intensity, and color.
@@ -506,6 +513,15 @@ export class Light extends Behaviour {
506
513
  __decorate([
507
514
  serializable()
508
515
  ], Light.prototype, "type", void 0);
516
+ __decorate([
517
+ serializable()
518
+ ], Light.prototype, "range", null);
519
+ __decorate([
520
+ serializable()
521
+ ], Light.prototype, "spotAngle", null);
522
+ __decorate([
523
+ serializable()
524
+ ], Light.prototype, "innerSpotAngle", null);
509
525
  __decorate([
510
526
  serializable(Color)
511
527
  ], Light.prototype, "color", null);
@@ -1 +1 @@
1
- {"version":3,"file":"Light.js","sourceRoot":"","sources":["../../src/engine-components/Light.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Light.js","sourceRoot":"","sources":["../../src/engine-components/Light.ts"],"names":[],"mappings":"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"}
@@ -5,7 +5,7 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
5
5
  return c > 3 && r && Object.defineProperty(target, key, r), r;
6
6
  };
7
7
  import { Matrix4, Object3D, Quaternion, Vector3 } from "three";
8
- import { isDevEnvironment, showBalloonWarning } from "../../engine/debug/index.js";
8
+ import { isDevEnvironment, showBalloonMessage, showBalloonWarning } from "../../engine/debug/index.js";
9
9
  import { AssetReference } from "../../engine/engine_addressables.js";
10
10
  import { serializable } from "../../engine/engine_serialization.js";
11
11
  import { CircularBuffer, DeviceUtilities, getParam } from "../../engine/engine_utils.js";
@@ -16,6 +16,7 @@ import { Behaviour, GameObject } from "../Component.js";
16
16
  import { Renderer } from "../Renderer.js";
17
17
  // https://github.com/immersive-web/marker-tracking/blob/main/explainer.md
18
18
  const debug = getParam("debugimagetracking");
19
+ // #region WebXRTrackedImage
19
20
  export class WebXRTrackedImage {
20
21
  get url() { return this._trackedImage.image ?? ""; }
21
22
  get widthInMeters() { return this._trackedImage.widthInMeters ?? undefined; }
@@ -81,6 +82,7 @@ export class WebXRTrackedImage {
81
82
  this._pose = pose;
82
83
  }
83
84
  }
85
+ // #region Model
84
86
  /**
85
87
  * WebXRImageTracking allows you to track images in the real world and place objects on top of them.
86
88
  * This component is only available in WebXR sessions.
@@ -157,6 +159,7 @@ __decorate([
157
159
  __decorate([
158
160
  serializable()
159
161
  ], WebXRImageTrackingModel.prototype, "hideWhenTrackingIsLost", void 0);
162
+ // #region USDZ Extension
160
163
  class ImageTrackingExtension {
161
164
  exporter;
162
165
  component;
@@ -258,6 +261,7 @@ class ImageTrackingExtension {
258
261
  }
259
262
  }
260
263
  }
264
+ // #region Tracking Component
261
265
  /**
262
266
  * Add this component to a object to enable image tracking in WebXR sessions.
263
267
  *
@@ -352,7 +356,8 @@ export class WebXRImageTracking extends Behaviour {
352
356
  args.optionalFeatures = args.optionalFeatures || [];
353
357
  if (!args.optionalFeatures.includes("image-tracking"))
354
358
  args.optionalFeatures.push("image-tracking");
355
- args.trackedImages = [];
359
+ if (!args.trackedImages)
360
+ args.trackedImages = [];
356
361
  for (const trackedImage of this.trackedImages) {
357
362
  if (trackedImage.image?.length && trackedImage.widthInMeters > 0) {
358
363
  const bitmap = _imageElements.get(trackedImage.image);
@@ -485,6 +490,8 @@ export class WebXRImageTracking extends Behaviour {
485
490
  if (trackedImage.model === key) {
486
491
  // Make sure to keep the object visible if it's marked as static OR is tracked OR was tracked very recently (e.g. low framerate or bad tracking on device)
487
492
  const timeSinceLastTracking = Date.now() - value.lastTrackingTime;
493
+ if (debug)
494
+ showBalloonMessage(key.image + ", State: " + trackedImage.state + (key.imageDoesNotMove ? " (static)" : "") + (timeSinceLastTracking <= hysteresis ? " (hysteresis)" : ""));
488
495
  if (key.imageDoesNotMove || trackedImage.state === "tracked" || timeSinceLastTracking <= hysteresis) {
489
496
  found = true;
490
497
  break;
@@ -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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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@needle-tools/engine",
3
- "version": "4.12.3",
3
+ "version": "4.12.4-next.46bee95",
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": {
@@ -110,7 +110,7 @@
110
110
  "scroll-timeline-polyfill": "^1.1.0",
111
111
  "simplex-noise": "^4.0.1",
112
112
  "stats.js": "^0.17.0",
113
- "three": "npm:@needle-tools/three@0.169.15",
113
+ "three": "npm:@needle-tools/three@0.169.16",
114
114
  "three-mesh-bvh": "0.9.7",
115
115
  "three-mesh-ui": "npm:@needle-tools/three-mesh-ui@^7.1.5-alpha.5",
116
116
  "three.quarks": "0.15.6",
@@ -176,4 +176,4 @@
176
176
  "module": "lib/needle-engine.js",
177
177
  "typings": "lib/needle-engine.d.ts",
178
178
  "types": "lib/needle-engine.d.ts"
179
- }
179
+ }
@@ -262,7 +262,7 @@ export async function getPublicIdentifier(project_id, opts = undefined) {
262
262
  console.log(`[needle-identifier] INFO: Fetching project identifier...`);
263
263
  const url = new URL(projectIdentifierUrl);
264
264
  if (project_id) url.searchParams.append("project_id", project_id);
265
- const timeout = AbortSignal.timeout(10_000);
265
+ const timeout = AbortSignal.timeout(5_000);
266
266
  const res = await fetch(projectIdentifierUrl, {
267
267
  method: "GET",
268
268
  signal: timeout
@@ -325,9 +325,9 @@ async function waitForLicenseServer(opts) {
325
325
  }
326
326
 
327
327
  let attempts = 0;
328
- const maxAttempts = 5;
328
+ const maxAttempts = 3;
329
329
  do {
330
- const timeout = AbortSignal.timeout(10_000);
330
+ const timeout = AbortSignal.timeout(5_000);
331
331
 
332
332
  // When using `fetch` then webcontainers do sometimes throw and exit the process silently - so we use http.get instead
333
333
  const response = await fetch_WaitForServer(localServerUrl, {
@@ -1,6 +1,6 @@
1
1
  import { ContextRegistry } from "../engine_context_registry.js";
2
2
  import { isLocalNetwork } from "../engine_networking_utils.js";
3
- import { getParam } from "../engine_utils.js";
3
+ import { DeviceUtilities, getParam } from "../engine_utils.js";
4
4
 
5
5
  const debug = getParam("debugdebug");
6
6
  let hide = false;
@@ -245,7 +245,7 @@ function getLogsContainer(domElement: HTMLElement): HTMLElement {
245
245
  position: absolute;
246
246
  top: 0;
247
247
  right: 5px;
248
- padding-top: 0px;
248
+ padding-top: env(safe-area-inset-top, 0px);
249
249
  max-width: 70%;
250
250
  max-height: calc(100% - 105px);
251
251
  z-index: 100000;
@@ -257,6 +257,18 @@ function getLogsContainer(domElement: HTMLElement): HTMLElement {
257
257
  overflow: auto;
258
258
  word-break: break-word;
259
259
  `
260
+ // Show the messages left aligned in app clip (because there's a menu button on the right side)
261
+ if (DeviceUtilities.isNeedleAppClip()) {
262
+ container.style.left = "5px";
263
+ container.style.right = "unset";
264
+ }
265
+ // for safe area insets to work we need to set
266
+ // <meta name="viewport" content="viewport-fit=cover">
267
+ const meta = document.querySelector('meta[name="viewport"]');
268
+ if (meta && !meta.getAttribute("content")?.includes("viewport-fit=")) {
269
+ meta.setAttribute("content", meta.getAttribute("content") + ",viewport-fit=cover");
270
+ }
271
+
260
272
  if (domElement.shadowRoot)
261
273
  domElement.shadowRoot.appendChild(container);
262
274
  else domElement.appendChild(container);
@@ -306,6 +318,7 @@ function getMessageContainer(type: LogType, msg: string): HTMLElement {
306
318
  element.style.backgroundColor = "rgba(20,20,20,.8)";
307
319
  element.style.boxShadow = "inset 0 0 80px rgba(0,0,0,.2), 0 0 5px rgba(0,0,0,.2)";
308
320
  element.style.border = "1px solid rgba(160,160,160,.2)";
321
+
309
322
  element[typeSymbol] = type;
310
323
  switch (type) {
311
324
  case LogType.Log:
@@ -1,4 +1,5 @@
1
1
  import { AnimationAction, AnimationClip, AnimationMixer, KeyframeTrack, Object3D, PropertyBinding, Vector3Like } from "three";
2
+ import { isDevEnvironment } from "./debug/index.js";
2
3
 
3
4
  import type { Context } from "./engine_context.js";
4
5
  import { GLTF, IAnimationComponent, Model } from "./engine_types.js";
@@ -56,6 +57,23 @@ export class AnimationsRegistry {
56
57
  */
57
58
  export class AnimationUtils {
58
59
 
60
+ /**
61
+ * Tests if the root object of an AnimationAction can be animated. Objects where matrixAutoUpdate or matrixWorldAutoUpdate is set to false may not animate correctly.
62
+ * @param action The AnimationAction to test
63
+ * @param allowLog Whether to allow logging warnings. Default is false, which only allows logging in development environments.
64
+ * @returns True if the root object can be animated, false otherwise
65
+ */
66
+ static testIfRootCanAnimate(action: AnimationAction, allowLog?: boolean): boolean {
67
+ const root = action.getRoot();
68
+
69
+ if (root && (root.userData.static || root.matrixAutoUpdate === false || root.matrixWorldAutoUpdate === false)) {
70
+ if (allowLog === true || (allowLog === undefined && isDevEnvironment()))
71
+ console.warn(`AnimationUtils: The root object (${root.name || root.type}) of this AnimationAction has matrixAutoUpdate or matrixWorldAutoUpdate set to false. This may prevent the animation from working correctly. If the object is marked as static, try to change it to dynamic.`, { static: root.userData.static, name: root.userData.name, tag: root.userData.tag, matrixAutoUpdate: root.matrixAutoUpdate, matrixWorldAutoUpdate: root.matrixWorldAutoUpdate });
72
+ return false;
73
+ }
74
+ return true;
75
+ }
76
+
59
77
  /**
60
78
  * Tries to get the animation actions from an animation mixer.
61
79
  * @param mixer The animation mixer to get the actions from
@@ -207,7 +225,7 @@ export class AnimationUtils {
207
225
  * - "linear": Simple linear scale up animation.
208
226
  * - "spring": Spring-like scale animation with overshoot and settling.
209
227
  */
210
- export type ScaleClipType = "linear" | "spring";
228
+ export type ScaleClipType = "linear" | "spring";
211
229
 
212
230
  type ScaleClipOptions = {
213
231
  /**
@@ -1161,7 +1161,8 @@ export class Input implements IInput {
1161
1161
 
1162
1162
  if (this.getPointerPressed(index)) {
1163
1163
  // see https://linear.app/needle/issue/NE-6855#comment-3b0e3365
1164
- console.warn(`Received pointerDown event for pointerId that is already pressed: ${index}/${evt.button}`, debug ? evt : '');
1164
+ if (debug)
1165
+ console.warn(`Received pointerDown event for pointerId that is already pressed: ${index}/${evt.button}`, debug ? evt : '');
1165
1166
  return;
1166
1167
  }
1167
1168
  if (debug) console.log(evt.pointerType, "DOWN", index, evt.button);
@@ -1207,7 +1208,8 @@ export class Input implements IInput {
1207
1208
  const index = evt.pointerId;
1208
1209
  const wasDown = this.getPointerPressed(index);
1209
1210
  if (!wasDown) {
1210
- console.warn(`Received pointerUp for pointerId that is not pressed: ${index}/${evt.button}`, debug ? evt : '');
1211
+ if (debug)
1212
+ console.warn(`Received pointerUp for pointerId that is not pressed: ${index}/${evt.button}`, debug ? evt : '');
1211
1213
  return;
1212
1214
  }
1213
1215
  // if (this.isMouseEventFromTouch(evt)) return;
@@ -1228,7 +1230,7 @@ export class Input implements IInput {
1228
1230
  }
1229
1231
 
1230
1232
  if (!this._pointerPositionDown[index]) {
1231
- if (debug) showBalloonWarning("Received pointer up event without matching down event for button: " + index);
1233
+ if (debug) showBalloonWarning("[Received pointer up event without matching down event for button: " + index);
1232
1234
  console.warn("Received pointer up event without matching down event for button: " + index)
1233
1235
  return;
1234
1236
  }
@@ -7,9 +7,14 @@ import { NeedleXRSession } from "../engine_xr.js";
7
7
  import { onXRSessionEnd, onXRSessionStart } from "../xr/events.js";
8
8
  import { ButtonsFactory } from "./buttons.js";
9
9
  import { getIconElement } from "./icons.js";
10
+ import { NeedleMenu } from "./needle menu/needle-menu.js";
10
11
 
11
12
  // TODO: move these buttons into their own web components so their logic is encapsulated (e.g. the CSS animation when a xr session is requested)
12
13
 
14
+ const vrButtonPriority = 100;
15
+ const quicklookButtonPriority = 200;
16
+ const arButtonPriority = 300;
17
+
13
18
  /**
14
19
  * Factory to create WebXR buttons for AR, VR, Quicklook and Send to Quest
15
20
  * The buttons are created as HTMLButtonElements and can be added to the DOM.
@@ -68,6 +73,7 @@ export class WebXRButtonFactory {
68
73
 
69
74
  button.innerText = buttonText;
70
75
  button.prepend(getIconElement("view_in_ar"));
76
+ NeedleMenu.setElementPriority(button, quicklookButtonPriority);
71
77
 
72
78
  let createdExporter = false;
73
79
  let usdzExporter: USDZExporter | null = null;
@@ -119,6 +125,7 @@ export class WebXRButtonFactory {
119
125
  button.prepend(getIconElement("view_in_ar"))
120
126
  button.title = "Click to start an AR session";
121
127
  button.addEventListener("click", () => NeedleXRSession.start(mode, init));
128
+ NeedleMenu.setElementPriority(button, arButtonPriority);
122
129
  this.updateSessionSupported(button, mode);
123
130
  this.listenToXRSessionState(button, mode);
124
131
  this.hideElementDuringXRSession(button);
@@ -153,6 +160,7 @@ export class WebXRButtonFactory {
153
160
  button.prepend(getIconElement("panorama_photosphere"));
154
161
  button.title = "Click to start a VR session";
155
162
  button.addEventListener("click", () => NeedleXRSession.start(mode, init));
163
+ NeedleMenu.setElementPriority(button, vrButtonPriority);
156
164
  this.updateSessionSupported(button, mode);
157
165
  this.listenToXRSessionState(button, mode);
158
166
  this.hideElementDuringXRSession(button);
@@ -3,6 +3,7 @@ import { IContext } from "../engine_types.js";
3
3
  import { generateQRCode } from "../engine_utils_qrcode.js";
4
4
  import { onXRSessionEnd, onXRSessionStart } from "../xr/events.js";
5
5
  import { getIconElement } from "./icons.js";
6
+ import { NeedleMenu } from "./needle menu/needle-menu.js";
6
7
 
7
8
  /**
8
9
  * Use the ButtonsFactory to create buttons with icons and functionality
@@ -66,6 +67,7 @@ export class ButtonsFactory {
66
67
  this._fullscreenButton = button;
67
68
  button.classList.add("fullscreen-button");
68
69
  button.title = "Click to enter fullscreen mode";
70
+ NeedleMenu.setElementPriority(button, 3);
69
71
  const enterFullscreenIcon = getIconElement("fullscreen");
70
72
  const exitFullscreenIcon = getIconElement("fullscreen_exit");
71
73
  button.appendChild(enterFullscreenIcon);
@@ -117,6 +119,8 @@ export class ButtonsFactory {
117
119
  const muteIcon = getIconElement("volume_off");
118
120
  const unmuteIcon = getIconElement("volume_up");
119
121
 
122
+ NeedleMenu.setElementPriority(button, 1);
123
+
120
124
  // save state in session storage (this needs consent)
121
125
  // if (sessionStorage.getItem("muted") === "true") {
122
126
  // ctx.application.muted = true;
@@ -187,6 +191,7 @@ export class ButtonsFactory {
187
191
  qrCodeButton.prepend(getIconElement("qr_code"));
188
192
  qrCodeButton.title = "Scan this QR code with your phone to open this page";
189
193
  this.hideElementDuringXRSession(qrCodeButton);
194
+ NeedleMenu.setElementPriority(this._qrButton, 20);
190
195
 
191
196
  const qrCodeContainer = document.createElement("div");
192
197
  qrCodeContainer.style.cssText = `