@needle-tools/engine 4.5.4 → 4.5.5

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 (42) hide show
  1. package/CHANGELOG.md +5 -0
  2. package/dist/{needle-engine.bundle-6da875f4.light.js → needle-engine.bundle-454a0b60.light.js} +3780 -3724
  3. package/dist/{needle-engine.bundle-9f1a1512.min.js → needle-engine.bundle-707758a3.min.js} +114 -114
  4. package/dist/{needle-engine.bundle-8959a299.umd.cjs → needle-engine.bundle-bca99998.umd.cjs} +108 -108
  5. package/dist/{needle-engine.bundle-49a4fe2f.js → needle-engine.bundle-ca7fba70.js} +3399 -3343
  6. package/dist/{needle-engine.bundle-3fd607cc.light.umd.cjs → needle-engine.bundle-e8cb9309.light.umd.cjs} +108 -108
  7. package/dist/{needle-engine.bundle-3de53f53.light.min.js → needle-engine.bundle-ebd3952c.light.min.js} +113 -113
  8. package/dist/needle-engine.js +151 -154
  9. package/dist/needle-engine.light.js +151 -154
  10. package/dist/needle-engine.light.min.js +1 -1
  11. package/dist/needle-engine.light.umd.cjs +1 -1
  12. package/dist/needle-engine.min.js +1 -1
  13. package/dist/needle-engine.umd.cjs +1 -1
  14. package/lib/engine/debug/debug_console.js +1 -1
  15. package/lib/engine/debug/debug_console.js.map +1 -1
  16. package/lib/engine/engine_create_objects.d.ts +1 -0
  17. package/lib/engine/engine_create_objects.js +13 -1
  18. package/lib/engine/engine_create_objects.js.map +1 -1
  19. package/lib/engine/engine_license.js +16 -8
  20. package/lib/engine/engine_license.js.map +1 -1
  21. package/lib/engine/engine_utils.d.ts +5 -23
  22. package/lib/engine/engine_utils.js +147 -32
  23. package/lib/engine/engine_utils.js.map +1 -1
  24. package/lib/engine/webcomponents/buttons.js +4 -3
  25. package/lib/engine/webcomponents/buttons.js.map +1 -1
  26. package/lib/engine/xr/NeedleXRSession.d.ts +1 -0
  27. package/lib/engine/xr/NeedleXRSession.js +16 -1
  28. package/lib/engine/xr/NeedleXRSession.js.map +1 -1
  29. package/lib/engine-components/webxr/WebXRImageTracking.js +1 -0
  30. package/lib/engine-components/webxr/WebXRImageTracking.js.map +1 -1
  31. package/package.json +1 -1
  32. package/plugins/types/userconfig.d.ts +7 -0
  33. package/plugins/types/vite.d.ts +2 -2
  34. package/plugins/vite/index.js +4 -0
  35. package/plugins/vite/local-files.js +232 -0
  36. package/src/engine/debug/debug_console.ts +1 -1
  37. package/src/engine/engine_create_objects.ts +14 -1
  38. package/src/engine/engine_license.ts +16 -8
  39. package/src/engine/engine_utils.ts +168 -47
  40. package/src/engine/webcomponents/buttons.ts +4 -3
  41. package/src/engine/xr/NeedleXRSession.ts +17 -2
  42. package/src/engine-components/webxr/WebXRImageTracking.ts +1 -0
@@ -1,5 +1,6 @@
1
1
  // use for typesafe interface method calls
2
2
  import { Quaternion, Vector2, Vector3, Vector4 } from "three";
3
+ import { needleLogoOnlySVG } from "./assets/index.js";
3
4
  import { ContextRegistry } from "./engine_context_registry.js";
4
5
  // https://schneidenbach.gitbooks.io/typescript-cookbook/content/nameof-operator.html
5
6
  /** @internal */
