@vincentt-xr/sdk 2.0.0-alpha.6 → 2.0.0-alpha.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (77) hide show
  1. package/GROUNDING.md +81 -3
  2. package/dist/{DebuggerUI-DYT_dk1E.cjs → DebuggerUI-B6bP6P9r.cjs} +1 -1
  3. package/dist/{DebuggerUI-C_rbLdkh.js → DebuggerUI-BjOMr8q_.js} +1 -1
  4. package/dist/{FaceMeshRenderer-D1WsrTLA.cjs → FaceMeshRenderer-C5l6VLdO.cjs} +6 -6
  5. package/dist/{FaceMeshRenderer-DSCd1H55.js → FaceMeshRenderer-wjAHrJzP.js} +102 -96
  6. package/dist/{FaceRetouch-DsE0Dbw-.cjs → FaceRetouch-BkJzoA79.cjs} +1 -1
  7. package/dist/{FaceRetouch-CMJbGThL.js → FaceRetouch-DwbKQJAN.js} +4 -4
  8. package/dist/components/FaceMesh/FaceMeshRenderer.d.ts +11 -3
  9. package/dist/components/FaceMesh/canonical/CanonicalFaceMeshRenderer.d.ts +10 -4
  10. package/dist/components/FaceMesh/index.d.ts +2 -2
  11. package/dist/components/SceneObjectRenderer/index.d.ts +9 -2
  12. package/dist/components/XRMediaSurface/index.d.ts +2 -1
  13. package/dist/{contexts-DvQI4PqI.js → contexts-ByhzppYl.js} +3 -3
  14. package/dist/{contexts-h-9TRH0r.cjs → contexts-Dr62It_K.cjs} +1 -1
  15. package/dist/debug-ui/media-source.cjs +1 -1
  16. package/dist/debug-ui/media-source.js +1 -1
  17. package/dist/debug-ui.cjs +1 -1
  18. package/dist/debug-ui.js +10 -10
  19. package/dist/entries/core.d.ts +3 -2
  20. package/dist/entries/face-effects.d.ts +2 -2
  21. package/dist/entries/tracking.d.ts +2 -0
  22. package/dist/face-effects.cjs +1 -1
  23. package/dist/face-effects.js +25 -24
  24. package/dist/{getFaceInfo-B43Cwq4n.js → getFaceInfo-C4QpCQIY.js} +1 -1
  25. package/dist/{getFaceInfo-DEzcL_Ub.cjs → getFaceInfo-fA1bFBub.cjs} +1 -1
  26. package/dist/hooks/useXRSession/facade.d.ts +2 -0
  27. package/dist/{index-I4eF5TKT.js → index-9dlAQAhy.js} +405 -400
  28. package/dist/{index-CY7Z8cHV.cjs → index-BjmTe9eM.cjs} +1 -1
  29. package/dist/{index-D67hHm44.cjs → index-BpEf2BBb.cjs} +1 -1
  30. package/dist/{index-B-s4YbWu.js → index-ByoNj0QP.js} +1 -1
  31. package/dist/{index-CxMEeCRP.cjs → index-CyUUurQT.cjs} +1 -1
  32. package/dist/index-DCiMbxC3.cjs +1 -0
  33. package/dist/{index-G_5h_FJQ.js → index-DXT3WccE.js} +808 -787
  34. package/dist/index-DpI-qo5X.cjs +17 -0
  35. package/dist/{index-DYfY9ljy.js → index-DyVF4vEW.js} +1 -1
  36. package/dist/{index-uE3sKczj.js → index-VJ0SJwmG.js} +1 -1
  37. package/dist/{internal-MvKrz0Nt.cjs → internal-Cq-TEQ5Y.cjs} +1 -1
  38. package/dist/{internal-ldPYiUF0.js → internal-Dmk1cTXq.js} +3 -3
  39. package/dist/internal.cjs +1 -1
  40. package/dist/internal.js +1 -1
  41. package/dist/low-level.cjs +1 -1
  42. package/dist/low-level.js +344 -330
  43. package/dist/main.cjs +1 -1
  44. package/dist/main.js +94 -91
  45. package/dist/{renderGroups-BJsx32q5.cjs → renderGroups-80H3DpTl.cjs} +1 -1
  46. package/dist/{renderGroups-CFt1yYLB.js → renderGroups-KZk6eRiY.js} +1 -1
  47. package/dist/{renderPasses-D-Krl6D0.cjs → renderPasses-BOoBSr8z.cjs} +1 -1
  48. package/dist/{renderPasses-C72MbZ-a.js → renderPasses-BcquyVtu.js} +4 -4
  49. package/dist/scene-object.cjs +1 -1
  50. package/dist/scene-object.js +2 -2
  51. package/dist/screen2d/coordinates.d.ts +20 -0
  52. package/dist/{selectors-ByKNTXeA.js → selectors-B8H97CKA.js} +1 -1
  53. package/dist/{selectors-CAwmL9VW.cjs → selectors-CZLKT2Iv.cjs} +1 -1
  54. package/dist/{session-CANvoLD6.cjs → session-CpkiK5YA.cjs} +1 -1
  55. package/dist/{session-Dhi0OqZo.js → session-DLFN_VII.js} +1 -1
  56. package/dist/tracking/coordinates.d.ts +5 -0
  57. package/dist/tracking.cjs +1 -1
  58. package/dist/tracking.js +69 -66
  59. package/dist/types/common.d.ts +11 -1
  60. package/dist/types/gesture-tracking.d.ts +2 -2
  61. package/dist/types/hand-tracking.d.ts +3 -3
  62. package/dist/types/nodes.d.ts +2 -2
  63. package/dist/types/session.d.ts +7 -1
  64. package/dist/{useFaceInfo-BSZq7AO1.cjs → useFaceInfo-BJ8-_MOs.cjs} +1 -1
  65. package/dist/{useFaceInfo-FVQBBNdY.js → useFaceInfo-Dk426LTu.js} +3 -3
  66. package/dist/{useFaceResults-D62STzT1.js → useFaceResults-CtetsO9M.js} +1 -1
  67. package/dist/{useFaceResults-C3oZkn2Z.cjs → useFaceResults-wBJF3zyp.cjs} +1 -1
  68. package/docs/SDK_DOCUMENTATION.md +3 -0
  69. package/docs/api/capture-recording.mdx +9 -1
  70. package/docs/api/face-mesh.mdx +33 -0
  71. package/docs/api/runtime-3d.mdx +5 -0
  72. package/docs/api/screen-image.mdx +3 -1
  73. package/docs/api/screen-space-coordinates.mdx +31 -0
  74. package/docs/api/trackers.mdx +13 -0
  75. package/package.json +4 -1
  76. package/dist/index-C0-fg1Hk.cjs +0 -1
  77. package/dist/index-DPPpU5By.cjs +0 -17
@@ -1,24 +1,24 @@
1
- import { jsx as h, jsxs as F, Fragment as de } from "react/jsx-runtime";
2
- import { useThree as Ae, useFrame as ae } from "@react-three/fiber";
3
- import { useMemo as x, forwardRef as at, useEffect as te, useState as ce, useRef as X, useCallback as Ie, useLayoutEffect as ot } from "react";
4
- import * as M from "three";
1
+ import { jsx as d, jsxs as W, Fragment as ge } from "react/jsx-runtime";
2
+ import { useThree as he, useFrame as se } from "@react-three/fiber";
3
+ import { useMemo as x, forwardRef as at, useEffect as te, useState as Ae, useRef as P, useCallback as be, useLayoutEffect as ot } from "react";
4
+ import * as B from "three";
5
5
  import { Vector2 as st, Raycaster as lt, Ray as ct, Vector3 as _, Quaternion as We, Euler as At } from "three";
6
- import { e as ht, a as Ue, u as be, S as dt, M as gt } from "./index-uE3sKczj.js";
7
- import { y as le, m as ft } from "./FaceMeshRenderer-DSCd1H55.js";
8
- import { W as z, U as Xe, Z as Ve, X as Ze, s as ut, t as St, b as De, P as vt, L as mt, R as Ct, E as Et, Y as je, I as It } from "./renderPasses-C72MbZ-a.js";
9
- import { d as bt, j as yt, k as Tt, f as Bt, c as pt, S as Mt } from "./contexts-DvQI4PqI.js";
10
- import { b as wt, r as Qt } from "./index-B-s4YbWu.js";
11
- import { T as kt, s as xt } from "./index-DYfY9ljy.js";
12
- import { a as Lt } from "./useFaceInfo-FVQBBNdY.js";
13
- import { g as Ft, e as Yt, u as Wt } from "./index-I4eF5TKT.js";
6
+ import { e as ht, a as Ne, u as Ie, S as dt, M as gt } from "./index-VJ0SJwmG.js";
7
+ import { z as ce, m as ft } from "./FaceMeshRenderer-wjAHrJzP.js";
8
+ import { W as O, U as ne, Z as Ue, X as Ve, s as ut, t as St, b as Xe, P as vt, L as mt, R as Ct, E as Et, Y as je, I as bt } from "./renderPasses-BcquyVtu.js";
9
+ import { d as It, j as yt, k as Tt, f as Bt, c as wt, S as pt } from "./contexts-ByhzppYl.js";
10
+ import { b as Qt, r as Mt } from "./index-ByoNj0QP.js";
11
+ import { T as xt, s as kt } from "./index-DyVF4vEW.js";
12
+ import { a as Lt } from "./useFaceInfo-Dk426LTu.js";
13
+ import { g as Ft, e as Yt, u as Wt } from "./index-9dlAQAhy.js";
14
14
  import { useTexture as Xt } from "@react-three/drei";
