@needle-tools/engine 4.8.2-next.f60a325 → 4.8.3-next.106dc4b
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 +5 -0
- package/dist/{gltf-progressive-B--ZfCTJ.min.js → gltf-progressive-DLhfUtEV.min.js} +1 -1
- package/dist/{gltf-progressive-Do1XJNMG.js → gltf-progressive-DVx_cW0s.js} +1 -5
- package/dist/{needle-engine.bundle-D8-9woI_.umd.cjs → needle-engine.bundle-CS0KpoXy.umd.cjs} +35 -25
- package/dist/{needle-engine.bundle-BX9NZ5lg.min.js → needle-engine.bundle-D48x8WMx.min.js} +42 -32
- package/dist/{needle-engine.bundle-ClHmG8SZ.js → needle-engine.bundle-XSFxeb08.js} +219 -201
- package/dist/needle-engine.d.ts +15 -15
- package/dist/needle-engine.js +3 -3
- package/dist/needle-engine.min.js +1 -1
- package/dist/needle-engine.umd.cjs +1 -1
- package/dist/{vendor-CGONwIc0.js → vendor-B_ytQUuR.js} +6 -6
- package/dist/{vendor-BlSxe9JJ.min.js → vendor-C31T0mYm.min.js} +2 -2
- package/dist/{vendor-Cty8Dnri.umd.cjs → vendor-D51IT5ns.umd.cjs} +9 -9
- package/lib/engine/engine_context.d.ts +2 -0
- package/lib/engine/engine_context.js +9 -9
- package/lib/engine/engine_context.js.map +1 -1
- package/lib/engine/engine_networking_streams.js +13 -2
- package/lib/engine/engine_networking_streams.js.map +1 -1
- package/lib/engine/webcomponents/buttons.js +6 -2
- package/lib/engine/webcomponents/buttons.js.map +1 -1
- package/lib/engine/webcomponents/needle menu/needle-menu.js +10 -0
- package/lib/engine/webcomponents/needle menu/needle-menu.js.map +1 -1
- package/lib/engine-components/OrbitControls.d.ts +1 -0
- package/lib/engine-components/OrbitControls.js +6 -0
- package/lib/engine-components/OrbitControls.js.map +1 -1
- package/package.json +2 -2
- package/plugins/vite/peer.js +60 -2
- package/plugins/vite/poster-client.js +35 -51
- package/plugins/vite/poster.js +2 -3
- package/src/engine/engine_context.ts +10 -9
- package/src/engine/engine_networking_streams.ts +17 -8
- package/src/engine/webcomponents/buttons.ts +6 -2
- package/src/engine/webcomponents/needle menu/needle-menu.ts +10 -0
- package/src/engine-components/OrbitControls.ts +5 -0
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { Vector2 as J, Vector3 as b, Vector4 as de, Quaternion as $, PlaneGeometry as Nn, WebGLRenderer as dr, PerspectiveCamera as pe, OrthographicCamera as Md, Scene as bi, Mesh as H, Texture as Te, Uniform$1 as Ui, Color as se, ShaderMaterial as jn, Box3 as yi, ShadowMaterial as ab, Euler as Tt, MeshStandardMaterial as ct, Box3Helper as qw, GridHelper as rm, Object3D as M, Material as _e, Matrix3 as lb, Matrix4 as te, Layers as lo, Ray as co, MathUtils as gs, AxesHelper as _i, MeshBasicMaterial as we, DoubleSide as vi, BufferGeometry as In, Group as no, CylinderGeometry as cb, SphereGeometry as Rd, BoxGeometry as la, SpriteMaterial as Xw, Sprite as Qw, Shape as Yw, ExtrudeGeometry as Kw, Fog as hb, DirectionalLight as Zf, PointLight as am, EdgesGeometry as Zw, LineSegments as db, LineBasicMaterial as ub, Line as Zl, BufferAttribute as ht, Raycaster as Td, Sphere as Ed, ArrayCamera as Jw, Plane as ir, SkinnedMesh as ys, InterleavedBufferAttribute as fb, Skeleton as ex, Bone as tx, Source as ix, WebGLCubeRenderTarget as nx, CubeCamera as sx, AnimationClip as so, FileLoader as lm, TextureLoader as Qr, PropertyBinding as ca, LinearSRGBColorSpace as Ss, ShaderChunk as Vt, UniformsLib as ox, DataTexture as cm, RGBAFormat as Ad, EquirectangularReflectionMapping as _s, SRGBColorSpace as Cs, Clock as rx, NeutralToneMapping as ha, AgXToneMapping as Id, ACESFilmicToneMapping as Ld, NoToneMapping as Vh, PCFSoftShadowMap$1 as ax, BasicNodeLibrary as lx, WebGLRenderTarget as Bn, DepthTexture as pb, NearestFilter as Hh, LoopRepeat as cx, LoopOnce as Jf, AnimationMixer as hm, CompressedTexture as hx, FrontSide as ho, Camera as dx, Frustum as Gg, AudioListener as ux, PositionalAudio as fx, AudioLoader as ep, EventDispatcher as dm, BackSide as Dd, MeshDepthMaterial as px, CustomBlending as mx, MaxEquation as gx, AmbientLight as yx, HemisphereLight as _x, AlwaysStencilFunc as bx, GreaterEqualStencilFunc as vx, NotEqualStencilFunc as wx, GreaterStencilFunc as xx, LessEqualStencilFunc as Sx, EqualStencilFunc as Cx, LessStencilFunc as Px, NeverStencilFunc as qg, InvertStencilOp as Ox, DecrementWrapStencilOp as kx, IncrementWrapStencilOp as Mx, DecrementStencilOp as Rx, IncrementStencilOp as Tx, ReplaceStencilOp as Ex, ZeroStencilOp as Ax, KeepStencilOp as Ix, RawShaderMaterial as mb, GLSL3 as Lx, AlwaysDepth as Dx, GreaterEqualDepth as jx, GreaterDepth as Bx, LessEqualDepth as Fx, LessDepth as zx, NotEqualDepth as Ux, EqualDepth as Nx, BatchedMesh as Xg, MeshPhysicalMaterial as tp, LinearFilter as Gh, UnsignedByteType as $x, RingGeometry as Wx, Line3 as Vx, AdditiveBlending as gb, BoxHelper as Hx, SpotLight as Gx, DirectionalLightHelper as qx, CameraHelper as Xx, LOD as Qx, Triangle as Yx, NormalBlending as Kx, ReinhardToneMapping as um, LinearToneMapping as fm, HalfFloatType as Nu, VideoTexture as Zx, CubeTexture as Jx, CompressedCubeTexture as eS, EquirectangularRefractionMapping as tS, VectorKeyframeTrack as iS, QuaternionKeyframeTrack as nS, Audio as sS, ShaderLib as qh, UniformsUtils as yb, MirroredRepeatWrapping as Qg, MeshNormalMaterial as oS, AudioContext as rS, PMREMGenerator$1 as aS } from "./three-DrqIzZTH.js";
|
|
2
|
-
import { createLoaders as pm, getRaycastMesh as _b, LODsManager as Io, NEEDLE_progressive as We, addDracoAndKTX2Loaders as lS, configureLoader as cS, setKTX2TranscoderLocation as hS, setDracoDecoderLocation as dS } from "./gltf-progressive-
|
|
2
|
+
import { createLoaders as pm, getRaycastMesh as _b, LODsManager as Io, NEEDLE_progressive as We, addDracoAndKTX2Loaders as lS, configureLoader as cS, setKTX2TranscoderLocation as hS, setDracoDecoderLocation as dS } from "./gltf-progressive-DVx_cW0s.js";
|
|
3
3
|
import { GroundedSkybox as da, Font as uS, TextGeometry as fS, FontLoader as pS, GLTFLoader as Ps, TransformControlsGizmo as bb, EXRLoader as Xh, RGBELoader as ip, Stats as mS, nodeFrame as gS, OrbitControls as vb, PositionalAudioHelper as yS, HorizontalBlurShader as _S, VerticalBlurShader as bS, GLTFExporter as wb, strToU8 as xb, zipSync as vS, XRControllerModelFactory as wS, XRHandMeshModel as xS, Line2 as SS, LineGeometry as CS, LineMaterial as PS, KTX2Loader as OS, TransformControls as kS, InteractiveGroup as MS, HTMLMesh as RS, VertexNormalsHelper as TS, OBJLoader as mm, FBXLoader as Sb, mergeVertices as ES } from "./three-examples-BIuXQPSf.js";
|
|
4
|
-
import { fetchProfile as AS, MotionController as IS, $70d766613f57b014$export$2e2bcd8739ae039 as Yg, ByteBuffer as LS, v5 as Kg, md5 as Zg, SIZE_PREFIX_LENGTH as Cb, Builder as gm, createNoise4D as DS, Matrix4 as $u, BatchedParticleRenderer as jS, ParticleSystem as BS, RenderMode as as, ConstantColor as FS, Vector4 as zS, ConstantValue as US, TrailParticle as Jg, WorkerBase as NS, MeshBVH as $S } from "./vendor-
|
|
4
|
+
import { fetchProfile as AS, MotionController as IS, $70d766613f57b014$export$2e2bcd8739ae039 as Yg, ByteBuffer as LS, v5 as Kg, md5 as Zg, SIZE_PREFIX_LENGTH as Cb, Builder as gm, createNoise4D as DS, Matrix4 as $u, BatchedParticleRenderer as jS, ParticleSystem as BS, RenderMode as as, ConstantColor as FS, Vector4 as zS, ConstantValue as US, TrailParticle as Jg, WorkerBase as NS, MeshBVH as $S } from "./vendor-B_ytQUuR.js";
|
|
5
5
|
import { __webpack_exports__default as Ce, __webpack_exports__Text as Pb, __webpack_exports__Block as Ob, __webpack_exports__update as WS, SimpleStateBehavior as VS, __webpack_exports__Inline as Wu, __webpack_exports__FontLibrary as ey, ThreeMeshUI as ty } from "./three-mesh-ui-D6Mz5Yl7.js";
|
|
6
6
|
import { EffectAttribute as HS } from "./postprocessing-DddlM3CK.js";
|
|
7
7
|
const Vu = /* @__PURE__ */ new Map();
|
|
@@ -1582,14 +1582,14 @@ function Wb(s, ...e) {
|
|
|
1582
1582
|
}
|
|
1583
1583
|
}
|
|
1584
1584
|
const GC = w("nodevlogs");
|
|
1585
|
-
function
|
|
1585
|
+
function Be(s, e = Ni.Log) {
|
|
1586
1586
|
kn(e, s);
|
|
1587
1587
|
}
|
|
1588
1588
|
function me(s) {
|
|
1589
|
-
|
|
1589
|
+
Be(s, Ni.Warn);
|
|
1590
1590
|
}
|
|
1591
1591
|
function Nd(s) {
|
|
1592
|
-
|
|
1592
|
+
Be(s, Ni.Error);
|
|
1593
1593
|
}
|
|
1594
1594
|
let cp, Yu;
|
|
1595
1595
|
function L() {
|
|
@@ -1785,11 +1785,11 @@ po('if(!globalThis["NEEDLE_ENGINE_VERSION"]) globalThis["NEEDLE_ENGINE_VERSION"]
|
|
|
1785
1785
|
po('if(!globalThis["NEEDLE_ENGINE_GENERATOR"]) globalThis["NEEDLE_ENGINE_GENERATOR"] = "unknown";');
|
|
1786
1786
|
po('if(!globalThis["NEEDLE_PROJECT_BUILD_TIME"]) globalThis["NEEDLE_PROJECT_BUILD_TIME"] = "unknown";');
|
|
1787
1787
|
po('if(!globalThis["NEEDLE_PUBLIC_KEY"]) globalThis["NEEDLE_PUBLIC_KEY"] = "unknown";');
|
|
1788
|
-
po('globalThis["__NEEDLE_ENGINE_VERSION__"] = "4.8.
|
|
1788
|
+
po('globalThis["__NEEDLE_ENGINE_VERSION__"] = "4.8.3";');
|
|
1789
1789
|
po('globalThis["__NEEDLE_ENGINE_GENERATOR__"] = "undefined";');
|
|
1790
|
-
po('globalThis["__NEEDLE_PROJECT_BUILD_TIME__"] = "
|
|
1790
|
+
po('globalThis["__NEEDLE_PROJECT_BUILD_TIME__"] = "Mon Aug 18 2025 14:21:29 GMT+0000 (Coordinated Universal Time)";');
|
|
1791
1791
|
po('globalThis["__NEEDLE_PUBLIC_KEY__"] = "' + NEEDLE_PUBLIC_KEY + '";');
|
|
1792
|
-
const Ln = "4.8.
|
|
1792
|
+
const Ln = "4.8.3", wm = "undefined", Qb = "Mon Aug 18 2025 14:21:29 GMT+0000 (Coordinated Universal Time)";
|
|
1793
1793
|
Xb && console.log(`Engine version: ${Ln} (generator: ${wm})
|
|
1794
1794
|
Project built at ${Qb}`);
|
|
1795
1795
|
const vl = NEEDLE_PUBLIC_KEY, ro = "needle_isActiveInHierarchy", jr = "builtin_components", Oh = "needle_editor_guid";
|
|
@@ -1911,7 +1911,7 @@ function o1(s) {
|
|
|
1911
1911
|
pa[e](s);
|
|
1912
1912
|
}
|
|
1913
1913
|
const tt = w("debuginput");
|
|
1914
|
-
var Pm = /* @__PURE__ */ ((s) => (s.Mouse = "mouse", s.Touch = "touch", s.Controller = "controller", s.Hand = "hand", s))(Pm || {}),
|
|
1914
|
+
var Pm = /* @__PURE__ */ ((s) => (s.Mouse = "mouse", s.Touch = "touch", s.Controller = "controller", s.Hand = "hand", s))(Pm || {}), De = /* @__PURE__ */ ((s) => (s.PointerDown = "pointerdown", s.PointerUp = "pointerup", s.PointerMove = "pointermove", s.KeyDown = "keydown", s.KeyUp = "keyup", s.KeyPressed = "keypress", s))(De || {});
|
|
1915
1915
|
class Vs extends PointerEvent {
|
|
1916
1916
|
/**
|
|
1917
1917
|
* Spatial input data
|
|
@@ -2396,13 +2396,13 @@ class r1 {
|
|
|
2396
2396
|
createInputEvent(e) {
|
|
2397
2397
|
switch (e.type) {
|
|
2398
2398
|
case "pointerdown":
|
|
2399
|
-
tt &&
|
|
2399
|
+
tt && Be("Create Pointer down"), this.onDownButton(e.deviceIndex, e.button), this.onDown(e);
|
|
2400
2400
|
break;
|
|
2401
2401
|
case "pointermove":
|
|
2402
|
-
tt &&
|
|
2402
|
+
tt && Be("Create Pointer move"), this.onMove(e);
|
|
2403
2403
|
break;
|
|
2404
2404
|
case "pointerup":
|
|
2405
|
-
tt &&
|
|
2405
|
+
tt && Be("Create Pointer up"), this.onUp(e), this.onReleaseButton(e.deviceIndex, e.button);
|
|
2406
2406
|
break;
|
|
2407
2407
|
}
|
|
2408
2408
|
}
|
|
@@ -2496,7 +2496,7 @@ class r1 {
|
|
|
2496
2496
|
if (this.context.isInAR || this.canReceiveInput(e) === !1) return;
|
|
2497
2497
|
e.target instanceof HTMLElement && e.target.setPointerCapture(e.pointerId);
|
|
2498
2498
|
const t = this.getPointerId(e);
|
|
2499
|
-
tt &&
|
|
2499
|
+
tt && Be(`pointer down #${t}, identifier:${e.pointerId}`);
|
|
2500
2500
|
const i = this.getAndUpdateSpatialObjectForScreenPosition(t, e.clientX, e.clientY), n = new Vs("pointerdown", e, { origin: this, mode: "screen", deviceIndex: 0, pointerId: t, button: e.button, clientX: e.clientX, clientY: e.clientY, pointerType: e.pointerType, buttonName: this.getButtonName(e), device: i, pressure: e.pressure });
|
|
2501
2501
|
this.onDown(n);
|
|
2502
2502
|
};
|
|
@@ -3178,16 +3178,16 @@ Pinch: ${this.getGesture("pinch")?.value.toFixed(3)}`), n += `
|
|
|
3178
3178
|
if (!this.emitPointerDownEvent || this.inputSource !== e.inputSource) return;
|
|
3179
3179
|
this.onUpdateFrame(e.frame), this._hasSelectEvent = !0;
|
|
3180
3180
|
const t = this._layout?.selectComponentId, i = this._layout?.components[t]?.gamepadIndices?.button;
|
|
3181
|
-
i !== void 0 && (this._selectButtonIndex = i), !Xc && (Yn && F.DrawDirection(this.rayWorldPosition, G(0, 0.01, 1).applyQuaternion(this.rayWorldQuaternion), 16711680, 10), this.emitPointerEvent(
|
|
3181
|
+
i !== void 0 && (this._selectButtonIndex = i), !Xc && (Yn && F.DrawDirection(this.rayWorldPosition, G(0, 0.01, 1).applyQuaternion(this.rayWorldQuaternion), 16711680, 10), this.emitPointerEvent(De.PointerDown, this._selectButtonIndex || 0, "xr-standard-trigger", !0, e));
|
|
3182
3182
|
};
|
|
3183
3183
|
onSelectEnd = (e) => {
|
|
3184
|
-
this.emitPointerUpEvent && (Xc || this.inputSource === e.inputSource && this.emitPointerEvent(
|
|
3184
|
+
this.emitPointerUpEvent && (Xc || this.inputSource === e.inputSource && this.emitPointerEvent(De.PointerUp, this._selectButtonIndex || 0, "xr-standard-trigger", !0, e));
|
|
3185
3185
|
};
|
|
3186
3186
|
onSequeezeStart = (e) => {
|
|
3187
|
-
this.emitPointerDownEvent && this.inputSource === e.inputSource && (this._squeezeButtonIndex = this._layout?.components["xr-standard-squeeze"]?.gamepadIndices?.button, this._squeezeButtonIndex !== void 0 && (Yn && F.DrawDirection(this.rayWorldPosition, G(0, 0.01, 1).applyQuaternion(this.rayWorldQuaternion), 255, 10), this.emitPointerEvent(
|
|
3187
|
+
this.emitPointerDownEvent && this.inputSource === e.inputSource && (this._squeezeButtonIndex = this._layout?.components["xr-standard-squeeze"]?.gamepadIndices?.button, this._squeezeButtonIndex !== void 0 && (Yn && F.DrawDirection(this.rayWorldPosition, G(0, 0.01, 1).applyQuaternion(this.rayWorldQuaternion), 255, 10), this.emitPointerEvent(De.PointerDown, this._squeezeButtonIndex || 0, "xr-standard-squeeze", !0, e)));
|
|
3188
3188
|
};
|
|
3189
3189
|
onSequeezeEnd = (e) => {
|
|
3190
|
-
this.emitPointerUpEvent && this.inputSource === e.inputSource && this._squeezeButtonIndex !== void 0 && this.emitPointerEvent(
|
|
3190
|
+
this.emitPointerUpEvent && this.inputSource === e.inputSource && this._squeezeButtonIndex !== void 0 && this.emitPointerEvent(De.PointerUp, this._squeezeButtonIndex || 0, "xr-standard-squeeze", !0, e);
|
|
3191
3191
|
};
|
|
3192
3192
|
/** Index = button index */
|
|
3193
3193
|
states = {};
|
|
@@ -3252,7 +3252,7 @@ Pinch: ${this.getGesture("pinch")?.value.toFixed(3)}`), n += `
|
|
|
3252
3252
|
pointerInit;
|
|
3253
3253
|
emitPointerEvent(e, t, i, n, o = null, r) {
|
|
3254
3254
|
if (!this.emitEvents) {
|
|
3255
|
-
Yn && e !==
|
|
3255
|
+
Yn && e !== De.PointerMove && console.warn("Pointer events are disabled for this controller", this.index, e, t);
|
|
3256
3256
|
return;
|
|
3257
3257
|
}
|
|
3258
3258
|
if (this.xr.mode === "immersive-vr" || this.xr.isPassThrough) {
|
|
@@ -3474,7 +3474,7 @@ function m1(s, e) {
|
|
|
3474
3474
|
}, s ? new Yg(s, e) : new Yg(e);
|
|
3475
3475
|
}
|
|
3476
3476
|
async function Py() {
|
|
3477
|
-
const s = await import("./vendor-
|
|
3477
|
+
const s = await import("./vendor-B_ytQUuR.js").then((e) => e.bundler);
|
|
3478
3478
|
return console.log(s), s.default === void 0 ? s : s.default;
|
|
3479
3479
|
}
|
|
3480
3480
|
class g1 {
|
|
@@ -3887,7 +3887,7 @@ class w1 {
|
|
|
3887
3887
|
}
|
|
3888
3888
|
console.debug(`⊡ Connecting to networking backend on
|
|
3889
3889
|
` + Ti);
|
|
3890
|
-
const o = await import("./vendor-
|
|
3890
|
+
const o = await import("./vendor-B_ytQUuR.js").then((c) => c.index), r = o.default?.WebsocketBuilder ?? o.WebsocketBuilder, a = o.default?.ExponentialBackoff ?? o.ExponentialBackoff, l = new r(Ti).withMaxRetries(10).withBackoff(new a(2e3, 4)).onOpen(() => {
|
|
3891
3891
|
this._connectingToWebsocketPromise = null, this._ws = l, this.connected = !0, L() || ai ? console.log(`⊞ Connected to networking backend
|
|
3892
3892
|
` + Ti) : console.debug("⊞ Connected to networking backend", Ti), n(!0), this.onSendQueued(xn.OnConnection);
|
|
3893
3893
|
}).onClose((c) => {
|
|
@@ -4752,7 +4752,7 @@ class K {
|
|
|
4752
4752
|
a.onBeforeXR && a.onBeforeXR(e, t);
|
|
4753
4753
|
for (const a of this._sessionRequestStartListeners)
|
|
4754
4754
|
a({ mode: e, init: t });
|
|
4755
|
-
He &&
|
|
4755
|
+
He && Be("Requesting " + e + " session (" + Date.now() + ")"), this._currentSessionRequest = navigator.xr?.requestSession(e, t), this._currentSessionRequestMode = e;
|
|
4756
4756
|
const o = await this._currentSessionRequest?.catch((a) => {
|
|
4757
4757
|
console.error(a, "Code: " + a.code), a.code === 9 && me("Make sure your device has the required permissions (e.g. camera access)"), console.log("If the specified XR configuration is not supported (e.g. entering AR doesnt work) - make sure you access the website on a secure connection (HTTPS) and your device has the required permissions (e.g. camera access)"), location.protocol === "http:" && me("XR requires a secure connection (HTTPS)");
|
|
4758
4758
|
});
|
|
@@ -6008,7 +6008,7 @@ var ed;
|
|
|
6008
6008
|
s.runMeshBVHRaycast = e;
|
|
6009
6009
|
let t = !1, i = null, n = null, o = null, r = null;
|
|
6010
6010
|
function a() {
|
|
6011
|
-
t || (t = !0, import("./vendor-
|
|
6011
|
+
t || (t = !0, import("./vendor-B_ytQUuR.js").then((v) => v.index$1).then((v) => {
|
|
6012
6012
|
i = v.acceleratedRaycast, n = v.MeshBVH, o = v.StaticGeometryGenerator, r = v.computeBoundsTree;
|
|
6013
6013
|
}).catch((v) => {
|
|
6014
6014
|
(Wt || L()) && console.error("Failed to load BVH library...", v.message);
|
|
@@ -9238,13 +9238,15 @@ class Rn {
|
|
|
9238
9238
|
L() && window.location.href.includes("://localhost") && me("To access your website from another device in the same local network you have to use the IP address instead of localhost. The IP address is logged in your development server console when you start the server."), o();
|
|
9239
9239
|
});
|
|
9240
9240
|
async function o() {
|
|
9241
|
-
await a()
|
|
9242
|
-
const
|
|
9243
|
-
|
|
9244
|
-
const h =
|
|
9245
|
-
|
|
9241
|
+
await a();
|
|
9242
|
+
const c = document.body.querySelector("needle-engine") || document.body;
|
|
9243
|
+
c.appendChild(i);
|
|
9244
|
+
const h = n.getBoundingClientRect(), d = t.getBoundingClientRect();
|
|
9245
|
+
i.style.left = d.left + d.width * 0.5 - h.width * 0.5 + "px";
|
|
9246
|
+
const f = d.top < h.height, p = "1.3rem";
|
|
9247
|
+
f ? i.style.top = `calc(${d.bottom}px + ${i.style.padding} + 0.0rem)` : i.style.top = `calc(${d.top - h.height}px - ${i.style.padding} - ${p})`, i.style.opacity = "0", i.style.pointerEvents = "all", i.style.transition = "opacity 0.2s ease-in-out", setTimeout(() => {
|
|
9246
9248
|
i.style.opacity = "1", window.addEventListener("click", r, { once: !0 });
|
|
9247
|
-
}), window.addEventListener("resize", r), window.addEventListener("scroll", r), document.fullscreenElement ? document.fullscreenElement.appendChild(i) :
|
|
9249
|
+
}), window.addEventListener("resize", r), window.addEventListener("scroll", r), document.fullscreenElement ? document.fullscreenElement.appendChild(i) : c.appendChild(i);
|
|
9248
9250
|
}
|
|
9249
9251
|
function r() {
|
|
9250
9252
|
i.style.pointerEvents = "none", i.style.transition = "opacity 0.2s", i.style.opacity = "0", setTimeout(() => i.parentNode?.removeChild(i), 500), window.removeEventListener("click", r), window.removeEventListener("resize", r), window.removeEventListener("scroll", r);
|
|
@@ -9774,6 +9776,16 @@ class Xd extends HTMLElement {
|
|
|
9774
9776
|
const e = document.createElement("template");
|
|
9775
9777
|
e.innerHTML = `<style>
|
|
9776
9778
|
|
|
9779
|
+
/** Styling attributes that ensure the nested menu z-index does not cause it to overlay elements outside of <needle-engine> */
|
|
9780
|
+
:host {
|
|
9781
|
+
position: absolute;
|
|
9782
|
+
width: 100%;
|
|
9783
|
+
height: 100%;
|
|
9784
|
+
z-index: 0;
|
|
9785
|
+
top: 0;
|
|
9786
|
+
pointer-events: none;
|
|
9787
|
+
}
|
|
9788
|
+
|
|
9777
9789
|
#root {
|
|
9778
9790
|
position: absolute;
|
|
9779
9791
|
width: auto;
|
|
@@ -10983,9 +10995,13 @@ Start a coroutine from a component by calling "this.startCoroutine(myCoroutine()
|
|
|
10983
10995
|
get isVisibleToUser() {
|
|
10984
10996
|
if (this.isInXR) return !0;
|
|
10985
10997
|
if (!this._isVisible) return !1;
|
|
10998
|
+
if (!this._needsVisibleUpdate && this._lastStyleComputedResult !== void 0) return this._lastStyleComputedResult;
|
|
10999
|
+
this._needsVisibleUpdate = !1;
|
|
10986
11000
|
const e = getComputedStyle(this.domElement);
|
|
10987
|
-
return e.visibility !== "hidden" && e.display !== "none" && e.opacity !== "0";
|
|
11001
|
+
return this._lastStyleComputedResult = e.visibility !== "hidden" && e.display !== "none" && e.opacity !== "0", this._lastStyleComputedResult;
|
|
10988
11002
|
}
|
|
11003
|
+
_needsVisibleUpdate = !0;
|
|
11004
|
+
_lastStyleComputedResult = void 0;
|
|
10989
11005
|
_createId = 0;
|
|
10990
11006
|
async internalOnCreate(e) {
|
|
10991
11007
|
const t = ++this._createId;
|
|
@@ -11137,7 +11153,7 @@ Possible solutions:
|
|
|
11137
11153
|
try {
|
|
11138
11154
|
this.internalStep(e, t), this._renderlooperrors = 0;
|
|
11139
11155
|
} catch (i) {
|
|
11140
|
-
this._renderlooperrors += 1, (L() || Xe) && (i instanceof Error || i instanceof TypeError) &&
|
|
11156
|
+
this._renderlooperrors += 1, (L() || Xe) && (i instanceof Error || i instanceof TypeError) && Be("Caught unhandled exception during render-loop - see console for details.", Ni.Error), console.error("Frame #" + this.time.frame + `
|
|
11141
11157
|
`, i), this._renderlooperrors >= 3 && (console.warn("Stopping render loop due to error"), this.renderer.setAnimationLoop(null)), this.domElement.dispatchEvent(new CustomEvent("error", { detail: i }));
|
|
11142
11158
|
}
|
|
11143
11159
|
else
|
|
@@ -11158,7 +11174,7 @@ Possible solutions:
|
|
|
11158
11174
|
this.internalOnBeforeRender(e, t) !== !1 && (this.internalOnRender(), this.internalOnAfterRender());
|
|
11159
11175
|
}
|
|
11160
11176
|
internalOnBeforeRender(e, t) {
|
|
11161
|
-
this.renderer.info.autoReset = !!t, this.renderer.info.autoReset === !1 && this.renderer.info.reset();
|
|
11177
|
+
this.renderer.info.autoReset = !!t, this.renderer.info.autoReset === !1 && this.renderer.info.reset(), this._needsVisibleUpdate = !0;
|
|
11162
11178
|
const i = t !== null && this._xrFrame === null;
|
|
11163
11179
|
if (this._xrFrame = t, i && this.domElement.dispatchEvent(new CustomEvent("xr-session-started", { detail: { context: this, session: this.xrSession, frame: t } })), this._currentFrameEvent = -1, this.isManagedExternally === !1 && this.isInXR === !1 && this.targetFrameRate !== void 0) {
|
|
11164
11180
|
this._lastTimestamp === 0 && (this._lastTimestamp = e), this._accumulatedTime += (e - this._lastTimestamp) / 1e3, this._lastTimestamp = e;
|
|
@@ -11190,28 +11206,26 @@ Possible solutions:
|
|
|
11190
11206
|
const o = this.scripts_earlyUpdate[n];
|
|
11191
11207
|
o.activeAndEnabled && o.earlyUpdate !== void 0 && (N.Current = this, o.earlyUpdate());
|
|
11192
11208
|
}
|
|
11193
|
-
|
|
11209
|
+
this.executeCoroutines(
|
|
11194
11210
|
0
|
|
11195
11211
|
/* EarlyUpdate */
|
|
11196
11212
|
), yn(
|
|
11197
11213
|
this,
|
|
11198
11214
|
0
|
|
11199
11215
|
/* EarlyUpdate */
|
|
11200
|
-
), this.
|
|
11201
|
-
this._currentFrameEvent = 1;
|
|
11216
|
+
), this._currentFrameEvent = 1;
|
|
11202
11217
|
for (let n = 0; n < this.scripts_update.length; n++) {
|
|
11203
11218
|
const o = this.scripts_update[n];
|
|
11204
11219
|
o.activeAndEnabled && o.update !== void 0 && (N.Current = this, o.update());
|
|
11205
11220
|
}
|
|
11206
|
-
|
|
11221
|
+
this.executeCoroutines(
|
|
11207
11222
|
1
|
|
11208
11223
|
/* Update */
|
|
11209
11224
|
), yn(
|
|
11210
11225
|
this,
|
|
11211
11226
|
1
|
|
11212
11227
|
/* Update */
|
|
11213
|
-
), this.
|
|
11214
|
-
this._currentFrameEvent = 2;
|
|
11228
|
+
), this._currentFrameEvent = 2;
|
|
11215
11229
|
for (let n = 0; n < this.scripts_lateUpdate.length; n++) {
|
|
11216
11230
|
const o = this.scripts_lateUpdate[n];
|
|
11217
11231
|
o.activeAndEnabled && o.lateUpdate !== void 0 && (N.Current = this, o.lateUpdate());
|
|
@@ -11223,8 +11237,7 @@ Possible solutions:
|
|
|
11223
11237
|
this,
|
|
11224
11238
|
2
|
|
11225
11239
|
/* LateUpdate */
|
|
11226
|
-
), this.
|
|
11227
|
-
if (this.isVisibleToUser || this.runInBackground) {
|
|
11240
|
+
), this.physicsSteps === void 0 && (this.physicsSteps = 1), this.physics.engine && this.physicsSteps > 0 && this.internalUpdatePhysics(this.physicsSteps), this.isVisibleToUser || this.runInBackground) {
|
|
11228
11241
|
this._currentFrameEvent = 3;
|
|
11229
11242
|
for (let n = 0; n < this.scripts_onBeforeRender.length; n++) {
|
|
11230
11243
|
const o = this.scripts_onBeforeRender[n];
|
|
@@ -14255,7 +14268,7 @@ const Lt = function(s, e) {
|
|
|
14255
14268
|
function UO(s, e, t, i, n) {
|
|
14256
14269
|
if (!n && !i && !s.onValidate) return;
|
|
14257
14270
|
if (t !== void 0) {
|
|
14258
|
-
console.error("Invalid usage of validate decorator. Only fields can be validated.", s, e, t),
|
|
14271
|
+
console.error("Invalid usage of validate decorator. Only fields can be validated.", s, e, t), Be("Invalid usage of validate decorator. Only fields can be validated. Property: " + e, Ni.Error);
|
|
14259
14272
|
return;
|
|
14260
14273
|
}
|
|
14261
14274
|
let o = "";
|
|
@@ -15481,10 +15494,10 @@ class ei extends T {
|
|
|
15481
15494
|
this.context.scene.getComponent(Sa) || this.context.scene.addComponent(Gi);
|
|
15482
15495
|
}
|
|
15483
15496
|
onEnable() {
|
|
15484
|
-
this.context.input.addEventListener(
|
|
15497
|
+
this.context.input.addEventListener(De.PointerDown, this.onPointerEvent), this.context.input.addEventListener(De.PointerUp, this.onPointerEvent), this.context.input.addEventListener(De.PointerMove, this.onPointerEvent);
|
|
15485
15498
|
}
|
|
15486
15499
|
onDisable() {
|
|
15487
|
-
this.context.input.removeEventListener(
|
|
15500
|
+
this.context.input.removeEventListener(De.PointerDown, this.onPointerEvent), this.context.input.removeEventListener(De.PointerUp, this.onPointerEvent), this.context.input.removeEventListener(De.PointerMove, this.onPointerEvent);
|
|
15488
15501
|
}
|
|
15489
15502
|
/**
|
|
15490
15503
|
* all pointers that have pressed something
|
|
@@ -15509,7 +15522,7 @@ class ei extends T {
|
|
|
15509
15522
|
onPointerEvent = (e) => {
|
|
15510
15523
|
if (e === void 0 || e.propagationStopped || e.defaultPrevented || e.used) return;
|
|
15511
15524
|
const t = new Zd(this.context.input, e);
|
|
15512
|
-
this._currentPointerEventName = e.type, t.inputSource = this.context.input, t.isClick = e.isClick, t.isDoubleClick = e.isDoubleClick, t.isDown = e.type ==
|
|
15525
|
+
this._currentPointerEventName = e.type, t.inputSource = this.context.input, t.isClick = e.isClick, t.isDoubleClick = e.isDoubleClick, t.isDown = e.type == De.PointerDown, t.isUp = e.type == De.PointerUp, t.isPressed = this.context.input.getPointerPressed(e.pointerId);
|
|
15513
15526
|
const i = new pr();
|
|
15514
15527
|
e.hasRay ? i.ray = e.ray : i.screenPoint = this.context.input.getPointerPositionRC(e.pointerId), i.allowSlowRaycastFallback = e.isClick || e.isDoubleClick;
|
|
15515
15528
|
const n = this.performRaycast(i);
|
|
@@ -15522,7 +15535,7 @@ class ei extends T {
|
|
|
15522
15535
|
hits: n
|
|
15523
15536
|
});
|
|
15524
15537
|
}
|
|
15525
|
-
Gs && t.isClick &&
|
|
15538
|
+
Gs && t.isClick && Be("EventSystem: " + t.pointerId + " - " + this.context.time.frame + " - Up:" + t.isUp + ", Down:" + t.isDown);
|
|
15526
15539
|
const o = {
|
|
15527
15540
|
sender: this,
|
|
15528
15541
|
args: t,
|
|
@@ -15741,7 +15754,7 @@ class ei extends T {
|
|
|
15741
15754
|
}
|
|
15742
15755
|
/** invoke the pointerMove event on all captured handlers */
|
|
15743
15756
|
invokePointerCapture(e) {
|
|
15744
|
-
if (e.event.type ===
|
|
15757
|
+
if (e.event.type === De.PointerMove) {
|
|
15745
15758
|
const t = e.pointerId, i = this._capturedPointer[t];
|
|
15746
15759
|
if (i) {
|
|
15747
15760
|
Gs && console.log("Captured", t, i);
|
|
@@ -16094,6 +16107,9 @@ class ge extends T {
|
|
|
16094
16107
|
afterHandleInput(e) {
|
|
16095
16108
|
e.detail.args.pointerId === 0 && (e.detail.args.isDown ? this._controls && this._eventSystem && (this._shouldDisable = this._eventSystem.hasActiveUI) : (!e.detail.args.isPressed || e.detail.args.isUp) && (this._shouldDisable = !1));
|
|
16096
16109
|
}
|
|
16110
|
+
onPausedChanged(e) {
|
|
16111
|
+
this._controls && e && (this._controls.enabled = !1);
|
|
16112
|
+
}
|
|
16097
16113
|
/** @internal */
|
|
16098
16114
|
onBeforeRender() {
|
|
16099
16115
|
if (!this._controls) return;
|
|
@@ -16712,7 +16728,7 @@ const qs = w("debugcam"), u_ = w("debugscreenpointtoray"), Dt = class Cl extends
|
|
|
16712
16728
|
if (typeof t._transparent == "boolean")
|
|
16713
16729
|
return t._transparent;
|
|
16714
16730
|
const i = t.environmentBlendMode;
|
|
16715
|
-
qs &&
|
|
16731
|
+
qs && Be("Environment blend mode: " + i + " on " + navigator.userAgent);
|
|
16716
16732
|
let n = i === "additive" || i === "alpha-blend";
|
|
16717
16733
|
return e.isInAR && i === "opaque" && (navigator.userAgent?.includes("OculusBrowser") || navigator.userAgent?.includes("Mozilla") && navigator.userAgent?.includes("Mobile WebXRViewer/v2")) && (n = !0), t._transparent = n, n;
|
|
16718
16734
|
}
|
|
@@ -17162,29 +17178,29 @@ fn([
|
|
|
17162
17178
|
], Ki.prototype, "rollOffMode", 2);
|
|
17163
17179
|
let hn = Ki;
|
|
17164
17180
|
const uk = w("debugavatar");
|
|
17165
|
-
class
|
|
17181
|
+
class je extends T {
|
|
17166
17182
|
static getAvatar(e) {
|
|
17167
|
-
return e >= 0 && e <
|
|
17183
|
+
return e >= 0 && e < je.instances.length ? je.instances[e] : null;
|
|
17168
17184
|
}
|
|
17169
17185
|
static instances = [];
|
|
17170
17186
|
static onAvatarMarkerCreated(e) {
|
|
17171
|
-
return
|
|
17187
|
+
return je._onNewAvatarMarkerAdded.push(e), e;
|
|
17172
17188
|
}
|
|
17173
17189
|
static onAvatarMarkerDestroyed(e) {
|
|
17174
|
-
return
|
|
17190
|
+
return je._onAvatarMarkerDestroyed.push(e), e;
|
|
17175
17191
|
}
|
|
17176
17192
|
static _onNewAvatarMarkerAdded = [];
|
|
17177
17193
|
static _onAvatarMarkerDestroyed = [];
|
|
17178
17194
|
connectionId;
|
|
17179
17195
|
avatar;
|
|
17180
17196
|
awake() {
|
|
17181
|
-
|
|
17182
|
-
for (const e of
|
|
17197
|
+
je.instances.push(this), uk && console.log(this);
|
|
17198
|
+
for (const e of je._onNewAvatarMarkerAdded)
|
|
17183
17199
|
e({ avatarMarker: this, gameObject: this.gameObject });
|
|
17184
17200
|
}
|
|
17185
17201
|
onDestroy() {
|
|
17186
|
-
|
|
17187
|
-
for (const e of
|
|
17202
|
+
je.instances.splice(je.instances.indexOf(this), 1);
|
|
17203
|
+
for (const e of je._onAvatarMarkerDestroyed)
|
|
17188
17204
|
e({ avatarMarker: this, gameObject: this.gameObject });
|
|
17189
17205
|
}
|
|
17190
17206
|
isLocalAvatar() {
|
|
@@ -17234,8 +17250,8 @@ class ud extends T {
|
|
|
17234
17250
|
_lookDuration = 0;
|
|
17235
17251
|
_lastPoiChangedTime = 0;
|
|
17236
17252
|
awake() {
|
|
17237
|
-
if (this.avatar = x.getComponentInParent(this.gameObject,
|
|
17238
|
-
const e = x.getComponentInParent(this.gameObject,
|
|
17253
|
+
if (this.avatar = x.getComponentInParent(this.gameObject, je), this.avatar) {
|
|
17254
|
+
const e = x.getComponentInParent(this.gameObject, je);
|
|
17239
17255
|
this._model = new o0(this.context.connection, this.guid), e?.isLocalAvatar && this._model.requestOwnership();
|
|
17240
17256
|
}
|
|
17241
17257
|
this.context.connection.beginListen("avatar-look-target-changed", (e) => {
|
|
@@ -17328,7 +17344,7 @@ class _k {
|
|
|
17328
17344
|
this.object = e, this.collider = t;
|
|
17329
17345
|
}
|
|
17330
17346
|
}
|
|
17331
|
-
const
|
|
17347
|
+
const Le = w("debugnetworkingstreams");
|
|
17332
17348
|
var ps = /* @__PURE__ */ ((s) => (s.Connected = "peer-user-connected", s.StreamReceived = "receive-stream", s.StreamEnded = "call-ended", s.Disconnected = "peer-user-disconnected", s.UserJoined = "user-joined", s))(ps || {});
|
|
17333
17349
|
class X0 {
|
|
17334
17350
|
type = "call-ended";
|
|
@@ -17382,7 +17398,7 @@ class xk extends dm {
|
|
|
17382
17398
|
}
|
|
17383
17399
|
constructor(e, t, i, n = null) {
|
|
17384
17400
|
super(), this.peerId = t.peer, this.userId = e, this.call = t, this.direction = i, this._stream = n, t.on("stream", (o) => {
|
|
17385
|
-
if (
|
|
17401
|
+
if (Le && console.log("Receive stream", `
|
|
17386
17402
|
Audio:`, o.getAudioTracks(), `
|
|
17387
17403
|
Video:`, o.getVideoTracks()), this._stream = o, i === "incoming") {
|
|
17388
17404
|
const r = new bk(e, o, this);
|
|
@@ -17416,7 +17432,7 @@ class to extends dm {
|
|
|
17416
17432
|
}
|
|
17417
17433
|
makeCall(e, t) {
|
|
17418
17434
|
if (!t?.id) {
|
|
17419
|
-
|
|
17435
|
+
Le ? console.warn("Can not make a call: mediastream has no id or is undefined") : console.debug("Can not make a call: mediastream has no id or is undefined");
|
|
17420
17436
|
return;
|
|
17421
17437
|
}
|
|
17422
17438
|
const i = {
|
|
@@ -17428,10 +17444,10 @@ class to extends dm {
|
|
|
17428
17444
|
}, n = this._peer?.call(e, t, i);
|
|
17429
17445
|
if (n) {
|
|
17430
17446
|
const o = this.registerCall(n, "outgoing", t);
|
|
17431
|
-
return
|
|
17447
|
+
return Le && console.warn(`📞 CALL ${e}`, `
|
|
17432
17448
|
Outgoing:`, this._outgoingCalls, `
|
|
17433
17449
|
Incoming:`, this._incomingCalls), o;
|
|
17434
|
-
} else
|
|
17450
|
+
} else Le && console.error("Failed to make call", e, t, this._peer);
|
|
17435
17451
|
}
|
|
17436
17452
|
closeAll() {
|
|
17437
17453
|
for (const e of this._incomingCalls)
|
|
@@ -17448,7 +17464,7 @@ Incoming:`, this._incomingCalls), o;
|
|
|
17448
17464
|
for (let e = this._outgoingCalls.length - 1; e >= 0; e--) {
|
|
17449
17465
|
const t = this._outgoingCalls[e];
|
|
17450
17466
|
let i = !1;
|
|
17451
|
-
t.isClosed && !t.isOpening && (t.stream?.active ?
|
|
17467
|
+
t.isClosed && !t.isOpening && (t.stream?.active ? Le && console.warn("!!! Stream is still active, don't remove call", t.userId, "Your id: " + this.context.connection.connectionId) : (Le && console.warn("!!! Remove closed call", t.userId), i = !0)), this.context.connection.userIsInRoom(t.userId) === !1 && (Le && console.warn("!!! User is not in room anymore, remove call", t.userId), i = !0), i && (t.close(), this._outgoingCalls.splice(e, 1));
|
|
17452
17468
|
}
|
|
17453
17469
|
};
|
|
17454
17470
|
get peer() {
|
|
@@ -17463,7 +17479,13 @@ Incoming:`, this._incomingCalls), o;
|
|
|
17463
17479
|
_outgoingCalls = [];
|
|
17464
17480
|
_peer;
|
|
17465
17481
|
constructor(e, t) {
|
|
17466
|
-
super(), this.context = e, this.id = t, this.setupPeer()
|
|
17482
|
+
super(), this.context = e, this.id = t, this.setupPeer();
|
|
17483
|
+
const i = Object.getOwnPropertyDescriptor(navigator, "getUserMedia")?.writable;
|
|
17484
|
+
try {
|
|
17485
|
+
i ? navigator.getUserMedia = navigator.getUserMedia || navigator.webkitGetUserMedia || navigator.mozGetUserMedia || navigator.msGetUserMedia : Le && console.warn("[PeerJs] getUserMedia is not writable");
|
|
17486
|
+
} catch (n) {
|
|
17487
|
+
Le && console.error("[PeerJs] Error setting getUserMedia", n);
|
|
17488
|
+
}
|
|
17467
17489
|
}
|
|
17468
17490
|
_enabled = !1;
|
|
17469
17491
|
_enabledPeer = !1;
|
|
@@ -17503,7 +17525,7 @@ Incoming:`, this._incomingCalls), o;
|
|
|
17503
17525
|
* @param id ID of the peer
|
|
17504
17526
|
*/
|
|
17505
17527
|
onPeerConnect = (e) => {
|
|
17506
|
-
if (
|
|
17528
|
+
if (Le && console.log("PEER opened as", e), e === null) {
|
|
17507
17529
|
console.error("Peer connection failed", e);
|
|
17508
17530
|
return;
|
|
17509
17531
|
}
|
|
@@ -17511,17 +17533,17 @@ Incoming:`, this._incomingCalls), o;
|
|
|
17511
17533
|
};
|
|
17512
17534
|
/** Emitted when the peer is destroyed and can no longer accept or create any new connections. At this time, the peer's connections will all be closed. */
|
|
17513
17535
|
onPeerClose = () => {
|
|
17514
|
-
|
|
17536
|
+
Le && console.log("PEER closed"), this.updateCalls();
|
|
17515
17537
|
};
|
|
17516
17538
|
/** Emitted when the peer is disconnected from the signalling server, either manually or because the connection to the signalling server was lost. */
|
|
17517
17539
|
onPeerDisconnected = () => {
|
|
17518
|
-
|
|
17540
|
+
Le && console.log("PEER disconnected"), this.updateCalls();
|
|
17519
17541
|
};
|
|
17520
17542
|
/**
|
|
17521
17543
|
* Errors on the peer are almost always fatal and will destroy the peer. Errors from the underlying socket and PeerConnections are forwarded here.
|
|
17522
17544
|
*/
|
|
17523
17545
|
onPeerError = (e) => {
|
|
17524
|
-
|
|
17546
|
+
Le && console.error("PEER error", e);
|
|
17525
17547
|
};
|
|
17526
17548
|
onPeerReceivingCall = (e) => {
|
|
17527
17549
|
e.answer(void 0, {
|
|
@@ -17532,12 +17554,12 @@ Incoming:`, this._incomingCalls), o;
|
|
|
17532
17554
|
const n = e.metadata;
|
|
17533
17555
|
(!n || !n.userId) && console.error("Missing call metadata", e);
|
|
17534
17556
|
const o = n.userId;
|
|
17535
|
-
t === "incoming" &&
|
|
17557
|
+
t === "incoming" && Le ? console.warn("← Receive call from", e.metadata, e.connectionId) : Le && console.warn("→ Make call to", e.metadata);
|
|
17536
17558
|
const r = t === "incoming" ? this._incomingCalls : this._outgoingCalls, a = new xk(o, e, t, i);
|
|
17537
17559
|
return r.push(a), e.on("error", (l) => {
|
|
17538
17560
|
console.error("Call error", l);
|
|
17539
17561
|
}), e.on("close", () => {
|
|
17540
|
-
|
|
17562
|
+
Le && console.log("Call ended", e.metadata);
|
|
17541
17563
|
const l = r.indexOf(a);
|
|
17542
17564
|
l !== -1 && r.splice(l, 1), a.close(), this.dispatchEvent(new X0(o, t));
|
|
17543
17565
|
}), a.addEventListener("call-ended", (l) => {
|
|
@@ -17545,11 +17567,11 @@ Incoming:`, this._incomingCalls), o;
|
|
|
17545
17567
|
}), t === "incoming" && (a.addEventListener("receive-stream", (l) => {
|
|
17546
17568
|
this.dispatchEvent(l);
|
|
17547
17569
|
}), e.on("stream", () => {
|
|
17548
|
-
|
|
17570
|
+
Le && console.log("Received stream for call", e.metadata);
|
|
17549
17571
|
let l = 0;
|
|
17550
17572
|
const c = setInterval(() => {
|
|
17551
17573
|
const h = l === 0;
|
|
17552
|
-
!a.isOpen && h && (
|
|
17574
|
+
!a.isOpen && h && (Le && console.warn("Close call because stream is not active", e.metadata), l += 1, clearInterval(c), a.close());
|
|
17553
17575
|
}, 2e3);
|
|
17554
17576
|
})), a;
|
|
17555
17577
|
}
|
|
@@ -17582,7 +17604,7 @@ class Jd extends dm {
|
|
|
17582
17604
|
if (!(e instanceof N)) throw new Error("Failed to create NetworkedStreams because context is not an instance of Context");
|
|
17583
17605
|
} else throw new Error("Failed to create NetworkedStreams because context is undefined");
|
|
17584
17606
|
if (!t) throw new Error("Failed to create NetworkedStreams because peer is undefined");
|
|
17585
|
-
this.context = e, this.peer = t,
|
|
17607
|
+
this.context = e, this.peer = t, Le && (this.debug = !0);
|
|
17586
17608
|
}
|
|
17587
17609
|
startSendingStream(e) {
|
|
17588
17610
|
this._sendingStreams.has(e) ? console.warn("Received start sending stream with stream that is already being sent") : (this._sendingStreams.set(e, []), this.updateSendingCalls());
|
|
@@ -17644,7 +17666,7 @@ class Jd extends dm {
|
|
|
17644
17666
|
const t = this._sendingStreams.keys().next().value;
|
|
17645
17667
|
this.peer.makeCall(e.peerId, t);
|
|
17646
17668
|
} else
|
|
17647
|
-
|
|
17669
|
+
Le && console.log("Unknown user connected", e.guid, e.peerId);
|
|
17648
17670
|
};
|
|
17649
17671
|
onUserLeft = (e) => {
|
|
17650
17672
|
this.debug && console.log("User left room: " + e.userId), this.stopCallsToUsersThatAreNotInTheRoomAnymore();
|
|
@@ -17657,7 +17679,7 @@ class Jd extends dm {
|
|
|
17657
17679
|
if (n === e) continue;
|
|
17658
17680
|
const o = this.peer.getPeerIdFromUserId(n);
|
|
17659
17681
|
if (i.find((a) => a.peerId === o && a.direction === "outgoing" && !a.isClosed && a.stream?.active))
|
|
17660
|
-
|
|
17682
|
+
Le && console.debug("Already have a call with user " + n + " / peer " + o);
|
|
17661
17683
|
else {
|
|
17662
17684
|
const a = this.peer.makeCall(o, t);
|
|
17663
17685
|
a && i.push(a);
|
|
@@ -17688,7 +17710,7 @@ class Jd extends dm {
|
|
|
17688
17710
|
if (t)
|
|
17689
17711
|
for (let i = t.length - 1; i >= 0; i--) {
|
|
17690
17712
|
const n = t[i];
|
|
17691
|
-
this.context.connection.userIsInRoom(n.userId) ?
|
|
17713
|
+
this.context.connection.userIsInRoom(n.userId) ? Le && (this.context.connection.connectionId === n.userId ? console.warn(`You are still in the room [${i}] ${n.userId}`) : console.log(`User is still in room [${i}] ${n.userId}`)) : (Le && console.log(`Remove call ${[i]} to user that is not in room anymore ${n.userId}`), n.close(), t.splice(i, 1));
|
|
17692
17714
|
}
|
|
17693
17715
|
}
|
|
17694
17716
|
this.peer.updateCalls(), this.debug && this.debugLogCurrentState();
|
|
@@ -17886,7 +17908,7 @@ class eu extends T {
|
|
|
17886
17908
|
mouthChangeLength = 0;
|
|
17887
17909
|
awake() {
|
|
17888
17910
|
setTimeout(() => {
|
|
17889
|
-
this.voip = x.findObjectOfType(yr, this.context), this.marker || (this.marker = x.getComponentInParent(this.gameObject,
|
|
17911
|
+
this.voip = x.findObjectOfType(yr, this.context), this.marker || (this.marker = x.getComponentInParent(this.gameObject, je));
|
|
17890
17912
|
}, 3e3);
|
|
17891
17913
|
}
|
|
17892
17914
|
update() {
|
|
@@ -17944,7 +17966,7 @@ class Y0 extends T {
|
|
|
17944
17966
|
marker = null;
|
|
17945
17967
|
_startPosition = null;
|
|
17946
17968
|
awake() {
|
|
17947
|
-
this.voip = x.findObjectOfType(yr, this.context), this.marker = x.getComponentInParent(this.gameObject,
|
|
17969
|
+
this.voip = x.findObjectOfType(yr, this.context), this.marker = x.getComponentInParent(this.gameObject, je);
|
|
17948
17970
|
}
|
|
17949
17971
|
update() {
|
|
17950
17972
|
if (!this.voip || !this.marker || this.context.time.frameCount % 10 !== 0) return;
|
|
@@ -23950,7 +23972,7 @@ class Go {
|
|
|
23950
23972
|
return this._start === void 0 && (this._start = this.ext.getStartTimeByClip(this.clip)), this._start;
|
|
23951
23973
|
}
|
|
23952
23974
|
get duration() {
|
|
23953
|
-
return this.clip?.duration ??
|
|
23975
|
+
return this.clip?.duration ?? Ue.restPoseClipDuration;
|
|
23954
23976
|
}
|
|
23955
23977
|
get nearestAnimatedRoot() {
|
|
23956
23978
|
return this._nearestAnimatedRoot;
|
|
@@ -24002,7 +24024,7 @@ class Go {
|
|
|
24002
24024
|
return e;
|
|
24003
24025
|
}
|
|
24004
24026
|
}
|
|
24005
|
-
class
|
|
24027
|
+
class Ue {
|
|
24006
24028
|
clip;
|
|
24007
24029
|
pos;
|
|
24008
24030
|
rot;
|
|
@@ -24018,7 +24040,7 @@ class ze {
|
|
|
24018
24040
|
static animationDurationPadding = 6 / 60;
|
|
24019
24041
|
static restPoseClipDuration = 6 / 60;
|
|
24020
24042
|
constructor(e, t, i) {
|
|
24021
|
-
if (this.root = e, this.target = t, this.clip = i, i ? this.duration = i.duration : this.duration =
|
|
24043
|
+
if (this.root = e, this.target = t, this.clip = i, i ? this.duration = i.duration : this.duration = Ue.restPoseClipDuration, i && i.tracks) {
|
|
24022
24044
|
const o = Math.max(...i.tracks.map((r) => r.times[r.times.length - 1]));
|
|
24023
24045
|
o !== this.duration && (console.warn("USDZExporter: Animation clip duration does not match the maximum time value in the tracks.", i, o, this.duration), this.duration = o);
|
|
24024
24046
|
}
|
|
@@ -24061,7 +24083,7 @@ class ze {
|
|
|
24061
24083
|
const f = 0;
|
|
24062
24084
|
for (let p = 0 - f; p < e.length + f; p++) {
|
|
24063
24085
|
let g = 0, _ = 0;
|
|
24064
|
-
if (p < 0 ? (g = e[0], _ = g -
|
|
24086
|
+
if (p < 0 ? (g = e[0], _ = g - Ue.animationDurationPadding / 2 + 1 / 60) : p >= e.length ? (g = e[e.length - 1], _ = g + Ue.animationDurationPadding / 2 - 1 / 60) : (g = e[p], _ = g), c) {
|
|
24065
24087
|
const m = c.evaluate(g);
|
|
24066
24088
|
o.set(m[0], m[1], m[2]);
|
|
24067
24089
|
}
|
|
@@ -24121,7 +24143,7 @@ class ag {
|
|
|
24121
24143
|
this.injectRestPoses = e, this.injectImplicitBehaviours = e;
|
|
24122
24144
|
}
|
|
24123
24145
|
getStartTimeCode() {
|
|
24124
|
-
return !this.injectRestPoses || this.rootAndClipToRegisteredAnimationMap.size === 0 ? 0 : (
|
|
24146
|
+
return !this.injectRestPoses || this.rootAndClipToRegisteredAnimationMap.size === 0 ? 0 : (Ue.restPoseClipDuration + Ue.animationDurationPadding) * 60;
|
|
24125
24147
|
}
|
|
24126
24148
|
/** Returns the end time code, based on 60 frames per second, for all registered animations.
|
|
24127
24149
|
* This matches the highest time value in the USDZ file. */
|
|
@@ -24209,9 +24231,9 @@ class ag {
|
|
|
24209
24231
|
console.warn("no transform data found for target ", d, "at slot " + o + ", this is likely a bug");
|
|
24210
24232
|
continue;
|
|
24211
24233
|
}
|
|
24212
|
-
a.delete(d), this.injectRestPoses && !f[0] && (console.log("Injecting rest pose", d, t, "at slot", o), f[0] = new
|
|
24234
|
+
a.delete(d), this.injectRestPoses && !f[0] && (console.log("Injecting rest pose", d, t, "at slot", o), f[0] = new Ue(null, d, null));
|
|
24213
24235
|
let p = f[o];
|
|
24214
|
-
p || (p = new
|
|
24236
|
+
p || (p = new Ue(e, d, t), f[o] = p), p.addTrack(c), r?.includes(d) || r?.push(d);
|
|
24215
24237
|
}
|
|
24216
24238
|
Pn && console.log("Unregistered nodes for this clip", a, "clip", t, "at slot", o, "for root", e, "targets", r);
|
|
24217
24239
|
for (const c of a) {
|
|
@@ -24219,18 +24241,18 @@ class ag {
|
|
|
24219
24241
|
if (!h) continue;
|
|
24220
24242
|
if (this.injectRestPoses && !h[0]) {
|
|
24221
24243
|
console.warn("Adding rest pose for ", c, t, "at slot", o, "This is likely a bug, should have been added earlier.");
|
|
24222
|
-
const f = new
|
|
24244
|
+
const f = new Ue(null, c, null);
|
|
24223
24245
|
h[0] = f;
|
|
24224
24246
|
}
|
|
24225
24247
|
let d = h[o];
|
|
24226
|
-
d || (Pn && console.log("Adding padding clip for ", c, t, "at slot", o), d = new
|
|
24248
|
+
d || (Pn && console.log("Adding padding clip for ", c, t, "at slot", o), d = new Ue(e, c, t), h[o] = d);
|
|
24227
24249
|
}
|
|
24228
24250
|
const l = new Go(this, e, t);
|
|
24229
24251
|
if (this.rootAndClipToRegisteredAnimationMap.set(i, l), Pn && console.log({ root: e, clip: t, info: l }), t) {
|
|
24230
24252
|
const c = this.rootToRegisteredClip.get(e);
|
|
24231
24253
|
if (c ? c.push(t) : this.rootToRegisteredClip.set(e, [t]), !this.clipToStartTime.get(t)) {
|
|
24232
|
-
this.lastClipEndTime == null && (this.lastClipEndTime =
|
|
24233
|
-
let d = this.lastClipEndTime +
|
|
24254
|
+
this.lastClipEndTime == null && (this.lastClipEndTime = Ue.restPoseClipDuration);
|
|
24255
|
+
let d = this.lastClipEndTime + Ue.animationDurationPadding, f = d + t.duration;
|
|
24234
24256
|
const p = Math.round(d * 60) / 60, g = Math.round(f * 60) / 60;
|
|
24235
24257
|
Math.abs(p - d) < 0.01 && (d = p), Math.abs(g - f) < 0.01 && (f = g), d = Math.ceil(d), f = d + t.duration, this.clipToStartTime.set(t, d), this.lastClipEndTime = f;
|
|
24236
24258
|
}
|
|
@@ -24258,7 +24280,7 @@ class ag {
|
|
|
24258
24280
|
let c = a[l];
|
|
24259
24281
|
if (!c) {
|
|
24260
24282
|
const d = l - (this.injectRestPoses ? 1 : 0);
|
|
24261
|
-
a[l] = new
|
|
24283
|
+
a[l] = new Ue(null, r, this.rootToRegisteredClip.get(t)[d]), c = a[l];
|
|
24262
24284
|
}
|
|
24263
24285
|
const h = c.getDuration();
|
|
24264
24286
|
if (o[l] === void 0) o[l] = h;
|
|
@@ -24344,7 +24366,7 @@ class KM {
|
|
|
24344
24366
|
for (const Je of W) {
|
|
24345
24367
|
const Ri = A.get(Je);
|
|
24346
24368
|
let Vc;
|
|
24347
|
-
Ri ? console.assert(Ri.length === Se, "We should have the same number of TransformData entries for each bone", Ri, U) : Vc = new
|
|
24369
|
+
Ri ? console.assert(Ri.length === Se, "We should have the same number of TransformData entries for each bone", Ri, U) : Vc = new Ue(null, Je, null);
|
|
24348
24370
|
for (let js = 0; js < Se; js++) {
|
|
24349
24371
|
const Uu = Ri ? Ri[js] : Vc, Or = U[js];
|
|
24350
24372
|
for (const { time: Ya, translation: Ka } of Uu.getValues(Or.pos, !0, !1, !1)) {
|
|
@@ -24464,7 +24486,7 @@ class KM {
|
|
|
24464
24486
|
const i = this.animationData.get(this.object);
|
|
24465
24487
|
if (i)
|
|
24466
24488
|
for (let h = 0; h < i.length; h++)
|
|
24467
|
-
i[h] === void 0 && (i[h] = new
|
|
24489
|
+
i[h] === void 0 && (i[h] = new Ue(null, this.object, null));
|
|
24468
24490
|
const n = this.ext;
|
|
24469
24491
|
this.skinnedMeshExport(e, t, n);
|
|
24470
24492
|
const o = this.object, r = this.model, a = this.animationData.get(o);
|
|
@@ -24503,21 +24525,21 @@ class KM {
|
|
|
24503
24525
|
const v = !g.clip, y = d === "position" && (g.pos || v), S = d === "rotation" && (g.rot || v), I = d === "scale" && (g.scale || v);
|
|
24504
24526
|
if (y || S || I) {
|
|
24505
24527
|
const O = g.clip?.name ?? "rest", k = g.getDuration();
|
|
24506
|
-
Pn && console.log("Write .timeSamples:", O, _, k, h), e.appendLine("# " + O + ": start=" + l.format(_ *
|
|
24528
|
+
Pn && console.log("Write .timeSamples:", O, _, k, h), e.appendLine("# " + O + ": start=" + l.format(_ * Ue.frameRate) + ", length=" + l.format(k * Ue.frameRate) + ", frames=" + g.getFrames());
|
|
24507
24529
|
}
|
|
24508
24530
|
if (y)
|
|
24509
24531
|
for (const { time: O, translation: k } of g.getValues(m, !0, !1, !1)) {
|
|
24510
|
-
const z = `${l.format((_ + O) *
|
|
24532
|
+
const z = `${l.format((_ + O) * Ue.frameRate)}: (${ae(k.x)}, ${ae(k.y)}, ${ae(k.z)}),`;
|
|
24511
24533
|
e.appendLine(z);
|
|
24512
24534
|
}
|
|
24513
24535
|
if (S)
|
|
24514
24536
|
for (const { time: O, rotation: k } of g.getValues(m, !1, !0, !1)) {
|
|
24515
|
-
const z = `${l.format((_ + O) *
|
|
24537
|
+
const z = `${l.format((_ + O) * Ue.frameRate)}: (${ae(k.w)}, ${ae(k.x)}, ${ae(k.y)}, ${ae(k.z)}),`;
|
|
24516
24538
|
e.appendLine(z);
|
|
24517
24539
|
}
|
|
24518
24540
|
if (I)
|
|
24519
24541
|
for (const { time: O, scale: k } of g.getValues(m, !1, !1, !0)) {
|
|
24520
|
-
const z = `${l.format((_ + O) *
|
|
24542
|
+
const z = `${l.format((_ + O) * Ue.frameRate)}: (${ae(k.x)}, ${ae(k.y)}, ${ae(k.z)}),`;
|
|
24521
24543
|
e.appendLine(z);
|
|
24522
24544
|
}
|
|
24523
24545
|
}
|
|
@@ -24567,7 +24589,7 @@ class La {
|
|
|
24567
24589
|
}
|
|
24568
24590
|
}
|
|
24569
24591
|
}
|
|
24570
|
-
var JM = Object.defineProperty,
|
|
24592
|
+
var JM = Object.defineProperty, Fe = (s, e, t, i) => {
|
|
24571
24593
|
for (var n = void 0, o = s.length - 1, r; o >= 0; o--)
|
|
24572
24594
|
(r = s[o]) && (n = r(e, t, n) || n);
|
|
24573
24595
|
return n && JM(e, t, n), n;
|
|
@@ -24623,16 +24645,16 @@ class Da extends T {
|
|
|
24623
24645
|
}
|
|
24624
24646
|
}
|
|
24625
24647
|
}
|
|
24626
|
-
|
|
24648
|
+
Fe([
|
|
24627
24649
|
u(M)
|
|
24628
24650
|
], Da.prototype, "object");
|
|
24629
|
-
|
|
24651
|
+
Fe([
|
|
24630
24652
|
u(M)
|
|
24631
24653
|
], Da.prototype, "target");
|
|
24632
|
-
|
|
24654
|
+
Fe([
|
|
24633
24655
|
u()
|
|
24634
24656
|
], Da.prototype, "duration");
|
|
24635
|
-
|
|
24657
|
+
Fe([
|
|
24636
24658
|
u()
|
|
24637
24659
|
], Da.prototype, "relativeMotion");
|
|
24638
24660
|
const lu = class Ut extends T {
|
|
@@ -24727,13 +24749,13 @@ const lu = class Ut extends T {
|
|
|
24727
24749
|
return e;
|
|
24728
24750
|
}
|
|
24729
24751
|
};
|
|
24730
|
-
|
|
24752
|
+
Fe([
|
|
24731
24753
|
u(_e)
|
|
24732
24754
|
], lu.prototype, "materialToSwitch");
|
|
24733
|
-
|
|
24755
|
+
Fe([
|
|
24734
24756
|
u(_e)
|
|
24735
24757
|
], lu.prototype, "variantMaterial");
|
|
24736
|
-
|
|
24758
|
+
Fe([
|
|
24737
24759
|
u()
|
|
24738
24760
|
], lu.prototype, "fadeDuration");
|
|
24739
24761
|
let Iv = lu;
|
|
@@ -24816,16 +24838,16 @@ const Sc = class Ae extends T {
|
|
|
24816
24838
|
this.gameObject[Ae.wasVisible] !== void 0 && (this.gameObject.visible = this.gameObject[Ae.wasVisible], delete this.gameObject[Ae.wasVisible]), this.target && this.target[Ae.wasVisible] !== void 0 && (this.target.visible = this.target[Ae.wasVisible], delete this.target[Ae.wasVisible]), delete this.gameObject[Ae.toggleClone], delete this.gameObject[Ae.reverseToggleClone];
|
|
24817
24839
|
}
|
|
24818
24840
|
};
|
|
24819
|
-
|
|
24841
|
+
Fe([
|
|
24820
24842
|
u(M)
|
|
24821
24843
|
], Sc.prototype, "target");
|
|
24822
|
-
|
|
24844
|
+
Fe([
|
|
24823
24845
|
u()
|
|
24824
24846
|
], Sc.prototype, "toggleOnClick");
|
|
24825
|
-
|
|
24847
|
+
Fe([
|
|
24826
24848
|
u()
|
|
24827
24849
|
], Sc.prototype, "targetState");
|
|
24828
|
-
|
|
24850
|
+
Fe([
|
|
24829
24851
|
u()
|
|
24830
24852
|
], Sc.prototype, "hideSelf");
|
|
24831
24853
|
let Lv = Sc;
|
|
@@ -24873,13 +24895,13 @@ class Cc extends T {
|
|
|
24873
24895
|
afterCreateDocument(e, t) {
|
|
24874
24896
|
}
|
|
24875
24897
|
}
|
|
24876
|
-
|
|
24898
|
+
Fe([
|
|
24877
24899
|
u()
|
|
24878
24900
|
], Cc.prototype, "target");
|
|
24879
|
-
|
|
24901
|
+
Fe([
|
|
24880
24902
|
u()
|
|
24881
24903
|
], Cc.prototype, "duration");
|
|
24882
|
-
|
|
24904
|
+
Fe([
|
|
24883
24905
|
u()
|
|
24884
24906
|
], Cc.prototype, "motionType");
|
|
24885
24907
|
class or extends T {
|
|
@@ -24938,13 +24960,13 @@ class or extends T {
|
|
|
24938
24960
|
}
|
|
24939
24961
|
}
|
|
24940
24962
|
}
|
|
24941
|
-
|
|
24963
|
+
Fe([
|
|
24942
24964
|
u(hn)
|
|
24943
24965
|
], or.prototype, "target");
|
|
24944
|
-
|
|
24966
|
+
Fe([
|
|
24945
24967
|
u(URL)
|
|
24946
24968
|
], or.prototype, "clip");
|
|
24947
|
-
|
|
24969
|
+
Fe([
|
|
24948
24970
|
u()
|
|
24949
24971
|
], or.prototype, "toggleOnClick");
|
|
24950
24972
|
const lg = class bn extends T {
|
|
@@ -25146,10 +25168,10 @@ const lg = class bn extends T {
|
|
|
25146
25168
|
n && (this.animationSequence = n.animationSequence, this.animationLoopAfterSequence = n.animationLoopAfterSequence, this.randomOffsetNormalized = n.randomTimeOffset, this.stateAnimationModel = t);
|
|
25147
25169
|
}
|
|
25148
25170
|
};
|
|
25149
|
-
|
|
25171
|
+
Fe([
|
|
25150
25172
|
u(It)
|
|
25151
25173
|
], lg.prototype, "animator");
|
|
25152
|
-
|
|
25174
|
+
Fe([
|
|
25153
25175
|
u()
|
|
25154
25176
|
], lg.prototype, "stateName");
|
|
25155
25177
|
let gd = lg;
|
|
@@ -25160,13 +25182,13 @@ class Pc extends T {
|
|
|
25160
25182
|
getDuration() {
|
|
25161
25183
|
}
|
|
25162
25184
|
}
|
|
25163
|
-
|
|
25185
|
+
Fe([
|
|
25164
25186
|
u(M)
|
|
25165
25187
|
], Pc.prototype, "target");
|
|
25166
25188
|
class cu extends T {
|
|
25167
25189
|
target;
|
|
25168
25190
|
}
|
|
25169
|
-
|
|
25191
|
+
Fe([
|
|
25170
25192
|
u(Pc)
|
|
25171
25193
|
], cu.prototype, "target");
|
|
25172
25194
|
class hu extends Pc {
|
|
@@ -25184,10 +25206,10 @@ class hu extends Pc {
|
|
|
25184
25206
|
return this.duration;
|
|
25185
25207
|
}
|
|
25186
25208
|
}
|
|
25187
|
-
|
|
25209
|
+
Fe([
|
|
25188
25210
|
u()
|
|
25189
25211
|
], hu.prototype, "type");
|
|
25190
|
-
|
|
25212
|
+
Fe([
|
|
25191
25213
|
u()
|
|
25192
25214
|
], hu.prototype, "duration");
|
|
25193
25215
|
class Dv extends cu {
|
|
@@ -25274,7 +25296,7 @@ class tr {
|
|
|
25274
25296
|
const e = "https://oculus.com/open_url/?url=", t = document.createElement("button");
|
|
25275
25297
|
return this._sendToQuestButton = t, t.dataset.needle = "webxr-sendtoquest-button", t.innerText = "Open on Quest", t.prepend(Rt("share_windows")), t.title = "Click to send this page to the Oculus Browser on your Quest", t.addEventListener("click", () => {
|
|
25276
25298
|
const i = encodeURIComponent(window.location.href), n = e + i;
|
|
25277
|
-
window.open(n) == null &&
|
|
25299
|
+
window.open(n) == null && Be("This page doesn't allow popups. Please paste " + n + " into your browser.");
|
|
25278
25300
|
}), this.listenToXRSessionState(t), this.hideElementDuringXRSession(t), q.isMozillaXR() || navigator.xr?.addEventListener("devicechange", () => {
|
|
25279
25301
|
navigator.xr?.isSessionSupported("immersive-vr") ? t.style.display = "none" : t.style.display = "";
|
|
25280
25302
|
}), t;
|
|
@@ -26391,12 +26413,12 @@ class ar extends T {
|
|
|
26391
26413
|
rl && console.warn("AVATAR ENTER XR", this.guid, this.sourceId, this, this.activeAndEnabled), this._syncTransforms && (this._syncTransforms.length = 0), await this.prepareAvatar();
|
|
26392
26414
|
const t = En.getFor(this);
|
|
26393
26415
|
if (t?.owner) {
|
|
26394
|
-
const i = this.gameObject.addComponent(
|
|
26416
|
+
const i = this.gameObject.addComponent(je);
|
|
26395
26417
|
i.avatar = this.gameObject, i.connectionId = t.owner;
|
|
26396
26418
|
} else this.context.connection.isConnected ? console.error("No player state found for avatar", this) : t && !this.context.connection.isConnected && (t.dontDestroy = !0);
|
|
26397
26419
|
}
|
|
26398
26420
|
onLeaveXR(e) {
|
|
26399
|
-
const t = this.gameObject.getComponent(
|
|
26421
|
+
const t = this.gameObject.getComponent(je);
|
|
26400
26422
|
t && t.destroy();
|
|
26401
26423
|
}
|
|
26402
26424
|
onUpdateXR(e) {
|
|
@@ -29018,11 +29040,11 @@ const si = class Wp extends T {
|
|
|
29018
29040
|
/** @internal */
|
|
29019
29041
|
onEnable() {
|
|
29020
29042
|
const e = q.supportsQuickLookAR(), t = q.isiOS() || q.isiPad();
|
|
29021
|
-
!this.button && (oi || e || t) && (this.allowCreateQuicklookButton && (this.button = this.createQuicklookButton()), this.lastCallback = this.quicklookCallback.bind(this), this.link = j_(this.context, e), this.link.addEventListener("message", this.lastCallback)), oi &&
|
|
29043
|
+
!this.button && (oi || e || t) && (this.allowCreateQuicklookButton && (this.button = this.createQuicklookButton()), this.lastCallback = this.quicklookCallback.bind(this), this.link = j_(this.context, e), this.link.addEventListener("message", this.lastCallback)), oi && Be("USDZ Exporter enabled: " + this.name), document.getElementById("open-in-ar")?.addEventListener("click", this.onClickedOpenInARElement), ic.registerExporter(this);
|
|
29022
29044
|
}
|
|
29023
29045
|
/** @internal */
|
|
29024
29046
|
onDisable() {
|
|
29025
|
-
this.button?.remove(), this.link?.removeEventListener("message", this.lastCallback), oi &&
|
|
29047
|
+
this.button?.remove(), this.link?.removeEventListener("message", this.lastCallback), oi && Be("USDZ Exporter disabled: " + this.name), document.getElementById("open-in-ar")?.removeEventListener("click", this.onClickedOpenInARElement), ic.unregisterExporter(this);
|
|
29026
29048
|
}
|
|
29027
29049
|
onClickedOpenInARElement = (e) => {
|
|
29028
29050
|
e.preventDefault(), this.exportAndOpen();
|
|
@@ -29094,7 +29116,7 @@ const si = class Wp extends T {
|
|
|
29094
29116
|
}));
|
|
29095
29117
|
}
|
|
29096
29118
|
}
|
|
29097
|
-
oi &&
|
|
29119
|
+
oi && Be("Progressive Loading: " + n.length), await Promise.all(n), oi && Be("Progressive Loading: done"), le.end("export-usdz-textures");
|
|
29098
29120
|
const r = Jt.Global.Mask;
|
|
29099
29121
|
Jt.Global.Set(us.AR);
|
|
29100
29122
|
const a = new jM(), l = new ag(this.quickLookCompatible);
|
|
@@ -29177,7 +29199,7 @@ const si = class Wp extends T {
|
|
|
29177
29199
|
const i = new URLSearchParams(this.link.href);
|
|
29178
29200
|
if (i) {
|
|
29179
29201
|
const n = i.get("callToActionURL");
|
|
29180
|
-
oi &&
|
|
29202
|
+
oi && Be("Quicklook url: " + n), n && (bs() ? globalThis.open(n, "_blank") : console.warn("Quicklook closed: custom redirects require a Needle Engine Pro license: https://needle.tools/pricing", n));
|
|
29181
29203
|
}
|
|
29182
29204
|
}
|
|
29183
29205
|
}
|
|
@@ -30878,7 +30900,7 @@ C([
|
|
|
30878
30900
|
C([
|
|
30879
30901
|
u()
|
|
30880
30902
|
], ve.prototype, "strengthZMultiplier");
|
|
30881
|
-
class
|
|
30903
|
+
class Ne {
|
|
30882
30904
|
enabled;
|
|
30883
30905
|
attachRibbonToTransform = !1;
|
|
30884
30906
|
colorOverLifetime;
|
|
@@ -30910,64 +30932,64 @@ class Ue {
|
|
|
30910
30932
|
}
|
|
30911
30933
|
C([
|
|
30912
30934
|
u()
|
|
30913
|
-
],
|
|
30935
|
+
], Ne.prototype, "enabled");
|
|
30914
30936
|
C([
|
|
30915
30937
|
u()
|
|
30916
|
-
],
|
|
30938
|
+
], Ne.prototype, "attachRibbonToTransform");
|
|
30917
30939
|
C([
|
|
30918
30940
|
u(Wa)
|
|
30919
|
-
],
|
|
30941
|
+
], Ne.prototype, "colorOverLifetime");
|
|
30920
30942
|
C([
|
|
30921
30943
|
u(Wa)
|
|
30922
|
-
],
|
|
30944
|
+
], Ne.prototype, "colorOverTrail");
|
|
30923
30945
|
C([
|
|
30924
30946
|
u()
|
|
30925
|
-
],
|
|
30947
|
+
], Ne.prototype, "dieWithParticles");
|
|
30926
30948
|
C([
|
|
30927
30949
|
u()
|
|
30928
|
-
],
|
|
30950
|
+
], Ne.prototype, "inheritParticleColor");
|
|
30929
30951
|
C([
|
|
30930
30952
|
u(Y)
|
|
30931
|
-
],
|
|
30953
|
+
], Ne.prototype, "lifetime");
|
|
30932
30954
|
C([
|
|
30933
30955
|
u()
|
|
30934
|
-
],
|
|
30956
|
+
], Ne.prototype, "lifetimeMultiplier");
|
|
30935
30957
|
C([
|
|
30936
30958
|
u()
|
|
30937
|
-
],
|
|
30959
|
+
], Ne.prototype, "minVertexDistance");
|
|
30938
30960
|
C([
|
|
30939
30961
|
u()
|
|
30940
|
-
],
|
|
30962
|
+
], Ne.prototype, "mode");
|
|
30941
30963
|
C([
|
|
30942
30964
|
u()
|
|
30943
|
-
],
|
|
30965
|
+
], Ne.prototype, "ratio");
|
|
30944
30966
|
C([
|
|
30945
30967
|
u()
|
|
30946
|
-
],
|
|
30968
|
+
], Ne.prototype, "ribbonCount");
|
|
30947
30969
|
C([
|
|
30948
30970
|
u()
|
|
30949
|
-
],
|
|
30971
|
+
], Ne.prototype, "shadowBias");
|
|
30950
30972
|
C([
|
|
30951
30973
|
u()
|
|
30952
|
-
],
|
|
30974
|
+
], Ne.prototype, "sizeAffectsLifetime");
|
|
30953
30975
|
C([
|
|
30954
30976
|
u()
|
|
30955
|
-
],
|
|
30977
|
+
], Ne.prototype, "sizeAffectsWidth");
|
|
30956
30978
|
C([
|
|
30957
30979
|
u()
|
|
30958
|
-
],
|
|
30980
|
+
], Ne.prototype, "splitSubEmitterRibbons");
|
|
30959
30981
|
C([
|
|
30960
30982
|
u()
|
|
30961
|
-
],
|
|
30983
|
+
], Ne.prototype, "textureMode");
|
|
30962
30984
|
C([
|
|
30963
30985
|
u(Y)
|
|
30964
|
-
],
|
|
30986
|
+
], Ne.prototype, "widthOverTrail");
|
|
30965
30987
|
C([
|
|
30966
30988
|
u()
|
|
30967
|
-
],
|
|
30989
|
+
], Ne.prototype, "widthOverTrailMultiplier");
|
|
30968
30990
|
C([
|
|
30969
30991
|
u()
|
|
30970
|
-
],
|
|
30992
|
+
], Ne.prototype, "worldSpace");
|
|
30971
30993
|
class Ve {
|
|
30972
30994
|
enabled;
|
|
30973
30995
|
space = 0;
|
|
@@ -31500,7 +31522,7 @@ class ow {
|
|
|
31500
31522
|
), this.particleSystem.worldSpace || i.multiplyMatrices(this._emitterMatrix, i), this.subParticleSystem.emit(t, e.emissionState, i);
|
|
31501
31523
|
}
|
|
31502
31524
|
}
|
|
31503
|
-
var oT = Object.defineProperty,
|
|
31525
|
+
var oT = Object.defineProperty, ze = (s, e, t, i) => {
|
|
31504
31526
|
for (var n = void 0, o = s.length - 1, r; o >= 0; o--)
|
|
31505
31527
|
(r = s[o]) && (n = r(e, t, n) || n);
|
|
31506
31528
|
return n && oT(e, t, n), n;
|
|
@@ -31550,28 +31572,28 @@ class mn extends T {
|
|
|
31550
31572
|
return new H(t, this.getMaterial());
|
|
31551
31573
|
}
|
|
31552
31574
|
}
|
|
31553
|
-
|
|
31575
|
+
ze([
|
|
31554
31576
|
u()
|
|
31555
31577
|
], mn.prototype, "renderMode");
|
|
31556
|
-
|
|
31578
|
+
ze([
|
|
31557
31579
|
u(_e)
|
|
31558
31580
|
], mn.prototype, "particleMaterial");
|
|
31559
|
-
|
|
31581
|
+
ze([
|
|
31560
31582
|
u(_e)
|
|
31561
31583
|
], mn.prototype, "trailMaterial");
|
|
31562
|
-
|
|
31584
|
+
ze([
|
|
31563
31585
|
u()
|
|
31564
31586
|
], mn.prototype, "maxParticleSize");
|
|
31565
|
-
|
|
31587
|
+
ze([
|
|
31566
31588
|
u()
|
|
31567
31589
|
], mn.prototype, "minParticleSize");
|
|
31568
|
-
|
|
31590
|
+
ze([
|
|
31569
31591
|
u()
|
|
31570
31592
|
], mn.prototype, "velocityScale");
|
|
31571
|
-
|
|
31593
|
+
ze([
|
|
31572
31594
|
u()
|
|
31573
31595
|
], mn.prototype, "cameraVelocityScale");
|
|
31574
|
-
|
|
31596
|
+
ze([
|
|
31575
31597
|
u()
|
|
31576
31598
|
], mn.prototype, "lengthScale");
|
|
31577
31599
|
class vh {
|
|
@@ -32208,49 +32230,49 @@ const jt = class Uh extends T {
|
|
|
32208
32230
|
}
|
|
32209
32231
|
}
|
|
32210
32232
|
};
|
|
32211
|
-
|
|
32233
|
+
ze([
|
|
32212
32234
|
u(Cg)
|
|
32213
32235
|
], jt.prototype, "colorOverLifetime");
|
|
32214
|
-
|
|
32236
|
+
ze([
|
|
32215
32237
|
u(Qt)
|
|
32216
32238
|
], jt.prototype, "main");
|
|
32217
|
-
|
|
32239
|
+
ze([
|
|
32218
32240
|
u(Co)
|
|
32219
32241
|
], jt.prototype, "emission");
|
|
32220
|
-
|
|
32242
|
+
ze([
|
|
32221
32243
|
u(Va)
|
|
32222
32244
|
], jt.prototype, "sizeOverLifetime");
|
|
32223
|
-
|
|
32245
|
+
ze([
|
|
32224
32246
|
u(iw)
|
|
32225
32247
|
], jt.prototype, "shape");
|
|
32226
|
-
|
|
32248
|
+
ze([
|
|
32227
32249
|
u(ve)
|
|
32228
32250
|
], jt.prototype, "noise");
|
|
32229
|
-
|
|
32230
|
-
u(
|
|
32251
|
+
ze([
|
|
32252
|
+
u(Ne)
|
|
32231
32253
|
], jt.prototype, "trails");
|
|
32232
|
-
|
|
32254
|
+
ze([
|
|
32233
32255
|
u(Ve)
|
|
32234
32256
|
], jt.prototype, "velocityOverLifetime");
|
|
32235
|
-
|
|
32257
|
+
ze([
|
|
32236
32258
|
u(yt)
|
|
32237
32259
|
], jt.prototype, "limitVelocityOverLifetime");
|
|
32238
|
-
|
|
32260
|
+
ze([
|
|
32239
32261
|
u(sw)
|
|
32240
32262
|
], jt.prototype, "inheritVelocity");
|
|
32241
|
-
|
|
32263
|
+
ze([
|
|
32242
32264
|
u(Ic)
|
|
32243
32265
|
], jt.prototype, "colorBySpeed");
|
|
32244
|
-
|
|
32266
|
+
ze([
|
|
32245
32267
|
u(Yt)
|
|
32246
32268
|
], jt.prototype, "textureSheetAnimation");
|
|
32247
|
-
|
|
32269
|
+
ze([
|
|
32248
32270
|
u(Gn)
|
|
32249
32271
|
], jt.prototype, "rotationOverLifetime");
|
|
32250
|
-
|
|
32272
|
+
ze([
|
|
32251
32273
|
u(pn)
|
|
32252
32274
|
], jt.prototype, "rotationBySpeed");
|
|
32253
|
-
|
|
32275
|
+
ze([
|
|
32254
32276
|
u(Oi)
|
|
32255
32277
|
], jt.prototype, "sizeBySpeed");
|
|
32256
32278
|
let bd = jt;
|
|
@@ -32299,7 +32321,7 @@ class uc extends T {
|
|
|
32299
32321
|
const e = x.getComponentInParent(this.gameObject, En);
|
|
32300
32322
|
if (e && e.owner)
|
|
32301
32323
|
return this._didAssignPlayerColor = !0, this.assignUserColor(e.owner), !0;
|
|
32302
|
-
const t = x.getComponentInParent(this.gameObject,
|
|
32324
|
+
const t = x.getComponentInParent(this.gameObject, je);
|
|
32303
32325
|
return t?.connectionId ? (this._didAssignPlayerColor = !0, this.assignUserColor(t.connectionId), !0) : !1;
|
|
32304
32326
|
};
|
|
32305
32327
|
assignUserColor(e) {
|
|
@@ -33584,7 +33606,7 @@ class Dc extends T {
|
|
|
33584
33606
|
/** @internal */
|
|
33585
33607
|
awake() {
|
|
33586
33608
|
Bo && (console.log("PostprocessingManager Awake", this), console.log("Press P to toggle post processing"), window.addEventListener("keydown", (e) => {
|
|
33587
|
-
e.key === "p" && (this.enabled = !this.enabled,
|
|
33609
|
+
e.key === "p" && (this.enabled = !this.enabled, Be("Toggle PostProcessing " + this.name + ": Enabled=" + this.enabled), this.markDirty());
|
|
33588
33610
|
})), this.sharedProfile?.__init(this);
|
|
33589
33611
|
}
|
|
33590
33612
|
_componentEnabledTime = -1;
|
|
@@ -33782,7 +33804,7 @@ class Ze extends T {
|
|
|
33782
33804
|
}
|
|
33783
33805
|
/** @internal */
|
|
33784
33806
|
async onEnable() {
|
|
33785
|
-
if (globalThis.addEventListener("popstate", this.onPopState), this.context.input.addEventListener(
|
|
33807
|
+
if (globalThis.addEventListener("popstate", this.onPopState), this.context.input.addEventListener(De.KeyDown, this.onInputKeyDown), this.context.input.addEventListener(De.PointerMove, this.onInputPointerMove), this.context.input.addEventListener(De.PointerUp, this.onInputPointerUp), this._engineElementOverserver || (this._engineElementOverserver = new MutationObserver((e) => {
|
|
33786
33808
|
for (const t of e)
|
|
33787
33809
|
if (t.type === "attributes" && t.attributeName === $h) {
|
|
33788
33810
|
const i = this.context.domElement.getAttribute($h);
|
|
@@ -33814,7 +33836,7 @@ class Ze extends T {
|
|
|
33814
33836
|
}
|
|
33815
33837
|
/** @internal */
|
|
33816
33838
|
onDisable() {
|
|
33817
|
-
if (globalThis.removeEventListener("popstate", this.onPopState), this.context.input.removeEventListener(
|
|
33839
|
+
if (globalThis.removeEventListener("popstate", this.onPopState), this.context.input.removeEventListener(De.KeyDown, this.onInputKeyDown), this.context.input.removeEventListener(De.PointerMove, this.onInputPointerMove), this.context.input.removeEventListener(De.PointerUp, this.onInputPointerUp), this._preloadScheduler?.stop(), this._menuButtons) {
|
|
33818
33840
|
for (const e of this._menuButtons)
|
|
33819
33841
|
e.remove();
|
|
33820
33842
|
this._menuButtons = void 0;
|
|
@@ -35851,7 +35873,7 @@ class Lg extends T {
|
|
|
35851
35873
|
*/
|
|
35852
35874
|
setAvatarFlagsBeforeRender() {
|
|
35853
35875
|
const e = this._mode === 0;
|
|
35854
|
-
for (const t of
|
|
35876
|
+
for (const t of je.instances)
|
|
35855
35877
|
if (t.avatar && "isLocalAvatar" in t.avatar && "flags" in t.avatar) {
|
|
35856
35878
|
let i = us.All;
|
|
35857
35879
|
this.isSpectatingSelf && (i = e && t.avatar.isLocalAvatar ? us.FirstPerson : us.ThirdPerson);
|
|
@@ -35865,7 +35887,7 @@ class Lg extends T {
|
|
|
35865
35887
|
* Restores avatar visibility flags after spectator rendering
|
|
35866
35888
|
*/
|
|
35867
35889
|
resetAvatarFlags() {
|
|
35868
|
-
for (const e of
|
|
35890
|
+
for (const e of je.instances)
|
|
35869
35891
|
if (e.avatar && "flags" in e.avatar) {
|
|
35870
35892
|
const t = e.avatar.flags;
|
|
35871
35893
|
if (!t) continue;
|
|
@@ -35951,9 +35973,9 @@ class OE {
|
|
|
35951
35973
|
n.key === "Escape" && this.spectator.stopSpectating();
|
|
35952
35974
|
});
|
|
35953
35975
|
let i = 0;
|
|
35954
|
-
this.context.input.addEventListener(
|
|
35976
|
+
this.context.input.addEventListener(De.PointerDown, (n) => {
|
|
35955
35977
|
i = this.context.time.time;
|
|
35956
|
-
}), this.context.input.addEventListener(
|
|
35978
|
+
}), this.context.input.addEventListener(De.PointerUp, (n) => {
|
|
35957
35979
|
const o = this.context.time.time - i;
|
|
35958
35980
|
o > 1 ? this.spectator.stopSpectating() : this.context.input.getPointerClicked(0) && o < 0.3 && this.trySelectObject();
|
|
35959
35981
|
});
|
|
@@ -35968,7 +35990,7 @@ class OE {
|
|
|
35968
35990
|
if (pi && console.log(...t), t?.length)
|
|
35969
35991
|
for (const i of t) {
|
|
35970
35992
|
if (i.distance < 0.2) continue;
|
|
35971
|
-
const n = i.object, o = x.getComponentInParent(n,
|
|
35993
|
+
const n = i.object, o = x.getComponentInParent(n, je), r = o?.connectionId;
|
|
35972
35994
|
if (r) {
|
|
35973
35995
|
const a = this.context.players.getPlayerView(r);
|
|
35974
35996
|
this.spectator.target = a, pi && console.log("spectate", r, o);
|
|
@@ -36250,7 +36272,7 @@ const xw = class em extends T {
|
|
|
36250
36272
|
l.context = this.context;
|
|
36251
36273
|
const c = x.instantiate(this.cameraPrefab, l);
|
|
36252
36274
|
n = this.remoteCams[t] = { obj: c, lastUpdate: this.context.time.realtimeSinceStartup, userId: i }, n.obj.visible = !0, this.gameObject.add(c), this.userToCamMap[i] = t, em.instances.push(n);
|
|
36253
|
-
const h = x.getOrAddComponent(c,
|
|
36275
|
+
const h = x.getOrAddComponent(c, je);
|
|
36254
36276
|
h.connectionId = i, h.avatar = c;
|
|
36255
36277
|
} else
|
|
36256
36278
|
return;
|
|
@@ -36411,7 +36433,7 @@ C) Set "joinRandomRoom" to true`), !1) : (qf && console.log("Join " + this.roomN
|
|
|
36411
36433
|
const t = this.getViewOnlyUrl();
|
|
36412
36434
|
t?.length ? navigator.canShare({ url: t }) ? navigator.share({ url: t })?.catch((i) => {
|
|
36413
36435
|
console.warn(i);
|
|
36414
|
-
}) : (navigator.clipboard.writeText(t),
|
|
36436
|
+
}) : (navigator.clipboard.writeText(t), Be("View only URL copied to clipboard")) : me("Could not create view only URL");
|
|
36415
36437
|
}, e.title = "Copy the view only URL: A page accessed by the view only URL can not be modified by visiting users.", e.textContent = "Share View URL", e.prepend(Rt("visibility"));
|
|
36416
36438
|
}
|
|
36417
36439
|
this.context.menu.appendChild(this._viewOnlyButton);
|
|
@@ -37782,7 +37804,7 @@ class Mo extends T {
|
|
|
37782
37804
|
Fo && console.warn("Button Up", this.animationTriggers?.highlightedTrigger, this.animator, this._isHovered), this.interactable && (this.transition == 3 && this.animationTriggers && this.animator ? this.animator.setTrigger(this._isHovered ? this.animationTriggers.highlightedTrigger : this.animationTriggers.normalTrigger) : this.transition === 1 && this.colors && this._image?.setState(this._isHovered ? "hovered" : "normal"));
|
|
37783
37805
|
}
|
|
37784
37806
|
onPointerClick(e) {
|
|
37785
|
-
if (this.interactable && !(e.button !== 0 && e.event.pointerType === Pm.Mouse) && (Fo && (console.warn("Button Click", this.onClick),
|
|
37807
|
+
if (this.interactable && !(e.button !== 0 && e.event.pointerType === Pm.Mouse) && (Fo && (console.warn("Button Click", this.onClick), Be("CLICKED button " + this.name + " at " + this.context.time.frameCount)), this.onClick && this.onClick.listenerCount > 0 && (this.onClick.invoke(), e.use(), Fo))) {
|
|
37786
37808
|
const t = this.gameObject.worldPosition;
|
|
37787
37809
|
t.add(this.gameObject.worldUp.multiplyScalar(1 + Math.random() * 0.5)), F.DrawLabel(t, "CLICK:" + Date.now(), 0.1, 1 + Math.random() * 0.5);
|
|
37788
37810
|
}
|
|
@@ -38356,7 +38378,7 @@ class Wc extends T {
|
|
|
38356
38378
|
}
|
|
38357
38379
|
this._validateUrl();
|
|
38358
38380
|
let e = this.url;
|
|
38359
|
-
switch (!e.startsWith("mailto:") && e.includes("@") && (e = "mailto:" + e), L() &&
|
|
38381
|
+
switch (!e.startsWith("mailto:") && e.includes("@") && (e = "mailto:" + e), L() && Be("Open URL: " + e), this.mode) {
|
|
38360
38382
|
case 0:
|
|
38361
38383
|
q.isSafari(), globalThis.open(e, "_blank");
|
|
38362
38384
|
break;
|
|
@@ -39533,7 +39555,7 @@ P.add("TeleportTarget", ug);
|
|
|
39533
39555
|
P.add("WebARCameraBackground", zu);
|
|
39534
39556
|
P.add("WebARSessionRoot", $i);
|
|
39535
39557
|
P.add("WebXR", fg);
|
|
39536
|
-
P.add("AvatarMarker",
|
|
39558
|
+
P.add("AvatarMarker", je);
|
|
39537
39559
|
P.add("WebXRImageTracking", Pd);
|
|
39538
39560
|
P.add("WebXRPlaneTracking", Ao);
|
|
39539
39561
|
P.add("XRRig", Vg);
|
|
@@ -39622,7 +39644,7 @@ async function sm(s, e, t, i) {
|
|
|
39622
39644
|
}
|
|
39623
39645
|
if (ul.length > 0) {
|
|
39624
39646
|
const r = ul.join(", ");
|
|
39625
|
-
console.warn("unknown components: " + r), ul.length = 0, ti() &&
|
|
39647
|
+
console.warn("unknown components: " + r), ul.length = 0, ti() && Be(`<strong>Unknown components in scene</strong>:
|
|
39626
39648
|
|
|
39627
39649
|
${r}
|
|
39628
39650
|
|
|
@@ -39805,7 +39827,7 @@ function xA(s) {
|
|
|
39805
39827
|
if (new URL(s, window.location.href).href.startsWith("file://")) {
|
|
39806
39828
|
const t = `Hi - it looks like you are trying to load a local file which will not work. You need to use a webserver to serve your files.
|
|
39807
39829
|
Please refer to the documentation on <a href="https://fwd.needle.tools/needle-engine/docs/local-server">https://docs.needle.tools</a> or ask for help in our <a href="https://discord.needle.tools">discord community</a>`;
|
|
39808
|
-
|
|
39830
|
+
Be(t), console.warn(t);
|
|
39809
39831
|
}
|
|
39810
39832
|
}
|
|
39811
39833
|
function SA(s, e) {
|
|
@@ -41734,7 +41756,7 @@ const pL = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
|
41734
41756
|
AvatarBlink_Simple: Ta,
|
|
41735
41757
|
AvatarEyeLook_Rotation: ev,
|
|
41736
41758
|
AvatarLoader: FA,
|
|
41737
|
-
AvatarMarker:
|
|
41759
|
+
AvatarMarker: je,
|
|
41738
41760
|
AvatarModel: Hw,
|
|
41739
41761
|
Avatar_Brain_LookAt: ud,
|
|
41740
41762
|
Avatar_MouthShapes: eu,
|
|
@@ -41895,8 +41917,8 @@ const pL = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
|
41895
41917
|
TextureSheetAnimationModule: Yt,
|
|
41896
41918
|
TiltShiftEffect: Ds,
|
|
41897
41919
|
ToneMappingEffect: cr,
|
|
41898
|
-
TrailModule:
|
|
41899
|
-
TransformData:
|
|
41920
|
+
TrailModule: Ne,
|
|
41921
|
+
TransformData: Ue,
|
|
41900
41922
|
TransformGizmo: qa,
|
|
41901
41923
|
TriggerBuilder: Gt,
|
|
41902
41924
|
TriggerModel: er,
|
|
@@ -41999,11 +42021,7 @@ he.registerCallback(ce.ContextCreated, (s) => {
|
|
|
41999
42021
|
});
|
|
42000
42022
|
class NA extends NS {
|
|
42001
42023
|
constructor() {
|
|
42002
|
-
super(new Worker(new URL(
|
|
42003
|
-
/* @vite-ignore */
|
|
42004
|
-
"/generateMeshBVH.worker-2qGLkQjg.js",
|
|
42005
|
-
import.meta.url
|
|
42006
|
-
), { type: "module" })), this.name = "GenerateMeshBVHWorker";
|
|
42024
|
+
super(new Worker(URL.createObjectURL(new Blob(["import '" + `${new URL('./generateMeshBVH.worker-2qGLkQjg.js', import.meta.url).toString()}` + "';"], { type: 'text/javascript' })), { type: "module" })), this.name = "GenerateMeshBVHWorker";
|
|
42007
42025
|
}
|
|
42008
42026
|
runTask(e, t, i = {}) {
|
|
42009
42027
|
return new Promise((n, o) => {
|
|
@@ -42077,7 +42095,7 @@ export {
|
|
|
42077
42095
|
Ta as AvatarBlink_Simple,
|
|
42078
42096
|
ev as AvatarEyeLook_Rotation,
|
|
42079
42097
|
FA as AvatarLoader,
|
|
42080
|
-
|
|
42098
|
+
je as AvatarMarker,
|
|
42081
42099
|
Hw as AvatarModel,
|
|
42082
42100
|
ud as Avatar_Brain_LookAt,
|
|
42083
42101
|
eu as Avatar_MouthShapes,
|
|
@@ -42184,7 +42202,7 @@ export {
|
|
|
42184
42202
|
sw as InheritVelocityModule,
|
|
42185
42203
|
r1 as Input,
|
|
42186
42204
|
di as InputEventQueue,
|
|
42187
|
-
|
|
42205
|
+
De as InputEvents,
|
|
42188
42206
|
Rw as InputField,
|
|
42189
42207
|
ra as InstanceHandle,
|
|
42190
42208
|
Pa as InstancingHandler,
|
|
@@ -42352,8 +42370,8 @@ export {
|
|
|
42352
42370
|
cr as ToneMappingEffect,
|
|
42353
42371
|
Iu as TrackHandler,
|
|
42354
42372
|
Bi as TrackType,
|
|
42355
|
-
|
|
42356
|
-
|
|
42373
|
+
Ne as TrailModule,
|
|
42374
|
+
Ue as TransformData,
|
|
42357
42375
|
qa as TransformGizmo,
|
|
42358
42376
|
Gt as TriggerBuilder,
|
|
42359
42377
|
er as TriggerModel,
|
|
@@ -42599,7 +42617,7 @@ export {
|
|
|
42599
42617
|
Ud as setWorldRotationXYZ,
|
|
42600
42618
|
tc as setWorldScale,
|
|
42601
42619
|
Nd as showBalloonError,
|
|
42602
|
-
|
|
42620
|
+
Be as showBalloonMessage,
|
|
42603
42621
|
me as showBalloonWarning,
|
|
42604
42622
|
Hb as showDebugConsole,
|
|
42605
42623
|
pI as slerp,
|