@@ -719,36 +720,6 @@ export function isQuest() {
719
720
  export async function microphonePermissionsGranted() {
720
721
  return DeviceUtilities.microphonePermissionsGranted();
721
722
  }
722
- const cloudflareIPRegex = /ip=(?<ip>.+?)\n/s;
723
- export async function getIpCloudflare() {
724
- const data = await fetch('https://www.cloudflare.com/cdn-cgi/trace');
725
- const body = await data.text();
726
- // we are only interested in the ip= part:
727
- const match = cloudflareIPRegex.exec(body);
728
- if (match)
729
- return match[1];
730
- return null;
731
- }
732
- /** Gets the public IP address of this device.
733
- * @returns IP address, or `undefined` when it can't be determined.
734
- */
735
- export async function getIp() {
736
- const res = (await fetch("https://api.db-ip.com/v2/free/self").catch(() => null));
737
- if (!res)
738
- return undefined;
739
- const json = await res.json();
740
- return json.ipAddress;
741
- }
742
- /** Gets the public IP address, location, and country data of this device.
743
- * @returns an object containing {@link IpAndLocation} data, or `undefined` when it can't be determined.
744
- */
745
- export async function getIpAndLocation() {
746
- const res = (await fetch("https://api.db-ip.com/v2/free/self").catch(() => null));
747
- if (!res)
748
- return undefined;
749
- const json = await res.json();
750
- return json;
751
- }
752
723
  const mutationObserverMap = new WeakMap();
753
724
  /**
754
725
  * Register a callback when an {@link HTMLElement} attribute changes.
@@ -845,11 +816,13 @@ export async function PromiseAllWithErrors(promise) {
845
816
  * @param args.colorDark The color of the dark squares
846
817
  * @param args.colorLight The color of the light squares
847
818
  * @param args.correctLevel The error correction level to use
819
+ * @param args.showLogo If true, the same logo as for the Needle loading screen will be drawn in the center of the QR code
820
+ * @param args.showUrl If true, the URL will be shown below the QR code
848
821
  * @param args.domElement The dom element to append the QR code to. If not provided a new div will be created and returned
849
822
  * @returns The dom element containing the QR code
850
823
  */
851
824
  export async function generateQRCode(args) {
852
- // ensure that the QRCode library is loaded
825
+ // Ensure that the QRCode library is loaded
853
826
  if (!globalThis["QRCode"]) {
854
827
  const url = "https://cdn.rawgit.com/davidshimjs/qrcodejs/gh-pages/qrcode.min.js";
855
828
  let script = document.head.querySelector(`script[src="${url}"]`);
@@ -866,7 +839,7 @@ export async function generateQRCode(args) {
866
839
  }
867
840
  const QRCODE = globalThis["QRCode"];
868
841
  const target = args.domElement ?? document.createElement("div");
869
- new QRCODE(target, {
842
+ const qrCode = new QRCODE(target, {
870
843
  width: args.width ?? 256,
871
844
  height: args.height ?? 256,
872
845
  colorDark: "#000000",
@@ -874,6 +847,148 @@ export async function generateQRCode(args) {
874
847
  correctLevel: QRCODE.CorrectLevel.M,
875
848
  ...args,
876
849
  });
850
+ if (args.showLogo !== false) {
851
+ const canvas = qrCode?._oDrawing?._elCanvas;
852
+ try {
853
+ const img = await addOverlays(canvas).catch(_e => { });
854
+ if (img) {
855
+ target.innerHTML = "";
856
+ target.append(img);
857
+ }
858
+ }
859
+ catch { } // Ignore
860
+ }
861
+ if (args.showUrl !== false && args.text) {
862
+ // Add link label below the QR code
863
+ // Clean up the text. If it's a URL: remove the protocol, www. part, trailing slashes or trailing question marks
864
+ const existingLabel = target.querySelector(".qr-code-link-label");
865
+ let displayText = args.text.replace(/^(https?:\/\/)?(www\.)?/, "").replace(/\/+$/, "").replace(/\?+$/, "");
866
+ displayText = "Scan to visit: " + displayText;
867
+ if (existingLabel) {
868
+ existingLabel.textContent = displayText;
869
+ }
870
+ else {
871
+ // Create a new label
872
+ const linkLabel = document.createElement("div");
873
+ linkLabel.classList.add("qr-code-link-label");
874
+ args.text = displayText;
875
+ linkLabel.textContent = args.text;
876
+ linkLabel.addEventListener("click", (ev) => {
877
+ // Prevent the QR panel from closing
878
+ ev.stopImmediatePropagation();
879
+ });
880
+ linkLabel.style.textAlign = "center";
881
+ linkLabel.style.fontSize = "0.8em";
882
+ linkLabel.style.marginTop = "0.1em";
883
+ linkLabel.style.color = "#000000";
884
+ linkLabel.style.fontFamily = "'Roboto Flex', sans-serif";
885
+ linkLabel.style.opacity = "0.5";
886
+ linkLabel.style.wordBreak = "break-all";
887
+ linkLabel.style.wordWrap = "break-word";
888
+ linkLabel.style.marginBottom = "0.3em";
889
+ // Ensure max. width
890
+ target.style.width = "calc(210px + 20px)";
891
+ target.appendChild(linkLabel);
892
+ }
893
+ }
877
894
  return target;
878
895
  }
896
+ async function addOverlays(canvas) {
897
+ if (!canvas)
898
+ return;
899
+ // Internal settings
900
+ const canvasPadding = 8;
901
+ const shadowColor = "#00000099";
902
+ const shadowBlur = 20;
903
+ const rectanglePadding = 12;
904
+ const rectangleRadius = 0.4 * 16;
905
+ // Draw the website's icon in the center of the QR code
906
+ const faviconImage = new Image();
907
+ const element = document.querySelector("needle-engine");
908
+ const logoSrc = element?.getAttribute("loading-logo-src") || needleLogoOnlySVG;
909
+ if (!logoSrc)
910
+ return;
911
+ faviconImage.src = logoSrc;
912
+ const haveLogo = await new Promise((resolve, _reject) => {
913
+ faviconImage.onload = () => resolve(true);
914
+ faviconImage.onerror = (err) => {
915
+ console.error("Error loading favicon image for QR code", err);
916
+ resolve(false);
917
+ };
918
+ });
919
+ // Add some padding around the canvas – we need to copy the QR code image to a larger canvas
920
+ const paddedCanvas = document.createElement("canvas");
921
+ paddedCanvas.width = canvas.width + canvasPadding;
922
+ paddedCanvas.height = canvas.height + canvasPadding;
923
+ const paddedContext = paddedCanvas.getContext("2d");
924
+ if (!paddedContext) {
925
+ return;
926
+ }
927
+ // Clear with white
928
+ paddedContext.fillStyle = "#ffffff";
929
+ paddedContext.fillRect(0, 0, paddedCanvas.width, paddedCanvas.height);
930
+ paddedContext.drawImage(canvas, canvasPadding / 2, canvasPadding / 2);
931
+ // Enable anti-aliasing
932
+ paddedContext.imageSmoothingEnabled = true;
933
+ paddedContext.imageSmoothingQuality = "high";
934
+ // @ts-ignore
935
+ paddedContext.mozImageSmoothingEnabled = true;
936
+ // @ts-ignore
937
+ paddedContext.webkitImageSmoothingEnabled = true;
938
+ // Draw a slight gradient background with 10% opacity and "lighten" composite operation
939
+ paddedContext.globalCompositeOperation = "lighten";
940
+ const gradient = paddedContext.createLinearGradient(0, 0, 0, paddedCanvas.height);
941
+ gradient.addColorStop(0, "rgb(45, 45, 45)");
942
+ gradient.addColorStop(1, "rgb(45, 45, 45)");
943
+ paddedContext.fillStyle = gradient;
944
+ paddedContext.fillRect(0, 0, paddedCanvas.width, paddedCanvas.height);
945
+ paddedContext.globalCompositeOperation = "source-over";
946
+ let sizeX = Math.min(paddedCanvas.width, paddedCanvas.height) / 4;
947
+ let sizeY = sizeX;
948
+ if (haveLogo) {
949
+ // get aspect of image
950
+ const aspect = faviconImage.width / faviconImage.height;
951
+ if (aspect > 1)
952
+ sizeY = sizeX / aspect;
953
+ else
954
+ sizeX = sizeY * aspect;
955
+ // Apply padding
956
+ const sizeXPadded = sizeX + rectanglePadding;
957
+ const sizeYPadded = sizeY + rectanglePadding;
958
+ const x = (paddedCanvas.width - sizeX) / 2;
959
+ const y = (paddedCanvas.height - sizeY) / 2;
960
+ // Draw shape with blurred shadow
961
+ paddedContext.shadowColor = shadowColor;
962
+ paddedContext.shadowBlur = shadowBlur;
963
+ // Draw rounded rectangle with radius
964
+ // Convert 0.4rem to pixels, taking DPI into account
965
+ const radius = rectangleRadius;
966
+ const xPadded = x - rectanglePadding / 2;
967
+ const yPadded = y - rectanglePadding / 2;
968
+ paddedContext.beginPath();
969
+ paddedContext.moveTo(xPadded + radius, yPadded);
970
+ paddedContext.lineTo(xPadded + sizeXPadded - radius, yPadded);
971
+ paddedContext.quadraticCurveTo(xPadded + sizeXPadded, yPadded, xPadded + sizeXPadded, yPadded + radius);
972
+ paddedContext.lineTo(xPadded + sizeXPadded, yPadded + sizeYPadded - radius);
973
+ paddedContext.quadraticCurveTo(xPadded + sizeXPadded, yPadded + sizeYPadded, xPadded + sizeXPadded - radius, yPadded + sizeYPadded);
974
+ paddedContext.lineTo(xPadded + radius, yPadded + sizeYPadded);
975
+ paddedContext.quadraticCurveTo(xPadded, yPadded + sizeYPadded, xPadded, yPadded + sizeYPadded - radius);
976
+ paddedContext.lineTo(xPadded, yPadded + radius);
977
+ paddedContext.quadraticCurveTo(xPadded, yPadded, xPadded + radius, yPadded);
978
+ paddedContext.fillStyle = "#ffffff";
979
+ paddedContext.closePath();
980
+ paddedContext.fill();
981
+ paddedContext.clip();
982
+ // Reset shadow and draw favicon
983
+ paddedContext.shadowColor = "transparent";
984
+ paddedContext.drawImage(faviconImage, x, y, sizeX, sizeY);
985
+ }
986
+ // Replace the canvas with the padded one
987
+ const paddedImage = paddedCanvas.toDataURL("image/png");
988
+ const img = document.createElement("img");
989
+ img.src = paddedImage;
990
+ img.style.width = "100%";
991
+ img.style.height = "auto";
992
+ return img;
993
+ }
879
994
  //# sourceMappingURL=engine_utils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"engine_utils.js","sourceRoot":"","sources":["../../src/engine/engine_utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"engine_utils.js","sourceRoot":"","sources":["../../src/engine/engine_utils.ts"],"names":[],"mappings":"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"}
@@ -171,7 +171,7 @@ export class ButtonsFactory {
171
171
  qrCodeContainer.style.cssText = `
172
172
  position: fixed;
173
173
  display: inline-block;
174
- padding: 1rem;
174
+ padding: 0.5rem;
175
175
  background-color: white;
176
176
  border-radius: 0.4rem;
177
177
  cursor: pointer;
@@ -201,10 +201,11 @@ export class ButtonsFactory {
201
201
  const buttonRect = qrCodeButton.getBoundingClientRect();
202
202
  qrCodeContainer.style.left = (buttonRect.left + buttonRect.width * .5 - containerRect.width * .5) + "px";
203
203
  const isButtonInTopHalf = buttonRect.top < containerRect.height;
204
+ const padding = "1.3rem";
204
205
  if (isButtonInTopHalf)
205
- qrCodeContainer.style.top = `calc(${buttonRect.bottom}px + ${qrCodeContainer.style.padding} * .6)`;
206
+ qrCodeContainer.style.top = `calc(${buttonRect.bottom}px + ${qrCodeContainer.style.padding} + 0.0rem)`;
206
207
  else
207
- qrCodeContainer.style.top = `calc(${buttonRect.top - containerRect.height}px - ${qrCodeContainer.style.padding} * 2.5)`;
208
+ qrCodeContainer.style.top = `calc(${buttonRect.top - containerRect.height}px - ${qrCodeContainer.style.padding} - ${padding})`;
208
209
  qrCodeContainer.style.opacity = "0";
209
210
  qrCodeContainer.style.pointerEvents = "all";
210
211
  qrCodeContainer.style.transition = "opacity 0.2s ease-in-out";
@@ -1 +1 @@
1
- {"version":3,"file":"buttons.js","sourceRoot":"","sources":["../../../src/engine/webcomponents/buttons.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"buttons.js","sourceRoot":"","sources":["../../../src/engine/webcomponents/buttons.ts"],"names":[],"mappings":"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"}
@@ -165,6 +165,7 @@ export declare class NeedleXRSession implements INeedleXRSession {
165
165
  */
166
166
  static start(mode: XRSessionMode | "ar", init?: XRSessionInit, context?: Context): Promise<NeedleXRSession | null>;
167
167
  static setSession(mode: XRSessionMode, session: XRSession, init: XRSessionInit, context: Context): NeedleXRSession;
168
+ private static $_stop_request;
168
169
  /** stops the active XR session */
169
170
  static stop(): void;
170
171
  private static onEnd;
@@ -500,9 +500,24 @@ export class NeedleXRSession {
500
500
  console.log("%c" + `Started ${mode} session`, "font-weight:bold;");
501
501
  return this._activeSession;
502
502
  }
503
+ static $_stop_request = Symbol();
503
504
  /** stops the active XR session */
504
505
  static stop() {
505
- this._activeSession?.end();
506
+ const session = this._activeSession;
507
+ if (session) {
508
+ if (session[this.$_stop_request] === undefined) {
509
+ if (debug)
510
+ console.log("[NeedleXRSession] Stopping XR Session... (new)");
511
+ // We can not call session.end() immediately because we might be within a frame callback
512
+ // For example if a use calls `NeedleXRSession.stop()` within a `update()` callback
513
+ session[this.$_stop_request] = setTimeout(() => {
514
+ session.end();
515
+ });
516
+ }
517
+ else if (debug) {
518
+ console.warn("[NeedleXRSession] XR Session stop already requested");
519
+ }
520
+ }
506
521
  }
507
522
  static onEnd = () => {
508
523
  if (debug)