15
- const Z = {
15
+ const ie = {
16
16
  width: 720,
17
17
  height: 1280
18
18
  }, Dt = (t = [0.5, 0.5]) => [
19
19
  t[0] * 2 - 1,
20
20
  t[1] * 2 - 1
21
- ], ge = ({
21
+ ], fe = ({
22
22
  position: t = [0, 0],
23
23
  size: e = [1, 1]
24
24
  }) => {
@@ -31,52 +31,66 @@ const Z = {
31
31
  };
32
32
  }, Pt = ({
33
33
  position: t = [0, 0],
34
- size: e = [Z.width, Z.width],
35
- canvasSize: n = Z
34
+ size: e,
35
+ canvasSize: n = ie
36
36
  }) => {
37
- const r = n.width / 2 || Z.width / 2, a = n.height / 2 || Z.height / 2;
38
- return ge({
37
+ const r = n.width / 2 || ie.width / 2, a = n.height / 2 || ie.height / 2, i = e ?? [n.width, n.height];
38
+ return fe({
39
39
  position: [t[0] / r, t[1] / a],
40
- size: [e[0] / r, e[1] / a]
40
+ size: [i[0] / r, i[1] / a]
41
41
  });
42
- }, qe = ({
42
+ }, Ze = ({
43
43
  coordinateSpace: t = "normalized",
44
- canvasSize: e = Z,
44
+ canvasSize: e = ie,
45
45
  position: n,
46
46
  size: r,
47
47
  fallbackAnchors: a
48
- }) => a || (!n && !r ? ge({}) : t === "canvas" ? Pt({ position: n, size: r, canvasSize: e }) : ge({ position: n, size: r })), fe = (t, e) => {
48
+ }) => a || (!n && !r ? fe({}) : t === "canvas" ? Pt({ position: n, size: r, canvasSize: e }) : fe({ position: n, size: r })), k = (t, e) => {
49
49
  if (!Number.isFinite(t) || t <= 0) throw new RangeError(`${e} must be positive`);
50
50
  return t;
51
- }, oe = (t, e) => {
52
- const n = fe(e.width, "root.width"), r = fe(e.height, "root.height");
51
+ }, Rt = (t, e) => {
52
+ const n = k(e.width, "root.width"), r = k(e.height, "root.height");
53
53
  return !Number.isFinite(t.width) || !Number.isFinite(t.height) || t.width <= 0 || t.height <= 0 ? 0 : Math.min(t.width / n, t.height / r);
54
- }, ye = (t, e, n, r) => {
55
- const a = oe(e, n);
56
- return a === 0 ? Object.assign(r, { x: 0, y: 0 }) : (r.x = (t.x - e.width * 0.5) / a, r.y = (e.height * 0.5 - t.y) / a, r);
57
- }, Te = (t, e, n, r) => {
58
- const a = oe(e, n);
59
- return r.x = t.x * a + e.width * 0.5, r.y = e.height * 0.5 - t.y * a, r;
60
- }, _e = ({
54
+ }, ye = (t, e, n, r) => e.width <= 0 || e.height <= 0 ? Object.assign(r, { x: 0, y: 0 }) : (k(n.width, "root.width"), k(n.height, "root.height"), r.x = (t.x / e.width - 0.5) * n.width, r.y = (0.5 - t.y / e.height) * n.height, r), Te = (t, e, n, r) => e.width <= 0 || e.height <= 0 ? Object.assign(r, { x: 0, y: 0 }) : (k(n.width, "root.width"), k(n.height, "root.height"), r.x = (t.x / n.width + 0.5) * e.width, r.y = (0.5 - t.y / n.height) * e.height, r), qe = ({
61
55
  parentSize: t,
62
- referencePixelsPerUnit: e = Xe,
63
- root: n = z
64
- }) => oe(t, n) * (Xe / fe(e, "referencePixelsPerUnit")), dr = (t, e) => t * _e(e), gr = (t, e) => {
65
- const n = _e(e);
56
+ referencePixelsPerUnit: e = ne,
57
+ root: n = O
58
+ }) => Rt(t, n) * (ne / k(e, "referencePixelsPerUnit")), dr = (t, e) => t * qe(e), gr = (t, e) => {
59
+ const n = qe(e);
66
60
  return n === 0 ? 0 : t / n;
67
61
  }, fr = ({
62
+ point: t,
63
+ parentSize: e,
64
+ referencePixelsPerUnit: n = ne,
65
+ root: r = O,
66
+ target: a = { x: 0, y: 0 }
67
+ }) => {
68
+ if (e.width <= 0 || e.height <= 0) return Object.assign(a, { x: 0, y: 0 });
69
+ const i = ne / k(n, "referencePixelsPerUnit");
70
+ return a.x = t.x * (e.width / k(r.width, "root.width")) * i, a.y = t.y * (e.height / k(r.height, "root.height")) * i, a;
71
+ }, ur = ({
72
+ point: t,
73
+ parentSize: e,
74
+ referencePixelsPerUnit: n = ne,
75
+ root: r = O,
76
+ target: a = { x: 0, y: 0 }
77
+ }) => {
78
+ if (e.width <= 0 || e.height <= 0) return Object.assign(a, { x: 0, y: 0 });
79
+ const i = ne / k(n, "referencePixelsPerUnit");
80
+ return a.x = t.x / (e.width / k(r.width, "root.width") * i), a.y = t.y / (e.height / k(r.height, "root.height") * i), a;
81
+ }, Sr = ({
68
82
  point: t,
69
83
  rect: e,
70
- root: n = z,
84
+ root: n = O,
71
85
  target: r = { x: 0, y: 0 }
72
- }) => ye({ x: t.x - e.left, y: t.y - e.top }, e, n, r), ur = ({
86
+ }) => ye({ x: t.x - e.left, y: t.y - e.top }, e, n, r), vr = ({
73
87
  point: t,
74
88
  rect: e,
75
- root: n = z,
89
+ root: n = O,
76
90
  target: r = { x: 0, y: 0 }
77
- }) => (Te(t, e, n, r), r.x += e.left, r.y += e.top, r), Rt = ({
91
+ }) => (Te(t, e, n, r), r.x += e.left, r.y += e.top, r), _e = ({
78
92
  point: t,
79
- root: e = z,
93
+ root: e = O,
80
94
  target: n = { x: 0, y: 0 },
81
95
  viewportSize: r
82
96
  }) => ye(
@@ -84,16 +98,26 @@ const Z = {
84
98
  r,
85
99
  e,
86
100
  n
87
- ), Sr = ({
101
+ ), mr = ({
102
+ point: t,
103
+ root: e = O,
104
+ target: n = { x: 0, y: 0 },
105
+ viewportSize: r
106
+ }) => r.width <= 0 || r.height <= 0 ? Object.assign(n, { x: 0, y: 0 }) : (Te(t, r, e, n), n.x /= r.width, n.y /= r.height, n), Cr = ({
88
107
  point: t,
89
- root: e = z,
108
+ root: e = O,
90
109
  target: n = { x: 0, y: 0 },
91
110
  viewportSize: r
92
- }) => r.width <= 0 || r.height <= 0 ? Object.assign(n, { x: 0, y: 0 }) : (Te(t, r, e, n), n.x /= r.width, n.y /= r.height, n), vr = ({
111
+ }) => _e({
112
+ point: { x: (t.x + 1) / 2, y: (1 - t.y) / 2 },
113
+ viewportSize: r,
114
+ root: e,
115
+ target: n
116
+ }), Er = ({
93
117
  layout: t,
94
118
  mirrored: e = !1,
95
119
  point: n,
96
- root: r = z,
120
+ root: r = O,
97
121
  target: a = { x: 0, y: 0 }
98
122
  }) => {
99
123
  if (t.scale <= 0) return Object.assign(a, { x: 0, y: 0 });
@@ -107,60 +131,51 @@ const Z = {
107
131
  r,
108
132
  a
109
133
  );
110
- }, mr = ({
134
+ }, br = ({
111
135
  layout: t,
112
136
  mirrored: e = !1,
113
137
  point: n,
114
- root: r = z,
138
+ root: r = O,
115
139
  target: a = { x: 0, y: 0 }
116
140
  }) => {
117
141
  if (t.scale <= 0) return Object.assign(a, { x: 0, y: 0 });
118
142
  Te(n, t.destination, r, a);
119
143
  const i = e ? t.destination.width - a.x : a.x;
120
144
  return a.x = (i - t.offsetX) / t.scale, a.y = (a.y - t.offsetY) / t.scale, a;
121
- }, se = new _(), Pe = new st(), Re = new lt(), Cr = ({
145
+ }, le = new _(), De = new st(), Pe = new lt(), Ir = ({
122
146
  camera: t,
123
147
  point: e,
124
- root: n = z,
148
+ root: n = O,
125
149
  target: r = { x: 0, y: 0, depth: 0 },
126
150
  viewportSize: a
127
- }) => {
128
- const i = oe(a, n);
129
- return se.set(e.x, e.y, e.z).project(t), r.x = i === 0 ? 0 : se.x * a.width / (2 * i), r.y = i === 0 ? 0 : se.y * a.height / (2 * i), r.depth = se.z, r;
130
- }, Er = ({
151
+ }) => (k(n.width, "root.width"), k(n.height, "root.height"), le.set(e.x, e.y, e.z).project(t), r.x = le.x * n.width / 2, r.y = le.y * n.height / 2, r.depth = le.z, r), yr = ({
131
152
  camera: t,
132
153
  point: e,
133
- root: n = z,
154
+ root: n = O,
134
155
  target: r = new ct(),
135
156
  viewportSize: a
136
- }) => {
137
- const i = oe(a, n);
138
- return Pe.set(
139
- a.width <= 0 ? 0 : e.x * i * 2 / a.width,
140
- a.height <= 0 ? 0 : e.y * i * 2 / a.height
141
- ), Re.setFromCamera(Pe, t), r.copy(Re.ray);
142
- }, Ot = ({ children: t, depth: e = 0 }) => {
143
- const { camera: n, size: r } = Ae(), a = x(() => {
157
+ }) => (k(n.width, "root.width"), k(n.height, "root.height"), De.set(e.x * 2 / n.width, e.y * 2 / n.height), Pe.setFromCamera(De, t), r.copy(Pe.ray)), Ot = ({ children: t, depth: e = 0 }) => {
158
+ const { camera: n, size: r } = he(), a = x(() => {
144
159
  if (!n.isPerspectiveCamera)
145
160
  return { width: 10, height: 10 };
146
- const i = n, o = Math.abs(i.position.z - e), l = i.fov * Math.PI / 180, s = 2 * Math.tan(l / 2) * o;
147
- return { width: s * (r.width / r.height), height: s };
161
+ const i = n, o = Math.abs(i.position.z - e), s = i.fov * Math.PI / 180, l = 2 * Math.tan(s / 2) * o;
162
+ return { width: l * (r.width / r.height), height: l };
148
163
  }, [n, r, e]);
149
- return /* @__PURE__ */ h(ht.Provider, { value: a, children: /* @__PURE__ */ h("group", { position: [0, 0, e], children: t }) });
164
+ return /* @__PURE__ */ d(ht.Provider, { value: a, children: /* @__PURE__ */ d("group", { position: [0, 0, e], children: t }) });
150
165
  }, $e = at(
151
- ({ texture: t, name: e, overlay: n, opacity: r, position: a, rotation: i, scale: o, visible: l, renderOrder: s }, A) => /* @__PURE__ */ F(
166
+ ({ texture: t, name: e, overlay: n, opacity: r, position: a, rotation: i, scale: o, visible: s, renderOrder: l }, c) => /* @__PURE__ */ W(
152
167
  "mesh",
153
168
  {
154
- ref: A,
169
+ ref: c,
155
170
  name: e,
156
171
  position: a,
157
172
  rotation: i,
158
173
  scale: o,
159
- visible: l,
160
- renderOrder: s,
174
+ visible: s,
175
+ renderOrder: l,
161
176
  children: [
162
- /* @__PURE__ */ h("planeGeometry", { args: [1, 1] }),
163
- /* @__PURE__ */ h(
177
+ /* @__PURE__ */ d("planeGeometry", { args: [1, 1] }),
178
+ /* @__PURE__ */ d(
164
179
  "meshBasicMaterial",
165
180
  {
166
181
  map: t,
@@ -229,7 +244,7 @@ function zt(t, e, n, r) {
229
244
  function et(t, e, n, r) {
230
245
  return `${t} ${e} ${n}px ${r}`;
231
246
  }
232
- function ie(t, e) {
247
+ function oe(t, e) {
233
248
  const n = Math.max(0, Math.min(e, 1));
234
249
  return t * n * 0.08;
235
250
  }
@@ -243,7 +258,7 @@ function nt(t, e) {
243
258
  function rt(t) {
244
259
  "letterSpacing" in t && (t.letterSpacing = "0px");
245
260
  }
246
- function ne(t, e, n) {
261
+ function re(t, e, n) {
247
262
  nt(t, n);
248
263
  const r = t.measureText(e).width;
249
264
  return rt(t), r;
@@ -252,52 +267,52 @@ function Se(t, e, n, r) {
252
267
  return Math.max(1, Math.floor((t - e * 2) / tt(n, r)));
253
268
  }
254
269
  function Kt(t, e, n, r, a) {
255
- return e.length <= r && e.every((i) => ne(t, i, a) <= n);
270
+ return e.length <= r && e.every((i) => re(t, i, a) <= n);
256
271
  }
257
- function ve(t, e, n, r, a, i, o, l) {
272
+ function ve(t, e, n, r, a, i, o, s) {
258
273
  t.font = et(r, a, i, o);
259
- const s = e.split(" "), A = [];
260
- let c = "";
261
- for (const g of s) {
262
- const f = c ? `${c} ${g}` : g;
263
- ne(t, f, l) > n && c ? (A.push(c), c = g) : c = f;
274
+ const l = e.split(" "), c = [];
275
+ let A = "";
276
+ for (const f of l) {
277
+ const g = A ? `${A} ${f}` : f;
278
+ re(t, g, s) > n && A ? (c.push(A), A = f) : A = g;
264
279
  }
265
- return c && A.push(c), A;
280
+ return A && c.push(A), c;
266
281
  }
267
- function Oe(t, e, n, r, a, i, o, l) {
268
- const A = e.split(/\r?\n/).flatMap((c) => c.trim().length === 0 ? [""] : ve(
282
+ function Re(t, e, n, r, a, i, o, s) {
283
+ const c = e.split(/\r?\n/).flatMap((A) => A.trim().length === 0 ? [""] : ve(
269
284
  t,
270
- c,
285
+ A,
271
286
  n,
272
287
  r,
273
288
  a,
274
289
  i,
275
290
  o,
276
- l
291
+ s
277
292
  ));
278
- return A.length > 0 ? A : [e];
293
+ return c.length > 0 ? c : [e];
279
294
  }
280
295
  function it(t, e, n, r, a) {
281
296
  const i = r ? "..." : "";
282
297
  let o = e.trimEnd();
283
- for (; o.length > 0 && ne(t, `${o}${i}`, a) > n; )
298
+ for (; o.length > 0 && re(t, `${o}${i}`, a) > n; )
284
299
  o = o.slice(0, -1).trimEnd();
285
300
  return `${o}${i}`;
286
301
  }
287
302
  function me(t, e, n, r, a) {
288
303
  return e.map((i, o) => {
289
- if (ne(t, i, a) <= n) return i;
290
- const l = o === e.length - 1;
304
+ if (re(t, i, a) <= n) return i;
305
+ const s = o === e.length - 1;
291
306
  return it(
292
307
  t,
293
308
  i,
294
309
  n,
295
- r === "ellipsis" && l,
310
+ r === "ellipsis" && s,
296
311
  a
297
312
  );
298
313
  });
299
314
  }
300
- function Ge(t, e, n, r, a, i) {
315
+ function Oe(t, e, n, r, a, i) {
301
316
  if (e.length <= n)
302
317
  return me(
303
318
  t,
@@ -306,10 +321,10 @@ function Ge(t, e, n, r, a, i) {
306
321
  a ? "ellipsis" : "clip",
307
322
  i
308
323
  );
309
- const o = e.slice(0, n), l = o[n - 1];
324
+ const o = e.slice(0, n), s = o[n - 1];
310
325
  return o[n - 1] = it(
311
326
  t,
312
- l,
327
+ s,
313
328
  r,
314
329
  a,
315
330
  i
@@ -329,53 +344,53 @@ function Nt(t) {
329
344
  maxWidth: a,
330
345
  maxHeight: i,
331
346
  padding: o,
332
- fontStyle: l,
333
- fontWeight: s,
334
- fontSize: A,
335
- fontFamily: c,
336
- letterSpacing: g,
337
- lineSpacing: f,
347
+ fontStyle: s,
348
+ fontWeight: l,
349
+ fontSize: c,
350
+ fontFamily: A,
351
+ letterSpacing: f,
352
+ lineSpacing: g,
338
353
  overflow: S,
339
- resizeToFit: m,
340
- minFontSize: v
354
+ resizeToFit: v,
355
+ minFontSize: m
341
356
  } = t;
342
- let u = A, C = ie(u, g), I = r ?? Oe(
357
+ let u = c, C = oe(u, f), b = r ?? Re(
343
358
  e,
344
359
  n,
345
360
  a,
346
- l,
347
361
  s,
362
+ l,
348
363
  u,
349
- c,
364
+ A,
350
365
  C
351
- ), E = Se(i, o, u, f);
352
- const p = m === !0 || S === "shrink";
353
- for (; p && !Kt(e, I, a, E, C) && u > v && (u = Math.max(v, u - 4), C = ie(u, g), I = r ?? Oe(
366
+ ), E = Se(i, o, u, g);
367
+ const p = v === !0 || S === "shrink";
368
+ for (; p && !Kt(e, b, a, E, C) && u > m && (u = Math.max(m, u - 4), C = oe(u, f), b = r ?? Re(
354
369
  e,
355
370
  n,
356
371
  a,
357
- l,
358
372
  s,
373
+ l,
359
374
  u,
360
- c,
375
+ A,
361
376
  C
362
- ), E = Se(i, o, u, f), u !== v); )
377
+ ), E = Se(i, o, u, g), u !== m); )
363
378
  ;
364
- return S === "ellipsis" ? I = Ge(
379
+ return S === "ellipsis" ? b = Oe(
365
380
  e,
366
- I,
381
+ b,
367
382
  E,
368
383
  a,
369
384
  !0,
370
385
  C
371
- ) : S === "clamp" || S === "shrink" ? I = Ge(
386
+ ) : S === "clamp" || S === "shrink" ? b = Oe(
372
387
  e,
373
- I,
388
+ b,
374
389
  E,
375
390
  a,
376
391
  !1,
377
392
  C
378
- ) : S !== "clip" && (I = me(e, I, a, void 0, C)), { fontSize: u, lines: I };
393
+ ) : S !== "clip" && (b = me(e, b, a, void 0, C)), { fontSize: u, lines: b };
379
394
  }
380
395
  function Ut(t) {
381
396
  const {
@@ -385,33 +400,33 @@ function Ut(t) {
385
400
  maxHeight: a,
386
401
  padding: i,
387
402
  fontStyle: o,
388
- fontWeight: l,
389
- fontSize: s,
390
- fontFamily: A,
391
- letterSpacing: c,
392
- lineSpacing: g
403
+ fontWeight: s,
404
+ fontSize: l,
405
+ fontFamily: c,
406
+ letterSpacing: A,
407
+ lineSpacing: f
393
408
  } = t;
394
- let f = s, S = ve(
409
+ let g = l, S = ve(
395
410
  e,
396
411
  n,
397
412
  r,
398
413
  o,
399
- l,
400
- f,
401
- A,
402
- ie(f, c)
414
+ s,
415
+ g,
416
+ c,
417
+ oe(g, A)
403
418
  );
404
- const m = Se(a, i, f, g);
405
- return S.length > m && (f = Math.max(12, Math.round(f * 0.75)), S = ve(
419
+ const v = Se(a, i, g, f);
420
+ return S.length > v && (g = Math.max(12, Math.round(g * 0.75)), S = ve(
406
421
  e,
407
422
  n,
408
423
  r,
409
424
  o,
410
- l,
411
- f,
412
- A,
413
- ie(f, c)
414
- )), { fontSize: f, lines: S };
425
+ s,
426
+ g,
427
+ c,
428
+ oe(g, A)
429
+ )), { fontSize: g, lines: S };
415
430
  }
416
431
  function Ce(t, e) {
417
432
  return typeof OffscreenCanvas < "u" ? new OffscreenCanvas(t, e) : (() => {
@@ -451,46 +466,46 @@ function Vt(t, e) {
451
466
  lineSpacing: e.lineSpacing
452
467
  }), i = a.fontSize, o = a.lines;
453
468
  t.font = et(e.fontStyle, e.fontWeight, i, e.fontFamily);
454
- const l = ie(i, e.letterSpacing), s = tt(i, e.lineSpacing), A = Math.max(
469
+ const s = oe(i, e.letterSpacing), l = tt(i, e.lineSpacing), c = Math.max(
455
470
  i,
456
- i + (o.length - 1) * s
457
- ), c = Jt(
471
+ i + (o.length - 1) * l
472
+ ), A = Jt(
458
473
  e.height,
459
474
  e.padding,
460
475
  i,
461
- A,
476
+ c,
462
477
  e.verticalAlign
463
- ), g = o.map(
464
- (f) => ne(t, f, l)
478
+ ), f = o.map(
479
+ (g) => re(t, g, s)
465
480
  );
466
481
  return {
467
482
  fontSize: i,
468
483
  resolvedLines: o,
469
- letterSpacingPx: l,
470
- lineHeight: s,
471
- startY: c,
484
+ letterSpacingPx: s,
485
+ lineHeight: l,
486
+ startY: A,
472
487
  textBlockWidth: Math.min(
473
488
  e.width,
474
- Math.max(0, Math.max(...g, 0)) + e.padding * 2
489
+ Math.max(0, Math.max(...f, 0)) + e.padding * 2
475
490
  ),
476
- textBlockHeight: Math.min(e.height, A + e.padding * 2),
491
+ textBlockHeight: Math.min(e.height, c + e.padding * 2),
477
492
  textX: Ht(e.width, e.padding, e.textAlign)
478
493
  };
479
494
  }
480
- function Zt(t, e, n, r, a, i) {
495
+ function jt(t, e, n, r, a, i) {
481
496
  t.beginPath(), t.moveTo(e + i, n), t.lineTo(e + r - i, n), t.quadraticCurveTo(e + r, n, e + r, n + i), t.lineTo(e + r, n + a - i), t.quadraticCurveTo(e + r, n + a, e + r - i, n + a), t.lineTo(e + i, n + a), t.quadraticCurveTo(e, n + a, e, n + a - i), t.lineTo(e, n + i), t.quadraticCurveTo(e, n, e + i, n), t.closePath();
482
497
  }
483
- function He(t, e, n) {
498
+ function Ge(t, e, n) {
484
499
  return typeof t != "number" || Number.isNaN(t) || t <= 0 ? e : Math.min(t, n);
485
500
  }
486
- function jt(t, e) {
501
+ function Zt(t, e) {
487
502
  const n = zt(
488
503
  e.canvasWidth,
489
504
  e.panelWidth,
490
505
  e.textAlign,
491
506
  e.bgFit
492
507
  ), r = (e.canvasHeight - e.panelHeight) / 2, a = Math.min(e.borderRadius, Math.min(e.panelWidth, e.panelHeight) / 2);
493
- Zt(t, n, r, e.panelWidth, e.panelHeight, a), qt(t, {
508
+ jt(t, n, r, e.panelWidth, e.panelHeight, a), qt(t, {
494
509
  panelX: n,
495
510
  panelY: r,
496
511
  panelWidth: e.panelWidth,
@@ -534,16 +549,16 @@ function qt(t, e) {
534
549
  t.fillStyle = e.bgColor, t.fill(), t.restore();
535
550
  }
536
551
  function _t(t, e) {
537
- const { image: n, x: r, y: a, width: i, height: o, fit: l, flipX: s, flipY: A } = e, c = "naturalWidth" in n ? n.naturalWidth : "videoWidth" in n ? n.videoWidth : n.width, g = "naturalHeight" in n ? n.naturalHeight : "videoHeight" in n ? n.videoHeight : n.height;
538
- let f = i, S = o, m = r, v = a;
539
- if (l !== "stretch" && c > 0 && g > 0) {
540
- const u = l === "cover" ? Math.max(i / c, o / g) : Math.min(i / c, o / g);
541
- f = c * u, S = g * u, m = r + (i - f) / 2, v = a + (o - S) / 2;
552
+ const { image: n, x: r, y: a, width: i, height: o, fit: s, flipX: l, flipY: c } = e, A = "naturalWidth" in n ? n.naturalWidth : "videoWidth" in n ? n.videoWidth : n.width, f = "naturalHeight" in n ? n.naturalHeight : "videoHeight" in n ? n.videoHeight : n.height;
553
+ let g = i, S = o, v = r, m = a;
554
+ if (s !== "stretch" && A > 0 && f > 0) {
555
+ const u = s === "cover" ? Math.max(i / A, o / f) : Math.min(i / A, o / f);
556
+ g = A * u, S = f * u, v = r + (i - g) / 2, m = a + (o - S) / 2;
542
557
  }
543
- t.save(), (s || A) && (t.translate(s ? r + i : 0, A ? a + o : 0), t.scale(s ? -1 : 1, A ? -1 : 1), m = s ? -(m - r) - f + r : m, v = A ? -(v - a) - S + a : v), t.drawImage(n, m, v, f, S), t.restore();
558
+ t.save(), (l || c) && (t.translate(l ? r + i : 0, c ? a + o : 0), t.scale(l ? -1 : 1, c ? -1 : 1), v = l ? -(v - r) - g + r : v, m = c ? -(m - a) - S + a : m), t.drawImage(n, v, m, g, S), t.restore();
544
559
  }
545
560
  function $t(t, e, n, r, a, i) {
546
- const o = a / 72, l = Math.abs(o), s = 1 - Math.min(1, Math.abs(e)), A = Math.min(1, Math.abs(e)), c = r <= 1 ? 0.5 : n / (r - 1), g = Math.sin(c * Math.PI * 2 - Math.PI / 2), f = Math.sin(c * Math.PI * 2.7 - Math.PI / 2) * (0.65 + c * 0.35), S = a * e * e, m = 2 * a * e / i, v = {
561
+ const o = a / 72, s = Math.abs(o), l = 1 - Math.min(1, Math.abs(e)), c = Math.min(1, Math.abs(e)), A = r <= 1 ? 0.5 : n / (r - 1), f = Math.sin(A * Math.PI * 2 - Math.PI / 2), g = Math.sin(A * Math.PI * 2.7 - Math.PI / 2) * (0.65 + A * 0.35), S = a * e * e, v = 2 * a * e / i, m = {
547
562
  xOffset: 0,
548
563
  yOffset: 0,
549
564
  rotation: 0,
@@ -552,110 +567,110 @@ function $t(t, e, n, r, a, i) {
552
567
  };
553
568
  switch (t) {
554
569
  case "arc":
555
- return { ...v, yOffset: S, rotation: Math.atan(m) };
570
+ return { ...m, yOffset: S, rotation: Math.atan(v) };
556
571
  case "arc-lower":
557
572
  return {
558
- ...v,
573
+ ...m,
559
574
  yOffset: S * 0.55,
560
575
  scaleY: Math.max(0.2, 1 + o * e * e * 0.45)
561
576
  };
562
577
  case "arc-upper":
563
578
  return {
564
- ...v,
579
+ ...m,
565
580
  yOffset: -S * 0.55,
566
581
  scaleY: Math.max(0.2, 1 - o * e * e * 0.45)
567
582
  };
568
583
  case "arch":
569
- return { ...v, yOffset: S };
584
+ return { ...m, yOffset: S };
570
585
  case "bulge":
571
- return { ...v, scaleY: Math.max(0.2, 1 + o * s * 0.75) };
586
+ return { ...m, scaleY: Math.max(0.2, 1 + o * l * 0.75) };
572
587
  case "shell-lower":
573
588
  return {
574
- ...v,
575
- yOffset: a * 0.45 * c * s,
576
- scaleY: Math.max(0.2, 1 + o * c * s)
589
+ ...m,
590
+ yOffset: a * 0.45 * A * l,
591
+ scaleY: Math.max(0.2, 1 + o * A * l)
577
592
  };
578
593
  case "shell-upper":
579
594
  return {
580
- ...v,
581
- yOffset: -a * 0.45 * (1 - c) * s,
582
- scaleY: Math.max(0.2, 1 + o * (1 - c) * s)
595
+ ...m,
596
+ yOffset: -a * 0.45 * (1 - A) * l,
597
+ scaleY: Math.max(0.2, 1 + o * (1 - A) * l)
583
598
  };
584
599
  case "flag":
585
600
  return {
586
- ...v,
587
- yOffset: a * 0.65 * f,
601
+ ...m,
602
+ yOffset: a * 0.65 * g,
588
603
  rotation: Math.atan(
589
- a / Math.max(i, 1) * Math.cos(c * Math.PI * 2.7) * 1.6
604
+ a / Math.max(i, 1) * Math.cos(A * Math.PI * 2.7) * 1.6
590
605
  )
591
606
  };
592
607
  case "wave":
593
608
  return {
594
- ...v,
595
- yOffset: a * 0.6 * g,
596
- rotation: Math.atan(a / Math.max(i, 1) * Math.cos(c * Math.PI * 2) * 1.4)
609
+ ...m,
610
+ yOffset: a * 0.6 * f,
611
+ rotation: Math.atan(a / Math.max(i, 1) * Math.cos(A * Math.PI * 2) * 1.4)
597
612
  };
598
613
  case "fish":
599
614
  return {
600
- ...v,
601
- scaleX: Math.max(0.25, 1 - l * A * 0.55),
602
- scaleY: Math.max(0.2, 1 + o * s)
615
+ ...m,
616
+ scaleX: Math.max(0.25, 1 - s * c * 0.55),
617
+ scaleY: Math.max(0.2, 1 + o * l)
603
618
  };
604
619
  case "rise":
605
- return { ...v, yOffset: a * e };
620
+ return { ...m, yOffset: a * e };
606
621
  case "fisheye":
607
622
  return {
608
- ...v,
609
- yOffset: a * 0.18 * e * s,
610
- scaleX: Math.max(0.25, 1 + o * s * 0.7),
611
- scaleY: Math.max(0.2, 1 + o * s * 0.7)
623
+ ...m,
624
+ yOffset: a * 0.18 * e * l,
625
+ scaleX: Math.max(0.25, 1 + o * l * 0.7),
626
+ scaleY: Math.max(0.2, 1 + o * l * 0.7)
612
627
  };
613
628
  case "inflate":
614
629
  return {
615
- ...v,
616
- scaleX: Math.max(0.25, 1 + o * s * 0.6),
617
- scaleY: Math.max(0.2, 1 + o * s * 0.6)
630
+ ...m,
631
+ scaleX: Math.max(0.25, 1 + o * l * 0.6),
632
+ scaleY: Math.max(0.2, 1 + o * l * 0.6)
618
633
  };
619
634
  case "squeeze":
620
- return { ...v, scaleY: Math.max(0.2, 1 - o * s * 0.8) };
635
+ return { ...m, scaleY: Math.max(0.2, 1 - o * l * 0.8) };
621
636
  case "twist":
622
637
  return {
623
- ...v,
638
+ ...m,
624
639
  yOffset: a * e,
625
640
  rotation: o * e * 0.45,
626
641
  scaleY: Math.max(0.2, 1 + o * e * 0.25)
627
642
  };
628
643
  default:
629
- return v;
644
+ return m;
630
645
  }
631
646
  }
632
- function $(t, e, n, r, a, i, o = "arc", l = 0) {
633
- if (l !== 0) {
634
- en(t, e, n, r, a, i, o, l);
647
+ function $(t, e, n, r, a, i, o = "arc", s = 0) {
648
+ if (s !== 0) {
649
+ en(t, e, n, r, a, i, o, s);
635
650
  return;
636
651
  }
637
652
  nt(t, a), i === "fill" ? t.fillText(e, n, r) : t.strokeText(e, n, r), rt(t);
638
653
  }
639
- function en(t, e, n, r, a, i, o, l) {
640
- const s = Array.from(e);
641
- if (s.length === 0) return;
642
- const A = s.map((C) => t.measureText(C).width), c = A.reduce((C, I) => C + I, 0) + a * Math.max(0, s.length - 1), g = t.textAlign, f = g === "right" ? n - c : g === "center" ? n - c / 2 : n, m = Math.max(-100, Math.min(l, 100)) / 100 * 72, v = Math.max(c / 2, 1);
643
- let u = f;
644
- for (let C = 0; C < s.length; C++) {
645
- const I = s[C], E = A[C], p = u + E / 2, w = (p - f - c / 2) / v, T = $t(
654
+ function en(t, e, n, r, a, i, o, s) {
655
+ const l = Array.from(e);
656
+ if (l.length === 0) return;
657
+ const c = l.map((C) => t.measureText(C).width), A = c.reduce((C, b) => C + b, 0) + a * Math.max(0, l.length - 1), f = t.textAlign, g = f === "right" ? n - A : f === "center" ? n - A / 2 : n, v = Math.max(-100, Math.min(s, 100)) / 100 * 72, m = Math.max(A / 2, 1);
658
+ let u = g;
659
+ for (let C = 0; C < l.length; C++) {
660
+ const b = l[C], E = c[C], p = u + E / 2, w = (p - g - A / 2) / m, y = $t(
646
661
  o,
647
662
  w,
648
663
  C,
649
- s.length,
650
- m,
651
- v
664
+ l.length,
665
+ v,
666
+ m
652
667
  );
653
- t.save(), t.translate(p + T.xOffset, r + T.yOffset), t.rotate(T.rotation), t.scale(T.scaleX, T.scaleY), t.textAlign = "center", i === "fill" ? t.fillText(I, 0, 0) : t.strokeText(I, 0, 0), t.restore(), u += E + a;
668
+ t.save(), t.translate(p + y.xOffset, r + y.yOffset), t.rotate(y.rotation), t.scale(y.scaleX, y.scaleY), t.textAlign = "center", i === "fill" ? t.fillText(b, 0, 0) : t.strokeText(b, 0, 0), t.restore(), u += E + a;
654
669
  }
655
670
  }
656
- function Je(t, e, n, r, a, i, o, l, s) {
657
- const A = ne(t, e, l), c = a === "center" ? n - A / 2 : a === "right" ? n - A : n, g = s === "underline" ? o * 0.42 : -o * 0.08, f = r + g;
658
- t.save(), t.strokeStyle = i, t.lineWidth = Math.max(2, o * 0.06), t.lineCap = "round", t.beginPath(), t.moveTo(c, f), t.lineTo(c + A, f), t.stroke(), t.restore();
671
+ function He(t, e, n, r, a, i, o, s, l) {
672
+ const c = re(t, e, s), A = a === "center" ? n - c / 2 : a === "right" ? n - c : n, f = l === "underline" ? o * 0.42 : -o * 0.08, g = r + f;
673
+ t.save(), t.strokeStyle = i, t.lineWidth = Math.max(2, o * 0.06), t.lineCap = "round", t.beginPath(), t.moveTo(A, g), t.lineTo(A + c, g), t.stroke(), t.restore();
659
674
  }
660
675
  function tn(t, e) {
661
676
  for (let n = 0; n < e.lines.length; n++) {
@@ -691,7 +706,7 @@ function tn(t, e) {
691
706
  "fill",
692
707
  e.bendPreset,
693
708
  e.bendStrength
694
- ), t.restore(), e.underline && Je(
709
+ ), t.restore(), e.underline && He(
695
710
  t,
696
711
  r,
697
712
  e.textX,
@@ -701,7 +716,7 @@ function tn(t, e) {
701
716
  e.fontSize,
702
717
  e.letterSpacingPx,
703
718
  "underline"
704
- ), e.strikethrough && Je(
719
+ ), e.strikethrough && He(
705
720
  t,
706
721
  r,
707
722
  e.textX,
@@ -718,22 +733,22 @@ function nn(t, e) {
718
733
  const n = Math.max(0, Math.min(e.intensity, 1));
719
734
  if (n <= 0) return;
720
735
  const r = Math.max(0, Math.min(e.range, 1)), a = r * 72, i = Math.max(-0.5, Math.min(e.horizontalAngle, 0.5)) * 80, o = Math.max(-0.5, Math.min(e.verticalAngle, 0.5)) * 80;
721
- for (let l = 0; l < e.lines.length; l++) {
722
- const s = e.startY + l * e.lineHeight;
736
+ for (let s = 0; s < e.lines.length; s++) {
737
+ const l = e.startY + s * e.lineHeight;
723
738
  t.save(), t.globalAlpha = n, t.shadowColor = e.color, t.shadowBlur = a, t.shadowOffsetX = i, t.shadowOffsetY = o, e.style === "contoured" ? (t.lineJoin = "round", t.miterLimit = 2, t.lineWidth = Math.max(2, r * 42), t.strokeStyle = e.color, $(
724
739
  t,
725
- e.lines[l],
740
+ e.lines[s],
726
741
  e.textX,
727
- s,
742
+ l,
728
743
  e.letterSpacingPx,
729
744
  "stroke",
730
745
  e.bendPreset,
731
746
  e.bendStrength
732
747
  )) : (t.fillStyle = e.color, $(
733
748
  t,
734
- e.lines[l],
749
+ e.lines[s],
735
750
  e.textX,
736
- s,
751
+ l,
737
752
  e.letterSpacingPx,
738
753
  "fill",
739
754
  e.bendPreset,
@@ -766,129 +781,129 @@ function an(t) {
766
781
  strokeLayers: a,
767
782
  strokeColor: i,
768
783
  strokeWidth: o,
769
- strokeOpacity: l,
770
- shadowLayers: s,
771
- innerShadow: A,
772
- glow: c,
773
- shadowColor: g,
774
- shadowBlur: f,
784
+ strokeOpacity: s,
785
+ shadowLayers: l,
786
+ innerShadow: c,
787
+ glow: A,
788
+ shadowColor: f,
789
+ shadowBlur: g,
775
790
  shadowOffsetX: S,
776
- shadowOffsetY: m,
777
- shadowOpacity: v,
791
+ shadowOffsetY: v,
792
+ shadowOpacity: m,
778
793
  textAlign: u,
779
794
  bgFillMode: C,
780
- bgOpacity: I,
795
+ bgOpacity: b,
781
796
  bgFit: E,
782
797
  bgAutoSize: p,
783
798
  bgWidth: w,
784
- bgHeight: T,
785
- bgGradientStops: b,
786
- bgTextureImage: d,
787
- bgTextureFit: B,
788
- bgTextureFlipX: G,
789
- bgTextureFlipY: P,
790
- underline: j,
791
- strikethrough: N,
792
- bendPreset: H,
793
- bendStrength: W
799
+ bgHeight: y,
800
+ bgGradientStops: L,
801
+ bgTextureImage: T,
802
+ bgTextureFit: h,
803
+ bgTextureFlipX: F,
804
+ bgTextureFlipY: z,
805
+ underline: H,
806
+ strikethrough: V,
807
+ bendPreset: K,
808
+ bendStrength: D
794
809
  } = t;
795
- let { fontSize: U, bgColor: K } = t;
796
- const V = [
810
+ let { fontSize: j, bgColor: U } = t;
811
+ const Z = [
797
812
  ...a ?? [],
798
- ...i && o > 0 ? [{ color: i, width: o, opacity: l }] : []
799
- ].filter((L) => L.width > 0), D = [
800
- ...s ?? [],
801
- ...g && (f > 0 || S !== 0 || m !== 0) ? [
813
+ ...i && o > 0 ? [{ color: i, width: o, opacity: s }] : []
814
+ ].filter((Y) => Y.width > 0), R = [
815
+ ...l ?? [],
816
+ ...f && (g > 0 || S !== 0 || v !== 0) ? [
802
817
  {
803
- color: g,
804
- blur: f,
818
+ color: f,
819
+ blur: g,
805
820
  offsetX: S,
806
- offsetY: m,
807
- opacity: v
821
+ offsetY: v,
822
+ opacity: m
808
823
  }
809
824
  ] : []
810
- ].filter((L) => L.blur > 0 || (L.offsetX ?? 0) !== 0 || (L.offsetY ?? 0) !== 0);
811
- let Y;
812
- const J = Ce(e, n), k = J.getContext("2d");
813
- k.clearRect(0, 0, e, n), k.fillStyle = r, k.textAlign = u, k.textBaseline = "middle";
814
- const y = Vt(k, t);
815
- if (U = y.fontSize, K !== "transparent") {
816
- const L = p === !0, q = He(
817
- L ? void 0 : w,
818
- E === "text" || L ? y.textBlockWidth : e,
825
+ ].filter((Y) => Y.blur > 0 || (Y.offsetX ?? 0) !== 0 || (Y.offsetY ?? 0) !== 0);
826
+ let X;
827
+ const N = Ce(e, n), M = N.getContext("2d");
828
+ M.clearRect(0, 0, e, n), M.fillStyle = r, M.textAlign = u, M.textBaseline = "middle";
829
+ const I = Vt(M, t);
830
+ if (j = I.fontSize, U !== "transparent") {
831
+ const Y = p === !0, q = Ge(
832
+ Y ? void 0 : w,
833
+ E === "text" || Y ? I.textBlockWidth : e,
819
834
  e
820
- ), R = He(
821
- L ? void 0 : T,
822
- E === "text" || L ? y.textBlockHeight : n,
835
+ ), G = Ge(
836
+ Y ? void 0 : y,
837
+ E === "text" || Y ? I.textBlockHeight : n,
823
838
  n
824
839
  );
825
- jt(k, {
840
+ Zt(M, {
826
841
  canvasWidth: e,
827
842
  canvasHeight: n,
828
843
  textAlign: u,
829
844
  bgFit: E,
830
845
  panelWidth: q,
831
- panelHeight: R,
832
- bgColor: K,
846
+ panelHeight: G,
847
+ bgColor: U,
833
848
  bgFillMode: C,
834
- bgOpacity: I,
835
- bgGradientStops: b,
836
- bgTextureImage: d,
837
- bgTextureFit: B,
838
- bgTextureFlipX: G,
839
- bgTextureFlipY: P,
849
+ bgOpacity: b,
850
+ bgGradientStops: L,
851
+ bgTextureImage: T,
852
+ bgTextureFit: h,
853
+ bgTextureFlipX: F,
854
+ bgTextureFlipY: z,
840
855
  borderColor: t.borderColor,
841
856
  borderWidth: t.borderWidth,
842
857
  borderRadius: t.borderRadius
843
858
  });
844
859
  }
845
- return c && nn(k, {
846
- lines: y.resolvedLines,
847
- textX: y.textX,
848
- startY: y.startY,
849
- lineHeight: y.lineHeight,
850
- letterSpacingPx: y.letterSpacingPx,
851
- bendPreset: H,
852
- bendStrength: W,
853
- color: c.color,
854
- style: c.style,
855
- intensity: c.intensity ?? 0.5,
856
- range: c.range ?? 0.5,
857
- horizontalAngle: c.horizontalAngle ?? 0,
858
- verticalAngle: c.verticalAngle ?? 0
859
- }), tn(k, {
860
- lines: y.resolvedLines,
861
- textX: y.textX,
862
- startY: y.startY,
863
- lineHeight: y.lineHeight,
860
+ return A && nn(M, {
861
+ lines: I.resolvedLines,
862
+ textX: I.textX,
863
+ startY: I.startY,
864
+ lineHeight: I.lineHeight,
865
+ letterSpacingPx: I.letterSpacingPx,
866
+ bendPreset: K,
867
+ bendStrength: D,
868
+ color: A.color,
869
+ style: A.style,
870
+ intensity: A.intensity ?? 0.5,
871
+ range: A.range ?? 0.5,
872
+ horizontalAngle: A.horizontalAngle ?? 0,
873
+ verticalAngle: A.verticalAngle ?? 0
874
+ }), tn(M, {
875
+ lines: I.resolvedLines,
876
+ textX: I.textX,
877
+ startY: I.startY,
878
+ lineHeight: I.lineHeight,
864
879
  textAlign: u,
865
880
  color: r,
866
- fontSize: U,
867
- letterSpacingPx: y.letterSpacingPx,
868
- bendPreset: H,
869
- bendStrength: W,
870
- shadowLayers: D,
871
- strokeLayers: V,
872
- underline: j,
873
- strikethrough: N
874
- }), A && rn(k, {
881
+ fontSize: j,
882
+ letterSpacingPx: I.letterSpacingPx,
883
+ bendPreset: K,
884
+ bendStrength: D,
885
+ shadowLayers: R,
886
+ strokeLayers: Z,
887
+ underline: H,
888
+ strikethrough: V
889
+ }), c && rn(M, {
875
890
  width: e,
876
891
  height: n,
877
- font: k.font,
878
- lines: y.resolvedLines,
879
- textX: y.textX,
880
- startY: y.startY,
881
- lineHeight: y.lineHeight,
882
- letterSpacingPx: y.letterSpacingPx,
883
- bendPreset: H,
884
- bendStrength: W,
892
+ font: M.font,
893
+ lines: I.resolvedLines,
894
+ textX: I.textX,
895
+ startY: I.startY,
896
+ lineHeight: I.lineHeight,
897
+ letterSpacingPx: I.letterSpacingPx,
898
+ bendPreset: K,
899
+ bendStrength: D,
885
900
  textAlign: u,
886
- color: A.color,
887
- opacity: A.opacity ?? 1,
888
- blur: A.blur,
889
- offsetX: A.offsetX ?? 0,
890
- offsetY: A.offsetY ?? 0
891
- }), Y = new M.CanvasTexture(J), Y.needsUpdate = !0, Y;
901
+ color: c.color,
902
+ opacity: c.opacity ?? 1,
903
+ blur: c.blur,
904
+ offsetX: c.offsetX ?? 0,
905
+ offsetY: c.offsetY ?? 0
906
+ }), X = new B.CanvasTexture(N), X.needsUpdate = !0, X;
892
907
  }
893
908
  function on(t, e) {
894
909
  const {
@@ -897,156 +912,156 @@ function on(t, e) {
897
912
  strokeLayers: a,
898
913
  outlineEnabled: i,
899
914
  strokeColor: o,
900
- strokeWidth: l,
901
- strokeOpacity: s,
902
- shadowLayers: A,
903
- shadowEnabled: c,
904
- innerShadow: g,
905
- glow: f,
915
+ strokeWidth: s,
916
+ strokeOpacity: l,
917
+ shadowLayers: c,
918
+ shadowEnabled: A,
919
+ innerShadow: f,
920
+ glow: g,
906
921
  shadowColor: S,
907
- shadowBlur: m,
908
- shadowOffsetX: v,
922
+ shadowBlur: v,
923
+ shadowOffsetX: m,
909
924
  shadowOffsetY: u,
910
925
  shadowOpacity: C,
911
- fontWeight: I,
926
+ fontWeight: b,
912
927
  fontStyle: E,
913
928
  fontFamily: p,
914
929
  fontSize: w,
915
- textAlign: T,
916
- verticalAlign: b,
917
- overflow: d,
918
- resizeToFit: B,
919
- minFontSize: G,
920
- letterSpacing: P,
921
- lineSpacing: j,
922
- bgFillMode: N,
923
- bgOpacity: H,
924
- bgFit: W,
925
- bgAutoSize: U,
926
- bgWidth: K,
927
- bgHeight: V,
928
- bgGradientStops: D,
929
- bgTextureFit: Y,
930
- bgTextureFlipX: J,
931
- bgTextureFlipY: k,
932
- borderColor: y,
933
- borderWidth: L,
930
+ textAlign: y,
931
+ verticalAlign: L,
932
+ overflow: T,
933
+ resizeToFit: h,
934
+ minFontSize: F,
935
+ letterSpacing: z,
936
+ lineSpacing: H,
937
+ bgFillMode: V,
938
+ bgOpacity: K,
939
+ bgFit: D,
940
+ bgAutoSize: j,
941
+ bgWidth: U,
942
+ bgHeight: Z,
943
+ bgGradientStops: R,
944
+ bgTextureFit: X,
945
+ bgTextureFlipX: N,
946
+ bgTextureFlipY: M,
947
+ borderColor: I,
948
+ borderWidth: Y,
934
949
  borderRadius: q,
935
- padding: R,
950
+ padding: G,
936
951
  aspect: Be,
937
- resolution: he,
938
- underline: pe,
939
- strikethrough: Me,
940
- bendPreset: we,
941
- bendStrength: Qe
942
- } = t, ke = x(
952
+ resolution: de,
953
+ underline: we,
954
+ strikethrough: pe,
955
+ bendPreset: Qe,
956
+ bendStrength: Me
957
+ } = t, xe = x(
943
958
  () => i === !1 ? [] : a,
944
959
  [i, a]
945
- ), xe = x(
946
- () => c === !1 ? [] : A,
947
- [c, A]
960
+ ), ke = x(
961
+ () => A === !1 ? [] : c,
962
+ [A, c]
948
963
  ), Le = void 0, Fe = x(
949
964
  () => ({
950
965
  text: e.text,
951
966
  lines: n,
952
967
  color: r,
953
- strokeLayers: ke,
968
+ strokeLayers: xe,
954
969
  strokeColor: i === !1 ? void 0 : o,
955
- strokeWidth: i === !1 ? 0 : l,
956
- strokeOpacity: s,
957
- shadowLayers: xe,
958
- innerShadow: g,
959
- glow: f,
960
- shadowColor: c === !1 ? void 0 : S,
961
- shadowBlur: c === !1 ? 0 : m,
962
- shadowOffsetX: c === !1 ? 0 : v,
963
- shadowOffsetY: c === !1 ? 0 : u,
970
+ strokeWidth: i === !1 ? 0 : s,
971
+ strokeOpacity: l,
972
+ shadowLayers: ke,
973
+ innerShadow: f,
974
+ glow: g,
975
+ shadowColor: A === !1 ? void 0 : S,
976
+ shadowBlur: A === !1 ? 0 : v,
977
+ shadowOffsetX: A === !1 ? 0 : m,
978
+ shadowOffsetY: A === !1 ? 0 : u,
964
979
  shadowOpacity: C,
965
- fontWeight: I,
980
+ fontWeight: b,
966
981
  fontStyle: E,
967
982
  fontFamily: p,
968
983
  fontSize: w,
969
- textAlign: T,
970
- verticalAlign: b,
971
- overflow: d,
972
- resizeToFit: B,
973
- minFontSize: G,
974
- letterSpacing: P,
975
- lineSpacing: j,
984
+ textAlign: y,
985
+ verticalAlign: L,
986
+ overflow: T,
987
+ resizeToFit: h,
988
+ minFontSize: F,
989
+ letterSpacing: z,
990
+ lineSpacing: H,
976
991
  bgColor: e.bgColor,
977
- bgFillMode: N,
978
- bgOpacity: H,
979
- bgFit: W,
980
- bgAutoSize: U,
981
- bgWidth: K,
982
- bgHeight: V,
983
- bgGradientStops: D,
992
+ bgFillMode: V,
993
+ bgOpacity: K,
994
+ bgFit: D,
995
+ bgAutoSize: j,
996
+ bgWidth: U,
997
+ bgHeight: Z,
998
+ bgGradientStops: R,
984
999
  bgTextureImage: Le,
985
- bgTextureFit: Y,
986
- bgTextureFlipX: J,
987
- bgTextureFlipY: k,
988
- borderColor: y,
989
- borderWidth: L,
1000
+ bgTextureFit: X,
1001
+ bgTextureFlipX: N,
1002
+ bgTextureFlipY: M,
1003
+ borderColor: I,
1004
+ borderWidth: Y,
990
1005
  borderRadius: q,
991
- padding: R,
992
- height: he,
993
- width: Math.round(he * Math.max(Be, 0.1)),
994
- underline: pe,
995
- strikethrough: Me,
996
- bendPreset: we,
997
- bendStrength: Qe
1006
+ padding: G,
1007
+ height: de,
1008
+ width: Math.round(de * Math.max(Be, 0.1)),
1009
+ underline: we,
1010
+ strikethrough: pe,
1011
+ bendPreset: Qe,
1012
+ bendStrength: Me
998
1013
  }),
999
1014
  [
1000
1015
  e.text,
1001
1016
  e.bgColor,
1002
1017
  n,
1003
1018
  r,
1004
- ke,
1019
+ xe,
1005
1020
  i,
1006
1021
  o,
1007
- l,
1008
1022
  s,
1009
- xe,
1010
- g,
1023
+ l,
1024
+ ke,
1011
1025
  f,
1012
- c,
1026
+ g,
1027
+ A,
1013
1028
  S,
1014
- m,
1015
1029
  v,
1030
+ m,
1016
1031
  u,
1017
1032
  C,
1018
- I,
1033
+ b,
1019
1034
  E,
1020
1035
  p,
1021
1036
  w,
1037
+ y,
1038
+ L,
1022
1039
  T,
1023
- b,
1024
- d,
1025
- B,
1026
- G,
1027
- P,
1028
- j,
1029
- N,
1040
+ h,
1041
+ F,
1042
+ z,
1030
1043
  H,
1031
- W,
1032
- U,
1033
- K,
1034
1044
  V,
1045
+ K,
1035
1046
  D,
1047
+ j,
1048
+ U,
1049
+ Z,
1050
+ R,
1036
1051
  Le,
1052
+ X,
1053
+ N,
1054
+ M,
1055
+ I,
1037
1056
  Y,
1038
- J,
1039
- k,
1040
- y,
1041
- L,
1042
1057
  q,
1043
- R,
1058
+ G,
1044
1059
  Be,
1045
- he,
1046
- pe,
1047
- Me,
1060
+ de,
1048
1061
  we,
1049
- Qe
1062
+ pe,
1063
+ Qe,
1064
+ Me
1050
1065
  ]
1051
1066
  ), Ye = x(() => an(Fe), [Fe]);
1052
1067
  return ue(Ye), Ye;
@@ -1058,77 +1073,77 @@ function sn(t) {
1058
1073
  opacity: a,
1059
1074
  name: i,
1060
1075
  overlay: o = !0,
1061
- position: l,
1062
- rotation: s,
1063
- scale: A,
1064
- visible: c,
1065
- renderOrder: g
1066
- } = e, [f, S] = ce(null), [m, v] = ce(null), u = X(n);
1067
- u.current !== n && (u.current = n, f !== null && S(null));
1068
- const C = X(r);
1069
- C.current !== r && (C.current = r, m !== null && v(null));
1070
- const I = X(null), w = on(e, { text: f ?? n, bgColor: m ?? r });
1076
+ position: s,
1077
+ rotation: l,
1078
+ scale: c,
1079
+ visible: A,
1080
+ renderOrder: f
1081
+ } = e, [g, S] = Ae(null), [v, m] = Ae(null), u = P(n);
1082
+ u.current !== n && (u.current = n, g !== null && S(null));
1083
+ const C = P(r);
1084
+ C.current !== r && (C.current = r, v !== null && m(null));
1085
+ const b = P(null), w = on(e, { text: g ?? n, bgColor: v ?? r });
1071
1086
  return te(() => {
1072
- const T = I.current;
1073
- if (T)
1074
- return T.userData.setText = (b) => S(b), T.userData.setBgColor = (b) => v(b), () => {
1075
- delete T.userData.setText, delete T.userData.setBgColor;
1087
+ const y = b.current;
1088
+ if (y)
1089
+ return y.userData.setText = (L) => S(L), y.userData.setBgColor = (L) => m(L), () => {
1090
+ delete y.userData.setText, delete y.userData.setBgColor;
1076
1091
  };
1077
- }, []), /* @__PURE__ */ h(
1092
+ }, []), /* @__PURE__ */ d(
1078
1093
  $e,
1079
1094
  {
1080
- ref: I,
1095
+ ref: b,
1081
1096
  name: i,
1082
1097
  texture: w,
1083
1098
  overlay: o,
1084
1099
  opacity: a,
1085
- position: l,
1086
- rotation: s,
1087
- scale: A,
1088
- visible: c,
1089
- renderOrder: g
1100
+ position: s,
1101
+ rotation: l,
1102
+ scale: c,
1103
+ visible: A,
1104
+ renderOrder: f
1090
1105
  }
1091
1106
  );
1092
1107
  }
1093
1108
  function Ee(t, e) {
1094
1109
  return !Number.isFinite(t) || !Number.isFinite(e) || t <= 0 || e <= 0 ? [1, 1, 1] : Math.abs(t - e) < 1e-6 ? [1, 1, 1] : t > e ? [e / t, 1, 1] : [1, t / e, 1];
1095
1110
  }
1096
- const ln = "data:image/png;base64,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", cn = (t, e) => t || (e === "cover" ? "fill" : e === "stretch" ? "stretch" : "fit"), ze = (t, e) => {
1111
+ const ln = "data:image/png;base64,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", cn = (t, e) => t || (e === "cover" ? "fill" : e === "stretch" ? "stretch" : "fit"), Je = (t, e) => {
1097
1112
  const [n, r] = Ee(t, e);
1098
1113
  return n === 1 && r === 1 ? [1, 1, 1] : n < 1 ? [1, 1 / n, 1] : [1 / r, 1, 1];
1099
1114
  }, An = (t, e, n, r, a, i, o) => {
1100
- let l = [1, 1, 1], s = [1, 1, 1], A = [1, 1], c = [0, 0];
1115
+ let s = [1, 1, 1], l = [1, 1, 1], c = [1, 1], A = [0, 0];
1101
1116
  switch (t) {
1102
1117
  case "fit":
1103
- l = Ee(e, n), s = l;
1118
+ s = Ee(e, n), l = s;
1104
1119
  break;
1105
1120
  case "fitWidth":
1106
- l = [1, e > 0 && n > 0 ? e / n : 1, 1], s = l;
1121
+ s = [1, e > 0 && n > 0 ? e / n : 1, 1], l = s;
1107
1122
  break;
1108
1123
  case "fitHeight":
1109
- l = [e > 0 && n > 0 ? n / e : 1, 1, 1], s = l;
1124
+ s = [e > 0 && n > 0 ? n / e : 1, 1, 1], l = s;
1110
1125
  break;
1111
1126
  case "center":
1112
- l = i && o && i.width > 0 && i.height > 0 && o.width > 0 && o.height > 0 ? [o.width / i.width, o.height / i.height, 1] : Ee(e, n), s = l;
1127
+ s = i && o && i.width > 0 && i.height > 0 && o.width > 0 && o.height > 0 ? [o.width / i.width, o.height / i.height, 1] : Ee(e, n), l = s;
1113
1128
  break;
1114
1129
  case "fill":
1115
- l = ze(e, n), s = l;
1130
+ s = Je(e, n), l = s;
1116
1131
  break;
1117
1132
  case "fillAndCut":
1118
- if (s = ze(e, n), n > e) {
1119
- const g = e / n;
1120
- A = [g, 1], c = [(1 - g) / 2, 0];
1133
+ if (l = Je(e, n), n > e) {
1134
+ const f = e / n;
1135
+ c = [f, 1], A = [(1 - f) / 2, 0];
1121
1136
  } else if (n < e) {
1122
- const g = n / e;
1123
- A = [1, g], c = [0, (1 - g) / 2];
1137
+ const f = n / e;
1138
+ c = [1, f], A = [0, (1 - f) / 2];
1124
1139
  }
1125
1140
  break;
1126
1141
  }
1127
1142
  return {
1128
- meshScale: [l[0] * (r ? -1 : 1), l[1] * (a ? -1 : 1), 1],
1129
- guideScale: s,
1130
- repeat: A,
1131
- offset: c
1143
+ meshScale: [s[0] * (r ? -1 : 1), s[1] * (a ? -1 : 1), 1],
1144
+ guideScale: l,
1145
+ repeat: c,
1146
+ offset: A
1132
1147
  };
1133
1148
  }, hn = (t, e) => t ?? (e ? { kind: "image", src: e } : { kind: "default" }), ee = (t) => {
1134
1149
  const e = t.image;
@@ -1154,34 +1169,34 @@ const ln = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAyAAAAMgCAMAAADsrvZaAA
1154
1169
  }, un = (t) => {
1155
1170
  switch (t) {
1156
1171
  case "add":
1157
- return { blending: M.AdditiveBlending };
1172
+ return { blending: B.AdditiveBlending };
1158
1173
  case "subtract":
1159
- return { blending: M.SubtractiveBlending };
1174
+ return { blending: B.SubtractiveBlending };
1160
1175
  case "multiply":
1161
- return { blending: M.MultiplyBlending };
1176
+ return { blending: B.MultiplyBlending };
1162
1177
  case "screen":
1163
1178
  return {
1164
- blending: M.CustomBlending,
1165
- blendSrc: M.OneFactor,
1166
- blendDst: M.OneMinusSrcColorFactor,
1167
- blendEquation: M.AddEquation
1179
+ blending: B.CustomBlending,
1180
+ blendSrc: B.OneFactor,
1181
+ blendDst: B.OneMinusSrcColorFactor,
1182
+ blendEquation: B.AddEquation
1168
1183
  };
1169
1184
  case "lighten":
1170
1185
  return {
1171
- blending: M.CustomBlending,
1172
- blendSrc: M.OneFactor,
1173
- blendDst: M.OneFactor,
1174
- blendEquation: M.MaxEquation
1186
+ blending: B.CustomBlending,
1187
+ blendSrc: B.OneFactor,
1188
+ blendDst: B.OneFactor,
1189
+ blendEquation: B.MaxEquation
1175
1190
  };
1176
1191
  case "darken":
1177
1192
  return {
1178
- blending: M.CustomBlending,
1179
- blendSrc: M.OneFactor,
1180
- blendDst: M.OneFactor,
1181
- blendEquation: M.MinEquation
1193
+ blending: B.CustomBlending,
1194
+ blendSrc: B.OneFactor,
1195
+ blendDst: B.OneFactor,
1196
+ blendEquation: B.MinEquation
1182
1197
  };
1183
1198
  default:
1184
- return { blending: M.NormalBlending };
1199
+ return { blending: B.NormalBlending };
1185
1200
  }
1186
1201
  }, Sn = `
1187
1202
  varying vec2 vUv;
@@ -1202,10 +1217,10 @@ vec3 mixed=applyAdvancedBlend(base,image.rgb);gl_FragColor=vec4(mix(base,mixed,i
1202
1217
  const t = document.createElement("canvas");
1203
1218
  t.width = 256, t.height = 256;
1204
1219
  const e = t.getContext("2d");
1205
- if (!e) return new M.CanvasTexture(t);
1220
+ if (!e) return new B.CanvasTexture(t);
1206
1221
  const n = e.createRadialGradient(96, 80, 10, 128, 128, 128);
1207
1222
  n.addColorStop(0, "#ffffff"), n.addColorStop(0.18, "#f8fafc"), n.addColorStop(0.44, "#cbd5e1"), n.addColorStop(0.72, "#475569"), n.addColorStop(1, "#0f172a"), e.fillStyle = n, e.fillRect(0, 0, t.width, t.height);
1208
- const r = new M.CanvasTexture(t);
1223
+ const r = new B.CanvasTexture(t);
1209
1224
  return r.needsUpdate = !0, r;
1210
1225
  };
1211
1226
  function Cn({
@@ -1213,23 +1228,23 @@ function Cn({
1213
1228
  sourceTexture: e,
1214
1229
  onSourceSizeChange: n
1215
1230
  }) {
1216
- const r = X(ee(e));
1217
- return ae(() => {
1231
+ const r = P(ee(e));
1232
+ return se(() => {
1218
1233
  t.needsUpdate = !0;
1219
1234
  const a = ee(e);
1220
1235
  (a.width !== r.current.width || a.height !== r.current.height) && (r.current = a, n(a));
1221
1236
  }), null;
1222
1237
  }
1223
- const En = 999, In = Math.PI / 180, bn = yt([
1238
+ const En = 999, bn = Math.PI / 180, In = yt([
1224
1239
  Bt
1225
1240
  ]);
1226
1241
  function yn(t) {
1227
- const [e, n] = ce(null);
1242
+ const [e, n] = Ae(null);
1228
1243
  return te(() => {
1229
1244
  if (n(null), !t || typeof document > "u") return;
1230
1245
  const r = new AbortController();
1231
1246
  let a;
1232
- return bn({ kind: "gif", src: t }, r.signal).then((i) => {
1247
+ return In({ kind: "gif", src: t }, r.signal).then((i) => {
1233
1248
  a = i, n(i);
1234
1249
  }).catch((i) => {
1235
1250
  i instanceof DOMException && i.name === "AbortError" || console.warn("[xr-sdk] Failed to load GIF ScreenImage source", i);
@@ -1238,7 +1253,7 @@ function yn(t) {
1238
1253
  };
1239
1254
  }, [t]), e;
1240
1255
  }
1241
- function Ke({
1256
+ function ze({
1242
1257
  name: t,
1243
1258
  source: e,
1244
1259
  src: n,
@@ -1246,88 +1261,88 @@ function Ke({
1246
1261
  stretchMode: a,
1247
1262
  materialType: i = "unlit",
1248
1263
  blendMode: o = "normal",
1249
- backdropTexture: l = null,
1250
- rotation: s = 0,
1251
- opacity: A = 1,
1252
- color: c = "#ffffff",
1253
- flipX: g = !1,
1254
- flipY: f = !1,
1264
+ backdropTexture: s = null,
1265
+ rotation: l = 0,
1266
+ opacity: c = 1,
1267
+ color: A = "#ffffff",
1268
+ flipX: f = !1,
1269
+ flipY: g = !1,
1255
1270
  renderOrder: S = En,
1256
- transparent: m = !0,
1257
- alphaTest: v = 0,
1271
+ transparent: v = !0,
1272
+ alphaTest: m = 0,
1258
1273
  overlay: u = !0,
1259
1274
  visible: C,
1260
- layoutSize: I
1275
+ layoutSize: b
1261
1276
  }) {
1262
- const { size: E } = Ae(), p = bt(), w = hn(e, n), T = w.kind === "image" ? w.src : ln, b = Xt(T), d = yn(
1277
+ const { size: E } = he(), p = It(), w = hn(e, n), y = w.kind === "image" ? w.src : ln, L = Xt(y), T = yn(
1263
1278
  w.kind === "gif" ? w.src : void 0
1264
- ), B = w.kind === "texture" ? w.texture : w.kind === "gif" ? (d == null ? void 0 : d.texture) ?? b : b, G = Ue(), P = cn(a, r), [j, N] = ce(
1265
- () => ee(B)
1279
+ ), h = w.kind === "texture" ? w.texture : w.kind === "gif" ? (T == null ? void 0 : T.texture) ?? L : L, F = Ne(), z = cn(a, r), [H, V] = Ae(
1280
+ () => ee(h)
1266
1281
  );
1267
1282
  te(() => {
1268
- N(ee(B));
1269
- }, [B]);
1270
- const H = B instanceof M.VideoTexture || typeof HTMLCanvasElement < "u" && B.image instanceof HTMLCanvasElement, W = H ? j : ee(B), U = Ie(
1271
- (R) => N(R),
1283
+ V(ee(h));
1284
+ }, [h]);
1285
+ const K = h instanceof B.VideoTexture || typeof HTMLCanvasElement < "u" && h.image instanceof HTMLCanvasElement, D = K ? H : ee(h), j = be(
1286
+ (G) => V(G),
1272
1287
  []
1273
- ), K = W.width > 0 && W.height > 0 ? W.width / W.height : dn(B), V = x(() => mn(), []), D = x(
1288
+ ), U = D.width > 0 && D.height > 0 ? D.width / D.height : dn(h), Z = x(() => mn(), []), R = x(
1274
1289
  () => An(
1275
- P,
1276
- G,
1277
- K,
1278
- g,
1290
+ z,
1291
+ F,
1292
+ U,
1279
1293
  f,
1280
- I,
1281
- W
1294
+ g,
1295
+ b,
1296
+ D
1282
1297
  ),
1283
- [P, G, K, g, f, I, W]
1284
- ), Y = x(() => {
1285
- const R = B.clone();
1286
- return R.needsUpdate = !0, R.repeat.set(D.repeat[0], D.repeat[1]), R.offset.set(D.offset[0], D.offset[1]), R;
1287
- }, [B, D.repeat, D.offset]);
1288
- ue(Y), ue(V);
1289
- const J = x(() => un(o), [o]), k = gn.has(o) ? o : null, y = l ?? (p == null ? void 0 : p.finalColorTexture) ?? (p == null ? void 0 : p.sceneColorTexture) ?? null, L = k !== null && y !== null, q = x(
1298
+ [z, F, U, f, g, b, D]
1299
+ ), X = x(() => {
1300
+ const G = h.clone();
1301
+ return G.needsUpdate = !0, G.repeat.set(R.repeat[0], R.repeat[1]), G.offset.set(R.offset[0], R.offset[1]), G;
1302
+ }, [h, R.repeat, R.offset]);
1303
+ ue(X), ue(Z);
1304
+ const N = x(() => un(o), [o]), M = gn.has(o) ? o : null, I = s ?? (p == null ? void 0 : p.finalColorTexture) ?? (p == null ? void 0 : p.sceneColorTexture) ?? null, Y = M !== null && I !== null, q = x(
1290
1305
  () => ({
1291
- imageMap: { value: Y },
1292
- backdropMap: { value: y },
1293
- resolution: { value: new M.Vector2(E.width, E.height) },
1294
- tint: { value: new M.Color(c) },
1295
- opacity: { value: A },
1296
- alphaTest: { value: v },
1306
+ imageMap: { value: X },
1307
+ backdropMap: { value: I },
1308
+ resolution: { value: new B.Vector2(E.width, E.height) },
1309
+ tint: { value: new B.Color(A) },
1310
+ opacity: { value: c },
1311
+ alphaTest: { value: m },
1297
1312
  blendMode: {
1298
- value: k === null ? 0 : fn[k]
1313
+ value: M === null ? 0 : fn[M]
1299
1314
  }
1300
1315
  }),
1301
1316
  [
1302
- k,
1303
- v,
1304
- y,
1317
+ M,
1318
+ m,
1319
+ I,
1305
1320
  E.height,
1306
1321
  E.width,
1307
- c,
1308
- Y,
1309
- A
1322
+ A,
1323
+ X,
1324
+ c
1310
1325
  ]
1311
1326
  );
1312
- return /* @__PURE__ */ F("group", { visible: C, children: [
1313
- H ? /* @__PURE__ */ h(
1327
+ return /* @__PURE__ */ W("group", { visible: C, children: [
1328
+ K ? /* @__PURE__ */ d(
1314
1329
  Cn,
1315
1330
  {
1316
- materialTexture: Y,
1317
- sourceTexture: B,
1318
- onSourceSizeChange: U
1331
+ materialTexture: X,
1332
+ sourceTexture: h,
1333
+ onSourceSizeChange: j
1319
1334
  }
1320
1335
  ) : null,
1321
- /* @__PURE__ */ F(
1336
+ /* @__PURE__ */ W(
1322
1337
  "mesh",
1323
1338
  {
1324
1339
  name: t,
1325
- scale: D.meshScale,
1326
- rotation: [0, 0, s * In],
1340
+ scale: R.meshScale,
1341
+ rotation: [0, 0, l * bn],
1327
1342
  renderOrder: S,
1328
1343
  children: [
1329
- /* @__PURE__ */ h("planeGeometry", { args: [1, 1] }),
1330
- L ? /* @__PURE__ */ h(
1344
+ /* @__PURE__ */ d("planeGeometry", { args: [1, 1] }),
1345
+ Y ? /* @__PURE__ */ d(
1331
1346
  "shaderMaterial",
1332
1347
  {
1333
1348
  uniforms: q,
@@ -1338,49 +1353,49 @@ function Ke({
1338
1353
  depthWrite: !u,
1339
1354
  toneMapped: !1
1340
1355
  }
1341
- ) : i === "standardPBR" ? /* @__PURE__ */ h(
1356
+ ) : i === "standardPBR" ? /* @__PURE__ */ d(
1342
1357
  "meshStandardMaterial",
1343
1358
  {
1344
- map: Y,
1345
- transparent: m || A < 1,
1346
- opacity: A,
1347
- color: c,
1348
- alphaTest: v,
1359
+ map: X,
1360
+ transparent: v || c < 1,
1361
+ opacity: c,
1362
+ color: A,
1363
+ alphaTest: m,
1349
1364
  depthTest: !u,
1350
1365
  depthWrite: !u,
1351
1366
  toneMapped: !1,
1352
1367
  roughness: 0.72,
1353
1368
  metalness: 0.08,
1354
- emissive: c,
1369
+ emissive: A,
1355
1370
  emissiveIntensity: 0.18,
1356
- ...J
1371
+ ...N
1357
1372
  }
1358
- ) : i === "matcap" ? /* @__PURE__ */ h(
1373
+ ) : i === "matcap" ? /* @__PURE__ */ d(
1359
1374
  "meshMatcapMaterial",
1360
1375
  {
1361
- map: Y,
1362
- matcap: V,
1363
- transparent: m || A < 1,
1364
- opacity: A,
1365
- color: c,
1366
- alphaTest: v,
1376
+ map: X,
1377
+ matcap: Z,
1378
+ transparent: v || c < 1,
1379
+ opacity: c,
1380
+ color: A,
1381
+ alphaTest: m,
1367
1382
  depthTest: !u,
1368
1383
  depthWrite: !u,
1369
1384
  toneMapped: !1,
1370
- ...J
1385
+ ...N
1371
1386
  }
1372
- ) : /* @__PURE__ */ h(
1387
+ ) : /* @__PURE__ */ d(
1373
1388
  "meshBasicMaterial",
1374
1389
  {
1375
- map: Y,
1376
- transparent: m || A < 1,
1377
- opacity: A,
1378
- color: c,
1379
- alphaTest: v,
1390
+ map: X,
1391
+ transparent: v || c < 1,
1392
+ opacity: c,
1393
+ color: A,
1394
+ alphaTest: m,
1380
1395
  depthTest: !u,
1381
1396
  depthWrite: !u,
1382
1397
  toneMapped: !1,
1383
- ...J
1398
+ ...N
1384
1399
  }
1385
1400
  )
1386
1401
  ]
@@ -1389,38 +1404,38 @@ function Ke({
1389
1404
  ] });
1390
1405
  }
1391
1406
  const Tn = { left: 0, right: 0, top: 0, bottom: 0 }, Bn = Math.PI / 180;
1392
- function pn({
1407
+ function wn({
1393
1408
  anchors: t,
1394
1409
  offsets: e,
1395
1410
  pivot: n,
1396
1411
  rotation: r,
1397
1412
  children: a
1398
1413
  }) {
1399
- const { width: i, height: o } = be(), l = x(
1414
+ const { width: i, height: o } = Ie(), s = x(
1400
1415
  () => ({ left: -1, right: 1, top: 1, bottom: -1, ...t }),
1401
1416
  [t]
1402
- ), s = x(() => ({ ...Tn, ...e }), [e]), A = x(
1403
- () => pt(i, o, l, s, n),
1404
- [o, n, l, s, i]
1405
- ), c = A.width > 0 && A.height > 0 ? A.width / A.height : null;
1406
- return /* @__PURE__ */ h(
1417
+ ), l = x(() => ({ ...Tn, ...e }), [e]), c = x(
1418
+ () => wt(i, o, s, l, n),
1419
+ [o, n, s, l, i]
1420
+ ), A = c.width > 0 && c.height > 0 ? c.width / c.height : null;
1421
+ return /* @__PURE__ */ d(
1407
1422
  "group",
1408
1423
  {
1409
- position: [A.centerX - A.pivotX, A.centerY - A.pivotY, 0],
1424
+ position: [c.centerX - c.pivotX, c.centerY - c.pivotY, 0],
1410
1425
  rotation: [0, 0, r * Bn],
1411
- scale: [A.width, A.height, 1],
1412
- children: /* @__PURE__ */ h(dt.Provider, { value: c, children: a })
1426
+ scale: [c.width, c.height, 1],
1427
+ children: /* @__PURE__ */ d(dt.Provider, { value: A, children: a })
1413
1428
  }
1414
1429
  );
1415
1430
  }
1416
- function Mn({
1431
+ function pn({
1417
1432
  transform: t,
1418
1433
  guideLayer: e,
1419
1434
  onChange: n,
1420
1435
  children: r
1421
1436
  }) {
1422
- return /* @__PURE__ */ h(
1423
- Ve,
1437
+ return /* @__PURE__ */ d(
1438
+ Ue,
1424
1439
  {
1425
1440
  guideColor: "#22d3ee",
1426
1441
  guideLayer: e,
@@ -1430,12 +1445,12 @@ function Mn({
1430
1445
  }
1431
1446
  );
1432
1447
  }
1433
- const wn = {
1448
+ const Qn = {
1434
1449
  left: -1,
1435
1450
  right: 1,
1436
1451
  top: 1,
1437
1452
  bottom: -1
1438
- }, Qn = {}, kn = [0.5, 0.5];
1453
+ }, Mn = {}, xn = [0.5, 0.5];
1439
1454
  [
1440
1455
  ["Normal", "normal"],
1441
1456
  ["Add", "add"],
@@ -1450,12 +1465,12 @@ const wn = {
1450
1465
  ["Difference", "difference"],
1451
1466
  ["Exclusion", "exclusion"]
1452
1467
  ].map(([t, e]) => ({ label: t, value: e }));
1453
- const xn = (t) => [
1468
+ const kn = (t) => [
1454
1469
  t[0] * 2 - 1,
1455
1470
  t[1] * 2 - 1
1456
- ], Ln = (t, e, n, r, a) => t || (!r && !a ? wn : qe({
1471
+ ], Ln = (t, e, n, r, a) => t || (!r && !a ? Qn : Ze({
1457
1472
  coordinateSpace: e,
1458
- canvasSize: n ?? Z,
1473
+ canvasSize: n ?? ie,
1459
1474
  position: r,
1460
1475
  size: a
1461
1476
  }));
@@ -1465,51 +1480,51 @@ function Fn({
1465
1480
  canvasSize: n,
1466
1481
  position: r,
1467
1482
  size: a,
1468
- offsets: i = Qn,
1469
- pivot: o = kn,
1470
- rotation: l = 0,
1471
- transform: s,
1472
- onScreenTransformChange: A,
1473
- transformGuideLayer: c = "scene",
1474
- ...g
1483
+ offsets: i = Mn,
1484
+ pivot: o = xn,
1485
+ rotation: s = 0,
1486
+ transform: l,
1487
+ onScreenTransformChange: c,
1488
+ transformGuideLayer: A = "scene",
1489
+ ...f
1475
1490
  }) {
1476
- const f = x(
1491
+ const g = x(
1477
1492
  () => Ln(t, e, n, r, a),
1478
1493
  [t, n, e, r, a]
1479
- ), S = x(() => xn(o), [o]);
1480
- if (s) {
1481
- const m = Ze(s);
1482
- return m.enabled ? /* @__PURE__ */ h(
1483
- Mn,
1494
+ ), S = x(() => kn(o), [o]);
1495
+ if (l) {
1496
+ const v = Ve(l);
1497
+ return v.enabled ? /* @__PURE__ */ d(
1498
+ pn,
1484
1499
  {
1485
- guideLayer: c,
1486
- transform: m,
1487
- onChange: A,
1488
- children: /* @__PURE__ */ h(
1489
- Ke,
1500
+ guideLayer: A,
1501
+ transform: v,
1502
+ onChange: c,
1503
+ children: /* @__PURE__ */ d(
1504
+ ze,
1490
1505
  {
1491
- ...g,
1492
- layoutSize: m.size,
1493
- renderOrder: g.renderOrder ?? m.renderOrder,
1494
- overlay: g.overlay ?? m.overlay,
1495
- visible: g.visible ?? m.visible,
1506
+ ...f,
1507
+ layoutSize: v.size,
1508
+ renderOrder: f.renderOrder ?? v.renderOrder,
1509
+ overlay: f.overlay ?? v.overlay,
1510
+ visible: f.visible ?? v.visible,
1496
1511
  rotation: 0
1497
1512
  }
1498
1513
  )
1499
1514
  }
1500
1515
  ) : null;
1501
1516
  }
1502
- return /* @__PURE__ */ h(
1503
- pn,
1517
+ return /* @__PURE__ */ d(
1518
+ wn,
1504
1519
  {
1505
- anchors: f,
1520
+ anchors: g,
1506
1521
  offsets: i,
1507
1522
  pivot: S,
1508
- rotation: l,
1509
- children: /* @__PURE__ */ h(
1510
- Ke,
1523
+ rotation: s,
1524
+ children: /* @__PURE__ */ d(
1525
+ ze,
1511
1526
  {
1512
- ...g,
1527
+ ...f,
1513
1528
  layoutSize: a ? { width: a[0], height: a[1] } : void 0,
1514
1529
  rotation: 0
1515
1530
  }
@@ -1542,22 +1557,22 @@ function Pn({
1542
1557
  resolution: r
1543
1558
  };
1544
1559
  }
1545
- function Ne(t) {
1546
- const e = Ue(), { bend: n, layoutSize: r, renderOrder: a, overlay: i = !0, ...o } = t, l = r ? Pn(r) : void 0, s = Math.max(
1547
- (l == null ? void 0 : l.aspect) ?? e ?? Yn,
1560
+ function Ke(t) {
1561
+ const e = Ne(), { bend: n, layoutSize: r, renderOrder: a, overlay: i = !0, ...o } = t, s = r ? Pn(r) : void 0, l = Math.max(
1562
+ (s == null ? void 0 : s.aspect) ?? e ?? Yn,
1548
1563
  0.1
1549
- ), A = Dn({
1564
+ ), c = Dn({
1550
1565
  bend: n,
1551
1566
  bendPreset: o.bendPreset,
1552
1567
  bendStrength: o.bendStrength
1553
1568
  });
1554
- return /* @__PURE__ */ h(
1569
+ return /* @__PURE__ */ d(
1555
1570
  sn,
1556
1571
  {
1557
1572
  ...o,
1558
- aspect: s,
1559
- resolution: (l == null ? void 0 : l.resolution) ?? o.resolution,
1560
- ...A,
1573
+ aspect: l,
1574
+ resolution: (s == null ? void 0 : s.resolution) ?? o.resolution,
1575
+ ...c,
1561
1576
  overlay: i,
1562
1577
  renderOrder: a
1563
1578
  }
@@ -1569,8 +1584,8 @@ function Rn({
1569
1584
  onChange: n,
1570
1585
  children: r
1571
1586
  }) {
1572
- return /* @__PURE__ */ h(
1573
- Ve,
1587
+ return /* @__PURE__ */ d(
1588
+ Ue,
1574
1589
  {
1575
1590
  guideColor: Wn,
1576
1591
  guideLayer: e,
@@ -1591,15 +1606,15 @@ function Gn({
1591
1606
  size: a,
1592
1607
  transform: i,
1593
1608
  pivot: o,
1594
- verticalAlign: l
1609
+ verticalAlign: s
1595
1610
  }) {
1596
1611
  return {
1597
- resolvedAnchors: i != null && i.anchors ? i.anchors : t || (i != null && i.position || i != null && i.size || r || a ? qe({
1612
+ resolvedAnchors: i != null && i.anchors ? i.anchors : t || (i != null && i.position || i != null && i.size || r || a ? Ze({
1598
1613
  coordinateSpace: (i == null ? void 0 : i.coordinateSpace) ?? e,
1599
1614
  canvasSize: (i == null ? void 0 : i.canvasSize) ?? n,
1600
1615
  position: (i == null ? void 0 : i.position) ?? r,
1601
1616
  size: (i == null ? void 0 : i.size) ?? a
1602
- }) : On(l)),
1617
+ }) : On(s)),
1603
1618
  resolvedOffsets: i == null ? void 0 : i.offsets,
1604
1619
  resolvedPivot: Dt((i == null ? void 0 : i.pivot) ?? o ?? [0.5, 0.5])
1605
1620
  };
@@ -1612,41 +1627,41 @@ function Hn({
1612
1627
  pivot: a,
1613
1628
  position: i,
1614
1629
  rotation: o = 0,
1615
- size: l,
1616
- transform: s,
1617
- screenTransform: A,
1618
- onScreenTransformChange: c,
1619
- transformGuideLayer: g = "scene",
1620
- verticalAlign: f = "center",
1630
+ size: s,
1631
+ transform: l,
1632
+ screenTransform: c,
1633
+ onScreenTransformChange: A,
1634
+ transformGuideLayer: f = "scene",
1635
+ verticalAlign: g = "center",
1621
1636
  ...S
1622
1637
  }) {
1623
- const { resolvedAnchors: m, resolvedOffsets: v, resolvedPivot: u } = x(
1638
+ const { resolvedAnchors: v, resolvedOffsets: m, resolvedPivot: u } = x(
1624
1639
  () => Gn({
1625
1640
  anchors: t,
1626
1641
  coordinateSpace: e,
1627
1642
  canvasSize: n,
1628
1643
  position: i,
1629
- size: l,
1630
- transform: s,
1644
+ size: s,
1645
+ transform: l,
1631
1646
  pivot: a,
1632
- verticalAlign: f
1647
+ verticalAlign: g
1633
1648
  }),
1634
- [t, n, e, a, i, l, s, f]
1635
- ), C = (s == null ? void 0 : s.offsets) ?? r ?? v, I = (s == null ? void 0 : s.rotation) ?? o;
1636
- if (A) {
1637
- const E = Ze(A);
1638
- return E.enabled ? /* @__PURE__ */ h(
1649
+ [t, n, e, a, i, s, l, g]
1650
+ ), C = (l == null ? void 0 : l.offsets) ?? r ?? m, b = (l == null ? void 0 : l.rotation) ?? o;
1651
+ if (c) {
1652
+ const E = Ve(c);
1653
+ return E.enabled ? /* @__PURE__ */ d(
1639
1654
  Rn,
1640
1655
  {
1641
- guideLayer: g,
1656
+ guideLayer: f,
1642
1657
  transform: E,
1643
- onChange: c,
1644
- children: /* @__PURE__ */ h(
1645
- Ne,
1658
+ onChange: A,
1659
+ children: /* @__PURE__ */ d(
1660
+ Ke,
1646
1661
  {
1647
1662
  ...S,
1648
1663
  layoutSize: E.size,
1649
- verticalAlign: f,
1664
+ verticalAlign: g,
1650
1665
  renderOrder: S.renderOrder ?? E.renderOrder,
1651
1666
  overlay: S.overlay ?? E.overlay,
1652
1667
  visible: S.visible ?? E.visible
@@ -1655,26 +1670,26 @@ function Hn({
1655
1670
  }
1656
1671
  ) : null;
1657
1672
  }
1658
- return /* @__PURE__ */ h(Mt, { anchors: m, offsets: C, pivot: u, children: /* @__PURE__ */ h("group", { rotation: [0, 0, I * Math.PI / 180], children: /* @__PURE__ */ h(Ne, { ...S, verticalAlign: f }) }) });
1673
+ return /* @__PURE__ */ d(pt, { anchors: v, offsets: C, pivot: u, children: /* @__PURE__ */ d("group", { rotation: [0, 0, b * Math.PI / 180], children: /* @__PURE__ */ d(Ke, { ...S, verticalAlign: g }) }) });
1659
1674
  }
1660
1675
  const Jn = ({ settings: t, transform: e }) => {
1661
1676
  const n = x(
1662
- () => /* @__PURE__ */ F("group", { name: "LightEditorGizmo", visible: t.showHelper, children: [
1663
- /* @__PURE__ */ F("mesh", { renderOrder: 1e3, children: [
1664
- /* @__PURE__ */ h("sphereGeometry", { args: [0.12, 12, 8] }),
1665
- /* @__PURE__ */ h("meshBasicMaterial", { color: "#facc15", wireframe: !0, depthTest: !1, depthWrite: !1 })
1677
+ () => /* @__PURE__ */ W("group", { name: "LightEditorGizmo", visible: t.showHelper, children: [
1678
+ /* @__PURE__ */ W("mesh", { renderOrder: 1e3, children: [
1679
+ /* @__PURE__ */ d("sphereGeometry", { args: [0.12, 12, 8] }),
1680
+ /* @__PURE__ */ d("meshBasicMaterial", { color: "#facc15", wireframe: !0, depthTest: !1, depthWrite: !1 })
1666
1681
  ] }),
1667
- /* @__PURE__ */ F("mesh", { position: [0, 0, -0.35], rotation: [Math.PI / 2, 0, 0], renderOrder: 1e3, children: [
1668
- /* @__PURE__ */ h("coneGeometry", { args: [0.08, 0.45, 12] }),
1669
- /* @__PURE__ */ h("meshBasicMaterial", { color: "#fde047", wireframe: !0, depthTest: !1, depthWrite: !1 })
1682
+ /* @__PURE__ */ W("mesh", { position: [0, 0, -0.35], rotation: [Math.PI / 2, 0, 0], renderOrder: 1e3, children: [
1683
+ /* @__PURE__ */ d("coneGeometry", { args: [0.08, 0.45, 12] }),
1684
+ /* @__PURE__ */ d("meshBasicMaterial", { color: "#fde047", wireframe: !0, depthTest: !1, depthWrite: !1 })
1670
1685
  ] })
1671
1686
  ] }),
1672
1687
  [t.showHelper]
1673
1688
  );
1674
- return t.enabled ? /* @__PURE__ */ F(le, { value: e, children: [
1689
+ return t.enabled ? /* @__PURE__ */ W(ce, { value: e, children: [
1675
1690
  n,
1676
- t.type === "ambient" ? /* @__PURE__ */ h("ambientLight", { color: t.color, intensity: t.intensity }) : null,
1677
- t.type === "directional" ? /* @__PURE__ */ h(
1691
+ t.type === "ambient" ? /* @__PURE__ */ d("ambientLight", { color: t.color, intensity: t.intensity }) : null,
1692
+ t.type === "directional" ? /* @__PURE__ */ d(
1678
1693
  "directionalLight",
1679
1694
  {
1680
1695
  color: t.color,
@@ -1682,7 +1697,7 @@ const Jn = ({ settings: t, transform: e }) => {
1682
1697
  castShadow: t.castShadow
1683
1698
  }
1684
1699
  ) : null,
1685
- t.type === "point" ? /* @__PURE__ */ h(
1700
+ t.type === "point" ? /* @__PURE__ */ d(
1686
1701
  "pointLight",
1687
1702
  {
1688
1703
  color: t.color,
@@ -1692,7 +1707,7 @@ const Jn = ({ settings: t, transform: e }) => {
1692
1707
  castShadow: t.castShadow
1693
1708
  }
1694
1709
  ) : null,
1695
- t.type === "spot" ? /* @__PURE__ */ h(
1710
+ t.type === "spot" ? /* @__PURE__ */ d(
1696
1711
  "spotLight",
1697
1712
  {
1698
1713
  color: t.color,
@@ -1726,10 +1741,10 @@ const Jn = ({ settings: t, transform: e }) => {
1726
1741
  );
1727
1742
  return t.quaternion.copy(r).multiply(a), !0;
1728
1743
  }, Kn = ({ target: t, settings: e, children: n }) => {
1729
- const r = X(null);
1730
- return ae(() => {
1744
+ const r = P(null);
1745
+ return se(() => {
1731
1746
  r.current && zn({ source: r.current, target: t, settings: e });
1732
- }), /* @__PURE__ */ h("group", { ref: r, children: n });
1747
+ }), /* @__PURE__ */ d("group", { ref: r, children: n });
1733
1748
  }, Nn = (t, e) => {
1734
1749
  let n = t;
1735
1750
  for (; n && n !== e; ) {
@@ -1737,33 +1752,33 @@ const Jn = ({ settings: t, transform: e }) => {
1737
1752
  n = n.parent;
1738
1753
  }
1739
1754
  return !1;
1740
- }, O = ({ children: t, layer: e }) => {
1741
- const n = X(null), r = X(0), a = Ie(() => {
1755
+ }, J = ({ children: t, layer: e }) => {
1756
+ const n = P(null), r = P(0), a = be(() => {
1742
1757
  e === void 0 || !n.current || n.current.traverse((i) => {
1743
1758
  Nn(i, n.current) || i.layers.set(e);
1744
1759
  });
1745
1760
  }, [e]);
1746
1761
  return ot(() => {
1747
1762
  a(), r.current = 2;
1748
- }, [a, t]), ae(() => {
1763
+ }, [a, t]), se(() => {
1749
1764
  r.current <= 0 || (a(), r.current -= 1);
1750
- }, -1e3), /* @__PURE__ */ h("group", { ref: n, children: t });
1751
- }, Q = (t, e) => (t == null ? void 0 : t.type) === e, Un = (t) => null, re = ({ children: t, inside: e }) => e ? /* @__PURE__ */ h(de, { children: t }) : /* @__PURE__ */ h(Ot, { children: t }), Vn = ({
1765
+ }, -1e3), /* @__PURE__ */ d("group", { ref: n, children: t });
1766
+ }, Q = (t, e) => (t == null ? void 0 : t.type) === e, Un = (t) => null, ae = ({ children: t, inside: e }) => e ? /* @__PURE__ */ d(ge, { children: t }) : /* @__PURE__ */ d(Ot, { children: t }), Vn = ({
1752
1767
  children: t,
1753
1768
  insideScreenSpaceUI: e,
1754
1769
  objectRef: n,
1755
1770
  renderOrder: r,
1756
1771
  settings: a
1757
- }) => /* @__PURE__ */ h(re, { inside: e, children: /* @__PURE__ */ h(Zn, { settings: a, renderOrder: r, objectRef: n, children: t }) }), Zn = ({
1772
+ }) => /* @__PURE__ */ d(ae, { inside: e, children: /* @__PURE__ */ d(jn, { settings: a, renderOrder: r, objectRef: n, children: t }) }), jn = ({
1758
1773
  children: t,
1759
1774
  objectRef: e,
1760
1775
  renderOrder: n,
1761
1776
  settings: r
1762
1777
  }) => {
1763
- const a = be();
1778
+ const a = Ie();
1764
1779
  if (!r.enabled || !r.visible) return null;
1765
1780
  const i = je({ transform: r, parentSize: a });
1766
- return /* @__PURE__ */ h(
1781
+ return /* @__PURE__ */ d(
1767
1782
  "group",
1768
1783
  {
1769
1784
  ref: e,
@@ -1774,14 +1789,14 @@ const Jn = ({ settings: t, transform: e }) => {
1774
1789
  children: t
1775
1790
  }
1776
1791
  );
1777
- }, jn = ({
1792
+ }, Zn = ({
1778
1793
  anchor: t,
1779
1794
  children: e,
1780
1795
  insideScreenSpaceUI: n,
1781
1796
  objectRef: r,
1782
1797
  renderOrder: a,
1783
1798
  settings: i
1784
- }) => /* @__PURE__ */ h(re, { inside: n, children: /* @__PURE__ */ h(
1799
+ }) => /* @__PURE__ */ d(ae, { inside: n, children: /* @__PURE__ */ d(
1785
1800
  qn,
1786
1801
  {
1787
1802
  anchor: t,
@@ -1797,45 +1812,45 @@ const Jn = ({ settings: t, transform: e }) => {
1797
1812
  renderOrder: r,
1798
1813
  settings: a
1799
1814
  }) => {
1800
- const i = Lt({ targetFps: 24 }), { size: o } = Ae(), l = be(), s = X(null), A = X(new _()), c = X({
1815
+ const i = Lt({ targetFps: 24 }), { size: o } = he(), s = Ie(), l = P(null), c = P(new _()), A = P({
1801
1816
  pos: new _(),
1802
1817
  prevRaw: new _(),
1803
1818
  dxHat: new _(),
1804
1819
  initialized: !1
1805
- }), g = X(!1), f = X({ x: 0, y: 0, z: 0, visibility: 0 }), S = X({ x: 0, y: 0 }), m = i ? Qt(
1820
+ }), f = P(!1), g = P({ x: 0, y: 0, z: 0, visibility: 0 }), S = P({ x: 0, y: 0 }), v = i ? Mt(
1806
1821
  t.target,
1807
1822
  i.landmarks,
1808
1823
  t.customAnchorPoint,
1809
- f.current
1810
- ) : null, v = m ? Rt({ point: m, viewportSize: o, target: S.current }) : null, u = v ? je({
1824
+ g.current
1825
+ ) : null, m = v ? _e({ point: v, viewportSize: o, target: S.current }) : null, u = m ? je({
1811
1826
  transform: {
1812
1827
  ...a,
1813
1828
  position: {
1814
- x: v.x + a.position.x + t.offset.x,
1815
- y: v.y + a.position.y + t.offset.y
1829
+ x: m.x + a.position.x + t.offset.x,
1830
+ y: m.y + a.position.y + t.offset.y
1816
1831
  }
1817
1832
  },
1818
- parentSize: l
1833
+ parentSize: s
1819
1834
  }) : null;
1820
- return ae((C, I) => {
1821
- const E = s.current;
1835
+ return se((C, b) => {
1836
+ const E = l.current;
1822
1837
  if (E) {
1823
1838
  if (E.visible = !!(u && a.enabled && a.visible), !u) {
1824
- g.current = !1, c.current.initialized = !1;
1839
+ f.current = !1, A.current.initialized = !1;
1825
1840
  return;
1826
1841
  }
1827
- A.current.set(u.center[0], u.center[1], t.offset.z), t.smoothing > 0 ? (xt(
1828
- c.current,
1842
+ c.current.set(u.center[0], u.center[1], t.offset.z), t.smoothing > 0 ? (kt(
1829
1843
  A.current,
1830
- g.current ? I : 0,
1844
+ c.current,
1845
+ f.current ? b : 0,
1831
1846
  t.smoothing
1832
- ), E.position.copy(c.current.pos)) : E.position.copy(A.current), g.current = !0;
1847
+ ), E.position.copy(A.current.pos)) : E.position.copy(c.current), f.current = !0;
1833
1848
  }
1834
- }), /* @__PURE__ */ h(
1849
+ }), /* @__PURE__ */ d(
1835
1850
  "group",
1836
1851
  {
1837
1852
  ref: (C) => {
1838
- s.current = C, n == null || n(C);
1853
+ l.current = C, n == null || n(C);
1839
1854
  },
1840
1855
  rotation: [
1841
1856
  (u == null ? void 0 : u.rotation[0]) ?? 0,
@@ -1853,200 +1868,203 @@ const Jn = ({ settings: t, transform: e }) => {
1853
1868
  );
1854
1869
  }, _n = ({
1855
1870
  editorMode: t = !1,
1856
- fallback: e = Un,
1857
- insideScreenSpaceUI: n = !1,
1858
- objectId: r,
1859
- onComponentChange: a,
1860
- renderLayer: i,
1861
- renderOrder: o,
1871
+ faceMeshMaterialOverrides: e,
1872
+ fallback: n = Un,
1873
+ insideScreenSpaceUI: r = !1,
1874
+ objectId: a,
1875
+ onComponentChange: i,
1876
+ renderLayer: o,
1877
+ renderOrder: s,
1862
1878
  store: l
1863
1879
  }) => {
1864
- const s = Ft(), A = Yt(), c = l.objects[r];
1865
- if (!c || !c.enabled) return null;
1866
- const g = ut(l, r).filter((d) => d.enabled), f = g.find((d) => d.type === "Transform"), S = g.find((d) => d.type === "ScreenTransform"), m = g.find((d) => d.type === "ScreenImage"), v = g.find((d) => d.type === "ScreenText"), u = g.find((d) => d.type === "ScreenShape"), C = g.find((d) => d.type === "MeshRenderer"), I = g.find((d) => d.type === "FaceMeshRenderer"), E = g.find((d) => d.type === "Light"), p = g.find((d) => d.type === "LookAt"), w = g.find((d) => d.type === "PinToMesh"), T = g.find((d) => d.type === "TrackingAnchor"), b = St(l, r).map((d) => /* @__PURE__ */ h(
1880
+ const c = Ft(), A = Yt(), f = l.objects[a];
1881
+ if (!f || !f.enabled) return null;
1882
+ const g = ut(l, a).filter((h) => h.enabled), S = g.find((h) => h.type === "Transform"), v = g.find((h) => h.type === "ScreenTransform"), m = g.find((h) => h.type === "ScreenImage"), u = g.find((h) => h.type === "ScreenText"), C = g.find((h) => h.type === "ScreenShape"), b = g.find((h) => h.type === "MeshRenderer"), E = g.find((h) => h.type === "FaceMeshRenderer"), p = g.find((h) => h.type === "Light"), w = g.find((h) => h.type === "LookAt"), y = g.find((h) => h.type === "PinToMesh"), L = g.find((h) => h.type === "TrackingAnchor"), T = St(l, a).map((h) => /* @__PURE__ */ d(
1867
1883
  _n,
1868
1884
  {
1869
- objectId: d.id,
1885
+ objectId: h.id,
1870
1886
  store: l,
1871
1887
  editorMode: t,
1872
- renderOrder: o,
1873
- renderLayer: i,
1874
- onComponentChange: a,
1875
- fallback: e,
1876
- insideScreenSpaceUI: n || !!S
1888
+ renderOrder: s,
1889
+ renderLayer: o,
1890
+ onComponentChange: i,
1891
+ fallback: n,
1892
+ faceMeshMaterialOverrides: e,
1893
+ insideScreenSpaceUI: r || !!v
1877
1894
  },
1878
- d.id
1895
+ h.id
1879
1896
  ));
1880
- if (Q(f, "Transform") && Q(E, "Light"))
1881
- return /* @__PURE__ */ h(O, { layer: i, children: /* @__PURE__ */ F("group", { ref: (d) => s(r, d), children: [
1882
- /* @__PURE__ */ h(Jn, { settings: E.settings, transform: f.settings }),
1883
- b
1897
+ if (Q(S, "Transform") && Q(p, "Light"))
1898
+ return /* @__PURE__ */ d(J, { layer: o, children: /* @__PURE__ */ W("group", { ref: (h) => c(a, h), children: [
1899
+ /* @__PURE__ */ d(Jn, { settings: p.settings, transform: S.settings }),
1900
+ T
1884
1901
  ] }) });
1885
- if (Q(f, "Transform") && Q(C, "MeshRenderer")) {
1886
- const d = Q(p, "LookAt") ? p.settings : De("LookAt", r).settings, B = d.inheritChildren ? b : null, G = d.inheritChildren ? null : b;
1887
- return /* @__PURE__ */ h(O, { layer: i, children: /* @__PURE__ */ h("group", { ref: (P) => s(r, P), children: /* @__PURE__ */ h(
1902
+ if (Q(S, "Transform") && Q(b, "MeshRenderer")) {
1903
+ const h = Q(w, "LookAt") ? w.settings : Xe("LookAt", a).settings, F = h.inheritChildren ? T : null, z = h.inheritChildren ? null : T;
1904
+ return /* @__PURE__ */ d(J, { layer: o, children: /* @__PURE__ */ d("group", { ref: (H) => c(a, H), children: /* @__PURE__ */ d(
1888
1905
  vt,
1889
1906
  {
1890
- target: Q(w, "PinToMesh") ? A(w.settings.targetObjectId) : null,
1891
- settings: Q(w, "PinToMesh") ? w.settings : De("PinToMesh", r).settings,
1892
- children: /* @__PURE__ */ F(
1893
- le,
1907
+ target: Q(y, "PinToMesh") ? A(y.settings.targetObjectId) : null,
1908
+ settings: Q(y, "PinToMesh") ? y.settings : Xe("PinToMesh", a).settings,
1909
+ children: /* @__PURE__ */ W(
1910
+ ce,
1894
1911
  {
1895
- value: f.settings,
1896
- onChange: a ? (P) => a({ ...f, settings: P }) : void 0,
1912
+ value: S.settings,
1913
+ onChange: i ? (H) => i({ ...S, settings: H }) : void 0,
1897
1914
  children: [
1898
- /* @__PURE__ */ F(
1915
+ /* @__PURE__ */ W(
1899
1916
  Kn,
1900
1917
  {
1901
- target: Q(p, "LookAt") ? A(p.settings.targetObjectId) : null,
1902
- settings: d,
1918
+ target: Q(w, "LookAt") ? A(w.settings.targetObjectId) : null,
1919
+ settings: h,
1903
1920
  children: [
1904
- /* @__PURE__ */ h(gt, { value: C.settings, renderOrder: o }),
1905
- B
1921
+ /* @__PURE__ */ d(gt, { value: b.settings, renderOrder: s }),
1922
+ F
1906
1923
  ]
1907
1924
  }
1908
1925
  ),
1909
- G
1926
+ z
1910
1927
  ]
1911
1928
  }
1912
1929
  )
1913
1930
  }
1914
1931
  ) }) });
1915
1932
  }
1916
- if (Q(I, "FaceMeshRenderer"))
1917
- return /* @__PURE__ */ h(O, { layer: i, children: /* @__PURE__ */ F("group", { ref: (d) => s(r, d), children: [
1918
- /* @__PURE__ */ h(
1933
+ if (Q(E, "FaceMeshRenderer"))
1934
+ return /* @__PURE__ */ d(J, { layer: o, children: /* @__PURE__ */ W("group", { ref: (h) => c(a, h), children: [
1935
+ /* @__PURE__ */ d(
1919
1936
  ft,
1920
1937
  {
1921
- value: I.settings,
1922
- transform: Q(f, "Transform") ? f.settings : void 0
1938
+ value: E.settings,
1939
+ materialOverride: e == null ? void 0 : e[E.id],
1940
+ transform: Q(S, "Transform") ? S.settings : void 0
1923
1941
  }
1924
1942
  ),
1925
- b
1943
+ T
1926
1944
  ] }) });
1927
- if (Q(f, "Transform")) {
1928
- if (Q(T, "TrackingAnchor")) {
1929
- const d = T.settings;
1930
- return /* @__PURE__ */ h(O, { layer: i, children: /* @__PURE__ */ h(wt, { followFaceRoll: d.followFaceRoll, children: /* @__PURE__ */ h(
1931
- kt,
1945
+ if (Q(S, "Transform")) {
1946
+ if (Q(L, "TrackingAnchor")) {
1947
+ const h = L.settings;
1948
+ return /* @__PURE__ */ d(J, { layer: o, children: /* @__PURE__ */ d(Qt, { followFaceRoll: h.followFaceRoll, children: /* @__PURE__ */ d(
1949
+ xt,
1932
1950
  {
1933
- target: d.target,
1934
- customAnchorPoint: d.customAnchorPoint,
1935
- offset: [d.offset.x, d.offset.y, d.offset.z],
1936
- smoothing: d.smoothing,
1937
- children: /* @__PURE__ */ h(
1938
- le,
1951
+ target: h.target,
1952
+ customAnchorPoint: h.customAnchorPoint,
1953
+ offset: [h.offset.x, h.offset.y, h.offset.z],
1954
+ smoothing: h.smoothing,
1955
+ children: /* @__PURE__ */ d(
1956
+ ce,
1939
1957
  {
1940
- objectRef: (B) => s(r, B),
1941
- value: f.settings,
1942
- children: b
1958
+ objectRef: (F) => c(a, F),
1959
+ value: S.settings,
1960
+ children: T
1943
1961
  }
1944
1962
  )
1945
1963
  }
1946
1964
  ) }) });
1947
1965
  }
1948
- return /* @__PURE__ */ h(O, { layer: i, children: /* @__PURE__ */ h("group", { children: /* @__PURE__ */ h(
1949
- le,
1966
+ return /* @__PURE__ */ d(J, { layer: o, children: /* @__PURE__ */ d("group", { children: /* @__PURE__ */ d(
1967
+ ce,
1950
1968
  {
1951
- objectRef: (d) => s(r, d),
1952
- value: f.settings,
1953
- onChange: a ? (d) => a({ ...f, settings: d }) : void 0,
1954
- children: b
1969
+ objectRef: (h) => c(a, h),
1970
+ value: S.settings,
1971
+ onChange: i ? (h) => i({ ...S, settings: h }) : void 0,
1972
+ children: T
1955
1973
  }
1956
1974
  ) }) });
1957
1975
  }
1958
- if (Q(S, "ScreenTransform") && Q(m, "ScreenImage")) {
1959
- const d = mt({
1976
+ if (Q(v, "ScreenTransform") && Q(m, "ScreenImage")) {
1977
+ const h = mt({
1960
1978
  screenSpaceUI: { enabled: !0 },
1961
1979
  screenImage: {
1962
1980
  ...m.settings,
1963
- screenTransform: S.settings
1981
+ screenTransform: v.settings
1964
1982
  }
1965
1983
  });
1966
- return d.shouldRender ? /* @__PURE__ */ h(O, { layer: i, children: /* @__PURE__ */ h("group", { renderOrder: o, children: /* @__PURE__ */ F(re, { inside: n, children: [
1967
- /* @__PURE__ */ h(
1984
+ return h.shouldRender ? /* @__PURE__ */ d(J, { layer: o, children: /* @__PURE__ */ d("group", { renderOrder: s, children: /* @__PURE__ */ W(ae, { inside: r, children: [
1985
+ /* @__PURE__ */ d(
1968
1986
  Fn,
1969
1987
  {
1970
- ...d.props,
1971
- renderOrder: o ?? d.props.renderOrder,
1972
- onScreenTransformChange: a ? (B) => a({ ...S, settings: B }) : void 0
1988
+ ...h.props,
1989
+ renderOrder: s ?? h.props.renderOrder,
1990
+ onScreenTransformChange: i ? (F) => i({ ...v, settings: F }) : void 0
1973
1991
  }
1974
1992
  ),
1975
- b
1993
+ T
1976
1994
  ] }) }) }) : null;
1977
1995
  }
1978
- if (Q(S, "ScreenTransform") && Q(v, "ScreenText")) {
1979
- const d = Ct({
1996
+ if (Q(v, "ScreenTransform") && Q(u, "ScreenText")) {
1997
+ const h = Ct({
1980
1998
  screenSpaceUI: { enabled: !0 },
1981
1999
  screenText: {
1982
- ...v.settings,
1983
- screenTransform: S.settings
2000
+ ...u.settings,
2001
+ screenTransform: v.settings
1984
2002
  }
1985
2003
  });
1986
- return d.shouldRender ? /* @__PURE__ */ h(O, { layer: i, children: /* @__PURE__ */ h("group", { renderOrder: o, children: /* @__PURE__ */ F(re, { inside: n, children: [
1987
- /* @__PURE__ */ h(
2004
+ return h.shouldRender ? /* @__PURE__ */ d(J, { layer: o, children: /* @__PURE__ */ d("group", { renderOrder: s, children: /* @__PURE__ */ W(ae, { inside: r, children: [
2005
+ /* @__PURE__ */ d(
1988
2006
  Hn,
1989
2007
  {
1990
- ...d.props,
1991
- renderOrder: o ?? d.props.renderOrder,
1992
- onScreenTransformChange: a ? (B) => a({ ...S, settings: B }) : void 0
2008
+ ...h.props,
2009
+ renderOrder: s ?? h.props.renderOrder,
2010
+ onScreenTransformChange: i ? (F) => i({ ...v, settings: F }) : void 0
1993
2011
  }
1994
2012
  ),
1995
- b
2013
+ T
1996
2014
  ] }) }) }) : null;
1997
2015
  }
1998
- return Q(S, "ScreenTransform") && Q(u, "ScreenShape") ? /* @__PURE__ */ h(O, { layer: i, children: /* @__PURE__ */ h("group", { ref: (d) => s(r, d), renderOrder: o, children: /* @__PURE__ */ F(re, { inside: n, children: [
1999
- /* @__PURE__ */ h(
2016
+ return Q(v, "ScreenTransform") && Q(C, "ScreenShape") ? /* @__PURE__ */ d(J, { layer: o, children: /* @__PURE__ */ d("group", { ref: (h) => c(a, h), renderOrder: s, children: /* @__PURE__ */ W(ae, { inside: r, children: [
2017
+ /* @__PURE__ */ d(
2000
2018
  Et,
2001
2019
  {
2002
- name: c.name,
2003
- settings: u.settings,
2004
- transform: S.settings,
2005
- renderOrder: o,
2006
- onScreenTransformChange: a ? (d) => a({ ...S, settings: d }) : void 0
2020
+ name: f.name,
2021
+ settings: C.settings,
2022
+ transform: v.settings,
2023
+ renderOrder: s,
2024
+ onScreenTransformChange: i ? (h) => i({ ...v, settings: h }) : void 0
2007
2025
  }
2008
2026
  ),
2009
- b
2010
- ] }) }) }) : Q(S, "ScreenTransform") ? Q(T, "TrackingAnchor") ? /* @__PURE__ */ h(O, { layer: i, children: /* @__PURE__ */ h("group", { children: /* @__PURE__ */ h(
2011
- jn,
2027
+ T
2028
+ ] }) }) }) : Q(v, "ScreenTransform") ? Q(L, "TrackingAnchor") ? /* @__PURE__ */ d(J, { layer: o, children: /* @__PURE__ */ d("group", { children: /* @__PURE__ */ d(
2029
+ Zn,
2012
2030
  {
2013
- anchor: T.settings,
2014
- settings: S.settings,
2015
- renderOrder: o,
2016
- insideScreenSpaceUI: n,
2017
- objectRef: (d) => s(r, d),
2018
- children: b
2031
+ anchor: L.settings,
2032
+ settings: v.settings,
2033
+ renderOrder: s,
2034
+ insideScreenSpaceUI: r,
2035
+ objectRef: (h) => c(a, h),
2036
+ children: T
2019
2037
  }
2020
- ) }) }) : /* @__PURE__ */ h(O, { layer: i, children: /* @__PURE__ */ h("group", { children: /* @__PURE__ */ h(
2038
+ ) }) }) : /* @__PURE__ */ d(J, { layer: o, children: /* @__PURE__ */ d("group", { children: /* @__PURE__ */ d(
2021
2039
  Vn,
2022
2040
  {
2023
- settings: S.settings,
2024
- renderOrder: o,
2025
- insideScreenSpaceUI: n,
2026
- objectRef: (d) => s(r, d),
2027
- children: b
2041
+ settings: v.settings,
2042
+ renderOrder: s,
2043
+ insideScreenSpaceUI: r,
2044
+ objectRef: (h) => c(a, h),
2045
+ children: T
2028
2046
  }
2029
- ) }) }) : t ? /* @__PURE__ */ F(de, { children: [
2030
- b,
2031
- e(
2032
- `Object "${c.name}" has unsupported components: ${g.map((d) => d.type).join(", ")}`
2047
+ ) }) }) : t ? /* @__PURE__ */ W(ge, { children: [
2048
+ T,
2049
+ n(
2050
+ `Object "${f.name}" has unsupported components: ${g.map((h) => h.type).join(", ")}`
2033
2051
  )
2034
- ] }) : b.length ? /* @__PURE__ */ h(de, { children: b }) : null;
2035
- }, Ir = ({ layers: t }) => {
2036
- const { camera: e, gl: n, raycaster: r, scene: a } = Ae(), { session: i } = Wt(), o = Ie(
2037
- () => It({ renderer: n, scene: a, camera: e, layers: t }),
2052
+ ] }) : T.length ? /* @__PURE__ */ d(ge, { children: T }) : null;
2053
+ }, Tr = ({ layers: t }) => {
2054
+ const { camera: e, gl: n, raycaster: r, scene: a } = he(), { session: i } = Wt(), o = be(
2055
+ () => bt({ renderer: n, scene: a, camera: e, layers: t }),
2038
2056
  [e, n, t, a]
2039
2057
  );
2040
- return ae(o, 1), te(() => {
2041
- const l = r.layers.mask;
2042
- return t.forEach((s) => r.layers.enable(s)), () => {
2043
- r.layers.mask = l;
2058
+ return se(o, 1), te(() => {
2059
+ const s = r.layers.mask;
2060
+ return t.forEach((l) => r.layers.enable(l)), () => {
2061
+ r.layers.mask = s;
2044
2062
  };
2045
2063
  }, [t, r]), te(() => (i._setR3FState({ renderer: n, scene: a, camera: e, renderFrame: o }), () => i._setR3FState({ renderer: n, scene: a, camera: e })), [e, n, o, a, i]), null;
2046
2064
  };
2047
2065
  export {
2048
2066
  Jn as L,
2049
- O as R,
2067
+ J as R,
2050
2068
  Ot as S,
2051
2069
  sn as T,
2052
2070
  Fn as a,
@@ -2054,15 +2072,18 @@ export {
2054
2072
  Ee as c,
2055
2073
  Kn as d,
2056
2074
  _n as e,
2057
- Ir as f,
2058
- fr as g,
2059
- ur as h,
2060
- mr as i,
2061
- Sr as j,
2062
- Er as k,
2063
- gr as l,
2064
- vr as m,
2065
- Rt as n,
2075
+ Tr as f,
2076
+ Sr as g,
2077
+ vr as h,
2078
+ br as i,
2079
+ mr as j,
2080
+ fr as k,
2081
+ yr as l,
2082
+ Er as m,
2083
+ _e as n,
2084
+ ur as o,
2085
+ gr as p,
2066
2086
  dr as s,
2067
- Cr as w
2087
+ Cr as t,
2088
+ Ir as w
2068
2089
  };