@needle-tools/engine 5.1.1 → 5.1.2

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 (68) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/dist/{needle-engine.bundle-Dv-p5m4z.js → needle-engine.bundle-BAUfRyBA.js} +2861 -2708
  3. package/dist/{needle-engine.bundle-Cb39lTJn.umd.cjs → needle-engine.bundle-BL2wG5Te.umd.cjs} +101 -101
  4. package/dist/{needle-engine.bundle-BUT4ua7U.min.js → needle-engine.bundle-BpNRkY3s.min.js} +148 -148
  5. package/dist/needle-engine.d.ts +18 -6
  6. package/dist/needle-engine.js +401 -401
  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_init.js +2 -2
  13. package/lib/engine/engine_init.js.map +1 -1
  14. package/lib/engine/engine_license.d.ts +45 -7
  15. package/lib/engine/engine_license.js +276 -77
  16. package/lib/engine/engine_license.js.map +1 -1
  17. package/lib/engine/engine_networking.js +6 -0
  18. package/lib/engine/engine_networking.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 +31 -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/NeedleXRSync.js +23 -4
  32. package/lib/engine/xr/NeedleXRSync.js.map +1 -1
  33. package/lib/engine/xr/TempXRContext.js +2 -2
  34. package/lib/engine/xr/TempXRContext.js.map +1 -1
  35. package/lib/engine-components/SyncedTransform.d.ts +5 -1
  36. package/lib/engine-components/SyncedTransform.js +45 -8
  37. package/lib/engine-components/SyncedTransform.js.map +1 -1
  38. package/lib/engine-components/export/usdz/USDZExporter.js +4 -4
  39. package/lib/engine-components/export/usdz/USDZExporter.js.map +1 -1
  40. package/lib/engine-components/webxr/Avatar.d.ts +8 -0
  41. package/lib/engine-components/webxr/Avatar.js +60 -32
  42. package/lib/engine-components/webxr/Avatar.js.map +1 -1
  43. package/lib/engine-schemes/synced-transform-model.d.ts +2 -0
  44. package/lib/engine-schemes/synced-transform-model.js +8 -1
  45. package/lib/engine-schemes/synced-transform-model.js.map +1 -1
  46. package/package.json +1 -1
  47. package/plugins/common/license.js +4 -4
  48. package/plugins/types/userconfig.d.ts +4 -3
  49. package/plugins/vite/build-pipeline.d.ts +3 -1
  50. package/plugins/vite/build-pipeline.js +19 -9
  51. package/plugins/vite/license.js +4 -4
  52. package/src/engine/api.ts +1 -1
  53. package/src/engine/engine_init.ts +2 -2
  54. package/src/engine/engine_license.ts +263 -73
  55. package/src/engine/engine_networking.ts +5 -0
  56. package/src/engine/engine_networking_blob.ts +3 -3
  57. package/src/engine/engine_utils_qrcode.ts +2 -2
  58. package/src/engine/webcomponents/needle menu/needle-menu-spatial.ts +2 -2
  59. package/src/engine/webcomponents/needle menu/needle-menu.ts +5 -5
  60. package/src/engine/webcomponents/needle-engine.loading.ts +6 -6
  61. package/src/engine/webcomponents/needle-engine.ts +31 -2
  62. package/src/engine/xr/NeedleXRSync.ts +24 -4
  63. package/src/engine/xr/TempXRContext.ts +2 -2
  64. package/src/engine-components/SyncedTransform.ts +49 -10
  65. package/src/engine-components/export/usdz/USDZExporter.ts +4 -4
  66. package/src/engine-components/webxr/Avatar.ts +60 -33
  67. package/src/engine-schemes/synced-transform-model.ts +10 -1
  68. package/src/engine-schemes/transforms.fbs +1 -0
@@ -4,19 +4,19 @@ import { onInitialized } from "./engine_lifecycle_api.js";
4
4
  import { isLocalNetwork } from "./engine_networking_utils.js";
