shaders 2.2.3 → 2.2.6

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.
@@ -1,243 +1,243 @@
1
- import { A as G, B as Yn, D as C, E as xe, F as dn, H as In, I as Je, J as Hn, K as Wn, L as jn, M as X, N as x, P as ye, R as Qn, S as Ce, T as kn, U as Jn, V as Kn, _ as Me, c as Zn, d as Z, g as Ke, h as Ze, i as er, k as pe, l as wn, m as D, n as k, o as nr, q as rr, s as tr, t as or, v as i, w as sr, x as ee, z as ar } from "./three.tsl-BqgDcRt9.js";
2
- import { n as ce, t as Re } from "./edges-B-tVdqcI.js";
3
- import { t as oo } from "./time-5uQ65blS.js";
1
+ import { A as G, B as Xn, D as R, E as Me, F as un, H as Yn, I as Ze, J as Hn, K as In, L as Wn, M as N, N as S, P as we, R as jn, S as ge, T as Rn, U as Qn, V as Jn, _ as xe, c as Kn, d as Q, g as en, h as nn, i as Zn, k as me, l as Tn, m as D, n as k, o as et, q as nt, s as tt, t as rt, v as c, w as ot, x as J, z as it } from "./three.tsl-BqgDcRt9.js";
2
+ import { n as se, t as be } from "./edges-B-tVdqcI.js";
3
+ import { t as ro } from "./time-5uQ65blS.js";
4
4
  import "./transformations-DBjTkQ5b.js";
5
- import { n as ir } from "./AngularBlur-BTUdXC0g.js";
6
- import { n as lr } from "./Ascii-Bu8ii7oo.js";
5
+ import { n as at } from "./AngularBlur-BTUdXC0g.js";
6
+ import { n as st } from "./Ascii-Bu8ii7oo.js";
7
7
  import "./colorMixing-DPZ-Td4U.js";
8
- import { n as cr } from "./Blob-C0G0efjG.js";
9
- import { n as fr } from "./Blur-BzUO9yxF.js";
10
- import { n as mr } from "./Bulge-BCXYAzig.js";
11
- import { n as ur } from "./ChannelBlur-BEK1qzGn.js";
12
- import { n as dr } from "./Checkerboard-BPkiSF5I.js";
13
- import { n as hr } from "./ChromaFlow-AHO3C4o3.js";
14
- import { n as pr } from "./ChromaticAberration-nVg3r1FK.js";
15
- import { n as gr } from "./Circle-C8ltF4BZ.js";
16
- import { n as br } from "./CRTScreen-cJ3XHrI9.js";
17
- import { n as vr } from "./CursorTrail-BeJGeovB.js";
18
- import { n as Cr } from "./DiffuseBlur-BdGvOoBw.js";
19
- import { n as Rr } from "./Dither-CpN3vGSh.js";
20
- import { n as Tr } from "./DotGrid-BFUzeSQw.js";
21
- import { n as kr } from "./Duotone-_nR_o3-g.js";
22
- import { n as wr } from "./FilmGrain-BAKXXtLg.js";
23
- import { n as yr } from "./FloatingParticles-Fv8JIzKk.js";
24
- import { n as Sr } from "./GlassTiles-5MyBj1ff.js";
25
- import { n as Ur } from "./Glow-DvJj7BB7.js";
26
- import { n as xr } from "./Godrays-cUzAKVXn.js";
8
+ import { n as lt } from "./Blob-C0G0efjG.js";
9
+ import { n as ct } from "./Blur-BzUO9yxF.js";
10
+ import { n as ft } from "./Bulge-BCXYAzig.js";
11
+ import { n as ut } from "./ChannelBlur-BEK1qzGn.js";
12
+ import { n as mt } from "./Checkerboard-BPkiSF5I.js";
13
+ import { n as dt } from "./ChromaFlow-AHO3C4o3.js";
14
+ import { n as ht } from "./ChromaticAberration-nVg3r1FK.js";
15
+ import { n as pt } from "./Circle-C8ltF4BZ.js";
16
+ import { n as gt } from "./CRTScreen-cJ3XHrI9.js";
17
+ import { n as bt } from "./CursorTrail-BeJGeovB.js";
18
+ import { n as vt } from "./DiffuseBlur-BdGvOoBw.js";
19
+ import { n as Ct } from "./Dither-CpN3vGSh.js";
20
+ import { n as Rt } from "./DotGrid-BFUzeSQw.js";
21
+ import { n as Tt } from "./Duotone-_nR_o3-g.js";
22
+ import { n as kt } from "./FilmGrain-BAKXXtLg.js";
23
+ import { n as yt } from "./FloatingParticles-Fv8JIzKk.js";
24
+ import { n as wt } from "./GlassTiles-5MyBj1ff.js";
25
+ import { n as Ut } from "./Glow-DvJj7BB7.js";
26
+ import { n as St } from "./Godrays-cUzAKVXn.js";
27
27
  import "./TSLBase-BFMvTOak.js";
28
28
  import "./ColorAdjustment-CKwpE_4M.js";
29
- import { n as Mr } from "./Grayscale-oWIF3PV5.js";
30
- import { n as Ar } from "./Grid-Bov7AA9m.js";
31
- import { n as $r } from "./GridDistortion-CWYom5Dw.js";
32
- import { n as Dr } from "./Group-CPk-7fiA.js";
33
- import { n as zr } from "./Halftone-F7fsdu7W.js";
34
- import { n as Fr } from "./HueShift-CiS4hdtk.js";
35
- import { n as Er } from "./ImageTexture-B3Q29OHX.js";
36
- import { n as Or } from "./Invert-Cyc4JHWc.js";
37
- import { n as Br } from "./LinearBlur-BTC54qzk.js";
38
- import { n as Pr } from "./LinearGradient-LEMeW0KM.js";
39
- import { n as _r } from "./Liquify-D2nzMDzq.js";
40
- import { n as Vr } from "./Pixelate-irPzmtQm.js";
41
- import { n as Lr } from "./PolarCoordinates-Ck5ZWrQO.js";
42
- import { n as qr } from "./Posterize-DICq_t96.js";
43
- import { n as Gr } from "./ProgressiveBlur-BuORe3VH.js";
44
- import { n as Nr } from "./RadialGradient-D0cN67jm.js";
45
- import { n as Xr } from "./RectangularCoordinates-1LIDaeHR.js";
46
- import { n as Yr } from "./Ripples-DH71sFJc.js";
47
- import { n as Ir } from "./Saturation-DbSXtSeK.js";
48
- import { n as Hr } from "./SimplexNoise-DPGC2OPJ.js";
49
- import { n as Wr } from "./SineWave-CkWtnzHF.js";
50
- import { n as jr } from "./SolidColor-DaB-FHNX.js";
51
- import { n as Qr } from "./Spiral-CcyI8azF.js";
52
- import { n as Jr } from "./Strands-Co4fkc05.js";
53
- import { n as Kr } from "./Swirl-BoveqtNV.js";
54
- import { n as Zr } from "./TiltShift-D53azmRe.js";
55
- import { n as et } from "./Tritone-Cg1rX-hL.js";
56
- import { n as nt } from "./Twirl-raO5pe5X.js";
57
- import { n as rt } from "./Vibrance-DtekSkcz.js";
58
- import { n as tt } from "./WaveDistortion-C65qO_cZ.js";
59
- import { n as ot } from "./ZoomBlur-B97ZjhXe.js";
60
- import { WebGLRenderer as st } from "three";
61
- jn();
29
+ import { n as Mt } from "./Grayscale-oWIF3PV5.js";
30
+ import { n as xt } from "./Grid-Bov7AA9m.js";
31
+ import { n as At } from "./GridDistortion-CWYom5Dw.js";
32
+ import { n as Dt } from "./Group-CPk-7fiA.js";
33
+ import { n as zt } from "./Halftone-F7fsdu7W.js";
34
+ import { n as Et } from "./HueShift-CiS4hdtk.js";
35
+ import { n as Ft } from "./ImageTexture-B3Q29OHX.js";
36
+ import { n as $t } from "./Invert-Cyc4JHWc.js";
37
+ import { n as Ot } from "./LinearBlur-BTC54qzk.js";
38
+ import { n as Bt } from "./LinearGradient-LEMeW0KM.js";
39
+ import { n as _t } from "./Liquify-D2nzMDzq.js";
40
+ import { n as Vt } from "./Pixelate-irPzmtQm.js";
41
+ import { n as qt } from "./PolarCoordinates-Ck5ZWrQO.js";
42
+ import { n as Gt } from "./Posterize-DICq_t96.js";
43
+ import { n as Lt } from "./ProgressiveBlur-BuORe3VH.js";
44
+ import { n as Nt } from "./RadialGradient-D0cN67jm.js";
45
+ import { n as Pt } from "./RectangularCoordinates-1LIDaeHR.js";
46
+ import { n as Xt } from "./Ripples-DH71sFJc.js";
47
+ import { n as Yt } from "./Saturation-DbSXtSeK.js";
48
+ import { n as Ht } from "./SimplexNoise-DPGC2OPJ.js";
49
+ import { n as It } from "./SineWave-CkWtnzHF.js";
50
+ import { n as Wt } from "./SolidColor-DaB-FHNX.js";
51
+ import { n as jt } from "./Spiral-CcyI8azF.js";
52
+ import { n as Qt } from "./Strands-Co4fkc05.js";
53
+ import { n as Jt } from "./Swirl-BoveqtNV.js";
54
+ import { n as Kt } from "./TiltShift-D53azmRe.js";
55
+ import { n as Zt } from "./Tritone-Cg1rX-hL.js";
56
+ import { n as er } from "./Twirl-raO5pe5X.js";
57
+ import { n as nr } from "./Vibrance-DtekSkcz.js";
58
+ import { n as tr } from "./WaveDistortion-C65qO_cZ.js";
59
+ import { n as rr } from "./ZoomBlur-B97ZjhXe.js";
60
+ import { WebGLRenderer as or } from "three";
61
+ Wn();
62
62
  D();
