shaders 2.2.4 → 2.2.8

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