5
5
  import { Context } from "./engine_setup.js";
6
6
  import { SSR } from "./engine_ssr.js";
7
- import { getParam } from "./engine_utils.js";
7
+ import { DeviceUtilities, getParam } from "./engine_utils.js";
8
8
  const debug = getParam("__debuglic__");
9
- const _gsLyleQ = [];
9
+ const _MYuNVg = [];
10
10
  // DO NOT EDIT MANUALLY
11
- let __cOctKuk = "";
11
+ let __UoF = "";
12
12
  // eslint-disable-next-line prefer-const
13
- let $nKsEYz = "";
13
+ let _nMW = "";
14
14
  if (debug) {
15
- console.log("License Type: " + __cOctKuk);
16
- if ($nKsEYz) {
17
- console.log("License JWT: " + $nKsEYz);
15
+ console.log("License Type: " + __UoF);
16
+ if (_nMW) {
17
+ console.log("License JWT: " + _nMW);
18
18
  try {
19
- const payload = JSON.parse(atob($nKsEYz.split(".")[1].replace(/-/g, '+').replace(/_/g, '/')));
19
+ const payload = JSON.parse(atob(_nMW.split(".")[1].replace(/-/g, '+').replace(/_/g, '/')));
20
20
  console.log("License JWT payload:", payload);
21
21
  }
22
22
  catch {
@@ -28,8 +28,8 @@ if (debug) {
28
28
  }
29
29
  }
30
30
  /** @internal */
31
- export function __dSkNu() {
32
- switch (__cOctKuk) {
31
+ export function _hyjgv() {
32
+ switch (__UoF) {
33
33
  case "pro":
34
34
  case "enterprise":
35
35
  return true;
@@ -38,33 +38,33 @@ export function __dSkNu() {
38
38
  return false;
39
39
  }
40
40
  /** @internal */
41
- export function $uRk() {
42
- switch (__cOctKuk) {
41
+ export function _$apSvAt() {
42
+ switch (__UoF) {
43
43
  case "indie":
44
44
  return true;
45
45
  }
46
46
  return false;
47
47
  }
48
48
  /** @internal */
49
- export function _ndIg() {
50
- switch (__cOctKuk) {
49
+ export function _KXivjkV() {
50
+ switch (__UoF) {
51
51
  case "edu":
52
52
  return true;
53
53
  }
54
54
  return false;
55
55
  }
56
56
  /** @internal */
57
- export function $Mhcqc() {
58
- return __dSkNu() || $uRk() || _ndIg();
57
+ export function Jkdun() {
58
+ return _hyjgv() || _$apSvAt() || _KXivjkV();
59
59
  }
60
60
  /** @internal */
61
- export function _ynyIW(cb) {
62
- if (__dSkNu() || $uRk() || _ndIg())
61
+ export function qWc(cb) {
62
+ if (_hyjgv() || _$apSvAt() || _KXivjkV())
63
63
  return cb(true);
64
- _gsLyleQ.push(cb);
64
+ _MYuNVg.push(cb);
65
65
  }
66
- function $hVWu(result) {
67
- for (const cb of _gsLyleQ) {
66
+ function _$OGB(result) {
67
+ for (const cb of _MYuNVg) {
68
68
  try {
69
69
  cb(result);
70
70
  }
@@ -76,7 +76,7 @@ function $hVWu(result) {
76
76
  // #region JWT
77
77
  // ECDSA P-256 public key for verifying license JWTs (verification-only, safe to ship)
78
78
  /* eslint-disable no-secrets/no-secrets -- public key, not a secret */
79
- const $OabY = {
79
+ const $WYAmrK = {
80
80
  kty: "EC",
81
81
  crv: "P-256",
82
82
  x: "A34nyKMjhQYVgzeE4tyLUYdx34TAKogDa7v7PRaO9Lg",
@@ -98,7 +98,7 @@ function base64urlDecode(str) {
98
98
  * Verify a JWT license token and return the `type` claim if valid.
99
99
  * Returns null if the JWT is missing, malformed, or has an invalid signature.
100
100
  */
101
- async function $OBR(jwt) {
101
+ async function _fAd(jwt) {
102
102
  if (!jwt)
103
103
  return null;
104
104
  try {
@@ -106,7 +106,7 @@ async function $OBR(jwt) {
106
106
  if (parts.length !== 3)
107
107
  return null;
108
108
  const [headerB64, payloadB64, signatureB64] = parts;
109
- const key = await crypto.subtle.importKey("jwk", $OabY, { name: "ECDSA", namedCurve: "P-256" }, false, ["verify"]);
109
+ const key = await crypto.subtle.importKey("jwk", $WYAmrK, { name: "ECDSA", namedCurve: "P-256" }, false, ["verify"]);
110
110
  const signingInput = new TextEncoder().encode(`${headerB64}.${payloadB64}`);
111
111
  const signature = base64urlDecode(signatureB64);
112
112
  const valid = await crypto.subtle.verify({ name: "ECDSA", hash: "SHA-256" }, key, signature.buffer, signingInput);
@@ -154,25 +154,25 @@ async function $OBR(jwt) {
154
154
  }
155
155
  }
156
156
  /** Verify the injected JWT and update the license type if valid.
157
- * The engine ONLY trusts the JWT — the plain __cOctKuk string is ignored. */
157
+ * The engine ONLY trusts the JWT — the plain __UoF string is ignored. */
158
158
  let _jwtVerificationPromise = undefined;
159
- async function _$DyIqexB() {
160
- // NOTE: do NOT add an `if (!$nKsEYz) return` guard here.
159
+ async function _mGi() {
160
+ // NOTE: do NOT add an `if (!_nMW) return` guard here.
161
161
  // esbuild (Vite dependency pre-bundling) would see the variable as constant ""
162
162
  // and tree-shake the entire JWT verification code path.
163
- const jwt = $nKsEYz;
163
+ const jwt = _nMW;
164
164
  // Clear after reading — this reassignment also prevents esbuild from
165
165
  // constant-folding the variable (it now has multiple assignment sites).
166
- $nKsEYz = "";
167
- const verifiedType = await $OBR(jwt);
166
+ _nMW = "";
167
+ const verifiedType = await _fAd(jwt);
168
168
  if (verifiedType) {
169
- __cOctKuk = verifiedType;
169
+ __UoF = verifiedType;
170
170
  if (debug)
171
171
  console.log("License type set from verified JWT: " + verifiedType);
172
- $hVWu($Mhcqc());
172
+ _$OGB(Jkdun());
173
173
  }
174
174
  else {
175
- __cOctKuk = "basic";
175
+ __UoF = "basic";
176
176
  if (debug && jwt)
177
177
  console.warn("JWT verification failed — license reset to basic");
178
178
  }
@@ -241,13 +241,14 @@ export var Telemetry;
241
241
  domElement = document.querySelector("needle-engine");
242
242
  if (!domElement && !context)
243
243
  return false;
244
+ // The no-telemetry attribute opts out of all telemetry for every license tier.
245
+ // NOTE: this does NOT affect license enforcement — the /check call, the "forbidden"
246
+ // overlay and the watermark/logo run on separate, ungated code paths.
244
247
  const attribute = domElement?.getAttribute("no-telemetry");
245
248
  if (attribute === "" || attribute === "true" || attribute === "1") {
246
- if (__cOctKuk === "pro" || __cOctKuk === "enterprise") {
247
- if (debug)
248
- console.debug("Telemetry is disabled via no-telemetry attribute");
249
- return false;
250
- }
249
+ if (debug)
250
+ console.debug("Telemetry is disabled via no-telemetry attribute");
251
+ return false;
251
252
  }
252
253
  return true;
253
254
  }
@@ -312,6 +313,199 @@ export var Telemetry;
312
313
  return doFetch(body);
313
314
  }
314
315
  Telemetry.sendError = sendError;
316
+ /**
317
+ * Reports a scene load result (success/failure + timings) and, on success, a set of
318
+ * non-identifying device capability buckets. Fired once per load.
319
+ * No fingerprinting data (e.g. the unmasked GPU renderer/vendor string) is collected.
320
+ */
321
+ function reportLoad(context, info) {
322
+ if (!isAllowed(context))
323
+ return;
324
+ const props = {
325
+ action: "load",
326
+ success: info.success,
327
+ files: info.files,
328
+ is_reload: info.is_reload,
329
+ load_ms: Math.round(info.load_ms),
330
+ };
331
+ if (info.error)
332
+ props.error = info.error;
333
+ if (info.first_frame_ms !== undefined)
334
+ props.first_frame_ms = Math.round(info.first_frame_ms);
335
+ if (info.since_navigation_ms !== undefined)
336
+ props.since_navigation_ms = Math.round(info.since_navigation_ms);
337
+ if (info.success)
338
+ collectCapabilities(context, props);
339
+ sendEvent(context, "engine", props);
340
+ }
341
+ Telemetry.reportLoad = reportLoad;
342
+ /**
343
+ * Writes non-identifying device capability buckets (graphics API, limits, compressed-texture
344
+ * support, coarse hardware hints) into the given props object. Deliberately omits the unmasked
345
+ * GPU renderer/vendor strings so this cannot be used to fingerprint a device.
346
+ */
347
+ function collectCapabilities(context, props) {
348
+ const renderer = context?.renderer;
349
+ if (!renderer)
350
+ return;
351
+ try {
352
+ if (renderer.isWebGPURenderer === true) {
353
+ props.api = "webgpu";
354
+ }
355
+ else {
356
+ const gl = renderer.getContext();
357
+ if (gl) {
358
+ const isWebGL2 = typeof WebGL2RenderingContext !== "undefined" && gl instanceof WebGL2RenderingContext;
359
+ props.api = isWebGL2 ? "webgl2" : "webgl";
360
+ props.max_texture_size = gl.getParameter(gl.MAX_TEXTURE_SIZE);
361
+ if (isWebGL2)
362
+ props.max_samples = gl.getParameter(gl.MAX_SAMPLES);
363
+ const formats = [];
364
+ if (gl.getExtension("WEBGL_compressed_texture_astc"))
365
+ formats.push("astc");
366
+ if (gl.getExtension("WEBGL_compressed_texture_etc"))
367
+ formats.push("etc");
368
+ if (gl.getExtension("WEBGL_compressed_texture_s3tc"))
369
+ formats.push("s3tc");
370
+ if (gl.getExtension("WEBGL_compressed_texture_pvrtc"))
371
+ formats.push("pvrtc");
372
+ if (formats.length)
373
+ props.compression = formats.join(",");
374
+ }
375
+ }
376
+ props.dpr = renderer.getPixelRatio();
377
+ props.is_mobile = DeviceUtilities.isMobileDevice();
378
+ if (typeof navigator !== "undefined") {
379
+ if (navigator.hardwareConcurrency)
380
+ props.cores = navigator.hardwareConcurrency;
381
+ const deviceMemory = navigator.deviceMemory;
382
+ if (typeof deviceMemory === "number")
383
+ props.device_memory = deviceMemory;
384
+ }
385
+ }
386
+ catch (err) {
387
+ // Capability probing must never break a load — telemetry is strictly best-effort.
388
+ if (debug)
389
+ console.warn("Telemetry: capability probe failed", err);
390
+ }
391
+ }
392
+ const _contextLossMonitored = new WeakSet();
393
+ /**
394
+ * Attaches WebGL context-loss / -restored listeners to the renderer canvas (once per canvas)
395
+ * and reports them. Context loss is a real-world GPU crash signal the engine had no visibility
396
+ * into before.
397
+ */
398
+ function attachContextLossMonitor(context) {
399
+ const canvas = context?.renderer?.domElement;
400
+ if (!canvas)
401
+ return;
402
+ if (_contextLossMonitored.has(canvas))
403
+ return;
404
+ _contextLossMonitored.add(canvas);
405
+ let lostAt = 0;
406
+ canvas.addEventListener("webglcontextlost", () => {
407
+ lostAt = performance.now();
408
+ sendEvent(context, "engine", {
409
+ action: "context_lost",
410
+ since_navigation_ms: Math.round(performance.now()),
411
+ during_xr: context?.isInXR === true,
412
+ });
413
+ });
414
+ canvas.addEventListener("webglcontextrestored", () => {
415
+ sendEvent(context, "engine", {
416
+ action: "context_restored",
417
+ downtime_ms: lostAt ? Math.round(performance.now() - lostAt) : undefined,
418
+ });
419
+ });
420
+ }
421
+ Telemetry.attachContextLossMonitor = attachContextLossMonitor;
422
+ const _perfMonitored = new WeakSet();
423
+ /**
424
+ * Accumulates a lightweight runtime performance summary (FPS, frame time, peak draw calls /
425
+ * triangles) and reports it once per foreground segment when the page becomes hidden.
426
+ *
427
+ * The per-frame work is intentionally allocation-free: it only reads scalars the engine and
428
+ * three.js already compute every frame (`time.deltaTimeUnscaled`, `renderer.info.render`) and
429
+ * folds them into running accumulators. No GL state is queried in the loop — querying GL state
430
+ * per frame would force a synchronous GPU-CPU stall.
431
+ *
432
+ * Skipped entirely when telemetry is opted out, so opted-out sessions pay zero overhead.
433
+ */
434
+ function attachPerformanceMonitor(context) {
435
+ if (!context)
436
+ return;
437
+ // requires a browser page lifecycle (visibilitychange) to know when to flush
438
+ if (typeof document === "undefined")
439
+ return;
440
+ if (_perfMonitored.has(context))
441
+ return;
442
+ // respect the opt-out at attach time → no per-frame work at all for opted-out sessions
443
+ if (!isAllowed(context))
444
+ return;
445
+ _perfMonitored.add(context);
446
+ let frames = 0;
447
+ let sumMs = 0;
448
+ let maxDt = 0; // worst (longest) frame in seconds → drives min_fps / max_frame_ms
449
+ let peakCalls = 0;
450
+ let peakTriangles = 0;
451
+ // Hot path: runs every rendered frame. Scalar-only — no allocations, no GL queries.
452
+ // deltaTimeUnscaled is already clamped to <=100ms upstream, so a backgrounded tab can't
453
+ // inflate the worst-frame figure.
454
+ const sample = () => {
455
+ const dt = context.time.deltaTimeUnscaled;
456
+ if (dt <= 0)
457
+ return;
458
+ frames++;
459
+ sumMs += dt * 1000;
460
+ if (dt > maxDt)
461
+ maxDt = dt;
462
+ const render = context.renderer?.info?.render;
463
+ if (render) {
464
+ if (render.calls > peakCalls)
465
+ peakCalls = render.calls;
466
+ if (render.triangles > peakTriangles)
467
+ peakTriangles = render.triangles;
468
+ }
469
+ };
470
+ context.post_render_callbacks.push(sample);
471
+ const reset = () => { frames = 0; sumMs = 0; maxDt = 0; peakCalls = 0; peakTriangles = 0; };
472
+ const flush = () => {
473
+ if (frames <= 0)
474
+ return;
475
+ sendEvent(context, "engine", {
476
+ action: "performance",
477
+ frames,
478
+ duration_ms: Math.round(sumMs),
479
+ avg_fps: Math.round((1000 * frames) / sumMs),
480
+ min_fps: maxDt > 0 ? Math.round(1 / maxDt) : 0,
481
+ avg_frame_ms: Math.round((sumMs / frames) * 10) / 10,
482
+ max_frame_ms: Math.round(maxDt * 1000 * 10) / 10,
483
+ peak_draw_calls: peakCalls,
484
+ peak_triangles: peakTriangles,
485
+ });
486
+ reset();
487
+ };
488
+ // visibilitychange→hidden is the last reliably-fired lifecycle event on mobile; pagehide is
489
+ // a desktop backup. Flushing per hidden transition keeps payloads tiny and survives bfcache.
490
+ const onVisibility = () => { if (document.visibilityState === "hidden")
491
+ flush(); };
492
+ document.addEventListener("visibilitychange", onVisibility);
493
+ window.addEventListener("pagehide", flush);
494
+ // Clean up listeners + the per-frame callback when this context is destroyed (avoids leaks).
495
+ const unregisterDestroyed = ContextRegistry.registerCallback(ContextEvent.ContextDestroyed, evt => {
496
+ if (evt.context !== context)
497
+ return;
498
+ flush();
499
+ document.removeEventListener("visibilitychange", onVisibility);
500
+ window.removeEventListener("pagehide", flush);
501
+ const idx = context.post_render_callbacks.indexOf(sample);
502
+ if (idx >= 0)
503
+ context.post_render_callbacks.splice(idx, 1);
504
+ _perfMonitored.delete(context);
505
+ unregisterDestroyed();
506
+ });
507
+ }
508
+ Telemetry.attachPerformanceMonitor = attachPerformanceMonitor;
315
509
  function doFetch(body) {
316
510
  try {
317
511
  const url = "https://needle.tools/api/v1/rum/t";
@@ -340,30 +534,35 @@ export var Telemetry;
340
534
  return Promise.resolve();
341
535
  }
342
536
  })(Telemetry || (Telemetry = {}));
343
- export function _KGv() {
344
- if (__cOctKuk === "")
345
- __cOctKuk = "basic";
537
+ export function __NjkWq() {
538
+ if (__UoF === "")
539
+ __UoF = "basic";
346
540
  // Start JWT verification — must be here (not top-level) to avoid tree-shaking
347
- _jwtVerificationPromise = _$DyIqexB();
541
+ _jwtVerificationPromise = _mGi();
348
542
  Telemetry.init();
349
543
  ContextRegistry.registerCallback(ContextEvent.ContextRegistered, evt => {
350
- zOvk(evt.context);
351
- $QEbT(evt.context);
352
- setTimeout(() => __YfC(evt.context), 2000);
544
+ __BvDhlt(evt.context);
545
+ __CYPgY(evt.context);
546
+ setTimeout(() => _$xMafOx(evt.context), 2000);
547
+ });
548
+ // ContextCreated fires after the renderer exists, so the canvas is available for context-loss monitoring
549
+ ContextRegistry.registerCallback(ContextEvent.ContextCreated, evt => {
550
+ Telemetry.attachContextLossMonitor(evt.context);
551
+ Telemetry.attachPerformanceMonitor(evt.context);
353
552
  });
354
553
  }
355
- export let __gpBcwS = undefined;
554
+ export let xWfUNf = undefined;
356
555
  let applicationIsForbidden = false;
357
556
  let applicationForbiddenText = "";
358
- async function $nsBUUjAp() {
557
+ async function jfCsRiC() {
359
558
  // Only perform the runtime license check once
360
- if (__gpBcwS)
361
- return __gpBcwS;
559
+ if (xWfUNf)
560
+ return xWfUNf;
362
561
  // Wait for JWT verification to complete first (if running)
363
562
  if (_jwtVerificationPromise) {
364
563
  await _jwtVerificationPromise;
365
564
  }
366
- if (__cOctKuk === "basic") {
565
+ if (__UoF === "basic") {
367
566
  try {
368
567
  const licenseUrl = "https://needle.tools/api/v1/needle-engine/check?location=" + encodeURIComponent(window.location.href) + "&version=" + VERSION + "&generator=" + encodeURIComponent(GENERATOR);
369
568
  const res = await fetch(licenseUrl, {
@@ -377,31 +576,31 @@ async function $nsBUUjAp() {
377
576
  applicationIsForbidden = false;
378
577
  if (debug)
379
578
  console.log("License check succeeded");
380
- __cOctKuk = "pro";
381
- $hVWu(true);
579
+ __UoF = "pro";
580
+ _$OGB(true);
382
581
  }
383
582
  else if (res?.status === 403) {
384
- $hVWu(false);
583
+ _$OGB(false);
385
584
  applicationIsForbidden = true;
386
585
  applicationForbiddenText = await res.text();
387
586
  }
388
587
  else {
389
- $hVWu(false);
588
+ _$OGB(false);
390
589
  if (debug)
391
590
  console.log("License check failed with status " + res?.status);
392
591
  }
393
592
  }
394
593
  catch (err) {
395
- $hVWu(false);
594
+ _$OGB(false);
396
595
  if (debug)
397
596
  console.error("License check failed", err);
398
597
  }
399
598
  }
400
599
  else if (debug)
401
- console.log("Runtime license check is skipped because license is already applied as \"" + __cOctKuk + "\"");
600
+ console.log("Runtime license check is skipped because license is already applied as \"" + __UoF + "\"");
402
601
  }
403
- __gpBcwS = $nsBUUjAp();
404
- async function $QEbT(ctx) {
602
+ xWfUNf = jfCsRiC();
603
+ async function __CYPgY(ctx) {
405
604
  function createForbiddenElement() {
406
605
  const div = document.createElement("div");
407
606
  div.className = "needle-forbidden";
@@ -469,43 +668,43 @@ async function $QEbT(ctx) {
469
668
  }
470
669
  }, 500);
471
670
  }
472
- async function zOvk(ctx) {
671
+ async function __BvDhlt(ctx) {
473
672
  try {
474
- if (!__dSkNu() && !$uRk()) {
475
- return _kSwtWJd(ctx);
673
+ if (!_hyjgv() && !_$apSvAt()) {
674
+ return _HlRd(ctx);
476
675
  }
477
676
  }
478
677
  catch (err) {
479
678
  if (debug)
480
679
  console.log("License check failed", err);
481
- return _kSwtWJd(ctx);
680
+ return _HlRd(ctx);
482
681
  }
483
682
  if (debug)
484
- _kSwtWJd(ctx);
683
+ _HlRd(ctx);
485
684
  }
486
- async function _kSwtWJd(ctx) {
685
+ async function _HlRd(ctx) {
487
686
  // if the engine loads faster than the license check, we need to capture the ready event here
488
687
  let isReady = false;
489
688
  ctx.domElement.addEventListener("ready", () => isReady = true);
490
- await __gpBcwS?.catch(() => { });
491
- if (__dSkNu() || $uRk())
689
+ await xWfUNf?.catch(() => { });
690
+ if (_hyjgv() || _$apSvAt())
492
691
  return;
493
- if ($Mhcqc() === false)
494
- _$xDkZm();
692
+ if (Jkdun() === false)
693
+ IUY();
495
694
  // check if the engine is already ready (meaning has finished loading)
496
695
  if (isReady) {
497
- $Vzv(ctx);
696
+ bdcF(ctx);
498
697
  }
499
698
  else {
500
699
  ctx.domElement.addEventListener("ready", () => {
501
- $Vzv(ctx);
700
+ bdcF(ctx);
502
701
  });
503
702
  }
504
703
  }
505
704
  // const licenseElementIdentifier = "needle-license-element";
506
705
  // const licenseDuration = 10000;
507
706
  // const licenseDelay = 1200;
508
- function $Vzv(ctx) {
707
+ function bdcF(ctx) {
509
708
  const style = `
510
709
  position: relative;
511
710
  display: block;
@@ -517,7 +716,7 @@ function $Vzv(ctx) {
517
716
  padding: 10px;
518
717
  padding-left: 30px;
519
718
  `;
520
- if (__cOctKuk === "edu") {
719
+ if (__UoF === "edu") {
521
720
  if (navigator.webdriver) {
522
721
  console.log("This project is supported by Needle for Education – https://needle.tools");
523
722
  }
@@ -571,7 +770,7 @@ function $Vzv(ctx) {
571
770
  expectedBannerStyle = banner.style.cssText;
572
771
  }
573
772
  }, 1000);
574
- if (_ndIg()) {
773
+ if (_KXivjkV()) {
575
774
  const removeDelay = 20_000;
576
775
  setTimeout(() => {
577
776
  clearInterval(interval);
@@ -580,14 +779,14 @@ function $Vzv(ctx) {
580
779
  const intervalInMinutes = 5;
581
780
  setTimeout(() => {
582
781
  if (ctx.domElement.parentNode)
583
- $Vzv(ctx);
782
+ bdcF(ctx);
584
783
  }, 1000 * 60 * intervalInMinutes);
585
784
  }, removeDelay);
586
785
  }
587
786
  }
588
787
  const base64Logo = "data:image/webp;base64,UklGRrABAABXRUJQVlA4WAoAAAAQAAAAHwAAHwAAQUxQSKEAAAARN6CmbSM4WR7vdARON11EBDq3fLiNbVtVzpMCPlKAEzsx0Y/x+Ovuv4dn0EFE/ydAvz6YggXzgh5sVgXM/zOC/4sii7qgGvB5N7hmuQYwkvazWAu1JPW41FXSHq6pnaQWvqYH18Fc0j1hO/BFTtIeSBlJi5w6qIIO7IOrwhFsB2Yxukif0FTRLpXswHR8MxbslKe9VZsn/Ub5C7YFOpqSTABWUDgg6AAAAFAGAJ0BKiAAIAA+7VyoTqmkpCI3+qgBMB2JbACdMt69DwMIQBLhkTO6XwY00UEDK6cNIDnuNibPf0EgAP7Y1myuiQHLDsF/0h5unrGh6WAbv7aegg2ZMd3uRKfT/3SJztcaujYfTvMXspfCTmYcoO6a+vhC3ss4M8uM58t4siiu59I4aOl59e9Sr6xoxYlHf2v+NnBNpJYeJf8jABQAId/PXuBkLEFkiCucgSGEcfhvajql/j3reCGl0M5/9gQWy7ayNPs+wlvIxFnNfSlfuND4CZOCyxOHhRqOmHN4ULHo3tCSrUNvgAA=";
589
788
  let lastLogTime = 0;
590
- async function _$xDkZm(_logo) {
789
+ async function IUY(_logo) {
591
790
  const now = Date.now();
592
791
  if (now - lastLogTime < 2000)
593
792
  return;
@@ -619,7 +818,7 @@ async function _$xDkZm(_logo) {
619
818
  console.log("%c " + licenseText, style);
620
819
  }
621
820
  }
622
- async function __YfC(context) {
821
+ async function _$xMafOx(context) {
623
822
  // We can't send beacons from cross-origin isolated pages
624
823
  if (window.crossOriginIsolated)
625
824
  return;
@@ -633,7 +832,7 @@ async function __YfC(context) {
633
832
  if (analyticsUrl) {
634
833
  // current url without query parameters
635
834
  const currentUrl = window.location.href.split("?")[0];
636
- const license = __cOctKuk;
835
+ const license = __UoF;
637
836
  const beaconData = {
638
837
  license,
639
838
  url: currentUrl,
@@ -1 +1 @@
1
- {"version":3,"file":"engine_license.js","sourceRoot":"","sources":["../../src/engine/engine_license.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"engine_license.js","sourceRoot":"","sources":["../../src/engine/engine_license.ts"],"names":[],"mappings":"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"}