63
- function at(e, n, a = 1) {
64
- const r = i(n.a, a), m = k(r, i(e.a, C(1, r)));
65
- return x(k(i(n.rgb, r), i(e.rgb, i(e.a, C(1, r)))), m);
63
+ function ir(e, n, l = 1) {
64
+ const t = c(n.a, l), u = k(t, c(e.a, R(1, t)));
65
+ return S(k(c(n.rgb, t), c(e.rgb, c(e.a, R(1, t)))), u);
66
66
  }
67
67
  D();
68
- var hn = (e) => X(e.x.mul(1.2249401).sub(e.y.mul(0.2249404)).sub(e.z.mul(0)), e.x.mul(-0.0420569).add(e.y.mul(1.0420571)).add(e.z.mul(0)), e.x.mul(-0.0196376).sub(e.y.mul(0.0786361)).add(e.z.mul(1.0982735))), it = (e) => X(e.x.mul(0.8224621).add(e.y.mul(0.177538)).add(e.z.mul(0)), e.x.mul(0.0331941).add(e.y.mul(0.9668058)).add(e.z.mul(0)), e.x.mul(0.0170826).add(e.y.mul(0.0723974)).add(e.z.mul(0.9105199))), pn = (e) => {
69
- const n = e.x, a = e.y, r = e.z, m = n.mul(0.4122214708).add(a.mul(0.5363325363)).add(r.mul(0.0514459929)), p = n.mul(0.2119034982).add(a.mul(0.6806995451).add(r.mul(0.1073969566))), h = n.mul(0.0883024619).add(a.mul(0.2817188376)).add(r.mul(0.6299787005)), d = ee(m, Z(1 / 3)), R = ee(p, Z(1 / 3)), U = ee(h, Z(1 / 3));
70
- return X(d.mul(0.2104542553).add(R.mul(0.793617785)).sub(U.mul(0.0040720468)), d.mul(1.9779984951).sub(R.mul(2.428592205)).add(U.mul(0.4505937099)), d.mul(0.0259040371).add(R.mul(0.7827717662)).sub(U.mul(0.808675766)));
71
- }, lt = (e) => {
72
- const n = e.x, a = e.y, r = e.z, m = n.add(a.mul(0.3963377774)).add(r.mul(0.2158037573)), p = n.sub(a.mul(0.1055613458)).sub(r.mul(0.0638541728)), h = n.sub(a.mul(0.0894841775)).sub(r.mul(1.291485548)), d = ee(m, Z(3)), R = ee(p, Z(3)), U = ee(h, Z(3));
73
- return X(d.mul(4.0767416621).sub(R.mul(3.3077115913)).add(U.mul(0.2309699292)), d.mul(-1.2684380046).add(R.mul(2.6097574011)).sub(U.mul(0.3413193965)), d.mul(-0.0041960863).sub(R.mul(0.7034186147)).add(U.mul(1.707614701)));
74
- }, gn = (e) => {
75
- const n = e.x, a = e.y, r = e.z;
76
- return X(n, kn(a.mul(a).add(r.mul(r))), er(r, a));
77
- }, ct = (e) => {
78
- const n = e.x, a = e.y, r = e.z;
79
- return X(n, a.mul(tr(r)), a.mul(sr(r)));
68
+ var mn = (e) => N(e.x.mul(1.2249401).sub(e.y.mul(0.2249404)).sub(e.z.mul(0)), e.x.mul(-0.0420569).add(e.y.mul(1.0420571)).add(e.z.mul(0)), e.x.mul(-0.0196376).sub(e.y.mul(0.0786361)).add(e.z.mul(1.0982735))), ar = (e) => N(e.x.mul(0.8224621).add(e.y.mul(0.177538)).add(e.z.mul(0)), e.x.mul(0.0331941).add(e.y.mul(0.9668058)).add(e.z.mul(0)), e.x.mul(0.0170826).add(e.y.mul(0.0723974)).add(e.z.mul(0.9105199))), dn = (e) => {
69
+ const n = e.x, l = e.y, t = e.z, u = n.mul(0.4122214708).add(l.mul(0.5363325363)).add(t.mul(0.0514459929)), p = n.mul(0.2119034982).add(l.mul(0.6806995451).add(t.mul(0.1073969566))), h = n.mul(0.0883024619).add(l.mul(0.2817188376)).add(t.mul(0.6299787005)), d = J(u, Q(1 / 3)), T = J(p, Q(1 / 3)), U = J(h, Q(1 / 3));
70
+ return N(d.mul(0.2104542553).add(T.mul(0.793617785)).sub(U.mul(0.0040720468)), d.mul(1.9779984951).sub(T.mul(2.428592205)).add(U.mul(0.4505937099)), d.mul(0.0259040371).add(T.mul(0.7827717662)).sub(U.mul(0.808675766)));
71
+ }, sr = (e) => {
72
+ const n = e.x, l = e.y, t = e.z, u = n.add(l.mul(0.3963377774)).add(t.mul(0.2158037573)), p = n.sub(l.mul(0.1055613458)).sub(t.mul(0.0638541728)), h = n.sub(l.mul(0.0894841775)).sub(t.mul(1.291485548)), d = J(u, Q(3)), T = J(p, Q(3)), U = J(h, Q(3));
73
+ return N(d.mul(4.0767416621).sub(T.mul(3.3077115913)).add(U.mul(0.2309699292)), d.mul(-1.2684380046).add(T.mul(2.6097574011)).sub(U.mul(0.3413193965)), d.mul(-0.0041960863).sub(T.mul(0.7034186147)).add(U.mul(1.707614701)));
74
+ }, hn = (e) => {
75
+ const n = e.x, l = e.y, t = e.z;
76
+ return N(n, Rn(l.mul(l).add(t.mul(t))), Zn(t, l));
77
+ }, lr = (e) => {
78
+ const n = e.x, l = e.y, t = e.z;
79
+ return N(n, l.mul(tt(t)), l.mul(ot(t)));
80
80
  };
81
- function ft(e, n, a = 1) {
82
- const r = i(n.a, a), m = k(r, i(e.a, C(1, r))), p = hn(X(e.r, e.g, e.b)), h = hn(X(n.r, n.g, n.b)), d = pn(p), R = pn(h), U = gn(d);
83
- return x(it(lt(ct(k(i(gn(R), r), i(U, i(e.a, C(1, r))))))), m);
81
+ function cr(e, n, l = 1) {
82
+ const t = c(n.a, l), u = k(t, c(e.a, R(1, t))), p = mn(N(e.r, e.g, e.b)), h = mn(N(n.r, n.g, n.b)), d = dn(p), T = dn(h), U = hn(d);
83
+ return S(ar(sr(lr(k(c(hn(T), t), c(U, c(e.a, R(1, t))))))), u);
84
84
  }
85
85
  D();
86
- var bn = (e) => X(e.x.mul(1.2249401).sub(e.y.mul(0.2249404)).sub(e.z.mul(0)), e.x.mul(-0.0420569).add(e.y.mul(1.0420571)).add(e.z.mul(0)), e.x.mul(-0.0196376).sub(e.y.mul(0.0786361)).add(e.z.mul(1.0982735))), mt = (e) => X(e.x.mul(0.8224621).add(e.y.mul(0.177538)).add(e.z.mul(0)), e.x.mul(0.0331941).add(e.y.mul(0.9668058)).add(e.z.mul(0)), e.x.mul(0.0170826).add(e.y.mul(0.0723974)).add(e.z.mul(0.9105199))), vn = (e) => {
87
- const n = e.x, a = e.y, r = e.z, m = n.mul(0.4122214708).add(a.mul(0.5363325363)).add(r.mul(0.0514459929)), p = n.mul(0.2119034982).add(a.mul(0.6806995451).add(r.mul(0.1073969566))), h = n.mul(0.0883024619).add(a.mul(0.2817188376)).add(r.mul(0.6299787005)), d = ee(m, Z(1 / 3)), R = ee(p, Z(1 / 3)), U = ee(h, Z(1 / 3));
88
- return X(d.mul(0.2104542553).add(R.mul(0.793617785)).sub(U.mul(0.0040720468)), d.mul(1.9779984951).sub(R.mul(2.428592205)).add(U.mul(0.4505937099)), d.mul(0.0259040371).add(R.mul(0.7827717662)).sub(U.mul(0.808675766)));
89
- }, ut = (e) => {
90
- const n = e.x, a = e.y, r = e.z, m = n.add(a.mul(0.3963377774)).add(r.mul(0.2158037573)), p = n.sub(a.mul(0.1055613458)).sub(r.mul(0.0638541728)), h = n.sub(a.mul(0.0894841775)).sub(r.mul(1.291485548)), d = ee(m, Z(3)), R = ee(p, Z(3)), U = ee(h, Z(3));
91
- return X(d.mul(4.0767416621).sub(R.mul(3.3077115913)).add(U.mul(0.2309699292)), d.mul(-1.2684380046).add(R.mul(2.6097574011)).sub(U.mul(0.3413193965)), d.mul(-0.0041960863).sub(R.mul(0.7034186147)).add(U.mul(1.707614701)));
86
+ var pn = (e) => N(e.x.mul(1.2249401).sub(e.y.mul(0.2249404)).sub(e.z.mul(0)), e.x.mul(-0.0420569).add(e.y.mul(1.0420571)).add(e.z.mul(0)), e.x.mul(-0.0196376).sub(e.y.mul(0.0786361)).add(e.z.mul(1.0982735))), fr = (e) => N(e.x.mul(0.8224621).add(e.y.mul(0.177538)).add(e.z.mul(0)), e.x.mul(0.0331941).add(e.y.mul(0.9668058)).add(e.z.mul(0)), e.x.mul(0.0170826).add(e.y.mul(0.0723974)).add(e.z.mul(0.9105199))), gn = (e) => {
87
+ const n = e.x, l = e.y, t = e.z, u = n.mul(0.4122214708).add(l.mul(0.5363325363)).add(t.mul(0.0514459929)), p = n.mul(0.2119034982).add(l.mul(0.6806995451).add(t.mul(0.1073969566))), h = n.mul(0.0883024619).add(l.mul(0.2817188376)).add(t.mul(0.6299787005)), d = J(u, Q(1 / 3)), T = J(p, Q(1 / 3)), U = J(h, Q(1 / 3));
88
+ return N(d.mul(0.2104542553).add(T.mul(0.793617785)).sub(U.mul(0.0040720468)), d.mul(1.9779984951).sub(T.mul(2.428592205)).add(U.mul(0.4505937099)), d.mul(0.0259040371).add(T.mul(0.7827717662)).sub(U.mul(0.808675766)));
89
+ }, ur = (e) => {
90
+ const n = e.x, l = e.y, t = e.z, u = n.add(l.mul(0.3963377774)).add(t.mul(0.2158037573)), p = n.sub(l.mul(0.1055613458)).sub(t.mul(0.0638541728)), h = n.sub(l.mul(0.0894841775)).sub(t.mul(1.291485548)), d = J(u, Q(3)), T = J(p, Q(3)), U = J(h, Q(3));
91
+ return N(d.mul(4.0767416621).sub(T.mul(3.3077115913)).add(U.mul(0.2309699292)), d.mul(-1.2684380046).add(T.mul(2.6097574011)).sub(U.mul(0.3413193965)), d.mul(-0.0041960863).sub(T.mul(0.7034186147)).add(U.mul(1.707614701)));
92
92
  };
93
- function dt(e, n, a = 1) {
94
- const r = i(n.a, a), m = k(r, i(e.a, C(1, r))), p = bn(X(e.r, e.g, e.b)), h = bn(X(n.r, n.g, n.b)), d = vn(p);
95
- return x(mt(ut(k(i(vn(h), r), i(d, i(e.a, C(1, r)))))), m);
93
+ function mr(e, n, l = 1) {
94
+ const t = c(n.a, l), u = k(t, c(e.a, R(1, t))), p = pn(N(e.r, e.g, e.b)), h = pn(N(n.r, n.g, n.b)), d = gn(p);
95
+ return S(fr(ur(k(c(gn(h), t), c(d, c(e.a, R(1, t)))))), u);
96
96
  }
97
97
  D();
98
- function ht(e, n, a = 1) {
99
- const r = i(n.a, a), m = k(r, i(e.a, C(1, r)));
100
- return x(k(i(i(e.rgb, n.rgb), r), i(e.rgb, i(e.a, C(1, r)))), m);
98
+ function dr(e, n, l = 1) {
99
+ const t = c(n.a, l), u = k(t, c(e.a, R(1, t)));
100
+ return S(k(c(c(e.rgb, n.rgb), t), c(e.rgb, c(e.a, R(1, t)))), u);
101
101
  }
102
102
  D();
103
- function pt(e, n, a = 1) {
104
- const r = i(n.a, a), m = k(r, i(e.a, C(1, r)));
105
- return x(k(i(C(1, i(C(1, e.rgb), C(1, n.rgb))), r), i(e.rgb, i(e.a, C(1, r)))), m);
103
+ function hr(e, n, l = 1) {
104
+ const t = c(n.a, l), u = k(t, c(e.a, R(1, t)));
105
+ return S(k(c(R(1, c(R(1, e.rgb), R(1, n.rgb))), t), c(e.rgb, c(e.a, R(1, t)))), u);
106
106
  }
107
107
  D();
108
- function gt(e, n, a = 1) {
109
- const r = i(n.a, a), m = k(r, i(e.a, C(1, r)));
110
- return x(k(i(Ke(k(e.rgb, n.rgb), 1), r), i(e.rgb, i(e.a, C(1, r)))), m);
108
+ function pr(e, n, l = 1) {
109
+ const t = c(n.a, l), u = k(t, c(e.a, R(1, t)));
110
+ return S(k(c(en(k(e.rgb, n.rgb), 1), t), c(e.rgb, c(e.a, R(1, t)))), u);
111
111
  }
112
112
  D();
113
- function bt(e, n, a = 1) {
114
- const r = i(n.a, a), m = k(r, i(e.a, C(1, r)));
115
- return x(k(i(Me(i(2, i(e.rgb, n.rgb)), C(1, i(2, i(C(1, e.rgb), C(1, n.rgb)))), xe(0.5, e.rgb)), r), i(e.rgb, i(e.a, C(1, r)))), m);
113
+ function gr(e, n, l = 1) {
114
+ const t = c(n.a, l), u = k(t, c(e.a, R(1, t)));
115
+ return S(k(c(xe(c(2, c(e.rgb, n.rgb)), R(1, c(2, c(R(1, e.rgb), R(1, n.rgb)))), Me(0.5, e.rgb)), t), c(e.rgb, c(e.a, R(1, t)))), u);
116
116
  }
117
117
  D();
118
- function vt(e, n, a = 1) {
119
- const r = i(n.a, a), m = k(r, i(e.a, C(1, r)));
120
- return x(k(i(or(C(e.rgb, n.rgb)), r), i(e.rgb, i(e.a, C(1, r)))), m);
118
+ function br(e, n, l = 1) {
119
+ const t = c(n.a, l), u = k(t, c(e.a, R(1, t)));
120
+ return S(k(c(rt(R(e.rgb, n.rgb)), t), c(e.rgb, c(e.a, R(1, t)))), u);
121
121
  }
122
122
  D();
123
- function Ct(e, n, a = 1) {
124
- const r = i(n.a, a), m = k(r, i(e.a, C(1, r)));
125
- return x(k(i(Me(e.rgb, Ke(Zn(e.rgb, C(1, n.rgb)), 1), xe(1e-3, C(1, n.rgb))), r), i(e.rgb, i(e.a, C(1, r)))), m);
123
+ function vr(e, n, l = 1) {
124
+ const t = c(n.a, l), u = k(t, c(e.a, R(1, t)));
125
+ return S(k(c(xe(e.rgb, en(Kn(e.rgb, R(1, n.rgb)), 1), Me(1e-3, R(1, n.rgb))), t), c(e.rgb, c(e.a, R(1, t)))), u);
126
126
  }
127
127
  D();
128
- function Rt(e, n, a = 1) {
129
- const r = i(n.a, a), m = k(r, i(e.a, C(1, r)));
130
- return x(k(i(C(k(e.rgb, n.rgb), i(2, i(e.rgb, n.rgb))), r), i(e.rgb, i(e.a, C(1, r)))), m);
128
+ function Cr(e, n, l = 1) {
129
+ const t = c(n.a, l), u = k(t, c(e.a, R(1, t)));
130
+ return S(k(c(R(k(e.rgb, n.rgb), c(2, c(e.rgb, n.rgb))), t), c(e.rgb, c(e.a, R(1, t)))), u);
131
131
  }
132
132
  D();
133
- function me(e) {
134
- return k(k(i(e.r, 0.2126), i(e.g, 0.7152)), i(e.b, 0.0722));
133
+ function le(e) {
134
+ return k(k(c(e.r, 0.2126), c(e.g, 0.7152)), c(e.b, 0.0722));
135
135
  }
136
136
  D();
137
- function Tt(e, n, a = 1) {
138
- const r = i(n.a, a), m = k(r, i(e.a, C(1, r))), p = C(me(e.rgb), me(n.rgb));
139
- return x(k(i(k(n.rgb, p), r), i(e.rgb, i(e.a, C(1, r)))), m);
137
+ function Rr(e, n, l = 1) {
138
+ const t = c(n.a, l), u = k(t, c(e.a, R(1, t))), p = R(le(e.rgb), le(n.rgb));
139
+ return S(k(c(k(n.rgb, p), t), c(e.rgb, c(e.a, R(1, t)))), u);
140
140
  }
141
141
  D();
142
- function kt(e, n, a = 1) {
143
- const r = i(n.a, a), m = k(r, i(e.a, C(1, r))), p = me(e.rgb), h = me(n.rgb).div(k(p, 1e-4));
144
- return x(k(i(i(e.rgb, h), r), i(e.rgb, i(e.a, C(1, r)))), m);
142
+ function Tr(e, n, l = 1) {
143
+ const t = c(n.a, l), u = k(t, c(e.a, R(1, t))), p = le(e.rgb), h = le(n.rgb).div(k(p, 1e-4));
144
+ return S(k(c(c(e.rgb, h), t), c(e.rgb, c(e.a, R(1, t)))), u);
145
145
  }
146
146
  D();
147
- function wt(e, n, a = 1) {
148
- const r = i(n.a, a), m = k(r, i(e.a, C(1, r)));
149
- return x(k(i(Ke(e.rgb, n.rgb), r), i(e.rgb, i(e.a, C(1, r)))), m);
147
+ function kr(e, n, l = 1) {
148
+ const t = c(n.a, l), u = k(t, c(e.a, R(1, t)));
149
+ return S(k(c(en(e.rgb, n.rgb), t), c(e.rgb, c(e.a, R(1, t)))), u);
150
150
  }
151
151
  D();
152
- function yt(e, n, a = 1) {
153
- const r = i(n.a, a), m = k(r, i(e.a, C(1, r)));
154
- return x(k(i(Ze(e.rgb, n.rgb), r), i(e.rgb, i(e.a, C(1, r)))), m);
152
+ function yr(e, n, l = 1) {
153
+ const t = c(n.a, l), u = k(t, c(e.a, R(1, t)));
154
+ return S(k(c(nn(e.rgb, n.rgb), t), c(e.rgb, c(e.a, R(1, t)))), u);
155
155
  }
156
156
  D();
157
- function St(e, n, a = 1) {
158
- const r = i(n.a, a), m = k(r, i(e.a, C(1, r)));
159
- return x(k(i(Me(x(0, 0, 0, 1).rgb, Ze(C(1, C(1, e.rgb).div(k(n.rgb, 1e-4))), 0), xe(1e-4, n.rgb)), r), i(e.rgb, i(e.a, C(1, r)))), m);
157
+ function wr(e, n, l = 1) {
158
+ const t = c(n.a, l), u = k(t, c(e.a, R(1, t)));
159
+ return S(k(c(xe(S(0, 0, 0, 1).rgb, nn(R(1, R(1, e.rgb).div(k(n.rgb, 1e-4))), 0), Me(1e-4, n.rgb)), t), c(e.rgb, c(e.a, R(1, t)))), u);
160
160
  }
161
161
  D();
162
- function Ut(e, n, a = 1) {
163
- const r = i(n.a, a), m = k(r, i(e.a, C(1, r)));
164
- return x(k(i(Ze(k(k(e.rgb, n.rgb), -1), 0), r), i(e.rgb, i(e.a, C(1, r)))), m);
162
+ function Ur(e, n, l = 1) {
163
+ const t = c(n.a, l), u = k(t, c(e.a, R(1, t)));
164
+ return S(k(c(nn(k(k(e.rgb, n.rgb), -1), 0), t), c(e.rgb, c(e.a, R(1, t)))), u);
165
165
  }
166
166
  D();
167
- function xt(e, n, a = 1) {
168
- const r = i(n.a, a), m = k(r, i(e.a, C(1, r))), p = k(i(2, i(e.rgb, n.rgb)), i(i(e.rgb, e.rgb), C(1, i(2, n.rgb)))), h = kn(e.rgb);
169
- return x(k(i(Me(p, k(i(2, i(e.rgb, C(1, n.rgb))), i(h, C(i(2, n.rgb), 1))), xe(0.5, n.rgb)), r), i(e.rgb, i(e.a, C(1, r)))), m);
167
+ function Sr(e, n, l = 1) {
168
+ const t = c(n.a, l), u = k(t, c(e.a, R(1, t))), p = k(c(2, c(e.rgb, n.rgb)), c(c(e.rgb, e.rgb), R(1, c(2, n.rgb)))), h = Rn(e.rgb);
169
+ return S(k(c(xe(p, k(c(2, c(e.rgb, R(1, n.rgb))), c(h, R(c(2, n.rgb), 1))), Me(0.5, n.rgb)), t), c(e.rgb, c(e.a, R(1, t)))), u);
170
170
  }
171
171
  D();
172
- function Mt(e, n, a = 1) {
173
- const r = i(n.a, a), m = k(r, i(e.a, C(1, r)));
174
- return x(k(i(Me(i(2, i(e.rgb, n.rgb)), C(1, i(2, i(C(1, e.rgb), C(1, n.rgb)))), xe(0.5, n.rgb)), r), i(e.rgb, i(e.a, C(1, r)))), m);
172
+ function Mr(e, n, l = 1) {
173
+ const t = c(n.a, l), u = k(t, c(e.a, R(1, t)));
174
+ return S(k(c(xe(c(2, c(e.rgb, n.rgb)), R(1, c(2, c(R(1, e.rgb), R(1, n.rgb)))), Me(0.5, n.rgb)), t), c(e.rgb, c(e.a, R(1, t)))), u);
175
175
  }
176
176
  D();
177
- function At(e, n, a = 1) {
178
- const r = i(n.a, a), m = k(r, i(e.a, C(1, r))), p = me(e.rgb), h = me(n.rgb), d = e.rgb.sub(p), R = n.rgb.sub(h), U = d.length();
179
- return x(k(i(k(i(R.normalize(), U), p), r), i(e.rgb, i(e.a, C(1, r)))), m);
177
+ function xr(e, n, l = 1) {
178
+ const t = c(n.a, l), u = k(t, c(e.a, R(1, t))), p = le(e.rgb), h = le(n.rgb), d = e.rgb.sub(p), T = n.rgb.sub(h), U = d.length();
179
+ return S(k(c(k(c(T.normalize(), U), p), t), c(e.rgb, c(e.a, R(1, t)))), u);
180
180
  }
181
181
  D();
182
- function $t(e, n, a = 1) {
183
- const r = i(n.a, a), m = k(r, i(e.a, C(1, r))), p = me(e.rgb), h = me(n.rgb), d = e.rgb.sub(p), R = n.rgb.sub(h);
184
- return x(k(i(k(i(d.normalize(), R.length()), p), r), i(e.rgb, i(e.a, C(1, r)))), m);
182
+ function Ar(e, n, l = 1) {
183
+ const t = c(n.a, l), u = k(t, c(e.a, R(1, t))), p = le(e.rgb), h = le(n.rgb), d = e.rgb.sub(p), T = n.rgb.sub(h);
184
+ return S(k(c(k(c(d.normalize(), T.length()), p), t), c(e.rgb, c(e.a, R(1, t)))), u);
185
185
  }
186
- var Cn = {
187
- normal: at,
188
- "normal-oklch": ft,
189
- "normal-oklab": dt,
190
- multiply: ht,
191
- screen: pt,
192
- linearDodge: gt,
193
- overlay: bt,
194
- difference: vt,
195
- colorDodge: Ct,
196
- exclusion: Rt,
197
- color: Tt,
198
- luminosity: kt,
199
- darken: wt,
200
- lighten: yt,
201
- colorBurn: St,
202
- linearBurn: Ut,
203
- softLight: xt,
204
- hardLight: Mt,
205
- hue: At,
206
- saturation: $t
186
+ var bn = {
187
+ normal: ir,
188
+ "normal-oklch": cr,
189
+ "normal-oklab": mr,
190
+ multiply: dr,
191
+ screen: hr,
192
+ linearDodge: pr,
193
+ overlay: gr,
194
+ difference: br,
195
+ colorDodge: vr,
196
+ exclusion: Cr,
197
+ color: Rr,
198
+ luminosity: Tr,
199
+ darken: kr,
200
+ lighten: yr,
201
+ colorBurn: wr,
202
+ linearBurn: Ur,
203
+ softLight: Sr,
204
+ hardLight: Mr,
205
+ hue: xr,
206
+ saturation: Ar
207
207
  };
208
- function K(e, n, a = "normal", r = 1) {
209
- return (Cn[a] || Cn.normal)(e, n, r);
208
+ function j(e, n, l = "normal", t = 1) {
209
+ return (bn[l] || bn.normal)(e, n, t);
210
210
  }
211
211
  D();
212
- function Dt(e, n) {
213
- const a = i(e.a, n.a);
214
- return x(e.rgb, a);
212
+ function Dr(e, n) {
213
+ const l = c(e.a, n.a);
214
+ return S(e.rgb, l);
215
215
  }
216
216
  D();
217
- function zt(e, n) {
218
- const a = C(1, n.a), r = i(e.a, a);
219
- return x(e.rgb, r);
217
+ function zr(e, n) {
218
+ const l = R(1, n.a), t = c(e.a, l);
219
+ return S(e.rgb, t);
220
220
  }
221
221
  D();
222
- function Ft(e, n) {
223
- const a = X(0.2126, 0.7152, 0.0722), r = wn(n.rgb, a), m = i(e.a, r);
224
- return x(e.rgb, m);
222
+ function Er(e, n) {
223
+ const l = N(0.2126, 0.7152, 0.0722), t = Tn(n.rgb, l), u = c(e.a, t);
224
+ return S(e.rgb, u);
225
225
  }
226
226
  D();
227
- function Et(e, n) {
228
- const a = X(0.2126, 0.7152, 0.0722), r = C(1, wn(n.rgb, a)), m = i(e.a, r);
229
- return x(e.rgb, m);
227
+ function Fr(e, n) {
228
+ const l = N(0.2126, 0.7152, 0.0722), t = R(1, Tn(n.rgb, l)), u = c(e.a, t);
229
+ return S(e.rgb, u);
230
230
  }
231
- var Rn = {
232
- alpha: Dt,
233
- alphaInverted: zt,
234
- luminance: Ft,
235
- luminanceInverted: Et
231
+ var vn = {
232
+ alpha: Dr,
233
+ alphaInverted: zr,
234
+ luminance: Er,
235
+ luminanceInverted: Fr
236
236
  };
237
- function Ot(e, n, a = "alpha") {
238
- return (Rn[a] || Rn.alpha)(e, n);
237
+ function $r(e, n, l = "alpha") {
238
+ return (vn[l] || vn.alpha)(e, n);
239
239
  }
240
- var Bt = class {
240
+ var Or = class {
241
241
  frameTimesMs = [];
242
242
  maxSamples = 60;
243
243
  targetFrameTime = 16.67;
@@ -259,8 +259,8 @@ var Bt = class {
259
259
  this.frameTimesMs.push(e), this.frameTimesMs.length > this.maxSamples && this.frameTimesMs.shift(), this.totalFrameCount++, e > this.targetFrameTime && this.jankFrameCount++;
260
260
  const n = performance.now();
261
261
  if (this.lastFrameTimestamp > 0) {
262
- const a = n - this.lastFrameTimestamp;
263
- this.frameIntervals.push(a), this.frameIntervals.length > this.maxSamples && this.frameIntervals.shift();
262
+ const l = n - this.lastFrameTimestamp;
263
+ this.frameIntervals.push(l), this.frameIntervals.length > this.maxSamples && this.frameIntervals.shift();
264
264
  }
265
265
  this.lastFrameTimestamp = n, this.recordMemorySnapshot();
266
266
  }
@@ -298,32 +298,32 @@ var Bt = class {
298
298
  time: e,
299
299
  bytes: n
300
300
  });
301
- const a = e - this.memoryWindowMs;
302
- this.memorySnapshots = this.memorySnapshots.filter((r) => r.time > a);
301
+ const l = e - this.memoryWindowMs;
302
+ this.memorySnapshots = this.memorySnapshots.filter((t) => t.time > l);
303
303
  }
304
304
  /**
305
305
  * Calculates memory growth rate in MB/sec
306
306
  */
307
307
  calculateMemoryGrowthRate() {
308
308
  if (this.memorySnapshots.length < 2) return null;
309
- const e = this.memorySnapshots[0], n = this.memorySnapshots[this.memorySnapshots.length - 1], a = (n.time - e.time) / 1e3;
310
- return (n.bytes - e.bytes) / (1024 * 1024) / a;
309
+ const e = this.memorySnapshots[0], n = this.memorySnapshots[this.memorySnapshots.length - 1], l = (n.time - e.time) / 1e3;
310
+ return (n.bytes - e.bytes) / (1024 * 1024) / l;
311
311
  }
312
312
  /**
313
313
  * Calculates standard deviation of frame times
314
314
  */
315
315
  calculateStdDev(e) {
316
316
  if (e.length === 0) return 0;
317
- const n = e.reduce((r, m) => r + m, 0) / e.length, a = e.map((r) => Math.pow(r - n, 2)).reduce((r, m) => r + m, 0) / e.length;
318
- return Math.sqrt(a);
317
+ const n = e.reduce((t, u) => t + u, 0) / e.length, l = e.map((t) => Math.pow(t - n, 2)).reduce((t, u) => t + u, 0) / e.length;
318
+ return Math.sqrt(l);
319
319
  }
320
320
  /**
321
321
  * Calculates 99th percentile frame time
322
322
  */
323
323
  calculateP99(e) {
324
324
  if (e.length === 0) return 0;
325
- const n = [...e].sort((r, m) => r - m), a = Math.floor(n.length * 0.99);
326
- return n[Math.min(a, n.length - 1)];
325
+ const n = [...e].sort((t, u) => t - u), l = Math.floor(n.length * 0.99);
326
+ return n[Math.min(l, n.length - 1)];
327
327
  }
328
328
  /**
329
329
  * Calculates complexity score based on node structure
@@ -349,7 +349,7 @@ var Bt = class {
349
349
  score: 0,
350
350
  label: "N/A"
351
351
  };
352
- const n = this.frameTimesMs.reduce((U, V) => U + V, 0) / e, a = Math.min(n / 16.67 * 100, 100), r = this.calculateComplexityScore(), m = Math.min(r / 100 * 100, 100);
352
+ const n = this.frameTimesMs.reduce((U, _) => U + _, 0) / e, l = Math.min(n / 16.67 * 100, 100), t = this.calculateComplexityScore(), u = Math.min(t / 100 * 100, 100);
353
353
  let p = 0;
354
354
  this.lastGpuTime !== null && (p = Math.min(this.lastGpuTime / 16.67 * 100, 100));
355
355
  const h = this.lastGpuTime !== null ? {
@@ -360,40 +360,40 @@ var Bt = class {
360
360
  frame: 0.7,
361
361
  gpu: 0,
362
362
  complexity: 0.3
363
- }, d = Math.round(a * h.frame + p * h.gpu + m * h.complexity);
364
- let R;
365
- return d <= 20 ? R = "Very Light" : d <= 40 ? R = "Light" : d <= 60 ? R = "Medium" : d <= 80 ? R = "Heavy" : R = "Very Heavy", {
363
+ }, d = Math.round(l * h.frame + p * h.gpu + u * h.complexity);
364
+ let T;
365
+ return d <= 20 ? T = "Very Light" : d <= 40 ? T = "Light" : d <= 60 ? T = "Medium" : d <= 80 ? T = "Heavy" : T = "Very Heavy", {
366
366
  score: Math.min(d, 100),
367
- label: R
367
+ label: T
368
368
  };
369
369
  }
370
370
  /**
371
371
  * Gets current performance statistics
372
372
  */
373
373
  getStats(e) {
374
- const n = this.frameTimesMs.length, a = this.frameIntervals.length > 0 ? 1e3 / (this.frameIntervals.reduce((z, F) => z + F, 0) / this.frameIntervals.length) : 0, r = n > 0 ? this.frameTimesMs.reduce((z, F) => z + F, 0) / n : 0, m = n > 0 ? Math.min(...this.frameTimesMs) : 0, p = n > 0 ? Math.max(...this.frameTimesMs) : 0, h = this.calculateP99(this.frameTimesMs), d = this.calculateStdDev(this.frameTimesMs), R = this.totalFrameCount > 0 ? this.jankFrameCount / this.totalFrameCount * 100 : 0, U = performance.memory, V = U ? U.usedJSHeapSize / (1024 * 1024) : null, B = this.calculateMemoryGrowthRate(), ne = r > 0 ? r / this.targetFrameTime * 100 : 0, Y = e?.render?.calls ?? null, I = e?.programs?.length ?? null, N = e?.memory?.textures ?? null, ae = this.calculateIntensityScore();
374
+ const n = this.frameTimesMs.length, l = this.frameIntervals.length > 0 ? 1e3 / (this.frameIntervals.reduce((z, E) => z + E, 0) / this.frameIntervals.length) : 0, t = n > 0 ? this.frameTimesMs.reduce((z, E) => z + E, 0) / n : 0, u = n > 0 ? Math.min(...this.frameTimesMs) : 0, p = n > 0 ? Math.max(...this.frameTimesMs) : 0, h = this.calculateP99(this.frameTimesMs), d = this.calculateStdDev(this.frameTimesMs), T = this.totalFrameCount > 0 ? this.jankFrameCount / this.totalFrameCount * 100 : 0, U = performance.memory, _ = U ? U.usedJSHeapSize / (1024 * 1024) : null, B = this.calculateMemoryGrowthRate(), K = t > 0 ? t / this.targetFrameTime * 100 : 0, P = e?.render?.calls ?? null, X = e?.programs?.length ?? null, L = e?.memory?.textures ?? null, ie = this.calculateIntensityScore();
375
375
  return {
376
- fps: Math.round(a),
377
- avgFrameTime: Math.round(r * 100) / 100,
378
- minFrameTime: Math.round(m * 100) / 100,
376
+ fps: Math.round(l),
377
+ avgFrameTime: Math.round(t * 100) / 100,
378
+ minFrameTime: Math.round(u * 100) / 100,
379
379
  maxFrameTime: Math.round(p * 100) / 100,
380
380
  p99FrameTime: Math.round(h * 100) / 100,
381
381
  stdDevFrameTime: Math.round(d * 100) / 100,
382
382
  jankCount: this.jankFrameCount,
383
- jankPercent: Math.round(R * 10) / 10,
383
+ jankPercent: Math.round(T * 10) / 10,
384
384
  nodeCount: this.nodeCount,
385
385
  rttNodeCount: this.rttNodeCount,
386
386
  complexityScore: this.calculateComplexityScore(),
387
- memoryUsedMB: V !== null ? Math.round(V * 100) / 100 : null,
387
+ memoryUsedMB: _ !== null ? Math.round(_ * 100) / 100 : null,
388
388
  memoryGrowthRate: B !== null ? Math.round(B * 1e3) / 1e3 : null,
389
389
  cpuTime: this.lastCpuTime !== null ? Math.round(this.lastCpuTime * 100) / 100 : null,
390
390
  gpuTime: this.lastGpuTime !== null ? Math.round(this.lastGpuTime * 100) / 100 : null,
391
- budgetUsed: Math.round(ne * 10) / 10,
392
- drawCalls: Y,
393
- shaderPrograms: I,
394
- textureCount: N,
395
- intensityScore: ae.score,
396
- intensityLabel: ae.label,
391
+ budgetUsed: Math.round(K * 10) / 10,
392
+ drawCalls: P,
393
+ shaderPrograms: X,
394
+ textureCount: L,
395
+ intensityScore: ie.score,
396
+ intensityLabel: ie.label,
397
397
  isRendering: this.isRendering
398
398
  };
399
399
  }
@@ -405,19 +405,19 @@ var Bt = class {
405
405
  }
406
406
  };
407
407
  D();
408
- var { vec2: Se, cos: Pt, sin: _t, float: Vt, PI: Lt } = pe;
409
- const fe = (e) => e.offsetX !== 0 || e.offsetY !== 0 || e.rotation !== 0 || e.scale !== 1 || e.anchorX !== 0.5 || e.anchorY !== 0.5, Ue = (e, n, a, r, m, p, h, d) => {
410
- const R = r.mul(Lt).div(Vt(180)), U = Pt(R), V = _t(R), B = Se(p, h), ne = e.sub(B).div(m), Y = Se(ne.x.mul(d), ne.y), I = Se(Y.x.mul(U).sub(Y.y.mul(V)), Y.x.mul(V).add(Y.y.mul(U)));
411
- return Se(I.x.div(d), I.y).sub(Se(n, a)).add(B);
408
+ var { vec2: Ue, cos: Br, sin: _r, float: Vr, PI: qr } = me;
409
+ const oe = (e) => e ? e.offsetX !== 0 || e.offsetY !== 0 || e.rotation !== 0 || e.scale !== 1 || e.anchorX !== 0.5 || e.anchorY !== 0.5 : !1, Se = (e, n, l, t, u, p, h, d) => {
410
+ const T = t.mul(qr).div(Vr(180)), U = Br(T), _ = _r(T), B = Ue(p, h), K = e.sub(B).div(u), P = Ue(K.x.mul(d), K.y), X = Ue(P.x.mul(U).sub(P.y.mul(_)), P.x.mul(_).add(P.y.mul(U)));
411
+ return Ue(X.x.div(d), X.y).sub(Ue(n, l)).add(B);
412
412
  };
413
- var qt = /* @__PURE__ */ rr({
414
- createUniformsMap: () => Gt,
415
- updateUniformValue: () => Nt
413
+ var Gr = /* @__PURE__ */ nt({
414
+ createUniformsMap: () => Lr,
415
+ updateUniformValue: () => Nr
416
416
  });
417
- function Gt(e, n, a) {
418
- const r = {};
419
- return Object.entries(e.props).forEach(([m, p]) => {
420
- const h = n[m];
417
+ function Lr(e, n, l) {
418
+ const t = {};
419
+ return Object.entries(e.props).forEach(([u, p]) => {
420
+ const h = n[u];
421
421
  let d = h;
422
422
  if (p.transform) {
423
423
  const U = p.transform(h);
@@ -427,48 +427,48 @@ function Gt(e, n, a) {
427
427
  const U = p.transform(d);
428
428
  d = U?.node ?? U;
429
429
  }
430
- d == null && (console.error(`[Shaders] Uniform "${m}" is null/undefined after fallback. PropConfig:`, {
431
- propName: m,
430
+ d == null && (console.error(`[Shaders] Uniform "${u}" is null/undefined after fallback. PropConfig:`, {
431
+ propName: u,
432
432
  initialValue: h,
433
433
  default: p.default,
434
434
  hasTransform: !!p.transform
435
435
  }), d = 0);
436
- const R = yn(d).setName(`${m}_${a}`);
437
- typeof d == "string" && R.value === null && (R.value = d), r[m] = {
438
- uniform: R,
436
+ const T = kn(d).setName(`${u}_${l}`);
437
+ typeof d == "string" && T.value === null && (T.value = d), t[u] = {
438
+ uniform: T,
439
439
  transform: p.transform || void 0
440
440
  };
441
- }), r;
441
+ }), t;
442
442
  }
443
- function Nt(e, n) {
443
+ function Nr(e, n) {
444
444
  if (e?.transform) {
445
- const a = e.transform(n), r = a?.data ?? a;
446
- e.uniform.value = r;
445
+ const l = e.transform(n), t = l?.data ?? l;
446
+ e.uniform.value = t;
447
447
  } else e.uniform.value = n;
448
448
  }
449
- var yn, Sn = Wn({ "src/utilities/uniforms.ts": (() => {
450
- D(), { uniform: yn } = pe;
449
+ var kn, yn = In({ "src/utilities/uniforms.ts": (() => {
450
+ D(), { uniform: kn } = me;
451
451
  }) });
452
452
  D();
453
- var Tn = !1, Xt = /* @__PURE__ */ (() => {
453
+ var Cn = !1, Pr = /* @__PURE__ */ (() => {
454
454
  let e = 0;
455
- const n = /* @__PURE__ */ new Set(), a = (h) => {
455
+ const n = /* @__PURE__ */ new Set(), l = (h) => {
456
456
  n.forEach((d) => {
457
457
  try {
458
458
  d.onMouseMove(h);
459
- } catch (R) {
460
- console.error("[Shaders] Error in mouse move handler:", R);
459
+ } catch (T) {
460
+ console.error("[Shaders] Error in mouse move handler:", T);
461
461
  }
462
462
  });
463
- }, r = (h) => {
463
+ }, t = (h) => {
464
464
  n.forEach((d) => {
465
465
  try {
466
466
  d.onTouchMove(h);
467
- } catch (R) {
468
- console.error("[Shaders] Error in touch move handler:", R);
467
+ } catch (T) {
468
+ console.error("[Shaders] Error in touch move handler:", T);
469
469
  }
470
470
  });
471
- }, m = () => {
471
+ }, u = () => {
472
472
  n.forEach((h) => {
473
473
  try {
474
474
  h.onMouseUp();
@@ -486,11 +486,11 @@ var Tn = !1, Xt = /* @__PURE__ */ (() => {
486
486
  });
487
487
  };
488
488
  return { register(h) {
489
- return n.add(h), e++, e === 1 && (window.addEventListener("mousemove", a), window.addEventListener("touchmove", r), window.addEventListener("mouseup", m), window.addEventListener("touchend", p)), () => {
490
- n.delete(h), e--, e === 0 && (window.removeEventListener("mousemove", a), window.removeEventListener("touchmove", r), window.removeEventListener("mouseup", m), window.removeEventListener("touchend", p));
489
+ return n.add(h), e++, e === 1 && (window.addEventListener("mousemove", l), window.addEventListener("touchmove", t), window.addEventListener("mouseup", u), window.addEventListener("touchend", p)), () => {
490
+ n.delete(h), e--, e === 0 && (window.removeEventListener("mousemove", l), window.removeEventListener("touchmove", t), window.removeEventListener("mouseup", u), window.removeEventListener("touchend", p));
491
491
  };
492
492
  } };
493
- })(), Yt = () => {
493
+ })(), Xr = () => {
494
494
  try {
495
495
  {
496
496
  const { MODE: e, DEV: n } = {
@@ -508,958 +508,950 @@ var Tn = !1, Xt = /* @__PURE__ */ (() => {
508
508
  return !1;
509
509
  }
510
510
  };
511
- function cs() {
512
- let e = null, n, a, r, m, p;
511
+ function li() {
512
+ let e = null, n, l, t, u, p;
513
513
  const h = {
514
514
  nodes: /* @__PURE__ */ new Map(),
515
515
  rootId: null,
516
516
  idToNodeId: /* @__PURE__ */ new Map()
517
517
  }, d = /* @__PURE__ */ new Map();
518
- let R = null, U = null, V = null, B = !1, ne = !1, Y = !1, I = null, N = !1, ae = !0, z = 0, F = 0, te = !1, qe = 0, Ae = !1, $e = 0.5, De = 0.5, ue = !1, ze = !1, Fe = null, Te = null, de = !1;
519
- const ie = new Bt();
520
- let oe = [], Ge = !1, Ee = [], ge = null, Oe = [], be = null, en = /* @__PURE__ */ new Set(), nn = /* @__PURE__ */ new Set(), Be = 0, ke = /* @__PURE__ */ new Set(), Ne = /* @__PURE__ */ new Set(), we = null, Pe = !1;
521
- const Xe = (s, t) => {
522
- s <= 0 || t <= 0 || s === z && t === F || (we = {
523
- width: s,
524
- height: t
525
- }, Pe || (Pe = !0, requestAnimationFrame(() => {
526
- if (Pe = !1, !we) return;
527
- const { width: o, height: l } = we;
528
- we = null, z = o, F = l, Y || (Y = !0), n.setSize(o, l, !1);
529
- const f = o / l, b = 2, g = b * f;
530
- a.left = -g / 2, a.right = g / 2, a.top = b / 2, a.bottom = -b / 2, a.updateProjectionMatrix(), m.scale.set(g, b, 1), h.nodes.forEach((w) => {
531
- w.transformUniforms?.aspectRatio && (w.transformUniforms.aspectRatio.value = f), w.resizeCallbacks.forEach((M) => {
518
+ let T = null, U = null, _ = null, B = !1, K = !1, P = !1, X = null, L = !1, ie = !0, z = 0, E = 0, ne = !1, Ge = 0, Le = !1, Ae = 0.5, De = 0.5, ce = !1, ze = !1, Ee = null, ve = null, fe = !1;
519
+ const ae = new Or();
520
+ let te = [], Ne = !1, Fe = [], de = null, $e = [], he = null, tn = /* @__PURE__ */ new Set(), rn = /* @__PURE__ */ new Set(), Pe = 0, Ce = /* @__PURE__ */ new Set(), Xe = /* @__PURE__ */ new Set(), Re = null, Oe = !1;
521
+ const Ye = (i, r) => {
522
+ i <= 0 || r <= 0 || i === z && r === E || (Re = {
523
+ width: i,
524
+ height: r
525
+ }, Oe || (Oe = !0, requestAnimationFrame(() => {
526
+ if (Oe = !1, !Re) return;
527
+ const { width: o, height: f } = Re;
528
+ Re = null, z = o, E = f, P || (P = !0), n.setSize(o, f, !1);
529
+ const s = o / f, v = 2, b = v * s;
530
+ l.left = -b / 2, l.right = b / 2, l.top = v / 2, l.bottom = -v / 2, l.updateProjectionMatrix(), u.scale.set(b, v, 1), h.nodes.forEach((m) => {
531
+ m.transformUniforms?.aspectRatio && (m.transformUniforms.aspectRatio.value = s), m.resizeCallbacks.forEach((M) => {
532
532
  try {
533
533
  M({
534
534
  width: o,
535
- height: l
535
+ height: f
536
536
  });
537
- } catch (E) {
538
- console.error("Error in resize callback:", E);
537
+ } catch (F) {
538
+ console.error("Error in resize callback:", F);
539
539
  }
540
540
  });
541
- }), re().catch(console.warn);
541
+ }), Z().catch(console.warn);
542
542
  })));
543
- }, Un = () => B && !!n && !!r && !!a && !!p && z > 0 && F > 0 && N, xn = (s) => {
544
- if (!n || !a || !m) return;
545
- const t = s[0];
546
- if (!t) return;
547
- let o, l;
548
- if (t.contentBoxSize) {
549
- const f = Array.isArray(t.contentBoxSize) ? t.contentBoxSize[0] : t.contentBoxSize;
550
- f ? (o = Math.round(f.inlineSize), l = Math.round(f.blockSize)) : (o = Math.round(t.contentRect.width), l = Math.round(t.contentRect.height));
543
+ }, wn = () => B && !!n && !!t && !!l && !!p && z > 0 && E > 0 && L, Un = (i) => {
544
+ if (!n || !l || !u) return;
545
+ const r = i[0];
546
+ if (!r) return;
547
+ let o, f;
548
+ if (r.contentBoxSize) {
549
+ const s = Array.isArray(r.contentBoxSize) ? r.contentBoxSize[0] : r.contentBoxSize;
550
+ s ? (o = Math.round(s.inlineSize), f = Math.round(s.blockSize)) : (o = Math.round(r.contentRect.width), f = Math.round(r.contentRect.height));
551
551
  } else
552
- o = Math.round(t.contentRect.width), l = Math.round(t.contentRect.height);
553
- o === 0 || l === 0 || Xe(o, l);
554
- }, Mn = (s) => {
555
- const t = s[0];
556
- if (!t) return;
557
- const o = N;
558
- N = t.isIntersecting;
559
- const l = e?.getBoundingClientRect(), f = te;
560
- if (te = N && !!l && l.width > 0 && l.height > 0, N && !o) {
561
- if (Ae = !0, e) {
562
- const { width: b, height: g } = e.getBoundingClientRect(), w = Math.round(b), M = Math.round(g);
563
- w > 0 && M > 0 && (z === 0 || F === 0 || w !== z || M !== F ? (Xe(w, M), !f && te && he()) : p && B && h.rootId && (p.needsUpdate = !0, he(), re().catch(console.warn)));
552
+ o = Math.round(r.contentRect.width), f = Math.round(r.contentRect.height);
553
+ o === 0 || f === 0 || Ye(o, f);
554
+ }, Sn = (i) => {
555
+ const r = i[0];
556
+ if (!r) return;
557
+ const o = L;
558
+ L = r.isIntersecting;
559
+ const f = e?.getBoundingClientRect(), s = ne;
560
+ if (ne = L && !!f && f.width > 0 && f.height > 0, L && !o) {
561
+ if (Le = !0, e) {
562
+ const { width: v, height: b } = e.getBoundingClientRect(), m = Math.round(v), M = Math.round(b);
563
+ m > 0 && M > 0 && (z === 0 || E === 0 || m !== z || M !== E ? (Ye(m, M), !s && ne && ue()) : p && B && h.rootId && (p.needsUpdate = !0, ue(), Z().catch(console.warn)));
564
564
  }
565
- ae && je();
566
- } else !N && o && Qe();
567
- }, An = (s, t) => {
568
- if (s.size !== t.size) return !1;
569
- for (const o of s) if (!t.has(o)) return !1;
565
+ ie && Je();
566
+ } else !L && o && Ke();
567
+ }, Mn = (i, r) => {
568
+ if (i.size !== r.size) return !1;
569
+ for (const o of i) if (!r.has(o)) return !1;
570
570
  return !0;
571
- }, _e = (s) => {
572
- Be++;
573
- const t = nr(s);
574
- return ke.add(t), t;
575
- }, rn = () => {
576
- Ne.forEach((s) => {
571
+ }, Te = (i) => {
572
+ Pe++;
573
+ const r = et(i);
574
+ return Ce.add(r), r;
575
+ }, on = () => {
576
+ Xe.forEach((i) => {
577
577
  try {
578
- s?.renderTarget?.dispose && s.renderTarget.dispose();
578
+ i?.renderTarget?.dispose && i.renderTarget.dispose();
579
579
  } catch {
580
580
  }
581
- }), Ne.clear();
581
+ }), Xe.clear();
582
582
  };
583
- let ve = !1;
584
- const he = () => {
585
- if (!h.rootId || !p || ze || !h.nodes.get(h.rootId)) return;
586
- if (z === 0 || F === 0) {
587
- ve || (ve = !0, requestAnimationFrame(() => {
588
- ve = !1, z > 0 && F > 0 && he();
589
- }));
590
- return;
591
- }
592
- ze = !0;
593
- const s = performance.now();
594
- console.log("[Shaders Perf] Starting updateMaterial()");
595
- try {
596
- const t = performance.now();
597
- Ne = new Set(ke), ke.clear(), console.log(`[Shaders Perf] Texture management: ${(performance.now() - t).toFixed(2)}ms`);
598
- const o = /* @__PURE__ */ new Set(), l = performance.now();
599
- nn.clear(), h.nodes.forEach((g, w) => {
600
- (g.requiresRTT || g.transformRTTActive) && nn.add(w);
601
- }), console.log(`[Shaders Perf] RTT tracking rebuild: ${(performance.now() - l).toFixed(2)}ms (${h.nodes.size} nodes)`), Be = 0;
602
- const f = performance.now(), b = j(h.rootId, /* @__PURE__ */ new Set(), o);
603
- if (console.log(`[Shaders Perf] composeNodeTree: ${(performance.now() - f).toFixed(2)}ms (RTT ops: ${Be})`), b && p) {
604
- const g = !An(en, o), w = p.fragmentNode !== b;
605
- if (g || Ae || w) {
606
- console.log(`[Shaders Perf] Recompilation needed: compositionChanged=${g}, nodeChanged=${w}, needsRefresh=${Ae}`);
607
- const M = performance.now();
608
- rn(), console.log(`[Shaders Perf] Texture disposal: ${(performance.now() - M).toFixed(2)}ms`);
609
- const E = performance.now();
610
- try {
611
- p.dispose(), n.renderTarget && n.renderTarget.dispose();
612
- } catch {
583
+ let pe = !1;
584
+ const ue = () => {
585
+ if (!(!h.rootId || !p || ze) && h.nodes.get(h.rootId)) {
586
+ if (z === 0 || E === 0) {
587
+ pe || (pe = !0, requestAnimationFrame(() => {
588
+ pe = !1, z > 0 && E > 0 && ue();
589
+ }));
590
+ return;
591
+ }
592
+ ze = !0;
593
+ try {
594
+ Xe = new Set(Ce), Ce.clear();
595
+ const i = /* @__PURE__ */ new Set();
596
+ rn.clear(), h.nodes.forEach((o, f) => {
597
+ (o.requiresRTT || o.transformRTTActive) && rn.add(f);
598
+ }), Pe = 0;
599
+ const r = W(h.rootId, /* @__PURE__ */ new Set(), i);
600
+ if (r && p) {
601
+ const o = !Mn(tn, i), f = p.fragmentNode !== r;
602
+ if (o || Le || f) {
603
+ on();
604
+ try {
605
+ p.dispose(), n.renderTarget && n.renderTarget.dispose();
606
+ } catch {
607
+ }
608
+ const s = new un({ transparent: !0 });
609
+ s.fragmentNode = r, s.needsUpdate = !0, u.material = s, p = s, Le = !1, tn = i;
613
610
  }
614
- console.log(`[Shaders Perf] Material disposal: ${(performance.now() - E).toFixed(2)}ms`);
615
- const y = performance.now(), u = new dn({ transparent: !0 });
616
- u.fragmentNode = b, u.needsUpdate = !0, console.log(`[Shaders Perf] Material creation: ${(performance.now() - y).toFixed(2)}ms`), m.material = u, p = u, Ae = !1, en = o;
617
- } else console.log("[Shaders Perf] No recompilation needed (composition unchanged)");
611
+ }
612
+ } catch (i) {
613
+ console.error("Error composing shader tree:", i);
614
+ } finally {
615
+ ze = !1;
618
616
  }
619
- console.log(`[Shaders Perf] TOTAL updateMaterial: ${(performance.now() - s).toFixed(2)}ms`), console.log("========================================");
620
- } catch (t) {
621
- console.error("Error composing shader tree:", t), console.log(`[Shaders Perf] FAILED after ${(performance.now() - s).toFixed(2)}ms`);
622
- } finally {
623
- ze = !1;
617
+ L && Z().catch(console.warn);
624
618
  }
625
- N && re().catch(console.warn);
626
- }, W = (s) => {
627
- const t = d.get(s);
628
- if (!t) return [];
619
+ }, Y = (i) => {
620
+ const r = d.get(i);
621
+ if (!r) return [];
629
622
  const o = [];
630
- for (const l of t) {
631
- const f = h.nodes.get(l);
632
- f && o.push(f);
623
+ for (const f of r) {
624
+ const s = h.nodes.get(f);
625
+ s && o.push(s);
633
626
  }
634
627
  return o;
635
- }, $n = (s) => {
636
- for (const [t, o] of h.nodes.entries()) if (o.metadata.id === s) return t;
628
+ }, xn = (i) => {
629
+ for (const [r, o] of h.nodes.entries()) if (o.metadata.id === i) return r;
637
630
  return null;
638
- }, se = (s, t, o, l) => {
639
- if (!t.metadata.mask?.source) return s;
640
- const f = t.metadata.mask.source, b = $n(f);
641
- if (!b) return s;
642
- if (l.has(b))
643
- return console.error("Uh oh, looks like you've got a circular dependency in your shader masks."), s;
644
- const g = new Set(l);
645
- return g.add(o), Ot(s, j(b, g), t.metadata.mask.type || "alpha");
646
- }, le = (s, t) => {
647
- if (!t.metadata.transform || !t.transformUniforms || !fe(t.metadata.transform) && !t.transformRTTActive) return s;
648
- const o = _e(s), l = Ue(Ce, t.transformUniforms.offsetX, t.transformUniforms.offsetY, t.transformUniforms.rotation, t.transformUniforms.scale, t.transformUniforms.anchorX, t.transformUniforms.anchorY, t.transformUniforms.aspectRatio);
649
- return Re(l, o.sample(l), o, t.transformUniforms.edges);
650
- }, H = (s) => !!s.uvTransformFunc && s.requiresChild && s.metadata.blendMode === "normal" && (s.metadata.opacity === void 0 || s.metadata.opacity === 1) && s.metadata.visible !== !1 && !s.metadata.mask?.source && !(s.transformUniforms && s.metadata.transform && fe(s.metadata.transform)), Ye = (s) => {
651
- const t = [];
652
- let o = s;
631
+ }, ee = (i, r, o, f, s) => {
632
+ if (!r.metadata.mask?.source) return i;
633
+ const v = r.metadata.mask.source, b = xn(v);
634
+ if (!b) return i;
635
+ if (f.has(b))
636
+ return console.error("Uh oh, looks like you've got a circular dependency in your shader masks."), i;
637
+ const m = new Set(f);
638
+ m.add(o);
639
+ const M = W(b, m);
640
+ let F = M;
641
+ s && (F = Te(M).sample(s));
642
+ const y = r.metadata.mask.type || "alpha";
643
+ return $r(i, F, y);
644
+ }, re = (i, r) => {
645
+ if (!r.metadata.transform || !r.transformUniforms || !oe(r.metadata.transform) && !r.transformRTTActive) return i;
646
+ const o = Te(i), f = Se(ge, r.transformUniforms.offsetX, r.transformUniforms.offsetY, r.transformUniforms.rotation, r.transformUniforms.scale, r.transformUniforms.anchorX, r.transformUniforms.anchorY, r.transformUniforms.aspectRatio);
647
+ return be(f, o.sample(f), o, r.transformUniforms.edges);
648
+ }, H = (i) => !!i.uvTransformFunc && i.requiresChild && i.metadata.blendMode === "normal" && (i.metadata.opacity === void 0 || i.metadata.opacity === 1) && i.metadata.visible !== !1 && !i.metadata.mask?.source && !(i.transformUniforms && i.metadata.transform && oe(i.metadata.transform)), Be = (i) => {
649
+ const r = [];
650
+ let o = i;
653
651
  for (; o; ) {
654
- const l = h.nodes.get(o);
655
- if (!l || !H(l)) break;
656
- t.push(l);
657
- const f = W(l.id);
658
- if (f.length !== 1) break;
659
- const b = f[0];
660
- if (H(b)) o = b.id;
652
+ const f = h.nodes.get(o);
653
+ if (!f || !H(f)) break;
654
+ r.push(f);
655
+ const s = Y(f.id);
656
+ if (s.length !== 1) break;
657
+ const v = s[0];
658
+ if (H(v)) o = v.id;
661
659
  else break;
662
660
  }
663
- return t;
664
- }, Dn = (s) => {
665
- if (s.length === 0) return null;
666
- const t = s[s.length - 1], o = W(t.id);
661
+ return r;
662
+ }, An = (i) => {
663
+ if (i.length === 0) return null;
664
+ const r = i[i.length - 1], o = Y(r.id);
667
665
  return o.length === 0 ? null : o.length === 1 ? o[0] : null;
668
- }, Ve = (s) => {
669
- if (!s.uvTransformFunc || !H(s)) return !1;
670
- const t = W(s.id);
671
- if (t.length !== 1) return !1;
672
- const o = t[0];
673
- return o.acceptsUVContext && !o.requiresChild ? !0 : o.uvTransformFunc && H(o) ? Ve(o) : !1;
674
- }, Ie = (s, t, o) => {
675
- const l = [];
676
- let f = s;
677
- for (; f; ) {
678
- const v = h.nodes.get(f);
679
- if (!v) break;
680
- if (l.length >= 2)
681
- return console.log(`[Shaders Perf] UV chain depth limit reached (${l.length}), falling back to RTT`), j(s, t, o, !0);
682
- if (l.push(v), o && o.add(v.id), v.acceptsUVContext && !v.requiresChild) break;
683
- const c = W(f);
684
- if (c.length !== 1) break;
685
- f = c[0].id;
666
+ }, ke = (i) => {
667
+ if (!i.uvTransformFunc || !H(i)) return !1;
668
+ const r = Y(i.id);
669
+ if (r.length !== 1) return !1;
670
+ const o = r[0];
671
+ return o.acceptsUVContext && !o.requiresChild ? !0 : o.uvTransformFunc && H(o) ? ke(o) : !1;
672
+ }, _e = (i, r, o) => {
673
+ const f = [];
674
+ let s = i;
675
+ for (; s; ) {
676
+ const g = h.nodes.get(s);
677
+ if (!g) break;
678
+ if (f.length >= 2) return W(i, r, o, !0);
679
+ if (f.push(g), o && o.add(g.id), g.acceptsUVContext && !g.requiresChild) break;
680
+ const a = Y(s);
681
+ if (a.length !== 1) break;
682
+ s = a[0].id;
686
683
  }
687
- if (l.length === 0) return x(0, 0, 0, 0);
688
- const b = l[l.length - 1];
689
- let g = Ce;
690
- for (let v = 0; v < l.length; v++) {
691
- const c = l[v];
692
- c.uvTransformFunc && (g = c.uvTransformFunc({
693
- uv: g,
694
- uniforms: c.uniforms,
695
- viewportSize: ye
696
- })), c.transformUniforms && c.metadata.transform && fe(c.metadata.transform) && (g = Ue(g, c.transformUniforms.offsetX, c.transformUniforms.offsetY, c.transformUniforms.rotation, c.transformUniforms.scale, c.transformUniforms.anchorX, c.transformUniforms.anchorY, c.transformUniforms.aspectRatio), c.transformUniforms.edges && (g = ce(g, c.transformUniforms.edges)), c.transformRTTActive = !0);
684
+ if (f.length === 0) return S(0, 0, 0, 0);
685
+ const v = f[f.length - 1];
686
+ let b = ge;
687
+ for (let g = 0; g < f.length; g++) {
688
+ const a = f[g];
689
+ a.uvTransformFunc && (b = a.uvTransformFunc({
690
+ uv: b,
691
+ uniforms: a.uniforms,
692
+ viewportSize: we
693
+ })), a.transformUniforms && a.metadata.transform && oe(a.metadata.transform) && (b = Se(b, a.transformUniforms.offsetX, a.transformUniforms.offsetY, a.transformUniforms.rotation, a.transformUniforms.scale, a.transformUniforms.anchorX, a.transformUniforms.anchorY, a.transformUniforms.aspectRatio), a.transformUniforms.edges && (b = se(b, a.transformUniforms.edges)), a.transformRTTActive = !0);
697
694
  }
698
- for (let v = 0; v < l.length - 1; v++) {
699
- const c = l[v];
700
- if (!c.requiresChild) continue;
701
- const $ = (O) => {
702
- c.cleanupCallbacks.push(O);
703
- }, P = (O) => {
704
- c.beforeRenderCallbacks.push(O);
705
- }, T = (O) => {
706
- c.afterRenderCallbacks.push(O);
707
- }, S = (O) => {
708
- c.resizeCallbacks.push(O);
695
+ for (let g = 0; g < f.length - 1; g++) {
696
+ const a = f[g];
697
+ if (!a.requiresChild) continue;
698
+ const A = (V) => {
699
+ a.cleanupCallbacks.push(V);
700
+ }, I = (V) => {
701
+ a.beforeRenderCallbacks.push(V);
702
+ }, x = (V) => {
703
+ a.afterRenderCallbacks.push(V);
704
+ }, w = (V) => {
705
+ a.resizeCallbacks.push(V);
709
706
  };
710
- c.cleanupCallbacks.forEach((O) => {
707
+ a.cleanupCallbacks.forEach((V) => {
711
708
  try {
712
- O();
713
- } catch (Q) {
714
- console.error("Error in cleanup callback:", Q);
709
+ V();
710
+ } catch ($) {
711
+ console.error("Error in cleanup callback:", $);
715
712
  }
716
- }), c.cleanupCallbacks = [], c.beforeRenderCallbacks = [], c.afterRenderCallbacks = [], c.resizeCallbacks = [], c.fragmentNodeFunc({
717
- uniforms: c.uniforms ?? {},
713
+ }), a.cleanupCallbacks = [], a.beforeRenderCallbacks = [], a.afterRenderCallbacks = [], a.resizeCallbacks = [], a.fragmentNodeFunc({
714
+ uniforms: a.uniforms ?? {},
718
715
  childNode: void 0,
719
716
  uvContext: void 0,
720
- onCleanup: $,
721
- onBeforeRender: P,
722
- onAfterRender: T,
723
- onResize: S,
717
+ onCleanup: A,
718
+ onBeforeRender: I,
719
+ onAfterRender: x,
720
+ onResize: w,
724
721
  canvas: e,
725
722
  dimensions: {
726
723
  width: z,
727
- height: F
724
+ height: E
728
725
  },
729
726
  renderer: n
730
727
  });
731
728
  }
732
- const w = (v) => {
733
- b.cleanupCallbacks.push(v);
734
- }, M = (v) => {
735
- b.beforeRenderCallbacks.push(v);
736
- }, E = (v) => {
737
- b.afterRenderCallbacks.push(v);
738
- }, y = (v) => {
739
- b.resizeCallbacks.push(v);
729
+ const m = (g) => {
730
+ v.cleanupCallbacks.push(g);
731
+ }, M = (g) => {
732
+ v.beforeRenderCallbacks.push(g);
733
+ }, F = (g) => {
734
+ v.afterRenderCallbacks.push(g);
735
+ }, y = (g) => {
736
+ v.resizeCallbacks.push(g);
740
737
  };
741
- b.cleanupCallbacks.forEach((v) => {
738
+ v.cleanupCallbacks.forEach((g) => {
742
739
  try {
743
- v();
744
- } catch (c) {
745
- console.error("Error in cleanup callback:", c);
740
+ g();
741
+ } catch (a) {
742
+ console.error("Error in cleanup callback:", a);
746
743
  }
747
- }), b.cleanupCallbacks = [], b.beforeRenderCallbacks = [], b.afterRenderCallbacks = [], b.resizeCallbacks = [];
748
- const u = b.fragmentNodeFunc({
749
- uniforms: b.uniforms ?? {},
744
+ }), v.cleanupCallbacks = [], v.beforeRenderCallbacks = [], v.afterRenderCallbacks = [], v.resizeCallbacks = [];
745
+ const C = v.fragmentNodeFunc({
746
+ uniforms: v.uniforms ?? {},
750
747
  childNode: void 0,
751
- uvContext: g,
752
- onCleanup: w,
748
+ uvContext: b,
749
+ onCleanup: m,
753
750
  onBeforeRender: M,
754
- onAfterRender: E,
751
+ onAfterRender: F,
755
752
  onResize: y,
756
753
  canvas: e,
757
754
  dimensions: {
758
755
  width: z,
759
- height: F
756
+ height: E
760
757
  },
761
758
  renderer: n
762
759
  });
763
- for (const v of l) if (v.uniforms.edges?.uniform) return Re(g, u, null, v.uniforms.edges.uniform);
764
- return u;
765
- }, He = (s, t, o) => {
766
- if (s.length === 0) return x(0, 0, 0, 0);
767
- const l = Dn(s);
768
- let f;
769
- if (l) f = j(l.id, t, o);
770
- else return x(0, 0, 0, 0);
771
- const b = _e(f);
772
- let g = Ce;
773
- for (let E = s.length - 1; E >= 0; E--) {
774
- const y = s[E];
775
- y.uvTransformFunc && (g = y.uvTransformFunc({
776
- uv: g,
760
+ for (const g of f) if (g.uniforms.edges?.uniform) return be(b, C, null, g.uniforms.edges.uniform);
761
+ return C;
762
+ }, Ve = (i, r, o) => {
763
+ if (i.length === 0) return S(0, 0, 0, 0);
764
+ const f = An(i);
765
+ let s;
766
+ if (f) s = W(f.id, r, o);
767
+ else {
768
+ const F = i[i.length - 1];
769
+ if (Y(F.id).length === 0) return S(0, 0, 0, 0);
770
+ s = W(F.id, r, o);
771
+ }
772
+ const v = Te(s);
773
+ let b = ge;
774
+ for (let F = i.length - 1; F >= 0; F--) {
775
+ const y = i[F];
776
+ y.uvTransformFunc && (b = y.uvTransformFunc({
777
+ uv: b,
777
778
  uniforms: y.uniforms,
778
- viewportSize: ye
779
- }), y.uniforms.edges?.uniform && (g = ce(g, y.uniforms.edges.uniform))), o && o.add(y.id);
779
+ viewportSize: we
780
+ }), y.uniforms.edges?.uniform && (b = se(b, y.uniforms.edges.uniform))), o && o.add(y.id);
780
781
  }
781
- const w = b.sample(g), M = s[0];
782
- return M.uniforms.edges?.uniform ? Re(g, w, b, M.uniforms.edges.uniform) : w;
783
- }, tn = (s, t) => {
782
+ const m = v.sample(b), M = i[0];
783
+ return M.uniforms.edges?.uniform ? be(b, m, v, M.uniforms.edges.uniform) : m;
784
+ }, He = (i, r) => {
784
785
  const o = [];
785
- for (let l = t; l < s.length; l++) {
786
- const f = s[l];
787
- if (!H(f) || W(f.id).length > 0) break;
788
- o.push(f);
786
+ for (let f = r; f < i.length; f++) {
787
+ const s = i[f];
788
+ if (!H(s) || Y(s.id).length > 0) break;
789
+ o.push(s);
789
790
  }
790
791
  return o;
791
- }, on = (s, t, o) => {
792
- if (s.length === 0) return t;
793
- const l = _e(t);
794
- let f = Ce;
795
- for (let w = s.length - 1; w >= 0; w--) {
796
- const M = s[w];
797
- M.uvTransformFunc && (f = M.uvTransformFunc({
798
- uv: f,
792
+ }, Ie = (i, r, o) => {
793
+ if (i.length === 0) return r;
794
+ const f = Te(r);
795
+ let s = ge;
796
+ for (let m = i.length - 1; m >= 0; m--) {
797
+ const M = i[m];
798
+ M.uvTransformFunc && (s = M.uvTransformFunc({
799
+ uv: s,
799
800
  uniforms: M.uniforms,
800
- viewportSize: ye
801
- }), M.uniforms.edges?.uniform && (f = ce(f, M.uniforms.edges.uniform))), o && o.add(M.id);
801
+ viewportSize: we
802
+ }), M.uniforms.edges?.uniform && (s = se(s, M.uniforms.edges.uniform))), o && o.add(M.id);
802
803
  }
803
- const b = l.sample(f), g = s[s.length - 1];
804
- return g.uniforms.edges?.uniform ? Re(f, b, l, g.uniforms.edges.uniform) : b;
805
- }, sn = (s) => {
806
- const t = [], o = [];
807
- let l = !1;
808
- for (let g = 0; g < s.length; g++) {
809
- const w = s[g], M = W(w.id).length > 0;
810
- w.acceptsUVContext && !w.requiresChild && t.push(g), H(w) && !M && (o.push(g), t.length > 0 && (l = !0));
804
+ const v = f.sample(s), b = i[i.length - 1];
805
+ return b.uniforms.edges?.uniform ? be(s, v, f, b.uniforms.edges.uniform) : v;
806
+ }, We = (i) => {
807
+ const r = [], o = [];
808
+ let f = !1;
809
+ for (let b = 0; b < i.length; b++) {
810
+ const m = i[b], M = Y(m.id).length > 0;
811
+ m.acceptsUVContext && !m.requiresChild && r.push(b), H(m) && !M && (o.push(b), r.length > 0 && (f = !0));
811
812
  }
812
- if (t.length === 0 || o.length === 0 || !l) return !1;
813
- const f = Math.min(...t), b = Math.max(...o);
814
- for (let g = f + 1; g < b; g++) {
815
- const w = s[g];
816
- if (w.requiresRTT && !H(w) && !(w.acceptsUVContext && !w.requiresChild)) return !1;
813
+ if (r.length === 0 || o.length === 0 || !f) return !1;
814
+ const s = Math.min(...r), v = Math.max(...o);
815
+ for (let b = s + 1; b < v; b++) {
816
+ const m = i[b];
817
+ if (m.requiresRTT && !H(m) && !(m.acceptsUVContext && !m.requiresChild)) return !1;
817
818
  }
818
- return o.length > 2 ? (console.log(`[Shaders Perf] Too many distortions in sibling group (${o.length}), skipping UV propagation`), !1) : !0;
819
- }, an = (s, t, o) => {
820
- const l = performance.now();
821
- console.log(`[Shaders Perf] composeSiblingsWithUVContext (${s.length} children)`);
822
- const f = performance.now(), b = [], g = [];
823
- s.forEach((y, u) => {
824
- const v = W(y.id).length > 0;
825
- H(y) && !v ? g.push({
826
- node: y,
827
- index: u
828
- }) : y.acceptsUVContext && !y.requiresChild && !v && b.push({
829
- node: y,
830
- index: u
819
+ return !(o.length > 2);
820
+ }, je = (i, r, o) => {
821
+ const f = [], s = [];
822
+ i.forEach((b, m) => {
823
+ const M = Y(b.id).length > 0;
824
+ H(b) && !M ? s.push({
825
+ node: b,
826
+ index: m
827
+ }) : b.acceptsUVContext && !b.requiresChild && !M && f.push({
828
+ node: b,
829
+ index: m
831
830
  });
832
- }), console.log(`[Shaders Perf] Categorization: ${(performance.now() - f).toFixed(2)}ms (${b.length} gens, ${g.length} dists)`);
833
- const w = performance.now();
834
- for (const y of g) {
835
- const u = y.node;
836
- u.cleanupCallbacks.forEach((T) => {
831
+ });
832
+ for (const b of s) {
833
+ const m = b.node;
834
+ m.cleanupCallbacks.forEach((g) => {
837
835
  try {
838
- T();
839
- } catch (S) {
840
- console.error("Cleanup error:", S);
836
+ g();
837
+ } catch (a) {
838
+ console.error("Cleanup error:", a);
841
839
  }
842
- }), u.cleanupCallbacks = [], u.beforeRenderCallbacks = [], u.afterRenderCallbacks = [], u.resizeCallbacks = [];
843
- const v = (T) => u.cleanupCallbacks.push(T), c = (T) => u.beforeRenderCallbacks.push(T), $ = (T) => u.afterRenderCallbacks.push(T), P = (T) => u.resizeCallbacks.push(T);
844
- u.fragmentNodeFunc({
845
- uniforms: u.uniforms ?? {},
840
+ }), m.cleanupCallbacks = [], m.beforeRenderCallbacks = [], m.afterRenderCallbacks = [], m.resizeCallbacks = [];
841
+ const M = (g) => m.cleanupCallbacks.push(g), F = (g) => m.beforeRenderCallbacks.push(g), y = (g) => m.afterRenderCallbacks.push(g), C = (g) => m.resizeCallbacks.push(g);
842
+ m.fragmentNodeFunc({
843
+ uniforms: m.uniforms ?? {},
846
844
  childNode: void 0,
847
845
  uvContext: void 0,
848
- onCleanup: v,
849
- onBeforeRender: c,
850
- onAfterRender: $,
851
- onResize: P,
846
+ onCleanup: M,
847
+ onBeforeRender: F,
848
+ onAfterRender: y,
849
+ onResize: C,
852
850
  canvas: e,
853
851
  dimensions: {
854
852
  width: z,
855
- height: F
853
+ height: E
856
854
  },
857
855
  renderer: n
858
- }), o && o.add(u.id);
856
+ }), o && o.add(m.id);
859
857
  }
860
- console.log(`[Shaders Perf] Callback registration: ${(performance.now() - w).toFixed(2)}ms (${g.length} distortions)`);
861
- const M = performance.now();
862
- let E;
863
- for (let y = 0; y < s.length; y++) {
864
- const u = s[y];
865
- if (u.metadata.visible === !1) continue;
866
- const v = u.metadata.opacity ?? 1;
867
- u.opacityUniform.value = v, o && o.add(u.id);
868
- const c = W(u.id).length > 0;
869
- let $;
870
- const P = b.find((T) => T.index === y);
871
- if (P) {
872
- const T = g.filter((_) => _.index > P.index).sort((_, q) => _.index - q.index).map((_) => _.node);
873
- let S = Ce;
874
- for (let _ = T.length - 1; _ >= 0; _--) {
875
- const q = T[_];
876
- q.uvTransformFunc && (S = q.uvTransformFunc({
877
- uv: S,
878
- uniforms: q.uniforms,
879
- viewportSize: ye
880
- })), q.transformUniforms && q.metadata.transform && fe(q.metadata.transform) && (S = Ue(S, q.transformUniforms.offsetX, q.transformUniforms.offsetY, q.transformUniforms.rotation, q.transformUniforms.scale, q.transformUniforms.anchorX, q.transformUniforms.anchorY, q.transformUniforms.aspectRatio), q.transformUniforms.edges && (S = ce(S, q.transformUniforms.edges)), q.transformRTTActive = !0), q.uniforms.edges?.uniform && (S = ce(S, q.uniforms.edges.uniform));
858
+ let v;
859
+ for (let b = 0; b < i.length; b++) {
860
+ const m = i[b];
861
+ if (m.metadata.visible === !1) continue;
862
+ const M = m.metadata.opacity ?? 1;
863
+ m.opacityUniform.value = M, o && o.add(m.id);
864
+ const F = Y(m.id).length > 0;
865
+ let y;
866
+ const C = f.find((g) => g.index === b);
867
+ if (C) {
868
+ const g = s.filter(($) => $.index > C.index).sort(($, O) => $.index - O.index).map(($) => $.node);
869
+ let a = ge;
870
+ for (let $ = g.length - 1; $ >= 0; $--) {
871
+ const O = g[$];
872
+ O.uvTransformFunc && (a = O.uvTransformFunc({
873
+ uv: a,
874
+ uniforms: O.uniforms,
875
+ viewportSize: we
876
+ })), O.transformUniforms && O.metadata.transform && oe(O.metadata.transform) && (a = Se(a, O.transformUniforms.offsetX, O.transformUniforms.offsetY, O.transformUniforms.rotation, O.transformUniforms.scale, O.transformUniforms.anchorX, O.transformUniforms.anchorY, O.transformUniforms.aspectRatio), O.transformUniforms.edges && (a = se(a, O.transformUniforms.edges)), O.transformRTTActive = !0), O.uniforms.edges?.uniform && (a = se(a, O.uniforms.edges.uniform));
881
877
  }
882
- P.node.transformUniforms && P.node.metadata.transform && fe(P.node.metadata.transform) && (S = Ue(S, P.node.transformUniforms.offsetX, P.node.transformUniforms.offsetY, P.node.transformUniforms.rotation, P.node.transformUniforms.scale, P.node.transformUniforms.anchorX, P.node.transformUniforms.anchorY, P.node.transformUniforms.aspectRatio), P.node.transformUniforms.edges && (S = ce(S, P.node.transformUniforms.edges)), P.node.transformRTTActive = !0), u.cleanupCallbacks.forEach((_) => {
878
+ C.node.transformUniforms && C.node.metadata.transform && oe(C.node.metadata.transform) && (a = Se(a, C.node.transformUniforms.offsetX, C.node.transformUniforms.offsetY, C.node.transformUniforms.rotation, C.node.transformUniforms.scale, C.node.transformUniforms.anchorX, C.node.transformUniforms.anchorY, C.node.transformUniforms.aspectRatio), C.node.transformUniforms.edges && (a = se(a, C.node.transformUniforms.edges)), C.node.transformRTTActive = !0), m.cleanupCallbacks.forEach(($) => {
883
879
  try {
884
- _();
885
- } catch (q) {
886
- console.error("Cleanup error:", q);
880
+ $();
881
+ } catch (O) {
882
+ console.error("Cleanup error:", O);
887
883
  }
888
- }), u.cleanupCallbacks = [], u.beforeRenderCallbacks = [], u.afterRenderCallbacks = [], u.resizeCallbacks = [];
889
- const O = (_) => u.cleanupCallbacks.push(_), Q = (_) => u.beforeRenderCallbacks.push(_), J = (_) => u.afterRenderCallbacks.push(_), A = (_) => u.resizeCallbacks.push(_);
890
- let L = u.fragmentNodeFunc({
891
- uniforms: u.uniforms ?? {},
884
+ }), m.cleanupCallbacks = [], m.beforeRenderCallbacks = [], m.afterRenderCallbacks = [], m.resizeCallbacks = [];
885
+ const A = ($) => m.cleanupCallbacks.push($), I = ($) => m.beforeRenderCallbacks.push($), x = ($) => m.afterRenderCallbacks.push($), w = ($) => m.resizeCallbacks.push($);
886
+ let V = m.fragmentNodeFunc({
887
+ uniforms: m.uniforms ?? {},
892
888
  childNode: void 0,
893
- uvContext: S,
894
- onCleanup: O,
895
- onBeforeRender: Q,
896
- onAfterRender: J,
897
- onResize: A,
889
+ uvContext: a,
890
+ onCleanup: A,
891
+ onBeforeRender: I,
892
+ onAfterRender: x,
893
+ onResize: w,
898
894
  canvas: e,
899
895
  dimensions: {
900
896
  width: z,
901
- height: F
897
+ height: E
902
898
  },
903
899
  renderer: n
904
900
  });
905
- if (T.length > 0) {
906
- const _ = T[0];
907
- _.uniforms.edges?.uniform && (L = Re(S, L, null, _.uniforms.edges.uniform));
901
+ if (g.length > 0) {
902
+ const $ = g[0];
903
+ $.uniforms.edges?.uniform && (V = be(a, V, null, $.uniforms.edges.uniform));
908
904
  }
909
- $ = se(L, u, u.id, t);
905
+ y = ee(V, m, m.id, r, a);
910
906
  } else {
911
- if (g.find((T) => T.index === y)) continue;
912
- if (c) {
913
- if (Ve(u)) $ = Ie(u.id, t, o);
914
- else if (H(u)) {
915
- const S = Ye(u.id);
916
- S.length > 1 ? $ = He(S, t, o) : $ = j(u.id, t, o);
917
- } else $ = j(u.id, t, o);
918
- const T = g.filter((S) => S.index > y).sort((S, O) => S.index - O.index).map((S) => S.node);
919
- if (T.length > 0) {
920
- const S = _e($);
921
- let O = Ce;
922
- for (let J = T.length - 1; J >= 0; J--) {
923
- const A = T[J];
924
- A.uvTransformFunc && (O = A.uvTransformFunc({
925
- uv: O,
926
- uniforms: A.uniforms,
927
- viewportSize: ye
928
- })), A.transformUniforms && A.metadata.transform && fe(A.metadata.transform) && (O = Ue(O, A.transformUniforms.offsetX, A.transformUniforms.offsetY, A.transformUniforms.rotation, A.transformUniforms.scale, A.transformUniforms.anchorX, A.transformUniforms.anchorY, A.transformUniforms.aspectRatio), A.transformUniforms.edges && (O = ce(O, A.transformUniforms.edges)), A.transformRTTActive = !0), A.uniforms.edges?.uniform && (O = ce(O, A.uniforms.edges.uniform));
907
+ if (s.find((g) => g.index === b)) continue;
908
+ if (F) {
909
+ if (ke(m)) y = _e(m.id, r, o);
910
+ else if (H(m)) {
911
+ const a = Be(m.id);
912
+ a.length > 1 ? y = Ve(a, r, o) : y = W(m.id, r, o);
913
+ } else y = W(m.id, r, o);
914
+ const g = s.filter((a) => a.index > b).sort((a, A) => a.index - A.index).map((a) => a.node);
915
+ if (g.length > 0) {
916
+ const a = Te(y);
917
+ let A = ge;
918
+ for (let x = g.length - 1; x >= 0; x--) {
919
+ const w = g[x];
920
+ w.uvTransformFunc && (A = w.uvTransformFunc({
921
+ uv: A,
922
+ uniforms: w.uniforms,
923
+ viewportSize: we
924
+ })), w.transformUniforms && w.metadata.transform && oe(w.metadata.transform) && (A = Se(A, w.transformUniforms.offsetX, w.transformUniforms.offsetY, w.transformUniforms.rotation, w.transformUniforms.scale, w.transformUniforms.anchorX, w.transformUniforms.anchorY, w.transformUniforms.aspectRatio), w.transformUniforms.edges && (A = se(A, w.transformUniforms.edges)), w.transformRTTActive = !0), w.uniforms.edges?.uniform && (A = se(A, w.uniforms.edges.uniform));
929
925
  }
930
- $ = S.sample(O);
931
- const Q = T[T.length - 1];
932
- Q.transformUniforms?.edges && ($ = Re(O, $, S, Q.transformUniforms.edges));
926
+ y = a.sample(A);
927
+ const I = g[g.length - 1];
928
+ I.transformUniforms?.edges && (y = be(A, y, a, I.transformUniforms.edges));
933
929
  }
934
930
  } else {
935
- u.cleanupCallbacks.forEach((A) => {
931
+ m.cleanupCallbacks.forEach((w) => {
936
932
  try {
937
- A();
938
- } catch (L) {
939
- console.error("Cleanup error:", L);
933
+ w();
934
+ } catch (V) {
935
+ console.error("Cleanup error:", V);
940
936
  }
941
- }), u.cleanupCallbacks = [], u.beforeRenderCallbacks = [], u.afterRenderCallbacks = [], u.resizeCallbacks = [];
942
- const T = (A) => u.cleanupCallbacks.push(A), S = (A) => u.beforeRenderCallbacks.push(A), O = (A) => u.afterRenderCallbacks.push(A), Q = (A) => u.resizeCallbacks.push(A);
943
- let J = E;
944
- u.requiresRTT && E !== void 0 && (J = K(x(0, 0, 0, 0), E, "normal", 1)), $ = se(le(u.fragmentNodeFunc({
945
- uniforms: u.uniforms ?? {},
946
- childNode: J,
947
- onCleanup: T,
948
- onBeforeRender: S,
949
- onAfterRender: O,
950
- onResize: Q,
937
+ }), m.cleanupCallbacks = [], m.beforeRenderCallbacks = [], m.afterRenderCallbacks = [], m.resizeCallbacks = [];
938
+ const g = (w) => m.cleanupCallbacks.push(w), a = (w) => m.beforeRenderCallbacks.push(w), A = (w) => m.afterRenderCallbacks.push(w), I = (w) => m.resizeCallbacks.push(w);
939
+ let x = v;
940
+ m.requiresRTT && v !== void 0 && (x = j(S(0, 0, 0, 0), v, "normal", 1)), y = ee(re(m.fragmentNodeFunc({
941
+ uniforms: m.uniforms ?? {},
942
+ childNode: x,
943
+ onCleanup: g,
944
+ onBeforeRender: a,
945
+ onAfterRender: A,
946
+ onResize: I,
951
947
  canvas: e,
952
948
  dimensions: {
953
949
  width: z,
954
- height: F
950
+ height: E
955
951
  },
956
952
  renderer: n
957
- }), u), u, u.id, t);
953
+ }), m), m, m.id, r);
958
954
  }
959
955
  }
960
- u.requiresChild && u.metadata.blendMode === "normal" && !c ? E = K(x(0, 0, 0, 0), $, "normal", u.opacityUniform) : E === void 0 ? E = K(x(1, 1, 1, 0), $, u.metadata.blendMode, u.opacityUniform) : E = K(E, $, u.metadata.blendMode, u.opacityUniform);
956
+ m.requiresChild && m.metadata.blendMode === "normal" && !F ? v = j(S(0, 0, 0, 0), y, "normal", m.opacityUniform) : v === void 0 ? v = j(S(1, 1, 1, 0), y, m.metadata.blendMode, m.opacityUniform) : v = j(v, y, m.metadata.blendMode, m.opacityUniform);
961
957
  }
962
- return console.log(`[Shaders Perf] Node processing: ${(performance.now() - M).toFixed(2)}ms`), console.log(`[Shaders Perf] TOTAL composeSiblingsWithUVContext: ${(performance.now() - l).toFixed(2)}ms`), E ?? x(0, 0, 0, 0);
963
- }, j = (s, t = /* @__PURE__ */ new Set(), o, l = !1) => {
964
- if (z === 0 || F === 0) return x(0, 0, 0, 0);
965
- const f = h.nodes.get(s);
966
- if (!f) return x(0, 0, 0, 0);
967
- const b = (y) => {
968
- f.cleanupCallbacks.push(y);
969
- }, g = (y) => {
970
- f.beforeRenderCallbacks.push(y);
971
- }, w = (y) => {
972
- f.afterRenderCallbacks.push(y);
958
+ return v ?? S(0, 0, 0, 0);
959
+ }, W = (i, r = /* @__PURE__ */ new Set(), o, f = !1) => {
960
+ if (z === 0 || E === 0) return S(0, 0, 0, 0);
961
+ const s = h.nodes.get(i);
962
+ if (!s) return S(0, 0, 0, 0);
963
+ const v = (y) => {
964
+ s.cleanupCallbacks.push(y);
965
+ }, b = (y) => {
966
+ s.beforeRenderCallbacks.push(y);
967
+ }, m = (y) => {
968
+ s.afterRenderCallbacks.push(y);
973
969
  }, M = (y) => {
974
- f.resizeCallbacks.push(y);
975
- }, E = W(s);
976
- if (E.length === 0)
977
- return f.requiresRTT && !te ? x(0, 0, 0, 0) : (f.cleanupCallbacks.forEach((y) => {
970
+ s.resizeCallbacks.push(y);
971
+ }, F = Y(i);
972
+ if (F.length === 0)
973
+ return s.requiresRTT && !ne ? S(0, 0, 0, 0) : (s.cleanupCallbacks.forEach((y) => {
978
974
  try {
979
975
  y();
980
- } catch (u) {
981
- console.error("Error in cleanup callback:", u);
976
+ } catch (C) {
977
+ console.error("Error in cleanup callback:", C);
982
978
  }
983
- }), f.cleanupCallbacks = [], f.beforeRenderCallbacks = [], f.afterRenderCallbacks = [], f.resizeCallbacks = [], se(le(f.fragmentNodeFunc({
984
- uniforms: f.uniforms ?? {},
979
+ }), s.cleanupCallbacks = [], s.beforeRenderCallbacks = [], s.afterRenderCallbacks = [], s.resizeCallbacks = [], ee(re(s.fragmentNodeFunc({
980
+ uniforms: s.uniforms ?? {},
985
981
  childNode: void 0,
986
- onCleanup: b,
987
- onBeforeRender: g,
988
- onAfterRender: w,
982
+ onCleanup: v,
983
+ onBeforeRender: b,
984
+ onAfterRender: m,
989
985
  onResize: M,
990
986
  canvas: e,
991
987
  dimensions: {
992
988
  width: z,
993
- height: F
989
+ height: E
994
990
  },
995
991
  renderer: n
996
- }), f), f, s, t));
992
+ }), s), s, i, r));
997
993
  {
998
- const y = [...E].sort((u, v) => u.metadata.renderOrder - v.metadata.renderOrder);
999
- if (f.parentId === null) {
1000
- if (!l && sn(y)) return se(le(an(y, t, o), f), f, s, t);
1001
- let u;
1002
- for (let v = 0; v < y.length; v++) {
1003
- const c = y[v];
1004
- let $;
1005
- if (c.metadata.opacity === void 0 ? ($ = 1, c.opacityUniform.value = $) : ($ = c.metadata.opacity, c.opacityUniform.value = $), c.metadata.visible === !1) continue;
1006
- o && o.add(c.id);
1007
- const P = W(c.id).length > 0;
1008
- let T;
1009
- if (P) if (l) T = j(c.id, t, o, !0);
1010
- else if (Ve(c)) T = Ie(c.id, t, o);
1011
- else if (H(c)) {
1012
- const S = Ye(c.id);
1013
- S.length > 1 ? T = He(S, t, o) : T = j(c.id, t, o);
1014
- } else T = j(c.id, t, o);
994
+ const y = [...F].sort((C, g) => C.metadata.renderOrder - g.metadata.renderOrder);
995
+ if (s.parentId === null) {
996
+ if (!f && We(y)) return ee(re(je(y, r, o), s), s, i, r);
997
+ let C;
998
+ for (let g = 0; g < y.length; g++) {
999
+ const a = y[g];
1000
+ let A;
1001
+ if (a.metadata.opacity === void 0 ? (A = 1, a.opacityUniform.value = A) : (A = a.metadata.opacity, a.opacityUniform.value = A), a.metadata.visible === !1) continue;
1002
+ o && o.add(a.id);
1003
+ const I = Y(a.id).length > 0;
1004
+ let x;
1005
+ if (I) if (f) x = W(a.id, r, o, !0);
1006
+ else if (ke(a)) x = _e(a.id, r, o);
1007
+ else if (H(a)) {
1008
+ const w = Be(a.id);
1009
+ w.length > 1 ? x = Ve(w, r, o) : x = W(a.id, r, o);
1010
+ } else x = W(a.id, r, o);
1015
1011
  else {
1016
- if (H(c) && c.requiresChild && u !== void 0) {
1017
- const S = tn(y, v);
1018
- if (S.length > 1) {
1019
- T = on(S, u, o), v += S.length - 1, u = T;
1012
+ if (H(a) && a.requiresChild && C !== void 0) {
1013
+ const w = He(y, g);
1014
+ if (w.length > 1) {
1015
+ x = Ie(w, C, o), g += w.length - 1, C = x;
1020
1016
  continue;
1021
1017
  }
1022
1018
  }
1023
- if (c.requiresRTT && !te) T = x(0, 0, 0, 0);
1019
+ if (a.requiresRTT && !ne) x = S(0, 0, 0, 0);
1024
1020
  else {
1025
- const S = (L) => {
1026
- c.cleanupCallbacks.push(L);
1027
- }, O = (L) => {
1028
- c.beforeRenderCallbacks.push(L);
1029
- }, Q = (L) => {
1030
- c.afterRenderCallbacks.push(L);
1031
- }, J = (L) => {
1032
- c.resizeCallbacks.push(L);
1021
+ const w = (q) => {
1022
+ a.cleanupCallbacks.push(q);
1023
+ }, V = (q) => {
1024
+ a.beforeRenderCallbacks.push(q);
1025
+ }, $ = (q) => {
1026
+ a.afterRenderCallbacks.push(q);
1027
+ }, O = (q) => {
1028
+ a.resizeCallbacks.push(q);
1033
1029
  };
1034
- let A = u;
1035
- c.requiresRTT && u !== void 0 && (A = K(x(0, 0, 0, 0), u, "normal", 1)), c.cleanupCallbacks.forEach((L) => {
1030
+ let ye = C;
1031
+ a.requiresRTT && C !== void 0 && (ye = j(S(0, 0, 0, 0), C, "normal", 1)), a.cleanupCallbacks.forEach((q) => {
1036
1032
  try {
1037
- L();
1038
- } catch (_) {
1039
- console.error("Error in cleanup callback:", _);
1033
+ q();
1034
+ } catch (Pn) {
1035
+ console.error("Error in cleanup callback:", Pn);
1040
1036
  }
1041
- }), c.cleanupCallbacks = [], c.beforeRenderCallbacks = [], c.afterRenderCallbacks = [], c.resizeCallbacks = [], T = se(le(c.fragmentNodeFunc({
1042
- uniforms: c.uniforms ?? {},
1043
- childNode: A,
1044
- onCleanup: S,
1045
- onBeforeRender: O,
1046
- onAfterRender: Q,
1047
- onResize: J,
1037
+ }), a.cleanupCallbacks = [], a.beforeRenderCallbacks = [], a.afterRenderCallbacks = [], a.resizeCallbacks = [], x = ee(re(a.fragmentNodeFunc({
1038
+ uniforms: a.uniforms ?? {},
1039
+ childNode: ye,
1040
+ onCleanup: w,
1041
+ onBeforeRender: V,
1042
+ onAfterRender: $,
1043
+ onResize: O,
1048
1044
  canvas: e,
1049
1045
  dimensions: {
1050
1046
  width: z,
1051
- height: F
1047
+ height: E
1052
1048
  },
1053
1049
  renderer: n
1054
- }), c), c, c.id, t);
1050
+ }), a), a, a.id, r);
1055
1051
  }
1056
1052
  }
1057
- c.requiresChild && c.metadata.blendMode === "normal" && !P ? u = K(x(0, 0, 0, 0), T, "normal", c.opacityUniform) : u === void 0 ? f.requiresRTT || $ !== 1 ? u = K(x(1, 1, 1, 0), T, c.metadata.blendMode, c.opacityUniform) : u = T : u = K(u, T, c.metadata.blendMode, c.opacityUniform);
1053
+ a.requiresChild && a.metadata.blendMode === "normal" && !I ? C = j(S(0, 0, 0, 0), x, "normal", a.opacityUniform) : C === void 0 ? s.requiresRTT || A !== 1 ? C = j(S(1, 1, 1, 0), x, a.metadata.blendMode, a.opacityUniform) : C = x : C = j(C, x, a.metadata.blendMode, a.opacityUniform);
1058
1054
  }
1059
- return f.requiresRTT && !te ? x(0, 0, 0, 0) : (f.cleanupCallbacks.forEach((v) => {
1055
+ return s.requiresRTT && !ne ? S(0, 0, 0, 0) : (s.cleanupCallbacks.forEach((g) => {
1060
1056
  try {
1061
- v();
1062
- } catch (c) {
1063
- console.error("Error in cleanup callback:", c);
1057
+ g();
1058
+ } catch (a) {
1059
+ console.error("Error in cleanup callback:", a);
1064
1060
  }
1065
- }), f.cleanupCallbacks = [], f.beforeRenderCallbacks = [], f.afterRenderCallbacks = [], f.resizeCallbacks = [], se(le(f.fragmentNodeFunc({
1066
- uniforms: f.uniforms ?? {},
1067
- childNode: u,
1068
- onCleanup: b,
1069
- onBeforeRender: g,
1070
- onAfterRender: w,
1061
+ }), s.cleanupCallbacks = [], s.beforeRenderCallbacks = [], s.afterRenderCallbacks = [], s.resizeCallbacks = [], ee(re(s.fragmentNodeFunc({
1062
+ uniforms: s.uniforms ?? {},
1063
+ childNode: C,
1064
+ onCleanup: v,
1065
+ onBeforeRender: b,
1066
+ onAfterRender: m,
1071
1067
  onResize: M,
1072
1068
  canvas: e,
1073
1069
  dimensions: {
1074
1070
  width: z,
1075
- height: F
1071
+ height: E
1076
1072
  },
1077
1073
  renderer: n
1078
- }), f), f, s, t));
1074
+ }), s), s, i, r));
1079
1075
  } else {
1080
- if (!l && sn(y)) {
1081
- const v = an(y, t, o);
1082
- return se(le(f.fragmentNodeFunc({
1083
- uniforms: f.uniforms ?? {},
1084
- childNode: v,
1085
- onCleanup: b,
1086
- onBeforeRender: g,
1087
- onAfterRender: w,
1076
+ if (!f && We(y)) {
1077
+ const g = je(y, r, o);
1078
+ return ee(re(s.fragmentNodeFunc({
1079
+ uniforms: s.uniforms ?? {},
1080
+ childNode: g,
1081
+ onCleanup: v,
1082
+ onBeforeRender: b,
1083
+ onAfterRender: m,
1088
1084
  onResize: M,
1089
1085
  canvas: e,
1090
1086
  dimensions: {
1091
1087
  width: z,
1092
- height: F
1088
+ height: E
1093
1089
  },
1094
1090
  renderer: n
1095
- }), f), f, s, t);
1091
+ }), s), s, i, r);
1096
1092
  }
1097
- let u;
1098
- for (let v = 0; v < y.length; v++) {
1099
- const c = y[v];
1100
- let $;
1101
- if (c.metadata.opacity === void 0 ? ($ = 1, c.opacityUniform.value = $) : ($ = c.metadata.opacity, c.opacityUniform.value = $), c.metadata.visible === !1) continue;
1102
- o && o.add(c.id);
1103
- const P = W(c.id).length > 0;
1104
- let T;
1105
- if (P) if (l) T = j(c.id, t, o, !0);
1106
- else if (Ve(c)) T = Ie(c.id, t, o);
1107
- else if (H(c)) {
1108
- const S = Ye(c.id);
1109
- S.length > 1 ? T = He(S, t, o) : T = j(c.id, t, o);
1110
- } else T = j(c.id, t, o);
1093
+ let C;
1094
+ for (let g = 0; g < y.length; g++) {
1095
+ const a = y[g];
1096
+ let A;
1097
+ if (a.metadata.opacity === void 0 ? (A = 1, a.opacityUniform.value = A) : (A = a.metadata.opacity, a.opacityUniform.value = A), a.metadata.visible === !1) continue;
1098
+ o && o.add(a.id);
1099
+ const I = Y(a.id).length > 0;
1100
+ let x;
1101
+ if (I) if (f) x = W(a.id, r, o, !0);
1102
+ else if (ke(a)) x = _e(a.id, r, o);
1103
+ else if (H(a)) {
1104
+ const w = Be(a.id);
1105
+ w.length > 1 ? x = Ve(w, r, o) : x = W(a.id, r, o);
1106
+ } else x = W(a.id, r, o);
1111
1107
  else {
1112
- if (H(c) && c.requiresChild && u !== void 0) {
1113
- const S = tn(y, v);
1114
- if (S.length > 1) {
1115
- T = on(S, u, o), v += S.length - 1, u = T;
1108
+ if (H(a) && a.requiresChild && C !== void 0) {
1109
+ const w = He(y, g);
1110
+ if (w.length > 1) {
1111
+ x = Ie(w, C, o), g += w.length - 1, C = x;
1116
1112
  continue;
1117
1113
  }
1118
1114
  }
1119
- if (c.requiresRTT && !te) T = x(0, 0, 0, 0);
1115
+ if (a.requiresRTT && !ne) x = S(0, 0, 0, 0);
1120
1116
  else {
1121
- const S = (L) => {
1122
- c.cleanupCallbacks.push(L);
1123
- }, O = (L) => {
1124
- c.beforeRenderCallbacks.push(L);
1125
- }, Q = (L) => {
1126
- c.afterRenderCallbacks.push(L);
1127
- }, J = (L) => {
1128
- c.resizeCallbacks.push(L);
1117
+ const w = (q) => {
1118
+ a.cleanupCallbacks.push(q);
1119
+ }, V = (q) => {
1120
+ a.beforeRenderCallbacks.push(q);
1121
+ }, $ = (q) => {
1122
+ a.afterRenderCallbacks.push(q);
1123
+ }, O = (q) => {
1124
+ a.resizeCallbacks.push(q);
1129
1125
  };
1130
- let A = u;
1131
- c.requiresRTT && u !== void 0 && (A = K(x(0, 0, 0, 0), u, "normal", 1)), c.cleanupCallbacks = [], c.beforeRenderCallbacks = [], c.afterRenderCallbacks = [], c.resizeCallbacks = [], T = se(le(c.fragmentNodeFunc({
1132
- uniforms: c.uniforms ?? {},
1133
- childNode: A,
1134
- onCleanup: S,
1135
- onBeforeRender: O,
1136
- onAfterRender: Q,
1137
- onResize: J,
1126
+ let ye = C;
1127
+ a.requiresRTT && C !== void 0 && (ye = j(S(0, 0, 0, 0), C, "normal", 1)), a.cleanupCallbacks = [], a.beforeRenderCallbacks = [], a.afterRenderCallbacks = [], a.resizeCallbacks = [], x = ee(re(a.fragmentNodeFunc({
1128
+ uniforms: a.uniforms ?? {},
1129
+ childNode: ye,
1130
+ onCleanup: w,
1131
+ onBeforeRender: V,
1132
+ onAfterRender: $,
1133
+ onResize: O,
1138
1134
  canvas: e,
1139
1135
  dimensions: {
1140
1136
  width: z,
1141
- height: F
1137
+ height: E
1142
1138
  },
1143
1139
  renderer: n
1144
- }), c), c, c.id, t);
1140
+ }), a), a, a.id, r);
1145
1141
  }
1146
1142
  }
1147
- c.requiresChild && c.metadata.blendMode === "normal" && !P ? u = K(x(0, 0, 0, 0), T, "normal", c.opacityUniform) : u === void 0 ? f.requiresRTT || $ !== 1 ? u = K(x(1, 1, 1, 0), T, c.metadata.blendMode, c.opacityUniform) : u = T : u = K(u, T, c.metadata.blendMode, c.opacityUniform);
1143
+ a.requiresChild && a.metadata.blendMode === "normal" && !I ? C = j(S(0, 0, 0, 0), x, "normal", a.opacityUniform) : C === void 0 ? s.requiresRTT || A !== 1 ? C = j(S(1, 1, 1, 0), x, a.metadata.blendMode, a.opacityUniform) : C = x : C = j(C, x, a.metadata.blendMode, a.opacityUniform);
1148
1144
  }
1149
- return f.requiresRTT && !te ? x(0, 0, 0, 0) : (f.cleanupCallbacks.forEach((v) => {
1145
+ return s.requiresRTT && !ne ? S(0, 0, 0, 0) : (s.cleanupCallbacks.forEach((g) => {
1150
1146
  try {
1151
- v();
1152
- } catch (c) {
1153
- console.error("Error in cleanup callback:", c);
1147
+ g();
1148
+ } catch (a) {
1149
+ console.error("Error in cleanup callback:", a);
1154
1150
  }
1155
- }), f.cleanupCallbacks = [], f.beforeRenderCallbacks = [], f.afterRenderCallbacks = [], f.resizeCallbacks = [], se(le(f.fragmentNodeFunc({
1156
- uniforms: f.uniforms ?? {},
1157
- childNode: u,
1158
- onCleanup: b,
1159
- onBeforeRender: g,
1160
- onAfterRender: w,
1151
+ }), s.cleanupCallbacks = [], s.beforeRenderCallbacks = [], s.afterRenderCallbacks = [], s.resizeCallbacks = [], ee(re(s.fragmentNodeFunc({
1152
+ uniforms: s.uniforms ?? {},
1153
+ childNode: C,
1154
+ onCleanup: v,
1155
+ onBeforeRender: b,
1156
+ onAfterRender: m,
1161
1157
  onResize: M,
1162
1158
  canvas: e,
1163
1159
  dimensions: {
1164
1160
  width: z,
1165
- height: F
1161
+ height: E
1166
1162
  },
1167
1163
  renderer: n
1168
- }), f), f, s, t));
1164
+ }), s), s, i, r));
1169
1165
  }
1170
1166
  }
1171
- }, ln = (s, t, o, l, f = {}, b) => {
1172
- if (t === null) {
1173
- const u = oe.findIndex((v) => v.id === s);
1174
- if (u !== -1) {
1175
- oe.splice(u, 1);
1167
+ }, an = (i, r, o, f, s = {}, v) => {
1168
+ if (r === null) {
1169
+ const C = te.findIndex((g) => g.id === i);
1170
+ if (C !== -1) {
1171
+ te.splice(C, 1);
1176
1172
  return;
1177
1173
  }
1178
- We(s);
1174
+ Qe(i);
1179
1175
  return;
1180
1176
  }
1181
- if (!Ge) {
1182
- const u = oe.findIndex((v) => v.id === s);
1183
- u !== -1 ? oe[u] = {
1184
- id: s,
1185
- fragmentNodeFunc: t,
1177
+ if (!Ne) {
1178
+ const C = te.findIndex((g) => g.id === i);
1179
+ C !== -1 ? te[C] = {
1180
+ id: i,
1181
+ fragmentNodeFunc: r,
1186
1182
  parentId: o,
1187
- metadata: l,
1188
- uniforms: f,
1189
- componentDefinition: b
1190
- } : oe.push({
1191
- id: s,
1192
- fragmentNodeFunc: t,
1183
+ metadata: f,
1184
+ uniforms: s,
1185
+ componentDefinition: v
1186
+ } : te.push({
1187
+ id: i,
1188
+ fragmentNodeFunc: r,
1193
1189
  parentId: o,
1194
- metadata: l,
1195
- uniforms: f,
1196
- componentDefinition: b
1190
+ metadata: f,
1191
+ uniforms: s,
1192
+ componentDefinition: v
1197
1193
  });
1198
1194
  return;
1199
1195
  }
1200
- let g = 0;
1196
+ let b = 0;
1201
1197
  if (o !== null) {
1202
- const u = d.get(o);
1203
- if (u && u.size > 0) {
1204
- let v = 0;
1205
- for (const c of u) {
1206
- const $ = h.nodes.get(c);
1207
- $ && $.metadata.renderOrder > v && (v = $.metadata.renderOrder);
1198
+ const C = d.get(o);
1199
+ if (C && C.size > 0) {
1200
+ let g = 0;
1201
+ for (const a of C) {
1202
+ const A = h.nodes.get(a);
1203
+ A && A.metadata.renderOrder > g && (g = A.metadata.renderOrder);
1208
1204
  }
1209
- g = v + 1;
1205
+ b = g + 1;
1210
1206
  }
1211
1207
  }
1212
- const w = G(l?.opacity !== void 0 ? l.opacity : 1);
1208
+ const m = G(f?.opacity !== void 0 ? f.opacity : 1);
1213
1209
  let M;
1214
- if (l?.transform) {
1215
- const u = z / Math.max(1, F);
1210
+ if (f?.transform) {
1211
+ const C = z / Math.max(1, E);
1216
1212
  M = {
1217
- offsetX: G(l.transform.offsetX),
1218
- offsetY: G(l.transform.offsetY),
1219
- rotation: G(l.transform.rotation),
1220
- scale: G(l.transform.scale),
1221
- anchorX: G(l.transform.anchorX),
1222
- anchorY: G(l.transform.anchorY),
1223
- edges: G(l.transform.edges === "stretch" ? 0 : l.transform.edges === "transparent" ? 1 : l.transform.edges === "mirror" ? 2 : 3),
1224
- aspectRatio: G(u)
1213
+ offsetX: G(f.transform.offsetX),
1214
+ offsetY: G(f.transform.offsetY),
1215
+ rotation: G(f.transform.rotation),
1216
+ scale: G(f.transform.scale),
1217
+ anchorX: G(f.transform.anchorX),
1218
+ anchorY: G(f.transform.anchorY),
1219
+ edges: G(f.transform.edges === "stretch" ? 0 : f.transform.edges === "transparent" ? 1 : f.transform.edges === "mirror" ? 2 : 3),
1220
+ aspectRatio: G(C)
1225
1221
  };
1226
1222
  }
1227
- const E = {
1228
- id: s,
1229
- componentName: b?.name || "Unknown",
1230
- fragmentNodeFunc: t,
1223
+ const F = {
1224
+ id: i,
1225
+ componentName: v?.name || "Unknown",
1226
+ fragmentNodeFunc: r,
1231
1227
  parentId: o,
1232
- requiresRTT: b?.requiresRTT || !1,
1233
- requiresChild: b?.requiresChild || !1,
1234
- opacityUniform: w,
1228
+ requiresRTT: v?.requiresRTT || !1,
1229
+ requiresChild: v?.requiresChild || !1,
1230
+ opacityUniform: m,
1235
1231
  metadata: {
1236
- blendMode: l?.blendMode || "normal",
1237
- opacity: l?.opacity,
1238
- visible: l?.visible !== !1,
1239
- id: l?.id,
1240
- mask: l?.mask,
1241
- renderOrder: l?.renderOrder !== void 0 ? l?.renderOrder : g,
1242
- transform: l?.transform
1232
+ blendMode: f?.blendMode || "normal",
1233
+ opacity: f?.opacity,
1234
+ visible: f?.visible !== !1,
1235
+ id: f?.id,
1236
+ mask: f?.mask,
1237
+ renderOrder: f?.renderOrder !== void 0 ? f?.renderOrder : b,
1238
+ transform: f?.transform
1243
1239
  },
1244
- uniforms: f,
1240
+ uniforms: s,
1245
1241
  cleanupCallbacks: [],
1246
1242
  beforeRenderCallbacks: [],
1247
1243
  afterRenderCallbacks: [],
1248
1244
  resizeCallbacks: [],
1249
1245
  transformUniforms: M,
1250
1246
  transformRTTActive: !1,
1251
- uvTransformFunc: b?.uvTransformNode,
1252
- acceptsUVContext: b?.acceptsUVContext || !1
1247
+ uvTransformFunc: v?.uvTransformNode,
1248
+ acceptsUVContext: v?.acceptsUVContext || !1
1253
1249
  };
1254
- h.nodes.set(s, E), o === null && (h.rootId = s);
1250
+ h.nodes.set(i, F), o === null && (h.rootId = i);
1255
1251
  const y = d.get(o) || /* @__PURE__ */ new Set();
1256
- y.add(s), d.set(o, y), p && B && z > 0 && F > 0 ? (Ee.includes(s) || Ee.push(s), ge === null && (ge = requestAnimationFrame(() => {
1257
- ge = null, Ee = [], he();
1258
- }))) : p && B && (ve || (ve = !0, requestAnimationFrame(() => {
1259
- ve = !1, z > 0 && F > 0 && he();
1252
+ y.add(i), d.set(o, y), p && B && z > 0 && E > 0 ? (Fe.includes(i) || Fe.push(i), de === null && (de = requestAnimationFrame(() => {
1253
+ de = null, Fe = [], ue();
1254
+ }))) : p && B && (pe || (pe = !0, requestAnimationFrame(() => {
1255
+ pe = !1, z > 0 && E > 0 && ue();
1260
1256
  })));
1261
- }, zn = (s, t, o) => {
1262
- const l = h.nodes.get(s);
1263
- if (!l || !l.uniforms) return;
1264
- const f = l.uniforms[t];
1265
- if (!(!f || !f.uniform)) {
1266
- if (f.transform) {
1267
- const { updateUniformValue: b } = (Sn(), Hn(qt));
1268
- b(f, o);
1269
- } else f.uniform.value = o;
1270
- N && re();
1257
+ }, Dn = (i, r, o) => {
1258
+ const f = h.nodes.get(i);
1259
+ if (!f || !f.uniforms) return;
1260
+ const s = f.uniforms[r];
1261
+ if (!(!s || !s.uniform)) {
1262
+ if (s.transform) {
1263
+ const { updateUniformValue: v } = (yn(), Hn(Gr));
1264
+ v(s, o);
1265
+ } else s.uniform.value = o;
1266
+ L && Z();
1271
1267
  }
1272
- }, Fn = (s, t) => {
1273
- const o = h.nodes.get(s);
1268
+ }, zn = (i, r) => {
1269
+ const o = h.nodes.get(i);
1274
1270
  if (!o) return;
1275
- let l = !1;
1276
- t.blendMode !== void 0 && o.metadata.blendMode !== t.blendMode && (o.metadata.blendMode = t.blendMode, l = !0), t.opacity !== void 0 && o.metadata.opacity !== t.opacity && (o.metadata.opacity = t.opacity, o.opacityUniform.value = t.opacity), t.renderOrder !== void 0 && o.metadata.renderOrder !== t.renderOrder && (o.metadata.renderOrder = t.renderOrder, l = !0);
1277
- const f = t.visible !== !1;
1278
- if (o.metadata.visible !== f && (o.metadata.visible = f, l = !0), t.id !== void 0 && o.metadata.id !== t.id && (o.metadata.id = t.id, l = !0), t.mask !== void 0 && (o.metadata.mask?.source !== t.mask?.source || o.metadata.mask?.type !== t.mask?.type) && (o.metadata.mask = t.mask, l = !0), t.transform !== void 0) {
1279
- const b = o.metadata.transform ? fe(o.metadata.transform) : !1, g = fe(t.transform);
1280
- if (o.metadata.transform = t.transform, !o.transformUniforms && t.transform) {
1281
- const w = z / Math.max(1, F);
1271
+ let f = !1;
1272
+ r.blendMode !== void 0 && o.metadata.blendMode !== r.blendMode && (o.metadata.blendMode = r.blendMode, f = !0), r.opacity !== void 0 && o.metadata.opacity !== r.opacity && (o.metadata.opacity = r.opacity, o.opacityUniform.value = r.opacity), r.renderOrder !== void 0 && o.metadata.renderOrder !== r.renderOrder && (o.metadata.renderOrder = r.renderOrder, f = !0);
1273
+ const s = r.visible !== !1;
1274
+ if (o.metadata.visible !== s && (o.metadata.visible = s, f = !0), r.id !== void 0 && o.metadata.id !== r.id && (o.metadata.id = r.id, f = !0), r.mask !== void 0 && (o.metadata.mask?.source !== r.mask?.source || o.metadata.mask?.type !== r.mask?.type) && (o.metadata.mask = r.mask, f = !0), r.transform !== void 0) {
1275
+ const v = o.metadata.transform ? oe(o.metadata.transform) : !1, b = oe(r.transform);
1276
+ if (o.metadata.transform = r.transform, !o.transformUniforms && r.transform) {
1277
+ const m = z / Math.max(1, E);
1282
1278
  o.transformUniforms = {
1283
- offsetX: G(t.transform.offsetX),
1284
- offsetY: G(t.transform.offsetY),
1285
- rotation: G(t.transform.rotation),
1286
- scale: G(t.transform.scale),
1287
- anchorX: G(t.transform.anchorX),
1288
- anchorY: G(t.transform.anchorY),
1289
- edges: G(t.transform.edges === "stretch" ? 0 : t.transform.edges === "transparent" ? 1 : t.transform.edges === "mirror" ? 2 : 3),
1290
- aspectRatio: G(w)
1279
+ offsetX: G(r.transform.offsetX),
1280
+ offsetY: G(r.transform.offsetY),
1281
+ rotation: G(r.transform.rotation),
1282
+ scale: G(r.transform.scale),
1283
+ anchorX: G(r.transform.anchorX),
1284
+ anchorY: G(r.transform.anchorY),
1285
+ edges: G(r.transform.edges === "stretch" ? 0 : r.transform.edges === "transparent" ? 1 : r.transform.edges === "mirror" ? 2 : 3),
1286
+ aspectRatio: G(m)
1291
1287
  };
1292
- } else o.transformUniforms && (o.transformUniforms.offsetX.value = t.transform.offsetX, o.transformUniforms.offsetY.value = t.transform.offsetY, o.transformUniforms.rotation.value = t.transform.rotation, o.transformUniforms.scale.value = t.transform.scale, o.transformUniforms.anchorX.value = t.transform.anchorX, o.transformUniforms.anchorY.value = t.transform.anchorY, o.transformUniforms.edges.value = t.transform.edges === "stretch" ? 0 : t.transform.edges === "transparent" ? 1 : t.transform.edges === "mirror" ? 2 : 3);
1293
- g && !o.transformRTTActive && (o.transformRTTActive = !0, l = !0), !b && g && !o.transformRTTActive && (l = !0);
1288
+ } else o.transformUniforms && (o.transformUniforms.offsetX.value = r.transform.offsetX, o.transformUniforms.offsetY.value = r.transform.offsetY, o.transformUniforms.rotation.value = r.transform.rotation, o.transformUniforms.scale.value = r.transform.scale, o.transformUniforms.anchorX.value = r.transform.anchorX, o.transformUniforms.anchorY.value = r.transform.anchorY, o.transformUniforms.edges.value = r.transform.edges === "stretch" ? 0 : r.transform.edges === "transparent" ? 1 : r.transform.edges === "mirror" ? 2 : 3);
1289
+ b && !o.transformRTTActive && (o.transformRTTActive = !0, f = !0), !v && b && !o.transformRTTActive && (f = !0);
1294
1290
  }
1295
- l && p && B ? (Oe.includes(s) || Oe.push(s), be === null && (be = requestAnimationFrame(() => {
1296
- be = null, Oe = [], he();
1297
- }))) : N && re();
1298
- }, We = (s) => {
1299
- if (!h.nodes.has(s)) return;
1300
- const t = h.nodes.get(s);
1301
- if (t && t.cleanupCallbacks.length > 0) for (const l of t.cleanupCallbacks) try {
1302
- l();
1303
- } catch (f) {
1304
- console.error(`Error executing cleanup callback for node ${s}:`, f);
1291
+ f && p && B ? ($e.includes(i) || $e.push(i), he === null && (he = requestAnimationFrame(() => {
1292
+ he = null, $e = [], ue();
1293
+ }))) : L && Z();
1294
+ }, Qe = (i) => {
1295
+ if (!h.nodes.has(i)) return;
1296
+ const r = h.nodes.get(i);
1297
+ if (r && r.cleanupCallbacks.length > 0) for (const f of r.cleanupCallbacks) try {
1298
+ f();
1299
+ } catch (s) {
1300
+ console.error(`Error executing cleanup callback for node ${i}:`, s);
1305
1301
  }
1306
- const o = W(s);
1307
- for (const l of o) We(l.id);
1308
- if (h.rootId === s && (h.rootId = null), t) {
1309
- const l = d.get(t.parentId);
1310
- l && (l.delete(s), l.size === 0 && d.delete(t.parentId));
1302
+ const o = Y(i);
1303
+ for (const f of o) Qe(f.id);
1304
+ if (h.rootId === i && (h.rootId = null), r) {
1305
+ const f = d.get(r.parentId);
1306
+ f && (f.delete(i), f.size === 0 && d.delete(r.parentId));
1311
1307
  }
1312
- h.nodes.delete(s), p && B && he();
1313
- }, En = (s) => {
1314
- const t = {
1315
- deltaTime: s,
1308
+ h.nodes.delete(i), p && B && ue();
1309
+ }, En = (i) => {
1310
+ const r = {
1311
+ deltaTime: i,
1316
1312
  pointer: {
1317
- x: $e,
1313
+ x: Ae,
1318
1314
  y: De
1319
1315
  },
1320
- pointerActive: ue,
1316
+ pointerActive: ce,
1321
1317
  dimensions: {
1322
1318
  width: z,
1323
- height: F
1319
+ height: E
1324
1320
  }
1325
1321
  };
1326
- for (const o of h.nodes.values()) if (o.beforeRenderCallbacks.length > 0) for (const l of o.beforeRenderCallbacks) try {
1327
- l(t);
1328
- } catch (f) {
1329
- console.error(`Error executing before render callback for node ${o.id}:`, f);
1322
+ for (const o of h.nodes.values()) if (o.beforeRenderCallbacks.length > 0) for (const f of o.beforeRenderCallbacks) try {
1323
+ f(r);
1324
+ } catch (s) {
1325
+ console.error(`Error executing before render callback for node ${o.id}:`, s);
1330
1326
  }
1331
- }, On = (s) => {
1332
- const t = {
1333
- deltaTime: s,
1327
+ }, Fn = (i) => {
1328
+ const r = {
1329
+ deltaTime: i,
1334
1330
  pointer: {
1335
- x: $e,
1331
+ x: Ae,
1336
1332
  y: De
1337
1333
  },
1338
- pointerActive: ue,
1334
+ pointerActive: ce,
1339
1335
  dimensions: {
1340
1336
  width: z,
1341
- height: F
1337
+ height: E
1342
1338
  }
1343
1339
  };
1344
- for (const o of h.nodes.values()) if (o.afterRenderCallbacks.length > 0) for (const l of o.afterRenderCallbacks) try {
1345
- l(t);
1346
- } catch (f) {
1347
- console.error(`Error executing after render callback for node ${o.id}:`, f);
1340
+ for (const o of h.nodes.values()) if (o.afterRenderCallbacks.length > 0) for (const f of o.afterRenderCallbacks) try {
1341
+ f(r);
1342
+ } catch (s) {
1343
+ console.error(`Error executing after render callback for node ${o.id}:`, s);
1348
1344
  }
1349
- }, re = async () => {
1350
- if (!Un()) return;
1351
- const s = de ? performance.now() : 0, t = s || performance.now(), o = qe > 0 ? (t - qe) / 1e3 : 0.016, l = Math.min(o, 0.1);
1352
- qe = t, de && performance.mark("shader-cpu-start"), En(l);
1345
+ }, Z = async () => {
1346
+ if (!wn()) return;
1347
+ const i = fe ? performance.now() : 0, r = i || performance.now(), o = Ge > 0 ? (r - Ge) / 1e3 : 0.016, f = Math.min(o, 0.1);
1348
+ Ge = r, fe && performance.mark("shader-cpu-start"), En(f);
1353
1349
  try {
1354
1350
  if (ze) return;
1355
- de && performance.mark("shader-gpu-start");
1356
- const f = performance.now();
1357
- n.render(r, a);
1358
- const b = performance.now() - f;
1359
- if (b > 20 && console.log(`[Shaders Perf] renderer.render(): ${b.toFixed(2)}ms`), b > 100 && console.warn(`[Shaders Perf] ⚠️ SLOW RENDER! Likely GPU shader compilation: ${b.toFixed(0)}ms`), On(l), de) {
1360
- if (performance.mark("shader-gpu-end"), n instanceof Je) try {
1361
- const g = n.backend;
1362
- if (g && g.get && g.get(n)) {
1363
- const w = g.get(n);
1364
- if (w?.timestampQuery) {
1365
- const M = w.timestampQuery.getResult();
1366
- M != null && ie.recordGpuTime(M / 1e6);
1351
+ if (fe && performance.mark("shader-gpu-start"), n.render(t, l), Fn(f), fe) {
1352
+ if (performance.mark("shader-gpu-end"), n instanceof Ze) try {
1353
+ const s = n.backend;
1354
+ if (s && s.get && s.get(n)) {
1355
+ const v = s.get(n);
1356
+ if (v?.timestampQuery) {
1357
+ const b = v.timestampQuery.getResult();
1358
+ b != null && ae.recordGpuTime(b / 1e6);
1367
1359
  }
1368
1360
  }
1369
1361
  } catch {
1370
1362
  }
1371
1363
  try {
1372
1364
  performance.measure("shader-gpu-time", "shader-gpu-start", "shader-gpu-end");
1373
- const g = performance.getEntriesByName("shader-gpu-time")[0];
1374
- g && ie.recordGpuTime(g.duration), performance.clearMarks("shader-gpu-start"), performance.clearMarks("shader-gpu-end"), performance.clearMeasures("shader-gpu-time");
1365
+ const s = performance.getEntriesByName("shader-gpu-time")[0];
1366
+ s && ae.recordGpuTime(s.duration), performance.clearMarks("shader-gpu-start"), performance.clearMarks("shader-gpu-end"), performance.clearMeasures("shader-gpu-time");
1375
1367
  } catch {
1376
1368
  }
1377
1369
  }
1378
- if (de) {
1370
+ if (fe) {
1379
1371
  performance.mark("shader-cpu-end");
1380
1372
  try {
1381
1373
  performance.measure("shader-cpu-time", "shader-cpu-start", "shader-cpu-end");
1382
- const w = performance.getEntriesByName("shader-cpu-time")[0];
1383
- w && ie.recordCpuTime(w.duration), performance.clearMarks("shader-cpu-start"), performance.clearMarks("shader-cpu-end"), performance.clearMeasures("shader-cpu-time");
1374
+ const v = performance.getEntriesByName("shader-cpu-time")[0];
1375
+ v && ae.recordCpuTime(v.duration), performance.clearMarks("shader-cpu-start"), performance.clearMarks("shader-cpu-end"), performance.clearMeasures("shader-cpu-time");
1384
1376
  } catch {
1385
1377
  }
1386
- const g = performance.now() - s;
1387
- ie.recordFrame(g);
1378
+ const s = performance.now() - i;
1379
+ ae.recordFrame(s);
1388
1380
  }
1389
- } catch (f) {
1390
- console.error("Render frame error:", f);
1381
+ } catch (s) {
1382
+ console.error("Render frame error:", s);
1391
1383
  }
1392
- }, Bn = () => {
1393
- const s = Math.max(0, h.nodes.size - 1), t = Be;
1394
- ie.updateNodeCounts(s, t);
1395
- }, Pn = () => {
1396
- Bn();
1397
- const s = n?.info;
1398
- return ie.getStats(s);
1399
- }, je = () => {
1400
- if (R || !ae || !N) return;
1401
- ie.setRendering(!0);
1402
- const s = () => {
1403
- R = requestAnimationFrame(s), re().catch(console.warn);
1384
+ }, $n = () => {
1385
+ const i = Math.max(0, h.nodes.size - 1), r = Pe;
1386
+ ae.updateNodeCounts(i, r);
1387
+ }, On = () => {
1388
+ $n();
1389
+ const i = n?.info;
1390
+ return ae.getStats(i);
1391
+ }, Je = () => {
1392
+ if (T || !ie || !L) return;
1393
+ ae.setRendering(!0);
1394
+ const i = () => {
1395
+ T = requestAnimationFrame(i), Z().catch(console.warn);
1404
1396
  };
1405
- s();
1406
- }, Qe = () => {
1407
- R && (cancelAnimationFrame(R), R = null), ie.setRendering(!1);
1408
- }, cn = (s) => {
1397
+ i();
1398
+ }, Ke = () => {
1399
+ T && (cancelAnimationFrame(T), T = null), ae.setRendering(!1);
1400
+ }, sn = (i) => {
1409
1401
  if (!e) return;
1410
- let t, o;
1411
- if ("touches" in s) {
1412
- if (s.touches.length === 0) return;
1413
- t = s.touches[0].clientX, o = s.touches[0].clientY;
1402
+ let r, o;
1403
+ if ("touches" in i) {
1404
+ if (i.touches.length === 0) return;
1405
+ r = i.touches[0].clientX, o = i.touches[0].clientY;
1414
1406
  } else
1415
- t = s.clientX, o = s.clientY;
1416
- const l = e.getBoundingClientRect(), f = (t - l.left) / l.width, b = (o - l.top) / l.height;
1417
- $e = f, De = b;
1418
- }, _n = (s) => {
1419
- !B || !e || cn(s);
1420
- }, Vn = (s) => {
1421
- !B || !e || cn(s);
1422
- }, Ln = () => {
1423
- B && (ue = !1, re().catch(console.warn));
1407
+ r = i.clientX, o = i.clientY;
1408
+ const f = e.getBoundingClientRect(), s = (r - f.left) / f.width, v = (o - f.top) / f.height;
1409
+ Ae = s, De = v;
1410
+ }, Bn = (i) => {
1411
+ !B || !e || sn(i);
1412
+ }, _n = (i) => {
1413
+ !B || !e || sn(i);
1414
+ }, Vn = () => {
1415
+ B && (ce = !1, Z().catch(console.warn));
1424
1416
  }, qn = () => {
1425
- B && (ue = !1, re().catch(console.warn));
1426
- }, fn = () => {
1427
- ue = !0, re().catch(console.warn);
1428
- }, mn = () => {
1429
- ue = !0, re().catch(console.warn);
1417
+ B && (ce = !1, Z().catch(console.warn));
1418
+ }, ln = () => {
1419
+ ce = !0, Z().catch(console.warn);
1420
+ }, cn = () => {
1421
+ ce = !0, Z().catch(console.warn);
1430
1422
  }, Gn = () => {
1431
- if (oe.length === 0) return;
1432
- const s = [...oe];
1433
- oe = [];
1434
- for (const { id: t, fragmentNodeFunc: o, parentId: l, metadata: f, uniforms: b, componentDefinition: g } of s) o && ln(t, o, l, f, b, g);
1435
- }, Nn = async ({ canvas: s, enablePerformanceTracking: t = !1 }) => {
1436
- if (B || ne) return;
1437
- de = t, ne = !0, I = new AbortController();
1438
- const o = I;
1423
+ if (te.length === 0) return;
1424
+ const i = [...te];
1425
+ te = [];
1426
+ for (const { id: r, fragmentNodeFunc: o, parentId: f, metadata: s, uniforms: v, componentDefinition: b } of i) o && an(r, o, f, s, v, b);
1427
+ }, Ln = async ({ canvas: i, enablePerformanceTracking: r = !1 }) => {
1428
+ if (B || K) return;
1429
+ fe = r, K = !0, X = new AbortController();
1430
+ const o = X;
1439
1431
  try {
1440
- if (e = s, r = new Jn(), r.background = null, a = new Yn(-1, 1, 1, -1, 0.1, 10), a.position.z = 1, a.lookAt(0, 0, 0), Fe = Xt.register({
1441
- onMouseMove: _n,
1442
- onTouchMove: Vn,
1443
- onMouseUp: Ln,
1432
+ if (e = i, t = new Qn(), t.background = null, l = new Xn(-1, 1, 1, -1, 0.1, 10), l.position.z = 1, l.lookAt(0, 0, 0), Ee = Pr.register({
1433
+ onMouseMove: Bn,
1434
+ onTouchMove: _n,
1435
+ onMouseUp: Vn,
1444
1436
  onTouchEnd: qn
1445
- }), s.addEventListener("mousedown", fn), s.addEventListener("touchstart", mn), Te = () => {
1446
- un();
1447
- }, window.addEventListener("beforeunload", Te), o.signal.aborted) return;
1437
+ }), i.addEventListener("mousedown", ln), i.addEventListener("touchstart", cn), ve = () => {
1438
+ fn();
1439
+ }, window.addEventListener("beforeunload", ve), o.signal.aborted) return;
1448
1440
  try {
1449
- const E = {
1450
- canvas: s,
1441
+ const F = {
1442
+ canvas: i,
1451
1443
  antialias: !0,
1452
1444
  alpha: !0,
1453
1445
  depth: !1,
1454
1446
  powerPreference: "high-performance"
1455
1447
  };
1456
- if (de && (E.forceWebGL = !1, E.requiredFeatures = ["timestamp-query"]), n = new Je(E), await n.init(), o.signal.aborted) return;
1457
- } catch (E) {
1448
+ if (fe && (F.forceWebGL = !1, F.requiredFeatures = ["timestamp-query"]), n = new Ze(F), await n.init(), o.signal.aborted) return;
1449
+ } catch (F) {
1458
1450
  if (o.signal.aborted) return;
1459
- console.warn("[Shaders] WebGPU initialization failed, falling back to WebGL:", E);
1451
+ console.warn("[Shaders] WebGPU initialization failed, falling back to WebGL:", F);
1460
1452
  try {
1461
- if (n = new st({
1462
- canvas: s,
1453
+ if (n = new or({
1454
+ canvas: i,
1463
1455
  antialias: !0,
1464
1456
  alpha: !0,
1465
1457
  depth: !1,
@@ -1472,38 +1464,38 @@ function cs() {
1472
1464
  }
1473
1465
  }
1474
1466
  if (o.signal.aborted) return;
1475
- n.setPixelRatio(Math.min(window.devicePixelRatio, 2)), n.outputColorSpace = In, p = new dn({ transparent: !0 }), p.fragmentNode = x(0, 0, 0, 0), m = new ar(new Kn(2, 2), p), r.add(m);
1476
- const l = s.parentElement;
1477
- if (!l) {
1467
+ n.setPixelRatio(Math.min(window.devicePixelRatio, 2)), n.outputColorSpace = Yn, p = new un({ transparent: !0 }), p.fragmentNode = S(0, 0, 0, 0), u = new it(new Jn(2, 2), p), t.add(u);
1468
+ const f = i.parentElement;
1469
+ if (!f) {
1478
1470
  console.warn("[Shaders] Canvas has no parent element for resize observation");
1479
1471
  return;
1480
1472
  }
1481
- U = new ResizeObserver(xn), U.observe(l), V = new IntersectionObserver(Mn, { threshold: 0 }), V.observe(s);
1482
- const f = s.getBoundingClientRect();
1483
- N = f.width > 0 && f.height > 0 && f.top < window.innerHeight && f.bottom > 0 && f.left < window.innerWidth && f.right > 0, te = N && f.width > 0 && f.height > 0, ae = !0;
1484
- const { width: b, height: g } = s.getBoundingClientRect(), w = Math.round(b), M = Math.round(g);
1485
- w > 0 && M > 0 ? (Xe(w, M), Y = !0, await re()) : Y = !1, ae && N && je(), o.signal.aborted || (B = !0, Ge = !0, Gn());
1486
- } catch (l) {
1487
- console.error("[Shaders] Initialization error:", l);
1473
+ U = new ResizeObserver(Un), U.observe(f), _ = new IntersectionObserver(Sn, { threshold: 0 }), _.observe(i);
1474
+ const s = i.getBoundingClientRect();
1475
+ L = s.width > 0 && s.height > 0 && s.top < window.innerHeight && s.bottom > 0 && s.left < window.innerWidth && s.right > 0, ne = L && s.width > 0 && s.height > 0, ie = !0;
1476
+ const { width: v, height: b } = i.getBoundingClientRect(), m = Math.round(v), M = Math.round(b);
1477
+ m > 0 && M > 0 ? (Ye(m, M), P = !0, await Z()) : P = !1, ie && L && Je(), o.signal.aborted || (B = !0, Ne = !0, Gn());
1478
+ } catch (f) {
1479
+ console.error("[Shaders] Initialization error:", f);
1488
1480
  } finally {
1489
- ne = !1, I === o && (I = null);
1481
+ K = !1, X === o && (X = null);
1490
1482
  }
1491
- }, Xn = () => {
1492
- !Yt() || Tn || (console.warn("Shaders is running in development mode. Please purchase a license at https://shaders.com to use it in production."), Tn = !0);
1493
- }, un = () => {
1494
- if (I && I.abort(), U && (U.disconnect(), U = null), V && (V.disconnect(), V = null), Fe && (Fe(), Fe = null), e && (e.removeEventListener("mousedown", fn), e.removeEventListener("touchstart", mn)), Te && (window.removeEventListener("beforeunload", Te), Te = null), Qe(), rn(), ke.forEach((s) => {
1483
+ }, Nn = () => {
1484
+ !Xr() || Cn || (console.warn("Shaders is running in development mode. Please purchase a license at https://shaders.com to use it in production."), Cn = !0);
1485
+ }, fn = () => {
1486
+ if (X && X.abort(), U && (U.disconnect(), U = null), _ && (_.disconnect(), _ = null), Ee && (Ee(), Ee = null), e && (e.removeEventListener("mousedown", ln), e.removeEventListener("touchstart", cn)), ve && (window.removeEventListener("beforeunload", ve), ve = null), Ke(), on(), Ce.forEach((i) => {
1495
1487
  try {
1496
- s?.renderTarget?.dispose && s.renderTarget.dispose();
1488
+ i?.renderTarget?.dispose && i.renderTarget.dispose();
1497
1489
  } catch {
1498
1490
  }
1499
- }), ke.clear(), h.nodes.clear(), h.rootId = null, h.idToNodeId.clear(), d.clear(), oe = [], Ge = !1, Ee = [], ge !== null && (cancelAnimationFrame(ge), ge = null), Oe = [], be !== null && (cancelAnimationFrame(be), be = null), we = null, Pe = !1, m) {
1500
- r && r.remove(m);
1491
+ }), Ce.clear(), h.nodes.clear(), h.rootId = null, h.idToNodeId.clear(), d.clear(), te = [], Ne = !1, Fe = [], de !== null && (cancelAnimationFrame(de), de = null), $e = [], he !== null && (cancelAnimationFrame(he), he = null), Re = null, Oe = !1, u) {
1492
+ t && t.remove(u);
1501
1493
  try {
1502
- m.geometry && typeof m.geometry.dispose == "function" && m.geometry.dispose();
1494
+ u.geometry && typeof u.geometry.dispose == "function" && u.geometry.dispose();
1503
1495
  } catch {
1504
1496
  }
1505
1497
  try {
1506
- m.material instanceof Qn && typeof m.material.dispose == "function" && m.material.dispose();
1498
+ u.material instanceof jn && typeof u.material.dispose == "function" && u.material.dispose();
1507
1499
  } catch {
1508
1500
  }
1509
1501
  }
@@ -1511,177 +1503,194 @@ function cs() {
1511
1503
  n.dispose();
1512
1504
  } catch {
1513
1505
  }
1514
- e = null, n = null, a = null, r = null, m = null, p = null, B = !1, ne = !1, Y = !1, I = null, z = 0, F = 0, N = !1, ae = !0, $e = 0.5, De = 0.5, ue = !1;
1506
+ e = null, n = null, l = null, t = null, u = null, p = null, B = !1, K = !1, P = !1, X = null, z = 0, E = 0, L = !1, ie = !0, Ae = 0.5, De = 0.5, ce = !1;
1515
1507
  };
1516
1508
  return {
1517
- initialize: Nn,
1518
- cleanup: un,
1519
- registerNode: ln,
1520
- removeNode: We,
1521
- updateUniformValue: zn,
1522
- updateNodeMetadata: Fn,
1523
- showLicenseWarning: Xn,
1509
+ initialize: Ln,
1510
+ cleanup: fn,
1511
+ registerNode: an,
1512
+ removeNode: Qe,
1513
+ updateUniformValue: Dn,
1514
+ updateNodeMetadata: zn,
1515
+ showLicenseWarning: Nn,
1524
1516
  isInitialized: () => B,
1525
- startAnimation: je,
1526
- stopAnimation: Qe,
1527
- getPerformanceStats: Pn,
1517
+ startAnimation: Je,
1518
+ stopAnimation: Ke,
1519
+ getPerformanceStats: On,
1528
1520
  getNodeRegistry: () => ({ nodes: new Map(h.nodes) }),
1529
- getRendererType: () => n ? n instanceof Je ? "webgpu" : "webgl" : null
1521
+ getRendererType: () => n ? n instanceof Ze ? "webgpu" : "webgl" : null,
1522
+ __testing: {
1523
+ isUVComposable: H,
1524
+ canSkipRTT: ke,
1525
+ hasUVPropagationOpportunity: We,
1526
+ needsTransformation: oe,
1527
+ findUVChain: Be,
1528
+ findSiblingUVChain: He,
1529
+ findChildNodes: Y,
1530
+ composeUVContextChain: _e,
1531
+ composeUVChain: Ve,
1532
+ composeSiblingUVChain: Ie,
1533
+ composeSiblingsWithUVContext: je,
1534
+ applyMaskIfNeeded: ee,
1535
+ applyNodeTransformation: re,
1536
+ getNodeRegistry: () => h,
1537
+ getParentToChildren: () => d
1538
+ }
1530
1539
  };
1531
1540
  }
1532
- Sn();
1533
- function fs(e) {
1534
- const n = /* @__PURE__ */ new Map(), a = /* @__PURE__ */ new Map(), r = {
1541
+ yn();
1542
+ function ci(e) {
1543
+ const n = /* @__PURE__ */ new Map(), l = /* @__PURE__ */ new Map(), t = {
1535
1544
  processingOrder: [],
1536
1545
  maskSources: /* @__PURE__ */ new Map(),
1537
1546
  circularDependencies: []
1538
1547
  };
1539
- return e.forEach((m) => {
1540
- m.elementId && n.set(m.elementId, m.id);
1541
- }), e.forEach((m) => {
1542
- if (m.mask?.source) {
1543
- const p = m.mask.source.startsWith("#") ? m.mask.source.substring(1) : m.mask.source, h = n.get(p);
1544
- h ? (a.has(m.id) || a.set(m.id, []), a.get(m.id)?.push(h), r.maskSources.set(m.id, h)) : console.warn(`Mask source "${p}" not found for node "${m.id}"`);
1548
+ return e.forEach((u) => {
1549
+ u.elementId && n.set(u.elementId, u.id);
1550
+ }), e.forEach((u) => {
1551
+ if (u.mask?.source) {
1552
+ const p = u.mask.source.startsWith("#") ? u.mask.source.substring(1) : u.mask.source, h = n.get(p);
1553
+ h ? (l.has(u.id) || l.set(u.id, []), l.get(u.id)?.push(h), t.maskSources.set(u.id, h)) : console.warn(`Mask source "${p}" not found for node "${u.id}"`);
1545
1554
  }
1546
- }), r.processingOrder = It(a, r.circularDependencies), r;
1555
+ }), t.processingOrder = Yr(l, t.circularDependencies), t;
1547
1556
  }
1548
- function It(e, n) {
1549
- const a = [], r = /* @__PURE__ */ new Set(), m = /* @__PURE__ */ new Set();
1550
- function p(d, R = []) {
1551
- if (r.has(d)) return;
1552
- if (m.has(d)) {
1553
- const V = [...R.slice(R.indexOf(d)), d];
1554
- n.push(V);
1557
+ function Yr(e, n) {
1558
+ const l = [], t = /* @__PURE__ */ new Set(), u = /* @__PURE__ */ new Set();
1559
+ function p(d, T = []) {
1560
+ if (t.has(d)) return;
1561
+ if (u.has(d)) {
1562
+ const _ = [...T.slice(T.indexOf(d)), d];
1563
+ n.push(_);
1555
1564
  return;
1556
1565
  }
1557
- m.add(d), R.push(d);
1566
+ u.add(d), T.push(d);
1558
1567
  const U = e.get(d) || [];
1559
- for (const V of U) p(V, [...R]);
1560
- m.delete(d), r.add(d), a.push(d);
1568
+ for (const _ of U) p(_, [...T]);
1569
+ u.delete(d), t.add(d), l.push(d);
1561
1570
  }
1562
- for (const d of e.keys()) r.has(d) || p(d);
1571
+ for (const d of e.keys()) t.has(d) || p(d);
1563
1572
  const h = new Set([...e.values()].flat());
1564
- for (const d of h) !r.has(d) && !e.has(d) && a.push(d);
1565
- return a.reverse();
1573
+ for (const d of h) !t.has(d) && !e.has(d) && l.push(d);
1574
+ return l.reverse();
1566
1575
  }
1567
1576
  D();
1568
- var { vec2: Ht, fract: Wt, sin: jt, dot: Qt } = pe;
1569
- const Jt = (e) => Wt(jt(Qt(e, Ht(12.12345, 78.12345))).mul(40000.12345)), ms = (e = 0.03) => (n) => Jt(n).mul(e).mul(0.10012345);
1577
+ var { vec2: Hr, fract: Ir, sin: Wr, dot: jr } = me;
1578
+ const Qr = (e) => Ir(Wr(jr(e, Hr(12.12345, 78.12345))).mul(40000.12345)), fi = (e = 0.03) => (n) => Qr(n).mul(e).mul(0.10012345);
1570
1579
  D();
1571
- var { vec2: Kt } = pe;
1572
- const us = (e = Kt(0), n = 0.02, a = 1, r = 1) => {
1573
- const { vec2: m, sin: p, cos: h, time: d } = pe, R = r * 1.618033988749895, U = r * 2.718281828459045, V = (Math.sin(r) + 2) * 5, B = (Math.cos(r) + 2) * 5, ne = m(p(e.x.mul(a).mul(V).add(d.mul(0.1)).add(R)), h(e.y.mul(a).mul(V).add(d.mul(0.1)).add(U))), Y = m(p(e.y.mul(a).mul(B).add(d.mul(0.05)).add(U)), h(e.x.mul(a).mul(B).add(d.mul(0.05)).add(R))), I = ne.add(Y).mul(n);
1574
- return e.add(I);
1580
+ var { vec2: Jr } = me;
1581
+ const ui = (e = Jr(0), n = 0.02, l = 1, t = 1) => {
1582
+ const { vec2: u, sin: p, cos: h, time: d } = me, T = t * 1.618033988749895, U = t * 2.718281828459045, _ = (Math.sin(t) + 2) * 5, B = (Math.cos(t) + 2) * 5, K = u(p(e.x.mul(l).mul(_).add(d.mul(0.1)).add(T)), h(e.y.mul(l).mul(_).add(d.mul(0.1)).add(U))), P = u(p(e.y.mul(l).mul(B).add(d.mul(0.05)).add(U)), h(e.x.mul(l).mul(B).add(d.mul(0.05)).add(T))), X = K.add(P).mul(n);
1583
+ return e.add(X);
1575
1584
  };
1576
1585
  D();
1577
- const ds = (e, n, a = 0.6, r = 0.3, m = 1) => {
1578
- const { max: p, smoothstep: h, vec4: d } = pe, R = p(p(e.r, e.g), e.b), U = h(a, a + r, R).mul(m).mul(1);
1586
+ const mi = (e, n, l = 0.6, t = 0.3, u = 1) => {
1587
+ const { max: p, smoothstep: h, vec4: d } = me, T = p(p(e.r, e.g), e.b), U = h(l, l + t, T).mul(u).mul(1);
1579
1588
  return d(e.rgb.add(n.rgb.mul(U)), e.a);
1580
1589
  };
1581
1590
  D();
1582
- const hs = (e = {}) => {
1583
- const { inset: n = 0.4, softness: a = 0.5, offsetX: r = 0, offsetY: m = 0 } = e, { float: p, smoothstep: h, uv: d } = pe, R = d(), U = R.x.sub(0.5).sub(p(r)).mul(2), V = R.y.sub(0.5).add(p(m)).mul(2), B = U.mul(U).add(V.mul(V)).sqrt();
1584
- return p(1).sub(h(p(1).sub(p(n)), p(1).sub(p(n)).add(p(a)), B.mul(p(1).add(p(a)))));
1591
+ const di = (e = {}) => {
1592
+ const { inset: n = 0.4, softness: l = 0.5, offsetX: t = 0, offsetY: u = 0 } = e, { float: p, smoothstep: h, uv: d } = me, T = d(), U = T.x.sub(0.5).sub(p(t)).mul(2), _ = T.y.sub(0.5).add(p(u)).mul(2), B = U.mul(U).add(_.mul(_)).sqrt();
1593
+ return p(1).sub(h(p(1).sub(p(n)), p(1).sub(p(n)).add(p(l)), B.mul(p(1).add(p(l)))));
1585
1594
  };
1586
- var Zt = () => {
1595
+ var Kr = () => {
1587
1596
  const e = {};
1588
1597
  return Object.entries({
1589
- AngularBlur: ir,
1590
- Ascii: lr,
1591
- Blob: cr,
1592
- Blur: fr,
1593
- Bulge: mr,
1594
- ChannelBlur: ur,
1595
- Checkerboard: dr,
1596
- ChromaFlow: hr,
1597
- ChromaticAberration: pr,
1598
- Circle: gr,
1599
- CRTScreen: br,
1600
- CursorTrail: vr,
1601
- DiffuseBlur: Cr,
1602
- Dither: Rr,
1603
- DotGrid: Tr,
1604
- Duotone: kr,
1605
- FilmGrain: wr,
1606
- FloatingParticles: yr,
1607
- GlassTiles: Sr,
1608
- Glow: Ur,
1609
- Godrays: xr,
1610
- Grayscale: Mr,
1611
- Grid: Ar,
1612
- GridDistortion: $r,
1613
- Group: Dr,
1614
- Halftone: zr,
1615
- HueShift: Fr,
1616
- ImageTexture: Er,
1617
- Invert: Or,
1618
- LinearBlur: Br,
1619
- LinearGradient: Pr,
1620
- Liquify: _r,
1621
- Pixelate: Vr,
1622
- PolarCoordinates: Lr,
1623
- Posterize: qr,
1624
- ProgressiveBlur: Gr,
1625
- RadialGradient: Nr,
1626
- RectangularCoordinates: Xr,
1627
- Ripples: Yr,
1628
- Saturation: Ir,
1629
- SimplexNoise: Hr,
1630
- SineWave: Wr,
1631
- SolidColor: jr,
1632
- Spiral: Qr,
1633
- Strands: Jr,
1634
- Swirl: Kr,
1635
- TiltShift: Zr,
1636
- Tritone: et,
1637
- Twirl: nt,
1638
- Vibrance: rt,
1639
- WaveDistortion: tt,
1640
- ZoomBlur: ot
1641
- }).forEach(([a, r]) => {
1642
- const m = {};
1643
- r.props && Object.entries(r.props).forEach(([p, h]) => {
1644
- h.ui && (m[p] = {
1598
+ AngularBlur: at,
1599
+ Ascii: st,
1600
+ Blob: lt,
1601
+ Blur: ct,
1602
+ Bulge: ft,
1603
+ ChannelBlur: ut,
1604
+ Checkerboard: mt,
1605
+ ChromaFlow: dt,
1606
+ ChromaticAberration: ht,
1607
+ Circle: pt,
1608
+ CRTScreen: gt,
1609
+ CursorTrail: bt,
1610
+ DiffuseBlur: vt,
1611
+ Dither: Ct,
1612
+ DotGrid: Rt,
1613
+ Duotone: Tt,
1614
+ FilmGrain: kt,
1615
+ FloatingParticles: yt,
1616
+ GlassTiles: wt,
1617
+ Glow: Ut,
1618
+ Godrays: St,
1619
+ Grayscale: Mt,
1620
+ Grid: xt,
1621
+ GridDistortion: At,
1622
+ Group: Dt,
1623
+ Halftone: zt,
1624
+ HueShift: Et,
1625
+ ImageTexture: Ft,
1626
+ Invert: $t,
1627
+ LinearBlur: Ot,
1628
+ LinearGradient: Bt,
1629
+ Liquify: _t,
1630
+ Pixelate: Vt,
1631
+ PolarCoordinates: qt,
1632
+ Posterize: Gt,
1633
+ ProgressiveBlur: Lt,
1634
+ RadialGradient: Nt,
1635
+ RectangularCoordinates: Pt,
1636
+ Ripples: Xt,
1637
+ Saturation: Yt,
1638
+ SimplexNoise: Ht,
1639
+ SineWave: It,
1640
+ SolidColor: Wt,
1641
+ Spiral: jt,
1642
+ Strands: Qt,
1643
+ Swirl: Jt,
1644
+ TiltShift: Kt,
1645
+ Tritone: Zt,
1646
+ Twirl: er,
1647
+ Vibrance: nr,
1648
+ WaveDistortion: tr,
1649
+ ZoomBlur: rr
1650
+ }).forEach(([l, t]) => {
1651
+ const u = {};
1652
+ t.props && Object.entries(t.props).forEach(([p, h]) => {
1653
+ h.ui && (u[p] = {
1645
1654
  ui: h.ui,
1646
1655
  default: h.default,
1647
1656
  description: h.description
1648
1657
  });
1649
- }), e[r.name] = {
1650
- name: r.name,
1651
- fileName: a,
1652
- category: r.category || "Uncategorized",
1653
- definition: r,
1654
- propsMetadata: m
1658
+ }), e[t.name] = {
1659
+ name: t.name,
1660
+ fileName: l,
1661
+ category: t.category || "Uncategorized",
1662
+ definition: t,
1663
+ propsMetadata: u
1655
1664
  };
1656
1665
  }), e;
1657
1666
  };
1658
- const Le = Zt();
1659
- function ps() {
1660
- return Object.values(Le);
1667
+ const qe = Kr();
1668
+ function hi() {
1669
+ return Object.values(qe);
1661
1670
  }
1662
- function gs(e) {
1663
- return Le[e];
1671
+ function pi(e) {
1672
+ return qe[e];
1664
1673
  }
1665
- function bs(e) {
1666
- return Object.values(Le).filter((n) => n.category === e);
1674
+ function gi(e) {
1675
+ return Object.values(qe).filter((n) => n.category === e);
1667
1676
  }
1668
- function vs() {
1669
- const e = new Set(Object.values(Le).map((n) => n.category));
1677
+ function bi() {
1678
+ const e = new Set(Object.values(qe).map((n) => n.category));
1670
1679
  return Array.from(e).sort();
1671
1680
  }
1672
1681
  export {
1673
- oo as createAnimatedTime,
1674
- Gt as createUniformsMap,
1675
- us as distort,
1676
- hs as edgeMask,
1677
- ps as getAllShaders,
1678
- gs as getShaderByName,
1679
- vs as getShaderCategories,
1680
- bs as getShadersByCategory,
1681
- ds as glow,
1682
- ms as grain,
1683
- fs as resolveMaskDependencies,
1684
- Le as shaderRegistry,
1685
- cs as shaderRenderer,
1686
- Nt as updateUniformValue
1682
+ ro as createAnimatedTime,
1683
+ Lr as createUniformsMap,
1684
+ ui as distort,
1685
+ di as edgeMask,
1686
+ hi as getAllShaders,
1687
+ pi as getShaderByName,
1688
+ bi as getShaderCategories,
1689
+ gi as getShadersByCategory,
1690
+ mi as glow,
1691
+ fi as grain,
1692
+ ci as resolveMaskDependencies,
1693
+ qe as shaderRegistry,
1694
+ li as shaderRenderer,
1695
+ Nr as updateUniformValue
1687
1696
  };