@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.
- package/CHANGELOG.md +6 -0
- package/dist/{needle-engine.bundle-Dv-p5m4z.js → needle-engine.bundle-BAUfRyBA.js} +2861 -2708
- package/dist/{needle-engine.bundle-Cb39lTJn.umd.cjs → needle-engine.bundle-BL2wG5Te.umd.cjs} +101 -101
- package/dist/{needle-engine.bundle-BUT4ua7U.min.js → needle-engine.bundle-BpNRkY3s.min.js} +148 -148
- package/dist/needle-engine.d.ts +18 -6
- package/dist/needle-engine.js +401 -401
- package/dist/needle-engine.min.js +1 -1
- package/dist/needle-engine.umd.cjs +1 -1
- package/lib/engine/api.d.ts +1 -1
- package/lib/engine/api.js +1 -1
- package/lib/engine/api.js.map +1 -1
- package/lib/engine/engine_init.js +2 -2
- package/lib/engine/engine_init.js.map +1 -1
- package/lib/engine/engine_license.d.ts +45 -7
- package/lib/engine/engine_license.js +276 -77
- package/lib/engine/engine_license.js.map +1 -1
- package/lib/engine/engine_networking.js +6 -0
- package/lib/engine/engine_networking.js.map +1 -1
- package/lib/engine/engine_networking_blob.js +3 -3
- package/lib/engine/engine_networking_blob.js.map +1 -1
- package/lib/engine/engine_utils_qrcode.js +2 -2
- package/lib/engine/engine_utils_qrcode.js.map +1 -1
- package/lib/engine/webcomponents/needle menu/needle-menu-spatial.js +2 -2
- package/lib/engine/webcomponents/needle menu/needle-menu-spatial.js.map +1 -1
- package/lib/engine/webcomponents/needle menu/needle-menu.js +5 -5
- package/lib/engine/webcomponents/needle menu/needle-menu.js.map +1 -1
- package/lib/engine/webcomponents/needle-engine.js +31 -2
- package/lib/engine/webcomponents/needle-engine.js.map +1 -1
- package/lib/engine/webcomponents/needle-engine.loading.js +2 -2
- package/lib/engine/webcomponents/needle-engine.loading.js.map +1 -1
- package/lib/engine/xr/NeedleXRSync.js +23 -4
- package/lib/engine/xr/NeedleXRSync.js.map +1 -1
- package/lib/engine/xr/TempXRContext.js +2 -2
- package/lib/engine/xr/TempXRContext.js.map +1 -1
- package/lib/engine-components/SyncedTransform.d.ts +5 -1
- package/lib/engine-components/SyncedTransform.js +45 -8
- package/lib/engine-components/SyncedTransform.js.map +1 -1
- package/lib/engine-components/export/usdz/USDZExporter.js +4 -4
- package/lib/engine-components/export/usdz/USDZExporter.js.map +1 -1
- package/lib/engine-components/webxr/Avatar.d.ts +8 -0
- package/lib/engine-components/webxr/Avatar.js +60 -32
- package/lib/engine-components/webxr/Avatar.js.map +1 -1
- package/lib/engine-schemes/synced-transform-model.d.ts +2 -0
- package/lib/engine-schemes/synced-transform-model.js +8 -1
- package/lib/engine-schemes/synced-transform-model.js.map +1 -1
- package/package.json +1 -1
- package/plugins/common/license.js +4 -4
- package/plugins/types/userconfig.d.ts +4 -3
- package/plugins/vite/build-pipeline.d.ts +3 -1
- package/plugins/vite/build-pipeline.js +19 -9
- package/plugins/vite/license.js +4 -4
- package/src/engine/api.ts +1 -1
- package/src/engine/engine_init.ts +2 -2
- package/src/engine/engine_license.ts +263 -73
- package/src/engine/engine_networking.ts +5 -0
- package/src/engine/engine_networking_blob.ts +3 -3
- package/src/engine/engine_utils_qrcode.ts +2 -2
- package/src/engine/webcomponents/needle menu/needle-menu-spatial.ts +2 -2
- package/src/engine/webcomponents/needle menu/needle-menu.ts +5 -5
- package/src/engine/webcomponents/needle-engine.loading.ts +6 -6
- package/src/engine/webcomponents/needle-engine.ts +31 -2
- package/src/engine/xr/NeedleXRSync.ts +24 -4
- package/src/engine/xr/TempXRContext.ts +2 -2
- package/src/engine-components/SyncedTransform.ts +49 -10
- package/src/engine-components/export/usdz/USDZExporter.ts +4 -4
- package/src/engine-components/webxr/Avatar.ts +60 -33
- package/src/engine-schemes/synced-transform-model.ts +10 -1
- 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
|
|
9
|
+
const _MYuNVg = [];
|
|
10
10
|
// DO NOT EDIT MANUALLY
|
|
11
|
-
let
|
|
11
|
+
let __UoF = "";
|
|
12
12
|
// eslint-disable-next-line prefer-const
|
|
13
|
-
let
|
|
13
|
+
let _nMW = "";
|
|
14
14
|
if (debug) {
|
|
15
|
-
console.log("License Type: " +
|
|
16
|
-
if (
|
|
17
|
-
console.log("License JWT: " +
|
|
15
|
+
console.log("License Type: " + __UoF);
|
|
16
|
+
if (_nMW) {
|
|
17
|
+
console.log("License JWT: " + _nMW);
|
|
18
18
|
try {
|
|
19
|
-
const payload = JSON.parse(atob(
|
|
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
|
|
32
|
-
switch (
|
|
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 $
|
|
42
|
-
switch (
|
|
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
|
|
50
|
-
switch (
|
|
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
|
|
58
|
-
return
|
|
57
|
+
export function Jkdun() {
|
|
58
|
+
return _hyjgv() || _$apSvAt() || _KXivjkV();
|
|
59
59
|
}
|
|
60
60
|
/** @internal */
|
|
61
|
-
export function
|
|
62
|
-
if (
|
|
61
|
+
export function qWc(cb) {
|
|
62
|
+
if (_hyjgv() || _$apSvAt() || _KXivjkV())
|
|
63
63
|
return cb(true);
|
|
64
|
-
|
|
64
|
+
_MYuNVg.push(cb);
|
|
65
65
|
}
|
|
66
|
-
function $
|
|
67
|
-
for (const cb of
|
|
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 $
|
|
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
|
|
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", $
|
|
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
|
|
157
|
+
* The engine ONLY trusts the JWT — the plain __UoF string is ignored. */
|
|
158
158
|
let _jwtVerificationPromise = undefined;
|
|
159
|
-
async function
|
|
160
|
-
// NOTE: do NOT add an `if (
|
|
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 =
|
|
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
|
-
|
|
167
|
-
const verifiedType = await
|
|
166
|
+
_nMW = "";
|
|
167
|
+
const verifiedType = await _fAd(jwt);
|
|
168
168
|
if (verifiedType) {
|
|
169
|
-
|
|
169
|
+
__UoF = verifiedType;
|
|
170
170
|
if (debug)
|
|
171
171
|
console.log("License type set from verified JWT: " + verifiedType);
|
|
172
|
-
$
|
|
172
|
+
_$OGB(Jkdun());
|
|
173
173
|
}
|
|
174
174
|
else {
|
|
175
|
-
|
|
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 (
|
|
247
|
-
|
|
248
|
-
|
|
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
|
|
344
|
-
if (
|
|
345
|
-
|
|
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 =
|
|
541
|
+
_jwtVerificationPromise = _mGi();
|
|
348
542
|
Telemetry.init();
|
|
349
543
|
ContextRegistry.registerCallback(ContextEvent.ContextRegistered, evt => {
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
setTimeout(() =>
|
|
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
|
|
554
|
+
export let xWfUNf = undefined;
|
|
356
555
|
let applicationIsForbidden = false;
|
|
357
556
|
let applicationForbiddenText = "";
|
|
358
|
-
async function
|
|
557
|
+
async function jfCsRiC() {
|
|
359
558
|
// Only perform the runtime license check once
|
|
360
|
-
if (
|
|
361
|
-
return
|
|
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 (
|
|
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
|
-
|
|
381
|
-
$
|
|
579
|
+
__UoF = "pro";
|
|
580
|
+
_$OGB(true);
|
|
382
581
|
}
|
|
383
582
|
else if (res?.status === 403) {
|
|
384
|
-
$
|
|
583
|
+
_$OGB(false);
|
|
385
584
|
applicationIsForbidden = true;
|
|
386
585
|
applicationForbiddenText = await res.text();
|
|
387
586
|
}
|
|
388
587
|
else {
|
|
389
|
-
$
|
|
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
|
-
$
|
|
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 \"" +
|
|
600
|
+
console.log("Runtime license check is skipped because license is already applied as \"" + __UoF + "\"");
|
|
402
601
|
}
|
|
403
|
-
|
|
404
|
-
async function
|
|
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
|
|
671
|
+
async function __BvDhlt(ctx) {
|
|
473
672
|
try {
|
|
474
|
-
if (!
|
|
475
|
-
return
|
|
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
|
|
680
|
+
return _HlRd(ctx);
|
|
482
681
|
}
|
|
483
682
|
if (debug)
|
|
484
|
-
|
|
683
|
+
_HlRd(ctx);
|
|
485
684
|
}
|
|
486
|
-
async function
|
|
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
|
|
491
|
-
if (
|
|
689
|
+
await xWfUNf?.catch(() => { });
|
|
690
|
+
if (_hyjgv() || _$apSvAt())
|
|
492
691
|
return;
|
|
493
|
-
if (
|
|
494
|
-
|
|
692
|
+
if (Jkdun() === false)
|
|
693
|
+
IUY();
|
|
495
694
|
// check if the engine is already ready (meaning has finished loading)
|
|
496
695
|
if (isReady) {
|
|
497
|
-
|
|
696
|
+
bdcF(ctx);
|
|
498
697
|
}
|
|
499
698
|
else {
|
|
500
699
|
ctx.domElement.addEventListener("ready", () => {
|
|
501
|
-
|
|
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
|
|
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 (
|
|
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 (
|
|
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
|
-
|
|
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
|
|
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
|
|
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 =
|
|
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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"}
|