aoi-comp 1.0.0

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.
@@ -0,0 +1,3460 @@
1
+ import { n as e } from "./rolldown-runtime-CWhphoD1.js";
2
+ import { $ as t, A as n, B as r, E as i, I as a, J as o, K as s, O as c, Q as l, R as u, S as d, V as f, X as p, Y as m, Z as h, b as g, et as _, it as v, l as y, nt as b, o as x, rt as S, tt as C, y as w, z as T } from "./Geometry-CN7W9DnD.js";
3
+ import { n as E, r as D, t as O } from "./canvasUtils-D0KM_fKp.js";
4
+ import { D as k, a as A, c as j, d as M, f as N, i as P, l as F, o as I, r as ee, s as te, t as ne, u as re } from "./RenderTargetSystem-D_FiZPnb.js";
5
+ import { t as ie } from "./getTextureBatchBindGroup-CLFTP_Vc.js";
6
+ //#region node_modules/.pnpm/earcut@3.2.3/node_modules/earcut/src/earcut.js
7
+ var L = /* @__PURE__ */ new Set(), R = !1;
8
+ function ae(e, t, n = 2) {
9
+ let r = t && t.length, i = r ? t[0] * n : e.length;
10
+ L.size && L.clear();
11
+ let a = oe(e, 0, i, n, !0), o = [];
12
+ if (!a || a.next === a.prev) return o;
13
+ let s = 0, c = 0, l = 0;
14
+ if (r && (a = ue(e, t, a, n)), e.length > 80 * n) {
15
+ s = e[0], c = e[1];
16
+ let t = s, r = c;
17
+ for (let a = n; a < i; a += n) {
18
+ let n = e[a], i = e[a + 1];
19
+ n < s && (s = n), i < c && (c = i), n > t && (t = n), i > r && (r = i);
20
+ }
21
+ l = Math.max(t - s, r - c), l = l === 0 ? 0 : 32767 / l;
22
+ }
23
+ return B(a, o, s, c, l), o;
24
+ }
25
+ function oe(e, t, n, r, i) {
26
+ let a = null;
27
+ if (i === We(e, t, n, r) > 0) for (let i = t; i < n; i += r) a = Ve(i / r | 0, e[i], e[i + 1], a);
28
+ else for (let i = n - r; i >= t; i -= r) a = Ve(i / r | 0, e[i], e[i + 1], a);
29
+ return a && Pe(a, a.next) && (He(a), a = a.next), a;
30
+ }
31
+ function z(e, t = e) {
32
+ let n = t === e, r = e, i;
33
+ do
34
+ i = !1, r !== r.next && (L.size === 0 || !L.has(r)) && (Pe(r, r.next) || K(r.prev, r, r.next) === 0) ? ((n || r === t) && (t = r.prev), R = !0, He(r), r = r.prev, i = !0) : (n || r !== t) && (r = r.next, i = !n);
35
+ while (i || r !== t);
36
+ return t;
37
+ }
38
+ function B(e, t, n, r, i) {
39
+ i && De(e, n, r, i);
40
+ let a = e, o = !1;
41
+ for (; e.prev !== e.next;) {
42
+ let s = e.prev, c = e.next;
43
+ if (K(s, e, c) < 0 && (i ? ce(e, n, r, i) : se(e))) {
44
+ t.push(s.i, e.i, c.i), He(e), e = c, a = c;
45
+ continue;
46
+ }
47
+ if (e = c, e === a) {
48
+ if (R = !1, e = z(e), R) {
49
+ a = e;
50
+ continue;
51
+ }
52
+ if (!o) {
53
+ e = V(e, t), a = e, o = !0;
54
+ continue;
55
+ }
56
+ H(e, t, n, r, i);
57
+ break;
58
+ }
59
+ }
60
+ }
61
+ function se(e) {
62
+ let t = e.prev, n = e, r = e.next, i = t.x, a = n.x, o = r.x, s = t.y, c = n.y, l = r.y, u = Math.min(i, a, o), d = Math.min(s, c, l), f = Math.max(i, a, o), p = Math.max(s, c, l), m = r.next;
63
+ for (; m !== t;) {
64
+ if (m.x >= u && m.x <= f && m.y >= d && m.y <= p && !(i === m.x && s === m.y) && Me(i, s, a, c, o, l, m.x, m.y) && K(m.prev, m, m.next) >= 0) return !1;
65
+ m = m.next;
66
+ }
67
+ return !0;
68
+ }
69
+ function ce(e, t, n, r) {
70
+ let i = e.prev, a = e, o = e.next, s = i.x, c = a.x, l = o.x, u = i.y, d = a.y, f = o.y, p = Math.min(s, c, l), m = Math.min(u, d, f), h = Math.max(s, c, l), g = Math.max(u, d, f), _ = Ae(p, m, t, n, r), v = Ae(h, g, t, n, r), y = e.prevZ;
71
+ for (; y && y.z >= _;) {
72
+ if (y.x >= p && y.x <= h && y.y >= m && y.y <= g && y !== o && !(s === y.x && u === y.y) && Me(s, u, c, d, l, f, y.x, y.y) && K(y.prev, y, y.next) >= 0) return !1;
73
+ y = y.prevZ;
74
+ }
75
+ let b = e.nextZ;
76
+ for (; b && b.z <= v;) {
77
+ if (b.x >= p && b.x <= h && b.y >= m && b.y <= g && b !== o && !(s === b.x && u === b.y) && Me(s, u, c, d, l, f, b.x, b.y) && K(b.prev, b, b.next) >= 0) return !1;
78
+ b = b.nextZ;
79
+ }
80
+ return !0;
81
+ }
82
+ function V(e, t) {
83
+ let n = e, r = !1;
84
+ do {
85
+ let i = n.prev, a = n.next.next;
86
+ Fe(i, n, n.next, a, !1) && Re(i, a) && Re(a, i) && (t.push(i.i, n.i, a.i), He(n), He(n.next), n = e = a, r = !0), n = n.next;
87
+ } while (n !== e);
88
+ return r ? z(n) : n;
89
+ }
90
+ function H(e, t, n, r, i) {
91
+ let a = e;
92
+ do {
93
+ let e = a.next.next;
94
+ for (; e !== a.prev;) {
95
+ if (a.i !== e.i && Ne(a, e)) {
96
+ let o = Be(a, e);
97
+ a = z(a, a.next), o = z(o, o.next), B(a, t, n, r, i), B(o, t, n, r, i);
98
+ return;
99
+ }
100
+ e = e.next;
101
+ }
102
+ a = a.next;
103
+ } while (a !== e);
104
+ }
105
+ var le = !1;
106
+ function ue(e, t, n, r) {
107
+ let i = [];
108
+ for (let n = 0, a = t.length; n < a; n++) {
109
+ let o = oe(e, t[n] * r, n < a - 1 ? t[n + 1] * r : e.length, r, !1);
110
+ o === o.next && L.add(o), i.push(je(o));
111
+ }
112
+ i.sort(de), _e(e.length / r, t.length), ve(n, n), le = !0;
113
+ for (let e = 0; e < i.length; e++) n = fe(i[e], n);
114
+ return le = !1, z(n);
115
+ }
116
+ function de(e, t) {
117
+ return e.x - t.x || e.y - t.y || (e.next.y - e.y) / (e.next.x - e.x) - (t.next.y - t.y) / (t.next.x - t.x);
118
+ }
119
+ function fe(e, t) {
120
+ let n = Se(e, t);
121
+ if (!n) return t;
122
+ let r = Be(n, e), i = r.next;
123
+ return ve(n, i.next), z(r, r.next), z(n, n.next);
124
+ }
125
+ var pe = 16, U = /* @__PURE__ */ new Float64Array(), me = 0, he = [], ge = [];
126
+ function _e(e, t) {
127
+ let n = Math.ceil((e + 2 * t) / pe) + t + 2;
128
+ U.length < n * 4 && (U = new Float64Array(n * 4)), me = 0;
129
+ }
130
+ function ve(e, t) {
131
+ let n = e;
132
+ do {
133
+ let e = me++;
134
+ he[e] = n;
135
+ let r = Infinity, i = Infinity, a = -Infinity, o = -Infinity, s = 0;
136
+ do {
137
+ let t = n.next;
138
+ n.z = e, n.x < r && (r = n.x), n.x > a && (a = n.x), n.y < i && (i = n.y), n.y > o && (o = n.y), t.x < r && (r = t.x), t.x > a && (a = t.x), t.y < i && (i = t.y), t.y > o && (o = t.y), n = t;
139
+ } while (++s < pe && n !== t);
140
+ ge[e] = n;
141
+ let c = e * 4;
142
+ U[c] = r, U[c + 1] = i, U[c + 2] = a, U[c + 3] = o;
143
+ } while (n !== t);
144
+ }
145
+ function ye(e, t) {
146
+ let n = e.z * 4;
147
+ t.x < U[n] && (U[n] = t.x), t.y < U[n + 1] && (U[n + 1] = t.y), t.x > U[n + 2] && (U[n + 2] = t.x), t.y > U[n + 3] && (U[n + 3] = t.y);
148
+ }
149
+ function be(e) {
150
+ let t = ge[e];
151
+ for (; t.prev.next !== t;) t = t.next;
152
+ return ge[e] = t, t;
153
+ }
154
+ function xe(e) {
155
+ let t = he[e];
156
+ for (; t.prev.next !== t;) t = t.next;
157
+ return he[e] = t, t;
158
+ }
159
+ function Se(e, t) {
160
+ let n = t, r = e.x, i = e.y, a = -Infinity, o;
161
+ if (Pe(e, n)) return n;
162
+ for (let t = 0, s = 0; t < me; t++, s += 4) {
163
+ if (i < U[s + 1] || i > U[s + 3] || U[s] > r || U[s + 2] <= a) continue;
164
+ let c = be(t);
165
+ n = xe(t);
166
+ do {
167
+ if (n.prev.next === n) {
168
+ if (Pe(e, n.next)) return n.next;
169
+ if (i <= n.y && i >= n.next.y && n.next.y !== n.y) {
170
+ let e = n.x + (i - n.y) * (n.next.x - n.x) / (n.next.y - n.y);
171
+ if (e <= r && e > a && (a = e, o = n.x < n.next.x ? n : n.next, e === r)) return o;
172
+ }
173
+ }
174
+ n = n.next;
175
+ } while (n !== c);
176
+ }
177
+ if (!o) return null;
178
+ let s = o.x, c = o.y, l = Math.min(i, c), u = Math.max(i, c), d = Infinity;
179
+ for (let t = 0, f = 0; t < me; t++, f += 4) {
180
+ if (U[f + 2] < s || U[f] > r || U[f + 3] < l || U[f + 1] > u) continue;
181
+ let p = be(t);
182
+ n = xe(t);
183
+ do {
184
+ if (n.prev.next === n && r >= n.x && n.x >= s && r !== n.x && Me(i < c ? r : a, i, s, c, i < c ? a : r, i, n.x, n.y)) {
185
+ let t = Math.abs(i - n.y) / (r - n.x);
186
+ (Re(n, e) || n.y === i && n.next.y === i && n.next.x > r) && (t < d || t === d && (n.x > o.x || n.x === o.x && Ce(o, n))) && (o = n, d = t);
187
+ }
188
+ n = n.next;
189
+ } while (n !== p);
190
+ }
191
+ return o;
192
+ }
193
+ function Ce(e, t) {
194
+ return K(e.prev, e, t.prev) < 0 && K(t.next, e, e.next) < 0;
195
+ }
196
+ var W = [], we = [], G = /* @__PURE__ */ new Uint32Array(), Te = /* @__PURE__ */ new Uint32Array(), Ee = /* @__PURE__ */ new Uint32Array(256);
197
+ function De(e, t, n, r) {
198
+ let i = e, a = 0;
199
+ do
200
+ i.z = Ae(i.x, i.y, t, n, r), W[a++] = i, i = i.next;
201
+ while (i !== e);
202
+ Oe(a);
203
+ let o = null;
204
+ for (let e = 0; e < a; e++) {
205
+ let t = W[e];
206
+ t.prevZ = o, o && (o.nextZ = t), o = t;
207
+ }
208
+ o.nextZ = null;
209
+ }
210
+ function Oe(e) {
211
+ if (e <= 32) {
212
+ for (let t = 1; t < e; t++) {
213
+ let e = W[t], n = e.z, r = t - 1;
214
+ for (; r >= 0 && W[r].z > n;) W[r + 1] = W[r], r--;
215
+ W[r + 1] = e;
216
+ }
217
+ return;
218
+ }
219
+ G.length < e && (G = new Uint32Array(e), Te = new Uint32Array(e), we = Array(e));
220
+ for (let t = 0; t < e; t++) G[t] = W[t].z;
221
+ ke(e, W, G, we, Te, 0), ke(e, we, Te, W, G, 8), ke(e, W, G, we, Te, 16), ke(e, we, Te, W, G, 24);
222
+ }
223
+ function ke(e, t, n, r, i, a) {
224
+ Ee.fill(0);
225
+ for (let t = 0; t < e; t++) Ee[n[t] >>> a & 255]++;
226
+ let o = 0;
227
+ for (let e = 0; e < 256; e++) {
228
+ let t = Ee[e];
229
+ Ee[e] = o, o += t;
230
+ }
231
+ for (let o = 0; o < e; o++) {
232
+ let e = n[o], s = Ee[e >>> a & 255]++;
233
+ r[s] = t[o], i[s] = e;
234
+ }
235
+ }
236
+ function Ae(e, t, n, r, i) {
237
+ return e = (e - n) * i | 0, t = (t - r) * i | 0, e = (e | e << 8) & 16711935, e = (e | e << 4) & 252645135, e = (e | e << 2) & 858993459, e = (e | e << 1) & 1431655765, t = (t | t << 8) & 16711935, t = (t | t << 4) & 252645135, t = (t | t << 2) & 858993459, t = (t | t << 1) & 1431655765, e | t << 1;
238
+ }
239
+ function je(e) {
240
+ let t = e, n = e;
241
+ do
242
+ (t.x < n.x || t.x === n.x && t.y < n.y) && (n = t), t = t.next;
243
+ while (t !== e);
244
+ return n;
245
+ }
246
+ function Me(e, t, n, r, i, a, o, s) {
247
+ return (i - o) * (t - s) >= (e - o) * (a - s) && (e - o) * (r - s) >= (n - o) * (t - s) && (n - o) * (a - s) >= (i - o) * (r - s);
248
+ }
249
+ function Ne(e, t) {
250
+ let n = Pe(e, t) && K(e.prev, e, e.next) > 0 && K(t.prev, t, t.next) > 0;
251
+ return e.next.i !== t.i && (n || Re(e, t) && Re(t, e) && (K(e.prev, e, t.prev) !== 0 || K(e, t.prev, t) !== 0)) && !Le(e, t) && (n || ze(e, t));
252
+ }
253
+ function K(e, t, n) {
254
+ return (t.y - e.y) * (n.x - t.x) - (t.x - e.x) * (n.y - t.y);
255
+ }
256
+ function Pe(e, t) {
257
+ return e.x === t.x && e.y === t.y;
258
+ }
259
+ function Fe(e, t, n, r, i = !0) {
260
+ let a = K(e, t, n), o = K(e, t, r), s = K(n, r, e), c = K(n, r, t);
261
+ return (a > 0 && o < 0 || a < 0 && o > 0) && (s > 0 && c < 0 || s < 0 && c > 0) ? !0 : i ? !!(a === 0 && Ie(e, n, t) || o === 0 && Ie(e, r, t) || s === 0 && Ie(n, e, r) || c === 0 && Ie(n, t, r)) : !1;
262
+ }
263
+ function Ie(e, t, n) {
264
+ return t.x <= Math.max(e.x, n.x) && t.x >= Math.min(e.x, n.x) && t.y <= Math.max(e.y, n.y) && t.y >= Math.min(e.y, n.y);
265
+ }
266
+ function Le(e, t) {
267
+ let n = Math.min(e.x, t.x), r = Math.max(e.x, t.x), i = Math.min(e.y, t.y), a = Math.max(e.y, t.y), o = e;
268
+ do {
269
+ let s = o.next;
270
+ if (o.x > r && s.x > r || o.x < n && s.x < n || o.y > a && s.y > a || o.y < i && s.y < i) {
271
+ o = s;
272
+ continue;
273
+ }
274
+ if (o.i !== e.i && s.i !== e.i && o.i !== t.i && s.i !== t.i && Fe(o, s, e, t)) return !0;
275
+ o = s;
276
+ } while (o !== e);
277
+ return !1;
278
+ }
279
+ function Re(e, t) {
280
+ return K(e.prev, e, e.next) < 0 ? K(e, t, e.next) >= 0 && K(e, e.prev, t) >= 0 : K(e, t, e.prev) < 0 || K(e, e.next, t) < 0;
281
+ }
282
+ function ze(e, t) {
283
+ let n = e, r = !1, i = (e.x + t.x) / 2, a = (e.y + t.y) / 2;
284
+ do {
285
+ let e = n.next;
286
+ n.y > a != e.y > a && i < (e.x - n.x) * (a - n.y) / (e.y - n.y) + n.x && (r = !r), n = e;
287
+ } while (n !== e);
288
+ return r;
289
+ }
290
+ function Be(e, t) {
291
+ let n = Ue(e.i, e.x, e.y), r = Ue(t.i, t.x, t.y), i = e.next, a = t.prev;
292
+ return e.next = t, t.prev = e, n.next = i, i.prev = n, r.next = n, n.prev = r, a.next = r, r.prev = a, r;
293
+ }
294
+ function Ve(e, t, n, r) {
295
+ let i = Ue(e, t, n);
296
+ return r ? (i.next = r.next, i.prev = r, r.next.prev = i, r.next = i) : (i.prev = i, i.next = i), i;
297
+ }
298
+ function He(e) {
299
+ e.next.prev = e.prev, e.prev.next = e.next, e.prevZ && (e.prevZ.nextZ = e.nextZ), e.nextZ && (e.nextZ.prevZ = e.prevZ), le && ye(e.prev, e.next);
300
+ }
301
+ function Ue(e, t, n) {
302
+ return {
303
+ i: e,
304
+ x: t,
305
+ y: n,
306
+ prev: null,
307
+ next: null,
308
+ z: 0,
309
+ prevZ: null,
310
+ nextZ: null
311
+ };
312
+ }
313
+ function We(e, t, n, r) {
314
+ let i = 0;
315
+ for (let a = t, o = n - r; a < n; a += r) i += (e[o] - e[a]) * (e[a + 1] + e[o + 1]), o = a;
316
+ return i;
317
+ }
318
+ //#endregion
319
+ //#region node_modules/.pnpm/pixi.js@8.20.1/node_modules/pixi.js/lib/utils/utils.mjs
320
+ var Ge = ae.default || ae, Ke = {
321
+ a: 7,
322
+ c: 6,
323
+ h: 1,
324
+ l: 2,
325
+ m: 2,
326
+ q: 4,
327
+ s: 4,
328
+ t: 2,
329
+ v: 1,
330
+ z: 0
331
+ }, qe = /([astvzqmhlc])([^astvzqmhlc]*)/gi, Je = /-?[0-9]*\.?[0-9]+(?:e[-+]?\d+)?/gi;
332
+ function Ye(e) {
333
+ let t = [];
334
+ return e.replace(qe, (e, n, r) => {
335
+ let i = n.toLowerCase(), a = n, o = Xe(r);
336
+ for (i === "m" && o.length > 2 && (t.push([a, ...o.splice(0, 2)]), i = "l", a = a === "m" ? "l" : "L");;) {
337
+ if (o.length === Ke[i]) return t.push([a, ...o]), "";
338
+ if (o.length < Ke[i]) throw Error("malformed path data");
339
+ t.push([a, ...o.splice(0, Ke[i])]);
340
+ }
341
+ }), t;
342
+ }
343
+ function Xe(e) {
344
+ let t = e.match(Je);
345
+ return t ? t.map(Number) : [];
346
+ }
347
+ //#endregion
348
+ //#region node_modules/.pnpm/pixi.js@8.20.1/node_modules/pixi.js/lib/scene/graphics/shared/svg/parseSVGPath.mjs
349
+ function Ze(e, t) {
350
+ let n = Ye(e), r = [], i = null, a = 0, o = 0;
351
+ for (let e = 0; e < n.length; e++) {
352
+ let s = n[e], c = s[0], l = s;
353
+ switch (c) {
354
+ case "M":
355
+ a = l[1], o = l[2], t.moveTo(a, o);
356
+ break;
357
+ case "m":
358
+ a += l[1], o += l[2], t.moveTo(a, o);
359
+ break;
360
+ case "H":
361
+ a = l[1], t.lineTo(a, o);
362
+ break;
363
+ case "h":
364
+ a += l[1], t.lineTo(a, o);
365
+ break;
366
+ case "V":
367
+ o = l[1], t.lineTo(a, o);
368
+ break;
369
+ case "v":
370
+ o += l[1], t.lineTo(a, o);
371
+ break;
372
+ case "L":
373
+ a = l[1], o = l[2], t.lineTo(a, o);
374
+ break;
375
+ case "l":
376
+ a += l[1], o += l[2], t.lineTo(a, o);
377
+ break;
378
+ case "C":
379
+ a = l[5], o = l[6], t.bezierCurveTo(l[1], l[2], l[3], l[4], a, o);
380
+ break;
381
+ case "c":
382
+ t.bezierCurveTo(a + l[1], o + l[2], a + l[3], o + l[4], a + l[5], o + l[6]), a += l[5], o += l[6];
383
+ break;
384
+ case "S":
385
+ a = l[3], o = l[4], t.bezierCurveToShort(l[1], l[2], a, o);
386
+ break;
387
+ case "s":
388
+ t.bezierCurveToShort(a + l[1], o + l[2], a + l[3], o + l[4]), a += l[3], o += l[4];
389
+ break;
390
+ case "Q":
391
+ a = l[3], o = l[4], t.quadraticCurveTo(l[1], l[2], a, o);
392
+ break;
393
+ case "q":
394
+ t.quadraticCurveTo(a + l[1], o + l[2], a + l[3], o + l[4]), a += l[3], o += l[4];
395
+ break;
396
+ case "T":
397
+ a = l[1], o = l[2], t.quadraticCurveToShort(a, o);
398
+ break;
399
+ case "t":
400
+ a += l[1], o += l[2], t.quadraticCurveToShort(a, o);
401
+ break;
402
+ case "A":
403
+ a = l[6], o = l[7], t.arcToSvg(l[1], l[2], l[3], l[4], l[5], a, o);
404
+ break;
405
+ case "a":
406
+ a += l[6], o += l[7], t.arcToSvg(l[1], l[2], l[3], l[4], l[5], a, o);
407
+ break;
408
+ case "Z":
409
+ case "z":
410
+ t.closePath(), r.length > 0 && (i = r.pop(), i ? (a = i.startX, o = i.startY) : (a = 0, o = 0)), i = null;
411
+ break;
412
+ default: u(`Unknown SVG path command: ${c}`);
413
+ }
414
+ c !== "Z" && c !== "z" && i === null && (i = {
415
+ startX: a,
416
+ startY: o
417
+ }, r.push(i));
418
+ }
419
+ return t;
420
+ }
421
+ //#endregion
422
+ //#region node_modules/.pnpm/pixi.js@8.20.1/node_modules/pixi.js/lib/maths/shapes/Circle.mjs
423
+ var Qe = class e {
424
+ constructor(e = 0, t = 0, n = 0) {
425
+ this.type = "circle", this.x = e, this.y = t, this.radius = n;
426
+ }
427
+ clone() {
428
+ return new e(this.x, this.y, this.radius);
429
+ }
430
+ contains(e, t) {
431
+ if (this.radius <= 0) return !1;
432
+ let n = this.radius * this.radius, r = this.x - e, i = this.y - t;
433
+ return r *= r, i *= i, r + i <= n;
434
+ }
435
+ strokeContains(e, t, n, r = .5) {
436
+ if (this.radius === 0) return !1;
437
+ let i = this.x - e, a = this.y - t, o = this.radius, s = (1 - r) * n, c = Math.sqrt(i * i + a * a);
438
+ return c <= o + s && c > o - (n - s);
439
+ }
440
+ getBounds(e) {
441
+ return e ||= new l(), e.x = this.x - this.radius, e.y = this.y - this.radius, e.width = this.radius * 2, e.height = this.radius * 2, e;
442
+ }
443
+ copyFrom(e) {
444
+ return this.x = e.x, this.y = e.y, this.radius = e.radius, this;
445
+ }
446
+ copyTo(e) {
447
+ return e.copyFrom(this), e;
448
+ }
449
+ toString() {
450
+ return `[pixi.js/math:Circle x=${this.x} y=${this.y} radius=${this.radius}]`;
451
+ }
452
+ }, $e = class e {
453
+ constructor(e = 0, t = 0, n = 0, r = 0) {
454
+ this.type = "ellipse", this.x = e, this.y = t, this.halfWidth = n, this.halfHeight = r;
455
+ }
456
+ clone() {
457
+ return new e(this.x, this.y, this.halfWidth, this.halfHeight);
458
+ }
459
+ contains(e, t) {
460
+ if (this.halfWidth <= 0 || this.halfHeight <= 0) return !1;
461
+ let n = (e - this.x) / this.halfWidth, r = (t - this.y) / this.halfHeight;
462
+ return n *= n, r *= r, n + r <= 1;
463
+ }
464
+ strokeContains(e, t, n, r = .5) {
465
+ let { halfWidth: i, halfHeight: a } = this;
466
+ if (i <= 0 || a <= 0) return !1;
467
+ let o = n * (1 - r), s = n - o, c = i - s, l = a - s, u = i + o, d = a + o, f = e - this.x, p = t - this.y, m = f * f / (c * c) + p * p / (l * l), h = f * f / (u * u) + p * p / (d * d);
468
+ return m > 1 && h <= 1;
469
+ }
470
+ getBounds(e) {
471
+ return e ||= new l(), e.x = this.x - this.halfWidth, e.y = this.y - this.halfHeight, e.width = this.halfWidth * 2, e.height = this.halfHeight * 2, e;
472
+ }
473
+ copyFrom(e) {
474
+ return this.x = e.x, this.y = e.y, this.halfWidth = e.halfWidth, this.halfHeight = e.halfHeight, this;
475
+ }
476
+ copyTo(e) {
477
+ return e.copyFrom(this), e;
478
+ }
479
+ toString() {
480
+ return `[pixi.js/math:Ellipse x=${this.x} y=${this.y} halfWidth=${this.halfWidth} halfHeight=${this.halfHeight}]`;
481
+ }
482
+ };
483
+ //#endregion
484
+ //#region node_modules/.pnpm/pixi.js@8.20.1/node_modules/pixi.js/lib/maths/misc/getOrientationOfPoints.mjs
485
+ function et(e) {
486
+ let t = e.length;
487
+ if (t < 6) return 1;
488
+ let n = 0;
489
+ for (let r = 0, i = e[t - 2], a = e[t - 1]; r < t; r += 2) {
490
+ let t = e[r], o = e[r + 1];
491
+ n += (t - i) * (o + a), i = t, a = o;
492
+ }
493
+ return n < 0 ? -1 : 1;
494
+ }
495
+ //#endregion
496
+ //#region node_modules/.pnpm/pixi.js@8.20.1/node_modules/pixi.js/lib/maths/misc/squaredDistanceToLineSegment.mjs
497
+ function tt(e, t, n, r, i, a) {
498
+ let o = e - n, s = t - r, c = i - n, l = a - r, u = o * c + s * l, d = c * c + l * l, f = -1;
499
+ d !== 0 && (f = u / d);
500
+ let p, m;
501
+ f < 0 ? (p = n, m = r) : f > 1 ? (p = i, m = a) : (p = n + f * c, m = r + f * l);
502
+ let h = e - p, g = t - m;
503
+ return h * h + g * g;
504
+ }
505
+ //#endregion
506
+ //#region node_modules/.pnpm/pixi.js@8.20.1/node_modules/pixi.js/lib/maths/shapes/Polygon.mjs
507
+ var nt, rt, it = class e {
508
+ constructor(...e) {
509
+ this.type = "polygon";
510
+ let t = Array.isArray(e[0]) ? e[0] : e;
511
+ if (typeof t[0] != "number") {
512
+ let e = [];
513
+ for (let n = 0, r = t.length; n < r; n++) e.push(t[n].x, t[n].y);
514
+ t = e;
515
+ }
516
+ this.points = t, this.closePath = !0;
517
+ }
518
+ isClockwise() {
519
+ let e = 0, t = this.points, n = t.length;
520
+ for (let r = 0; r < n; r += 2) {
521
+ let i = t[r], a = t[r + 1], o = t[(r + 2) % n], s = t[(r + 3) % n];
522
+ e += (o - i) * (s + a);
523
+ }
524
+ return e < 0;
525
+ }
526
+ containsPolygon(e) {
527
+ let t = this.getBounds(nt), n = e.getBounds(rt);
528
+ if (!t.containsRect(n)) return !1;
529
+ let r = e.points;
530
+ for (let e = 0; e < r.length; e += 2) {
531
+ let t = r[e], n = r[e + 1];
532
+ if (!this.contains(t, n)) return !1;
533
+ }
534
+ return !0;
535
+ }
536
+ clone() {
537
+ let t = this.points.slice(), n = new e(t);
538
+ return n.closePath = this.closePath, n;
539
+ }
540
+ contains(e, t) {
541
+ let n = !1, r = this.points.length / 2;
542
+ for (let i = 0, a = r - 1; i < r; a = i++) {
543
+ let r = this.points[i * 2], o = this.points[i * 2 + 1], s = this.points[a * 2], c = this.points[a * 2 + 1];
544
+ o > t != c > t && e < (s - r) * ((t - o) / (c - o)) + r && (n = !n);
545
+ }
546
+ return n;
547
+ }
548
+ strokeContains(e, t, n, r = .5) {
549
+ let { points: i } = this, a = n * (r === .5 ? r : (r - .5) * et(i) + .5), o = n - a, s = a * a, c = o * o, l = i.length - (this.closePath ? 0 : 2);
550
+ for (let n = 0; n < l; n += 2) {
551
+ let r = i[n], a = i[n + 1], o = i[(n + 2) % i.length], l = i[(n + 3) % i.length];
552
+ if (tt(e, t, r, a, o, l) <= (Math.sign((o - r) * (t - a) - (l - a) * (e - r)) < 0 ? s : c)) return !0;
553
+ }
554
+ return !1;
555
+ }
556
+ getBounds(e) {
557
+ e ||= new l();
558
+ let t = this.points, n = Infinity, r = -Infinity, i = Infinity, a = -Infinity;
559
+ for (let e = 0, o = t.length; e < o; e += 2) {
560
+ let o = t[e], s = t[e + 1];
561
+ n = o < n ? o : n, r = o > r ? o : r, i = s < i ? s : i, a = s > a ? s : a;
562
+ }
563
+ return e.x = n, e.width = r - n, e.y = i, e.height = a - i, e;
564
+ }
565
+ copyFrom(e) {
566
+ return this.points = e.points.slice(), this.closePath = e.closePath, this;
567
+ }
568
+ copyTo(e) {
569
+ return e.copyFrom(this), e;
570
+ }
571
+ toString() {
572
+ return `[pixi.js/math:PolygoncloseStroke=${this.closePath}points=${this.points.reduce((e, t) => `${e}, ${t}`, "")}]`;
573
+ }
574
+ get lastX() {
575
+ return this.points[this.points.length - 2];
576
+ }
577
+ get lastY() {
578
+ return this.points[this.points.length - 1];
579
+ }
580
+ get x() {
581
+ return o("8.11.0", "Polygon.lastX is deprecated, please use Polygon.lastX instead."), this.points[this.points.length - 2];
582
+ }
583
+ get y() {
584
+ return o("8.11.0", "Polygon.y is deprecated, please use Polygon.lastY instead."), this.points[this.points.length - 1];
585
+ }
586
+ get startX() {
587
+ return this.points[0];
588
+ }
589
+ get startY() {
590
+ return this.points[1];
591
+ }
592
+ }, at = (e, t, n, r, i, a, o) => {
593
+ let s = e - n, c = t - r, l = Math.sqrt(s * s + c * c);
594
+ return l >= i - a && l <= i + o;
595
+ }, ot = class e {
596
+ constructor(e = 0, t = 0, n = 0, r = 0, i = 20) {
597
+ this.type = "roundedRectangle", this.x = e, this.y = t, this.width = n, this.height = r, this.radius = i;
598
+ }
599
+ getBounds(e) {
600
+ return e ||= new l(), e.x = this.x, e.y = this.y, e.width = this.width, e.height = this.height, e;
601
+ }
602
+ clone() {
603
+ return new e(this.x, this.y, this.width, this.height, this.radius);
604
+ }
605
+ copyFrom(e) {
606
+ return this.x = e.x, this.y = e.y, this.width = e.width, this.height = e.height, this.radius = e.radius, this;
607
+ }
608
+ copyTo(e) {
609
+ return e.copyFrom(this), e;
610
+ }
611
+ contains(e, t) {
612
+ if (this.width <= 0 || this.height <= 0) return !1;
613
+ if (e >= this.x && e <= this.x + this.width && t >= this.y && t <= this.y + this.height) {
614
+ let n = Math.max(0, Math.min(this.radius, Math.min(this.width, this.height) / 2));
615
+ if (t >= this.y + n && t <= this.y + this.height - n || e >= this.x + n && e <= this.x + this.width - n) return !0;
616
+ let r = e - (this.x + n), i = t - (this.y + n), a = n * n;
617
+ if (r * r + i * i <= a || (r = e - (this.x + this.width - n), r * r + i * i <= a) || (i = t - (this.y + this.height - n), r * r + i * i <= a) || (r = e - (this.x + n), r * r + i * i <= a)) return !0;
618
+ }
619
+ return !1;
620
+ }
621
+ strokeContains(e, t, n, r = .5) {
622
+ let { x: i, y: a, width: o, height: s, radius: c } = this, l = n * (1 - r), u = n - l, d = i + c, f = a + c, p = o - c * 2, m = s - c * 2, h = i + o, g = a + s;
623
+ return (e >= i - l && e <= i + u || e >= h - u && e <= h + l) && t >= f && t <= f + m || (t >= a - l && t <= a + u || t >= g - u && t <= g + l) && e >= d && e <= d + p || e < d && t < f && at(e, t, d, f, c, u, l) || e > h - c && t < f && at(e, t, h - c, f, c, u, l) || e > h - c && t > g - c && at(e, t, h - c, g - c, c, u, l) || e < d && t > g - c && at(e, t, d, g - c, c, u, l);
624
+ }
625
+ toString() {
626
+ return `[pixi.js/math:RoundedRectangle x=${this.x} y=${this.y}width=${this.width} height=${this.height} radius=${this.radius}]`;
627
+ }
628
+ };
629
+ //#endregion
630
+ //#region node_modules/.pnpm/pixi.js@8.20.1/node_modules/pixi.js/lib/rendering/renderers/shared/geometry/utils/buildUvs.mjs
631
+ function st(e, t, n, r, i, a, o, s = null) {
632
+ let c = 0;
633
+ n *= t, i *= a;
634
+ let l = s.a, u = s.b, d = s.c, f = s.d, p = s.tx, m = s.ty;
635
+ for (; c < o;) {
636
+ let o = e[n], s = e[n + 1];
637
+ r[i] = l * o + d * s + p, r[i + 1] = u * o + f * s + m, i += a, n += t, c++;
638
+ }
639
+ }
640
+ function ct(e, t, n, r) {
641
+ let i = 0;
642
+ for (t *= n; i < r;) e[t] = 0, e[t + 1] = 0, t += n, i++;
643
+ }
644
+ //#endregion
645
+ //#region node_modules/.pnpm/pixi.js@8.20.1/node_modules/pixi.js/lib/rendering/renderers/shared/geometry/utils/transformVertices.mjs
646
+ function lt(e, t, n, r, i) {
647
+ let a = t.a, o = t.b, s = t.c, c = t.d, l = t.tx, u = t.ty;
648
+ n ||= 0, r ||= 2, i ||= e.length / r - n;
649
+ let d = n * r;
650
+ for (let t = 0; t < i; t++) {
651
+ let t = e[d], n = e[d + 1];
652
+ e[d] = a * t + s * n + l, e[d + 1] = o * t + c * n + u, d += r;
653
+ }
654
+ }
655
+ //#endregion
656
+ //#region node_modules/.pnpm/pixi.js@8.20.1/node_modules/pixi.js/lib/scene/graphics/shared/BatchableGraphics.mjs
657
+ var ut = new _(), dt = class {
658
+ constructor() {
659
+ this.packAsQuad = !1, this.batcherName = "default", this.topology = "triangle-list", this.applyTransform = !0, this.roundPixels = 0, this._batcher = null, this._batch = null;
660
+ }
661
+ get uvs() {
662
+ return this.geometryData.uvs;
663
+ }
664
+ get positions() {
665
+ return this.geometryData.vertices;
666
+ }
667
+ get indices() {
668
+ return this.geometryData.indices;
669
+ }
670
+ get blendMode() {
671
+ return this.renderable && this.applyTransform ? this.renderable.groupBlendMode : "normal";
672
+ }
673
+ get color() {
674
+ let e = this.baseColor, t = e >> 16 | e & 65280 | (e & 255) << 16, r = this.renderable;
675
+ return r ? n(t, r.groupColor) + (this.alpha * r.groupAlpha * 255 << 24) : t + (this.alpha * 255 << 24);
676
+ }
677
+ get transform() {
678
+ return this.renderable?.groupTransform || ut;
679
+ }
680
+ copyTo(e) {
681
+ e.indexOffset = this.indexOffset, e.indexSize = this.indexSize, e.attributeOffset = this.attributeOffset, e.attributeSize = this.attributeSize, e.baseColor = this.baseColor, e.alpha = this.alpha, e.texture = this.texture, e.geometryData = this.geometryData, e.topology = this.topology;
682
+ }
683
+ reset() {
684
+ this.applyTransform = !0, this.renderable = null, this.topology = "triangle-list";
685
+ }
686
+ destroy() {
687
+ this.renderable = null, this.texture = null, this.geometryData = null, this._batcher = null, this._batch = null;
688
+ }
689
+ }, ft = {
690
+ extension: {
691
+ type: S.ShapeBuilder,
692
+ name: "circle"
693
+ },
694
+ build(e, t) {
695
+ let n, r, i, a, o, s;
696
+ if (e.type === "circle") {
697
+ let t = e;
698
+ if (o = s = t.radius, o <= 0) return !1;
699
+ n = t.x, r = t.y, i = a = 0;
700
+ } else if (e.type === "ellipse") {
701
+ let t = e;
702
+ if (o = t.halfWidth, s = t.halfHeight, o <= 0 || s <= 0) return !1;
703
+ n = t.x, r = t.y, i = a = 0;
704
+ } else {
705
+ let t = e, c = t.width / 2, l = t.height / 2;
706
+ n = t.x + c, r = t.y + l, o = s = Math.max(0, Math.min(t.radius, Math.min(c, l))), i = c - o, a = l - s;
707
+ }
708
+ if (i < 0 || a < 0) return !1;
709
+ let c = Math.ceil(2.3 * Math.sqrt(o + s)), l = c * 8 + (i ? 4 : 0) + (a ? 4 : 0);
710
+ if (l === 0) return !1;
711
+ if (c === 0) return t[0] = t[6] = n + i, t[1] = t[3] = r + a, t[2] = t[4] = n - i, t[5] = t[7] = r - a, !0;
712
+ let u = 0, d = c * 4 + (i ? 2 : 0) + 2, f = d, p = l, m = i + o, h = a, g = n + m, _ = n - m, v = r + h;
713
+ if (t[u++] = g, t[u++] = v, t[--d] = v, t[--d] = _, a) {
714
+ let e = r - h;
715
+ t[f++] = _, t[f++] = e, t[--p] = e, t[--p] = g;
716
+ }
717
+ for (let e = 1; e < c; e++) {
718
+ let l = Math.PI / 2 * (e / c), m = i + Math.cos(l) * o, h = a + Math.sin(l) * s, g = n + m, _ = n - m, v = r + h, y = r - h;
719
+ t[u++] = g, t[u++] = v, t[--d] = v, t[--d] = _, t[f++] = _, t[f++] = y, t[--p] = y, t[--p] = g;
720
+ }
721
+ m = i, h = a + s, g = n + m, _ = n - m, v = r + h;
722
+ let y = r - h;
723
+ return t[u++] = g, t[u++] = v, t[--p] = y, t[--p] = g, i && (t[u++] = _, t[u++] = v, t[--p] = y, t[--p] = _), !0;
724
+ },
725
+ triangulate(e, t, n, r, i, a) {
726
+ if (e.length === 0) return;
727
+ let o = 0, s = 0;
728
+ for (let t = 0; t < e.length; t += 2) o += e[t], s += e[t + 1];
729
+ o /= e.length / 2, s /= e.length / 2;
730
+ let c = r;
731
+ t[c * n] = o, t[c * n + 1] = s;
732
+ let l = c++;
733
+ for (let r = 0; r < e.length; r += 2) t[c * n] = e[r], t[c * n + 1] = e[r + 1], r > 0 && (i[a++] = c, i[a++] = l, i[a++] = c - 1), c++;
734
+ i[a++] = l + 1, i[a++] = l, i[a++] = c - 1;
735
+ }
736
+ }, pt = {
737
+ ...ft,
738
+ extension: {
739
+ ...ft.extension,
740
+ name: "ellipse"
741
+ }
742
+ }, mt = {
743
+ ...ft,
744
+ extension: {
745
+ ...ft.extension,
746
+ name: "roundedRectangle"
747
+ }
748
+ }, ht = 1e-4, gt = 1e-4;
749
+ //#endregion
750
+ //#region node_modules/.pnpm/pixi.js@8.20.1/node_modules/pixi.js/lib/scene/graphics/shared/buildCommands/buildLine.mjs
751
+ function _t(e, t, n, r, i, a, o, s) {
752
+ let c = e - n * i, l = t - r * i, u = e + n * a, d = t + r * a, f, p;
753
+ o ? (f = r, p = -n) : (f = -r, p = n);
754
+ let m = c + f, h = l + p, g = u + f, _ = d + p;
755
+ return s.push(m, h), s.push(g, _), 2;
756
+ }
757
+ function q(e, t, n, r, i, a, o, s) {
758
+ let c = n - e, l = r - t, u = Math.atan2(c, l), d = Math.atan2(i - e, a - t);
759
+ s && u < d ? u += Math.PI * 2 : !s && u > d && (d += Math.PI * 2);
760
+ let f = u, p = d - u, m = Math.abs(p), h = Math.sqrt(c * c + l * l), g = (15 * m * Math.sqrt(h) / Math.PI >> 0) + 1, _ = p / g;
761
+ if (f += _, s) {
762
+ o.push(e, t), o.push(n, r);
763
+ for (let n = 1, r = f; n < g; n++, r += _) o.push(e, t), o.push(e + Math.sin(r) * h, t + Math.cos(r) * h);
764
+ o.push(e, t), o.push(i, a);
765
+ } else {
766
+ o.push(n, r), o.push(e, t);
767
+ for (let n = 1, r = f; n < g; n++, r += _) o.push(e + Math.sin(r) * h, t + Math.cos(r) * h), o.push(e, t);
768
+ o.push(i, a), o.push(e, t);
769
+ }
770
+ return g * 2;
771
+ }
772
+ function vt(e, t, n, r, i, a) {
773
+ let o = ht;
774
+ if (e.length === 0) return;
775
+ let s = t, c = s.alignment;
776
+ if (t.alignment !== .5) {
777
+ let t = et(e);
778
+ n && (t *= -1), c = (c - .5) * t + .5;
779
+ }
780
+ let l = new C(e[0], e[1]), u = new C(e[e.length - 2], e[e.length - 1]), d = r, f = Math.abs(l.x - u.x) < o && Math.abs(l.y - u.y) < o;
781
+ if (d) {
782
+ e = e.slice(), f && (e.pop(), e.pop(), u.set(e[e.length - 2], e[e.length - 1]));
783
+ let t = (l.x + u.x) * .5, n = (u.y + l.y) * .5;
784
+ e.unshift(t, n), e.push(t, n);
785
+ }
786
+ let p = i, m = e.length / 2, h = e.length, g = p.length / 2, _ = s.width / 2, v = _ * _, y = s.miterLimit * s.miterLimit, b = e[0], x = e[1], S = e[2], w = e[3], T = 0, E = 0, D = -(x - w), O = b - S, k = 0, A = 0, j = Math.sqrt(D * D + O * O);
787
+ D /= j, O /= j, D *= _, O *= _;
788
+ let M = c, N = (1 - M) * 2, P = M * 2;
789
+ d || (s.cap === "round" ? h += q(b - D * (N - P) * .5, x - O * (N - P) * .5, b - D * N, x - O * N, b + D * P, x + O * P, p, !0) + 2 : s.cap === "square" && (h += _t(b, x, D, O, N, P, !0, p))), p.push(b - D * N, x - O * N), p.push(b + D * P, x + O * P);
790
+ for (let t = 1; t < m - 1; ++t) {
791
+ b = e[(t - 1) * 2], x = e[(t - 1) * 2 + 1], S = e[t * 2], w = e[t * 2 + 1], T = e[(t + 1) * 2], E = e[(t + 1) * 2 + 1], D = -(x - w), O = b - S, j = Math.sqrt(D * D + O * O), D /= j, O /= j, D *= _, O *= _, k = -(w - E), A = S - T, j = Math.sqrt(k * k + A * A), k /= j, A /= j, k *= _, A *= _;
792
+ let n = S - b, r = x - w, i = S - T, a = E - w, o = n * i + r * a, c = r * i - a * n, l = c < 0;
793
+ if (Math.abs(c) < .001 * Math.abs(o)) {
794
+ p.push(S - D * N, w - O * N), p.push(S + D * P, w + O * P), o >= 0 && (s.join === "round" ? h += q(S, w, S - D * N, w - O * N, S - k * N, w - A * N, p, !1) + 4 : h += 2, p.push(S - k * P, w - A * P), p.push(S + k * N, w + A * N));
795
+ continue;
796
+ }
797
+ let u = (-D + b) * (-O + w) - (-D + S) * (-O + x), d = (-k + T) * (-A + w) - (-k + S) * (-A + E), f = (n * d - i * u) / c, m = (a * u - r * d) / c, g = (f - S) * (f - S) + (m - w) * (m - w), C = S + (f - S) * N, M = w + (m - w) * N, F = S - (f - S) * P, I = w - (m - w) * P, ee = Math.min(n * n + r * r, i * i + a * a), te = l ? N : P;
798
+ g <= ee + te * te * v ? s.join === "bevel" || g / v > y ? (l ? (p.push(C, M), p.push(S + D * P, w + O * P), p.push(C, M), p.push(S + k * P, w + A * P)) : (p.push(S - D * N, w - O * N), p.push(F, I), p.push(S - k * N, w - A * N), p.push(F, I)), h += 2) : s.join === "round" ? l ? (p.push(C, M), p.push(S + D * P, w + O * P), h += q(S, w, S + D * P, w + O * P, S + k * P, w + A * P, p, !0) + 4, p.push(C, M), p.push(S + k * P, w + A * P)) : (p.push(S - D * N, w - O * N), p.push(F, I), h += q(S, w, S - D * N, w - O * N, S - k * N, w - A * N, p, !1) + 4, p.push(S - k * N, w - A * N), p.push(F, I)) : (p.push(C, M), p.push(F, I)) : (p.push(S - D * N, w - O * N), p.push(S + D * P, w + O * P), s.join === "round" ? l ? h += q(S, w, S + D * P, w + O * P, S + k * P, w + A * P, p, !0) + 2 : h += q(S, w, S - D * N, w - O * N, S - k * N, w - A * N, p, !1) + 2 : s.join === "miter" && g / v <= y && (l ? (p.push(F, I), p.push(F, I)) : (p.push(C, M), p.push(C, M)), h += 2), p.push(S - k * N, w - A * N), p.push(S + k * P, w + A * P), h += 2);
799
+ }
800
+ b = e[(m - 2) * 2], x = e[(m - 2) * 2 + 1], S = e[(m - 1) * 2], w = e[(m - 1) * 2 + 1], D = -(x - w), O = b - S, j = Math.sqrt(D * D + O * O), D /= j, O /= j, D *= _, O *= _, p.push(S - D * N, w - O * N), p.push(S + D * P, w + O * P), d || (s.cap === "round" ? h += q(S - D * (N - P) * .5, w - O * (N - P) * .5, S - D * N, w - O * N, S + D * P, w + O * P, p, !1) + 2 : s.cap === "square" && (h += _t(S, w, D, O, N, P, !1, p)));
801
+ let F = gt * gt;
802
+ for (let e = g; e < h + g - 2; ++e) b = p[e * 2], x = p[e * 2 + 1], S = p[(e + 1) * 2], w = p[(e + 1) * 2 + 1], T = p[(e + 2) * 2], E = p[(e + 2) * 2 + 1], !(Math.abs(b * (w - E) + S * (E - x) + T * (x - w)) < F) && a.push(e, e + 1, e + 2);
803
+ }
804
+ //#endregion
805
+ //#region node_modules/.pnpm/pixi.js@8.20.1/node_modules/pixi.js/lib/scene/graphics/shared/buildCommands/buildPixelLine.mjs
806
+ function yt(e, t, n, r) {
807
+ let i = ht;
808
+ if (e.length === 0) return;
809
+ let a = e[0], o = e[1], s = e[e.length - 2], c = e[e.length - 1], l = t || Math.abs(a - s) < i && Math.abs(o - c) < i, u = n, d = e.length / 2, f = u.length / 2;
810
+ for (let t = 0; t < d; t++) u.push(e[t * 2]), u.push(e[t * 2 + 1]);
811
+ for (let e = 0; e < d - 1; e++) r.push(f + e, f + e + 1);
812
+ l && r.push(f + d - 1, f);
813
+ }
814
+ //#endregion
815
+ //#region node_modules/.pnpm/pixi.js@8.20.1/node_modules/pixi.js/lib/scene/graphics/shared/utils/triangulateWithHoles.mjs
816
+ function bt(e, t, n, r, i, a, o) {
817
+ let s = Ge(e, t, 2);
818
+ if (!s) return;
819
+ for (let e = 0; e < s.length; e += 3) a[o++] = s[e] + i, a[o++] = s[e + 1] + i, a[o++] = s[e + 2] + i;
820
+ let c = i * r;
821
+ for (let t = 0; t < e.length; t += 2) n[c] = e[t], n[c + 1] = e[t + 1], c += r;
822
+ }
823
+ //#endregion
824
+ //#region node_modules/.pnpm/pixi.js@8.20.1/node_modules/pixi.js/lib/scene/graphics/shared/buildCommands/buildPolygon.mjs
825
+ var xt = [], St = {
826
+ extension: {
827
+ type: S.ShapeBuilder,
828
+ name: "polygon"
829
+ },
830
+ build(e, t) {
831
+ for (let n = 0; n < e.points.length; n++) t[n] = e.points[n];
832
+ return !0;
833
+ },
834
+ triangulate(e, t, n, r, i, a) {
835
+ bt(e, xt, t, n, r, i, a);
836
+ }
837
+ }, Ct = {
838
+ extension: {
839
+ type: S.ShapeBuilder,
840
+ name: "rectangle"
841
+ },
842
+ build(e, t) {
843
+ let n = e, r = n.x, i = n.y, a = n.width, o = n.height;
844
+ return a > 0 && o > 0 ? (t[0] = r, t[1] = i, t[2] = r + a, t[3] = i, t[4] = r + a, t[5] = i + o, t[6] = r, t[7] = i + o, !0) : !1;
845
+ },
846
+ triangulate(e, t, n, r, i, a) {
847
+ let o = 0;
848
+ r *= n, t[r + o] = e[0], t[r + o + 1] = e[1], o += n, t[r + o] = e[2], t[r + o + 1] = e[3], o += n, t[r + o] = e[6], t[r + o + 1] = e[7], o += n, t[r + o] = e[4], t[r + o + 1] = e[5], o += n;
849
+ let s = r / n;
850
+ i[a++] = s, i[a++] = s + 1, i[a++] = s + 2, i[a++] = s + 1, i[a++] = s + 3, i[a++] = s + 2;
851
+ }
852
+ }, wt = {
853
+ extension: {
854
+ type: S.ShapeBuilder,
855
+ name: "triangle"
856
+ },
857
+ build(e, t) {
858
+ return t[0] = e.x, t[1] = e.y, t[2] = e.x2, t[3] = e.y2, t[4] = e.x3, t[5] = e.y3, !0;
859
+ },
860
+ triangulate(e, t, n, r, i, a) {
861
+ let o = 0;
862
+ r *= n, t[r + o] = e[0], t[r + o + 1] = e[1], o += n, t[r + o] = e[2], t[r + o + 1] = e[3], o += n, t[r + o] = e[4], t[r + o + 1] = e[5];
863
+ let s = r / n;
864
+ i[a++] = s, i[a++] = s + 1, i[a++] = s + 2;
865
+ }
866
+ }, Tt = [{
867
+ offset: 0,
868
+ color: "white"
869
+ }, {
870
+ offset: 1,
871
+ color: "black"
872
+ }], Et = class e {
873
+ constructor(...t) {
874
+ this.uid = h("fillGradient"), this._tick = 0, this.type = "linear", this.colorStops = [];
875
+ let n = kt(t);
876
+ n = {
877
+ ...n.type === "radial" ? e.defaultRadialOptions : e.defaultLinearOptions,
878
+ ...s(n)
879
+ }, this._textureSize = n.textureSize, this._wrapMode = n.wrapMode, n.type === "radial" ? (this.center = n.center, this.outerCenter = n.outerCenter ?? this.center, this.innerRadius = n.innerRadius, this.outerRadius = n.outerRadius, this.scale = n.scale, this.rotation = n.rotation) : (this.start = n.start, this.end = n.end), this.textureSpace = n.textureSpace, this.type = n.type, n.colorStops.forEach((e) => {
880
+ this.addColorStop(e.offset, e.color);
881
+ });
882
+ }
883
+ addColorStop(e, t) {
884
+ return this.colorStops.push({
885
+ offset: e,
886
+ color: T.shared.setValue(t).toHexa()
887
+ }), this;
888
+ }
889
+ buildLinearGradient() {
890
+ if (this.texture) return;
891
+ let { x: e, y: t } = this.start, { x: n, y: r } = this.end, i = n - e, a = r - t, o = i < 0 || a < 0;
892
+ if (this._wrapMode === "clamp-to-edge") {
893
+ if (i < 0) {
894
+ let t = e;
895
+ e = n, n = t, i *= -1;
896
+ }
897
+ if (a < 0) {
898
+ let e = t;
899
+ t = r, r = e, a *= -1;
900
+ }
901
+ }
902
+ let s = this.colorStops.length ? this.colorStops : Tt, c = this._textureSize, { canvas: l, context: u } = Ot(c, 1), d = o ? u.createLinearGradient(this._textureSize, 0, 0, 0) : u.createLinearGradient(0, 0, this._textureSize, 0);
903
+ Dt(d, s), u.fillStyle = d, u.fillRect(0, 0, c, 1), this.texture = new f({ source: new D({
904
+ resource: l,
905
+ addressMode: this._wrapMode
906
+ }) });
907
+ let p = Math.sqrt(i * i + a * a), m = Math.atan2(a, i), h = new _();
908
+ h.scale(p / c, 1), h.rotate(m), h.translate(e, t), this.textureSpace === "local" && h.scale(c, c), this.transform = h;
909
+ }
910
+ buildGradient() {
911
+ this.texture || this._tick++, this.type === "linear" ? this.buildLinearGradient() : this.buildRadialGradient();
912
+ }
913
+ buildRadialGradient() {
914
+ if (this.texture) return;
915
+ let e = this.colorStops.length ? this.colorStops : Tt, t = this._textureSize, { canvas: n, context: r } = Ot(t, t), { x: i, y: a } = this.center, { x: o, y: s } = this.outerCenter, c = this.innerRadius, l = this.outerRadius, u = o - l, d = s - l, p = t / (l * 2), m = (i - u) * p, h = (a - d) * p, g = r.createRadialGradient(m, h, c * p, (o - u) * p, (s - d) * p, l * p);
916
+ Dt(g, e), r.fillStyle = e[e.length - 1].color, r.fillRect(0, 0, t, t), r.fillStyle = g, r.translate(m, h), r.rotate(this.rotation), r.scale(1, this.scale), r.translate(-m, -h), r.fillRect(0, 0, t, t), this.texture = new f({ source: new D({
917
+ resource: n,
918
+ addressMode: this._wrapMode
919
+ }) });
920
+ let v = new _();
921
+ this.textureSpace === "local" ? v.scale(2 * l, 2 * l) : v.scale(1 / p, 1 / p), v.translate(u, d), this.transform = v;
922
+ }
923
+ destroy() {
924
+ this.texture?.destroy(!0), this.texture = null, this.transform = null, this.colorStops = [], this.start = null, this.end = null, this.center = null, this.outerCenter = null;
925
+ }
926
+ get styleKey() {
927
+ return `fill-gradient-${this.uid}-${this._tick}`;
928
+ }
929
+ };
930
+ Et.defaultLinearOptions = {
931
+ start: {
932
+ x: 0,
933
+ y: 0
934
+ },
935
+ end: {
936
+ x: 0,
937
+ y: 1
938
+ },
939
+ colorStops: [],
940
+ textureSpace: "local",
941
+ type: "linear",
942
+ textureSize: 256,
943
+ wrapMode: "clamp-to-edge"
944
+ }, Et.defaultRadialOptions = {
945
+ center: {
946
+ x: .5,
947
+ y: .5
948
+ },
949
+ innerRadius: 0,
950
+ outerRadius: .5,
951
+ colorStops: [],
952
+ scale: 1,
953
+ rotation: 0,
954
+ textureSpace: "local",
955
+ type: "radial",
956
+ textureSize: 256,
957
+ wrapMode: "clamp-to-edge"
958
+ };
959
+ var J = Et;
960
+ function Dt(e, t) {
961
+ for (let n = 0; n < t.length; n++) {
962
+ let r = t[n];
963
+ e.addColorStop(r.offset, r.color);
964
+ }
965
+ }
966
+ function Ot(e, t) {
967
+ let n = g.get().createCanvas(e, t);
968
+ return {
969
+ canvas: n,
970
+ context: n.getContext("2d")
971
+ };
972
+ }
973
+ function kt(e) {
974
+ let t = e[0] ?? {};
975
+ return (typeof t == "number" || e[1]) && (o("8.5.2", "use options object instead"), t = {
976
+ type: "linear",
977
+ start: {
978
+ x: e[0],
979
+ y: e[1]
980
+ },
981
+ end: {
982
+ x: e[2],
983
+ y: e[3]
984
+ },
985
+ textureSpace: e[4],
986
+ textureSize: e[5] ?? J.defaultLinearOptions.textureSize
987
+ }), t;
988
+ }
989
+ //#endregion
990
+ //#region node_modules/.pnpm/pixi.js@8.20.1/node_modules/pixi.js/lib/scene/graphics/shared/utils/generateTextureFillMatrix.mjs
991
+ var At = new _(), jt = new l(), Mt = new _();
992
+ function Nt(e, t, n, r) {
993
+ let i = t.matrix ? e.copyFrom(t.matrix).invert() : e.identity();
994
+ if (t.textureSpace === "local") {
995
+ let e = n.getBounds(jt);
996
+ t.width && e.pad(t.width);
997
+ let { x: r, y: a } = e, o = 1 / e.width, s = 1 / e.height, c = -r * o, l = -a * s, u = i.a, d = i.b, f = i.c, p = i.d;
998
+ i.a *= o, i.b *= o, i.c *= s, i.d *= s, i.tx = c * u + l * f + i.tx, i.ty = c * d + l * p + i.ty;
999
+ } else if (t.texture.rotate) {
1000
+ let { uvs: e, orig: n } = t.texture;
1001
+ i.scale(1 / n.width, 1 / n.height), i.prepend(Mt.set(e.x1 - e.x0, e.y1 - e.y0, e.x3 - e.x0, e.y3 - e.y0, e.x0, e.y0));
1002
+ } else i.translate(t.texture.frame.x, t.texture.frame.y), i.scale(1 / t.texture.source.width, 1 / t.texture.source.height);
1003
+ let a = t.texture.source.style;
1004
+ return !(t.fill instanceof J) && a.addressMode === "clamp-to-edge" && (a.addressMode = "repeat", a.update()), r && i.append(At.copyFrom(r).invert()), i;
1005
+ }
1006
+ //#endregion
1007
+ //#region node_modules/.pnpm/pixi.js@8.20.1/node_modules/pixi.js/lib/scene/graphics/shared/utils/buildContextBatches.mjs
1008
+ var Y = {};
1009
+ v.handleByMap(S.ShapeBuilder, Y), v.add(Ct, St, wt, ft, pt, mt);
1010
+ var Pt = new l(), Ft = new _();
1011
+ function It(e, t) {
1012
+ let { geometryData: n, batches: r } = t;
1013
+ r.length = 0, n.indices.length = 0, n.vertices.length = 0, n.uvs.length = 0;
1014
+ for (let t = 0; t < e.instructions.length; t++) {
1015
+ let i = e.instructions[t];
1016
+ if (i.action === "texture") Lt(i.data, r, n);
1017
+ else if (i.action === "fill" || i.action === "stroke") {
1018
+ let e = i.action === "stroke", t = i.data.path.shapePath, a = i.data.style, o = i.data.hole;
1019
+ e && o && Rt(o.shapePath, a, !0, r, n), o && (t.shapePrimitives[t.shapePrimitives.length - 1].holes = o.shapePath.shapePrimitives), Rt(t, a, e, r, n);
1020
+ }
1021
+ }
1022
+ }
1023
+ function Lt(e, t, n) {
1024
+ let r = [], i = Y.rectangle, o = Pt;
1025
+ o.x = e.dx, o.y = e.dy, o.width = e.dw, o.height = e.dh;
1026
+ let s = e.transform;
1027
+ if (!i.build(o, r)) return;
1028
+ let { vertices: c, uvs: l, indices: u } = n, d = u.length, f = c.length / 2;
1029
+ s && lt(r, s), i.triangulate(r, c, 2, f, u, d);
1030
+ let p = e.image, m = p.uvs;
1031
+ l.push(m.x0, m.y0, m.x1, m.y1, m.x3, m.y3, m.x2, m.y2);
1032
+ let h = a.get(dt);
1033
+ h.indexOffset = d, h.indexSize = u.length - d, h.attributeOffset = f, h.attributeSize = c.length / 2 - f, h.baseColor = e.style, h.alpha = e.alpha, h.texture = p, h.geometryData = n, t.push(h);
1034
+ }
1035
+ function Rt(e, t, n, r, i) {
1036
+ let { vertices: o, uvs: s, indices: c } = i;
1037
+ e.shapePrimitives.forEach(({ shape: e, transform: l, holes: u }) => {
1038
+ let d = [], p = Y[e.type];
1039
+ if (!p.build(e, d)) return;
1040
+ let m = c.length, h = o.length / 2, g = "triangle-list";
1041
+ if (l && lt(d, l), n) {
1042
+ let n = e.closePath ?? !0, r = t;
1043
+ r.pixelLine ? (yt(d, n, o, c), g = "line-list") : vt(d, r, !1, n, o, c);
1044
+ } else if (u) {
1045
+ let e = [], t = d.slice();
1046
+ zt(u).forEach((n) => {
1047
+ e.push(t.length / 2), t.push(...n);
1048
+ }), bt(t, e, o, 2, h, c, m);
1049
+ } else p.triangulate(d, o, 2, h, c, m);
1050
+ let _ = s.length / 2, v = t.texture;
1051
+ if (v !== f.WHITE) {
1052
+ let n = Nt(Ft, t, e, l);
1053
+ st(o, 2, h, s, _, 2, o.length / 2 - h, n);
1054
+ } else ct(s, _, 2, o.length / 2 - h);
1055
+ let y = a.get(dt);
1056
+ y.indexOffset = m, y.indexSize = c.length - m, y.attributeOffset = h, y.attributeSize = o.length / 2 - h, y.baseColor = t.color, y.alpha = t.alpha, y.texture = v, y.geometryData = i, y.topology = g, r.push(y);
1057
+ });
1058
+ }
1059
+ function zt(e) {
1060
+ let t = [];
1061
+ for (let n = 0; n < e.length; n++) {
1062
+ let r = e[n].shape, i = [];
1063
+ Y[r.type].build(r, i) && t.push(i);
1064
+ }
1065
+ return t;
1066
+ }
1067
+ //#endregion
1068
+ //#region node_modules/.pnpm/pixi.js@8.20.1/node_modules/pixi.js/lib/scene/graphics/shared/GraphicsContextSystem.mjs
1069
+ var Bt = class {
1070
+ constructor() {
1071
+ this.batches = [], this.geometryData = {
1072
+ vertices: [],
1073
+ uvs: [],
1074
+ indices: []
1075
+ };
1076
+ }
1077
+ reset() {
1078
+ this.batches && this.batches.forEach((e) => {
1079
+ a.return(e);
1080
+ }), this.graphicsData && a.return(this.graphicsData), this.isBatchable = !1, this.context = null, this.batches.length = 0, this.geometryData.indices.length = 0, this.geometryData.vertices.length = 0, this.geometryData.uvs.length = 0, this.graphicsData = null;
1081
+ }
1082
+ destroy() {
1083
+ this.reset(), this.batches = null, this.geometryData = null;
1084
+ }
1085
+ }, Vt = class {
1086
+ constructor() {
1087
+ this.instructions = new i();
1088
+ }
1089
+ init(e) {
1090
+ let t = e.maxTextures;
1091
+ this.batcher ? this.batcher._updateMaxTextures(t) : this.batcher = new N({ maxTextures: t }), this.instructions.reset();
1092
+ }
1093
+ get geometry() {
1094
+ return o(p, "GraphicsContextRenderData#geometry is deprecated, please use batcher.geometry instead."), this.batcher.geometry;
1095
+ }
1096
+ destroy() {
1097
+ this.batcher.destroy(), this.instructions.destroy(), this.batcher = null, this.instructions = null;
1098
+ }
1099
+ }, Ht = class e {
1100
+ constructor(e) {
1101
+ this._renderer = e, this._managedContexts = new M({
1102
+ renderer: e,
1103
+ type: "resource",
1104
+ name: "graphicsContext"
1105
+ });
1106
+ }
1107
+ init(t) {
1108
+ e.defaultOptions.bezierSmoothness = t?.bezierSmoothness ?? e.defaultOptions.bezierSmoothness;
1109
+ }
1110
+ getContextRenderData(e) {
1111
+ return e._gpuData[this._renderer.uid].graphicsData || this._initContextRenderData(e);
1112
+ }
1113
+ updateGpuContext(e) {
1114
+ let t = !!e._gpuData[this._renderer.uid], n = e._gpuData[this._renderer.uid] || this._initContext(e);
1115
+ if (e.dirty || !t) {
1116
+ t && n.reset(), It(e, n);
1117
+ let r = e.batchMode;
1118
+ e.customShader || r === "no-batch" ? n.isBatchable = !1 : r === "auto" ? n.isBatchable = n.geometryData.vertices.length < 400 : n.isBatchable = !0, e.dirty = !1;
1119
+ }
1120
+ return n;
1121
+ }
1122
+ getGpuContext(e) {
1123
+ return e._gpuData[this._renderer.uid] || this._initContext(e);
1124
+ }
1125
+ _initContextRenderData(e) {
1126
+ let t = a.get(Vt, { maxTextures: this._renderer.limits.maxBatchableTextures }), n = e._gpuData[this._renderer.uid], { batches: r, geometryData: i } = n;
1127
+ n.graphicsData = t;
1128
+ let o = i.vertices.length, s = i.indices.length;
1129
+ for (let e = 0; e < r.length; e++) r[e].applyTransform = !1;
1130
+ let c = t.batcher;
1131
+ c.ensureAttributeBuffer(o), c.ensureIndexBuffer(s), c.begin();
1132
+ for (let e = 0; e < r.length; e++) {
1133
+ let t = r[e];
1134
+ c.add(t);
1135
+ }
1136
+ c.finish(t.instructions);
1137
+ let l = c.geometry;
1138
+ l.indexBuffer.setDataWithSize(c.indexBuffer, c.indexSize, !0), l.buffers[0].setDataWithSize(c.attributeBuffer.float32View, c.attributeSize, !0);
1139
+ let u = c.batches;
1140
+ for (let e = 0; e < u.length; e++) {
1141
+ let t = u[e];
1142
+ t.bindGroup = ie(t.textures.textures, t.textures.count, this._renderer.limits.maxBatchableTextures);
1143
+ }
1144
+ return t;
1145
+ }
1146
+ _initContext(e) {
1147
+ let t = new Bt();
1148
+ return t.context = e, e._gpuData[this._renderer.uid] = t, this._managedContexts.add(e), t;
1149
+ }
1150
+ destroy() {
1151
+ this._managedContexts.destroy(), this._renderer = null;
1152
+ }
1153
+ };
1154
+ Ht.extension = {
1155
+ type: [S.WebGLSystem, S.WebGPUSystem],
1156
+ name: "graphicsContext"
1157
+ }, Ht.defaultOptions = { bezierSmoothness: .5 };
1158
+ var Ut = Ht, Wt = 8, Gt = 1.1920929e-7, Kt = 1;
1159
+ function qt(e, t, n, r, i, a, o, s, c, l) {
1160
+ let u = (Kt - Math.min(.99, Math.max(0, l ?? Ut.defaultOptions.bezierSmoothness))) / 1;
1161
+ return u *= u, Jt(t, n, r, i, a, o, s, c, e, u), e;
1162
+ }
1163
+ function Jt(e, t, n, r, i, a, o, s, c, l) {
1164
+ Yt(e, t, n, r, i, a, o, s, c, l, 0), c.push(o, s);
1165
+ }
1166
+ function Yt(e, t, n, r, i, a, o, s, c, l, u) {
1167
+ if (u > Wt) return;
1168
+ let d = (e + n) / 2, f = (t + r) / 2, p = (n + i) / 2, m = (r + a) / 2, h = (i + o) / 2, g = (a + s) / 2, _ = (d + p) / 2, v = (f + m) / 2, y = (p + h) / 2, b = (m + g) / 2, x = (_ + y) / 2, S = (v + b) / 2;
1169
+ if (u > 0) {
1170
+ let u = o - e, d = s - t, f = Math.abs((n - o) * d - (r - s) * u), p = Math.abs((i - o) * d - (a - s) * u);
1171
+ if (f > Gt && p > Gt) {
1172
+ if ((f + p) * (f + p) <= l * (u * u + d * d)) {
1173
+ c.push(x, S);
1174
+ return;
1175
+ }
1176
+ } else if (f > Gt) {
1177
+ if (f * f <= l * (u * u + d * d)) {
1178
+ c.push(x, S);
1179
+ return;
1180
+ }
1181
+ } else if (p > Gt) {
1182
+ if (p * p <= l * (u * u + d * d)) {
1183
+ c.push(x, S);
1184
+ return;
1185
+ }
1186
+ } else if (u = x - (e + o) / 2, d = S - (t + s) / 2, u * u + d * d <= l) {
1187
+ c.push(x, S);
1188
+ return;
1189
+ }
1190
+ }
1191
+ Yt(e, t, d, f, _, v, x, S, c, l, u + 1), Yt(x, S, y, b, h, g, o, s, c, l, u + 1);
1192
+ }
1193
+ //#endregion
1194
+ //#region node_modules/.pnpm/pixi.js@8.20.1/node_modules/pixi.js/lib/scene/graphics/shared/buildCommands/buildAdaptiveQuadratic.mjs
1195
+ var Xt = 8, Zt = 1.1920929e-7, Qt = 1;
1196
+ function $t(e, t, n, r, i, a, o, s) {
1197
+ let c = (Qt - Math.min(.99, Math.max(0, s ?? Ut.defaultOptions.bezierSmoothness))) / 1;
1198
+ return c *= c, en(t, n, r, i, a, o, e, c), e;
1199
+ }
1200
+ function en(e, t, n, r, i, a, o, s) {
1201
+ tn(o, e, t, n, r, i, a, s, 0), o.push(i, a);
1202
+ }
1203
+ function tn(e, t, n, r, i, a, o, s, c) {
1204
+ if (c > Xt) return;
1205
+ let l = (t + r) / 2, u = (n + i) / 2, d = (r + a) / 2, f = (i + o) / 2, p = (l + d) / 2, m = (u + f) / 2, h = a - t, g = o - n, _ = Math.abs((r - a) * g - (i - o) * h);
1206
+ if (_ > Zt) {
1207
+ if (_ * _ <= s * (h * h + g * g)) {
1208
+ e.push(p, m);
1209
+ return;
1210
+ }
1211
+ } else if (h = p - (t + a) / 2, g = m - (n + o) / 2, h * h + g * g <= s) {
1212
+ e.push(p, m);
1213
+ return;
1214
+ }
1215
+ tn(e, t, n, l, u, p, m, s, c + 1), tn(e, p, m, d, f, a, o, s, c + 1);
1216
+ }
1217
+ //#endregion
1218
+ //#region node_modules/.pnpm/pixi.js@8.20.1/node_modules/pixi.js/lib/scene/graphics/shared/buildCommands/buildArc.mjs
1219
+ function nn(e, t, n, r, i, a, o, s) {
1220
+ let c = Math.abs(i - a);
1221
+ (!o && i > a || o && a > i) && (c = 2 * Math.PI - c), s ||= Math.max(6, Math.floor(6 * r ** (1 / 3) * (c / Math.PI))), s = Math.max(s, 3);
1222
+ let l = c / s, u = i;
1223
+ l *= o ? -1 : 1;
1224
+ for (let i = 0; i < s + 1; i++) {
1225
+ let i = Math.cos(u), a = Math.sin(u), o = t + i * r, s = n + a * r;
1226
+ e.push(o, s), u += l;
1227
+ }
1228
+ }
1229
+ //#endregion
1230
+ //#region node_modules/.pnpm/pixi.js@8.20.1/node_modules/pixi.js/lib/scene/graphics/shared/buildCommands/buildArcTo.mjs
1231
+ function rn(e, t, n, r, i, a) {
1232
+ let o = e[e.length - 2], s = e[e.length - 1] - n, c = o - t, l = i - n, u = r - t, d = Math.abs(s * u - c * l);
1233
+ if (d < 1e-8 || a === 0) {
1234
+ (e[e.length - 2] !== t || e[e.length - 1] !== n) && e.push(t, n);
1235
+ return;
1236
+ }
1237
+ let f = s * s + c * c, p = l * l + u * u, m = s * l + c * u, h = a * Math.sqrt(f) / d, g = a * Math.sqrt(p) / d, _ = h * m / f, v = g * m / p, y = h * u + g * c, b = h * l + g * s, x = c * (g + _), S = s * (g + _), C = u * (h + v), w = l * (h + v), T = Math.atan2(S - b, x - y), E = Math.atan2(w - b, C - y);
1238
+ nn(e, y + t, b + n, a, T, E, c * l > u * s);
1239
+ }
1240
+ //#endregion
1241
+ //#region node_modules/.pnpm/pixi.js@8.20.1/node_modules/pixi.js/lib/scene/graphics/shared/buildCommands/buildArcToSvg.mjs
1242
+ var an = Math.PI * 2, on = {
1243
+ centerX: 0,
1244
+ centerY: 0,
1245
+ ang1: 0,
1246
+ ang2: 0
1247
+ }, sn = ({ x: e, y: t }, n, r, i, a, o, s, c) => {
1248
+ e *= n, t *= r;
1249
+ let l = i * e - a * t, u = a * e + i * t;
1250
+ return c.x = l + o, c.y = u + s, c;
1251
+ };
1252
+ function cn(e, t) {
1253
+ let n = t === -1.5707963267948966 ? -.551915024494 : 4 / 3 * Math.tan(t / 4), r = t === 1.5707963267948966 ? .551915024494 : n, i = Math.cos(e), a = Math.sin(e), o = Math.cos(e + t), s = Math.sin(e + t);
1254
+ return [
1255
+ {
1256
+ x: i - a * r,
1257
+ y: a + i * r
1258
+ },
1259
+ {
1260
+ x: o + s * r,
1261
+ y: s - o * r
1262
+ },
1263
+ {
1264
+ x: o,
1265
+ y: s
1266
+ }
1267
+ ];
1268
+ }
1269
+ var ln = (e, t, n, r) => {
1270
+ let i = e * r - t * n < 0 ? -1 : 1, a = e * n + t * r;
1271
+ return a > 1 && (a = 1), a < -1 && (a = -1), i * Math.acos(a);
1272
+ }, un = (e, t, n, r, i, a, o, s, c, l, u, d, f) => {
1273
+ let p = i ** 2, m = a ** 2, h = u ** 2, g = d ** 2, _ = p * m - p * g - m * h;
1274
+ _ < 0 && (_ = 0), _ /= p * g + m * h, _ = Math.sqrt(_) * (o === s ? -1 : 1);
1275
+ let v = _ * i / a * d, y = _ * -a / i * u, b = l * v - c * y + (e + n) / 2, x = c * v + l * y + (t + r) / 2, S = (u - v) / i, C = (d - y) / a, w = (-u - v) / i, T = (-d - y) / a, E = ln(1, 0, S, C), D = ln(S, C, w, T);
1276
+ s === 0 && D > 0 && (D -= an), s === 1 && D < 0 && (D += an), f.centerX = b, f.centerY = x, f.ang1 = E, f.ang2 = D;
1277
+ };
1278
+ function dn(e, t, n, r, i, a, o, s = 0, c = 0, l = 0) {
1279
+ if (a === 0 || o === 0) return;
1280
+ let u = Math.sin(s * an / 360), d = Math.cos(s * an / 360), f = d * (t - r) / 2 + u * (n - i) / 2, p = -u * (t - r) / 2 + d * (n - i) / 2;
1281
+ if (f === 0 && p === 0) return;
1282
+ a = Math.abs(a), o = Math.abs(o);
1283
+ let m = f ** 2 / a ** 2 + p ** 2 / o ** 2;
1284
+ m > 1 && (a *= Math.sqrt(m), o *= Math.sqrt(m)), un(t, n, r, i, a, o, c, l, u, d, f, p, on);
1285
+ let { ang1: h, ang2: g } = on, { centerX: _, centerY: v } = on, y = Math.abs(g) / (an / 4);
1286
+ Math.abs(1 - y) < 1e-7 && (y = 1);
1287
+ let b = Math.max(Math.ceil(y), 1);
1288
+ g /= b;
1289
+ let x = e[e.length - 2], S = e[e.length - 1], C = {
1290
+ x: 0,
1291
+ y: 0
1292
+ };
1293
+ for (let t = 0; t < b; t++) {
1294
+ let t = cn(h, g), { x: n, y: r } = sn(t[0], a, o, d, u, _, v, C), { x: i, y: s } = sn(t[1], a, o, d, u, _, v, C), { x: c, y: l } = sn(t[2], a, o, d, u, _, v, C);
1295
+ qt(e, x, S, n, r, i, s, c, l), x = c, S = l, h += g;
1296
+ }
1297
+ }
1298
+ //#endregion
1299
+ //#region node_modules/.pnpm/pixi.js@8.20.1/node_modules/pixi.js/lib/scene/graphics/shared/path/roundShape.mjs
1300
+ function fn(e, t, n) {
1301
+ let r = (e, t) => {
1302
+ let n = t.x - e.x, r = t.y - e.y, i = Math.sqrt(n * n + r * r);
1303
+ return {
1304
+ len: i,
1305
+ nx: n / i,
1306
+ ny: r / i
1307
+ };
1308
+ }, i = (t, n) => {
1309
+ t === 0 ? e.moveTo(n.x, n.y) : e.lineTo(n.x, n.y);
1310
+ }, a = t[t.length - 1];
1311
+ for (let o = 0; o < t.length; o++) {
1312
+ let s = t[o % t.length], c = s.radius ?? n;
1313
+ if (c <= 0) {
1314
+ i(o, s), a = s;
1315
+ continue;
1316
+ }
1317
+ let l = t[(o + 1) % t.length], u = r(s, a), d = r(s, l);
1318
+ if (u.len < 1e-4 || d.len < 1e-4) {
1319
+ i(o, s), a = s;
1320
+ continue;
1321
+ }
1322
+ let f = Math.asin(u.nx * d.ny - u.ny * d.nx), p = 1, m = !1;
1323
+ u.nx * d.nx - u.ny * -d.ny < 0 ? f < 0 ? f = Math.PI + f : (f = Math.PI - f, p = -1, m = !0) : f > 0 && (p = -1, m = !0);
1324
+ let h = f / 2, g, _ = Math.abs(Math.cos(h) * c / Math.sin(h));
1325
+ _ > Math.min(u.len / 2, d.len / 2) ? (_ = Math.min(u.len / 2, d.len / 2), g = Math.abs(_ * Math.sin(h) / Math.cos(h))) : g = c;
1326
+ let v = s.x + d.nx * _ + -d.ny * g * p, y = s.y + d.ny * _ + d.nx * g * p, b = Math.atan2(u.ny, u.nx) + Math.PI / 2 * p, x = Math.atan2(d.ny, d.nx) - Math.PI / 2 * p;
1327
+ o === 0 && e.moveTo(v + Math.cos(b) * g, y + Math.sin(b) * g), e.arc(v, y, g, b, x, m), a = s;
1328
+ }
1329
+ }
1330
+ function pn(e, t, n, r) {
1331
+ let i = (e, t) => Math.sqrt((e.x - t.x) ** 2 + (e.y - t.y) ** 2), a = (e, t, n) => ({
1332
+ x: e.x + (t.x - e.x) * n,
1333
+ y: e.y + (t.y - e.y) * n
1334
+ }), o = t.length;
1335
+ for (let s = 0; s < o; s++) {
1336
+ let c = t[(s + 1) % o], l = c.radius ?? n;
1337
+ if (l <= 0) {
1338
+ s === 0 ? e.moveTo(c.x, c.y) : e.lineTo(c.x, c.y);
1339
+ continue;
1340
+ }
1341
+ let u = t[s], d = t[(s + 2) % o], f = i(u, c), p;
1342
+ p = f < 1e-4 ? c : a(c, u, Math.min(f / 2, l) / f);
1343
+ let m = i(d, c), h;
1344
+ h = m < 1e-4 ? c : a(c, d, Math.min(m / 2, l) / m), s === 0 ? e.moveTo(p.x, p.y) : e.lineTo(p.x, p.y), e.quadraticCurveTo(c.x, c.y, h.x, h.y, r);
1345
+ }
1346
+ }
1347
+ //#endregion
1348
+ //#region node_modules/.pnpm/pixi.js@8.20.1/node_modules/pixi.js/lib/scene/graphics/shared/path/ShapePath.mjs
1349
+ var mn = new l(), hn = class {
1350
+ constructor(e) {
1351
+ this.shapePrimitives = [], this._currentPoly = null, this._bounds = new r(), this._graphicsPath2D = e, this.signed = e.checkForHoles;
1352
+ }
1353
+ moveTo(e, t) {
1354
+ return this.startPoly(e, t), this;
1355
+ }
1356
+ lineTo(e, t) {
1357
+ this._ensurePoly();
1358
+ let n = this._currentPoly.points, r = n[n.length - 2], i = n[n.length - 1];
1359
+ return (r !== e || i !== t) && n.push(e, t), this;
1360
+ }
1361
+ arc(e, t, n, r, i, a) {
1362
+ this._ensurePoly(!1);
1363
+ let o = this._currentPoly.points;
1364
+ return nn(o, e, t, n, r, i, a), this;
1365
+ }
1366
+ arcTo(e, t, n, r, i) {
1367
+ this._ensurePoly();
1368
+ let a = this._currentPoly.points;
1369
+ return rn(a, e, t, n, r, i), this;
1370
+ }
1371
+ arcToSvg(e, t, n, r, i, a, o) {
1372
+ let s = this._currentPoly.points;
1373
+ return dn(s, this._currentPoly.lastX, this._currentPoly.lastY, a, o, e, t, n, r, i), this;
1374
+ }
1375
+ bezierCurveTo(e, t, n, r, i, a, o) {
1376
+ this._ensurePoly();
1377
+ let s = this._currentPoly;
1378
+ return qt(this._currentPoly.points, s.lastX, s.lastY, e, t, n, r, i, a, o), this;
1379
+ }
1380
+ quadraticCurveTo(e, t, n, r, i) {
1381
+ this._ensurePoly();
1382
+ let a = this._currentPoly;
1383
+ return $t(this._currentPoly.points, a.lastX, a.lastY, e, t, n, r, i), this;
1384
+ }
1385
+ closePath() {
1386
+ return this.endPoly(!0), this;
1387
+ }
1388
+ addPath(e, t) {
1389
+ this.endPoly(), t && !t.isIdentity() && (e = e.clone(!0), e.transform(t));
1390
+ let n = this.shapePrimitives, r = n.length;
1391
+ for (let t = 0; t < e.instructions.length; t++) {
1392
+ let n = e.instructions[t];
1393
+ this[n.action](...n.data);
1394
+ }
1395
+ if (e.checkForHoles && n.length - r > 1) {
1396
+ let e = null;
1397
+ for (let t = r; t < n.length; t++) {
1398
+ let r = n[t];
1399
+ if (r.shape.type === "polygon") {
1400
+ let i = r.shape, a = e?.shape;
1401
+ a && a.containsPolygon(i) ? (e.holes ||= [], e.holes.push(r), n.copyWithin(t, t + 1), n.length--, t--) : e = r;
1402
+ }
1403
+ }
1404
+ }
1405
+ return this;
1406
+ }
1407
+ finish(e = !1) {
1408
+ this.endPoly(e);
1409
+ }
1410
+ rect(e, t, n, r, i) {
1411
+ return this.drawShape(new l(e, t, n, r), i), this;
1412
+ }
1413
+ circle(e, t, n, r) {
1414
+ return this.drawShape(new Qe(e, t, n), r), this;
1415
+ }
1416
+ poly(e, t, n) {
1417
+ let r = new it(e);
1418
+ return r.closePath = t, this.drawShape(r, n), this;
1419
+ }
1420
+ regularPoly(e, t, n, r, i = 0, a) {
1421
+ r = Math.max(r | 0, 3);
1422
+ let o = -1 * Math.PI / 2 + i, s = Math.PI * 2 / r, c = [];
1423
+ for (let i = 0; i < r; i++) {
1424
+ let r = o - i * s;
1425
+ c.push(e + n * Math.cos(r), t + n * Math.sin(r));
1426
+ }
1427
+ return this.poly(c, !0, a), this;
1428
+ }
1429
+ roundPoly(e, t, n, r, i, a = 0, o) {
1430
+ if (r = Math.max(r | 0, 3), i <= 0) return this.regularPoly(e, t, n, r, a);
1431
+ let s = n * Math.sin(Math.PI / r) - .001;
1432
+ i = Math.min(i, s);
1433
+ let c = -1 * Math.PI / 2 + a, l = Math.PI * 2 / r, u = (r - 2) * Math.PI / r / 2;
1434
+ for (let a = 0; a < r; a++) {
1435
+ let r = a * l + c, s = e + n * Math.cos(r), d = t + n * Math.sin(r), f = r + Math.PI + u, p = r - Math.PI - u, m = s + i * Math.cos(f), h = d + i * Math.sin(f), g = s + i * Math.cos(p), _ = d + i * Math.sin(p);
1436
+ a === 0 ? this.moveTo(m, h) : this.lineTo(m, h), this.quadraticCurveTo(s, d, g, _, o);
1437
+ }
1438
+ return this.closePath();
1439
+ }
1440
+ roundShape(e, t, n = !1, r) {
1441
+ return e.length < 3 ? this : (n ? pn(this, e, t, r) : fn(this, e, t), this.closePath());
1442
+ }
1443
+ filletRect(e, t, n, r, i) {
1444
+ if (i === 0) return this.rect(e, t, n, r);
1445
+ let a = Math.min(n, r) / 2, o = Math.min(a, Math.max(-a, i)), s = e + n, c = t + r, l = o < 0 ? -o : 0, u = Math.abs(o);
1446
+ return this.moveTo(e, t + u).arcTo(e + l, t + l, e + u, t, u).lineTo(s - u, t).arcTo(s - l, t + l, s, t + u, u).lineTo(s, c - u).arcTo(s - l, c - l, e + n - u, c, u).lineTo(e + u, c).arcTo(e + l, c - l, e, c - u, u).closePath();
1447
+ }
1448
+ chamferRect(e, t, n, r, i, a) {
1449
+ if (i <= 0) return this.rect(e, t, n, r);
1450
+ let o = Math.min(i, Math.min(n, r) / 2), s = e + n, c = t + r, l = [
1451
+ e + o,
1452
+ t,
1453
+ s - o,
1454
+ t,
1455
+ s,
1456
+ t + o,
1457
+ s,
1458
+ c - o,
1459
+ s - o,
1460
+ c,
1461
+ e + o,
1462
+ c,
1463
+ e,
1464
+ c - o,
1465
+ e,
1466
+ t + o
1467
+ ];
1468
+ for (let e = l.length - 1; e >= 2; e -= 2) l[e] === l[e - 2] && l[e - 1] === l[e - 3] && l.splice(e - 1, 2);
1469
+ return this.poly(l, !0, a);
1470
+ }
1471
+ ellipse(e, t, n, r, i) {
1472
+ return this.drawShape(new $e(e, t, n, r), i), this;
1473
+ }
1474
+ roundRect(e, t, n, r, i, a) {
1475
+ return this.drawShape(new ot(e, t, n, r, i), a), this;
1476
+ }
1477
+ drawShape(e, t) {
1478
+ return this.endPoly(), this.shapePrimitives.push({
1479
+ shape: e,
1480
+ transform: t
1481
+ }), this;
1482
+ }
1483
+ startPoly(e, t) {
1484
+ let n = this._currentPoly;
1485
+ return n && this.endPoly(), n = new it(), n.points.push(e, t), this._currentPoly = n, this;
1486
+ }
1487
+ endPoly(e = !1) {
1488
+ let t = this._currentPoly;
1489
+ return t && t.points.length > 2 && (t.closePath = e, this.shapePrimitives.push({ shape: t })), this._currentPoly = null, this;
1490
+ }
1491
+ _ensurePoly(e = !0) {
1492
+ if (!this._currentPoly && (this._currentPoly = new it(), e)) {
1493
+ let e = this.shapePrimitives[this.shapePrimitives.length - 1];
1494
+ if (e) {
1495
+ let t = e.shape.x, n = e.shape.y;
1496
+ if (e.transform && !e.transform.isIdentity()) {
1497
+ let r = e.transform, i = t;
1498
+ t = r.a * t + r.c * n + r.tx, n = r.b * i + r.d * n + r.ty;
1499
+ }
1500
+ this._currentPoly.points.push(t, n);
1501
+ } else this._currentPoly.points.push(0, 0);
1502
+ }
1503
+ }
1504
+ buildPath() {
1505
+ let e = this._graphicsPath2D;
1506
+ this.shapePrimitives.length = 0, this._currentPoly = null;
1507
+ for (let t = 0; t < e.instructions.length; t++) {
1508
+ let n = e.instructions[t];
1509
+ this[n.action](...n.data);
1510
+ }
1511
+ this.finish();
1512
+ }
1513
+ get bounds() {
1514
+ let e = this._bounds;
1515
+ e.clear();
1516
+ let t = this.shapePrimitives;
1517
+ for (let n = 0; n < t.length; n++) {
1518
+ let r = t[n], i = r.shape.getBounds(mn);
1519
+ r.transform ? e.addRect(i, r.transform) : e.addRect(i);
1520
+ }
1521
+ return e;
1522
+ }
1523
+ }, X = class e {
1524
+ constructor(e, t = !1) {
1525
+ this.instructions = [], this.uid = h("graphicsPath"), this._dirty = !0, this.checkForHoles = t, typeof e == "string" ? Ze(e, this) : this.instructions = e?.slice() ?? [];
1526
+ }
1527
+ get shapePath() {
1528
+ return this._shapePath ||= new hn(this), this._dirty && (this._dirty = !1, this._shapePath.buildPath()), this._shapePath;
1529
+ }
1530
+ addPath(e, t) {
1531
+ return e = e.clone(), this.instructions.push({
1532
+ action: "addPath",
1533
+ data: [e, t]
1534
+ }), this._dirty = !0, this;
1535
+ }
1536
+ arc(...e) {
1537
+ return this.instructions.push({
1538
+ action: "arc",
1539
+ data: e
1540
+ }), this._dirty = !0, this;
1541
+ }
1542
+ arcTo(...e) {
1543
+ return this.instructions.push({
1544
+ action: "arcTo",
1545
+ data: e
1546
+ }), this._dirty = !0, this;
1547
+ }
1548
+ arcToSvg(...e) {
1549
+ return this.instructions.push({
1550
+ action: "arcToSvg",
1551
+ data: e
1552
+ }), this._dirty = !0, this;
1553
+ }
1554
+ bezierCurveTo(...e) {
1555
+ return this.instructions.push({
1556
+ action: "bezierCurveTo",
1557
+ data: e
1558
+ }), this._dirty = !0, this;
1559
+ }
1560
+ bezierCurveToShort(e, t, n, r, i) {
1561
+ let a = this.instructions[this.instructions.length - 1], o = this.getLastPoint(C.shared), s = 0, c = 0;
1562
+ if (!a || a.action !== "bezierCurveTo") s = o.x, c = o.y;
1563
+ else {
1564
+ s = a.data[2], c = a.data[3];
1565
+ let e = o.x, t = o.y;
1566
+ s = e + (e - s), c = t + (t - c);
1567
+ }
1568
+ return this.instructions.push({
1569
+ action: "bezierCurveTo",
1570
+ data: [
1571
+ s,
1572
+ c,
1573
+ e,
1574
+ t,
1575
+ n,
1576
+ r,
1577
+ i
1578
+ ]
1579
+ }), this._dirty = !0, this;
1580
+ }
1581
+ closePath() {
1582
+ return this.instructions.push({
1583
+ action: "closePath",
1584
+ data: []
1585
+ }), this._dirty = !0, this;
1586
+ }
1587
+ ellipse(...e) {
1588
+ return this.instructions.push({
1589
+ action: "ellipse",
1590
+ data: e
1591
+ }), this._dirty = !0, this;
1592
+ }
1593
+ lineTo(...e) {
1594
+ return this.instructions.push({
1595
+ action: "lineTo",
1596
+ data: e
1597
+ }), this._dirty = !0, this;
1598
+ }
1599
+ moveTo(...e) {
1600
+ return this.instructions.push({
1601
+ action: "moveTo",
1602
+ data: e
1603
+ }), this;
1604
+ }
1605
+ quadraticCurveTo(...e) {
1606
+ return this.instructions.push({
1607
+ action: "quadraticCurveTo",
1608
+ data: e
1609
+ }), this._dirty = !0, this;
1610
+ }
1611
+ quadraticCurveToShort(e, t, n) {
1612
+ let r = this.instructions[this.instructions.length - 1], i = this.getLastPoint(C.shared), a = 0, o = 0;
1613
+ if (!r || r.action !== "quadraticCurveTo") a = i.x, o = i.y;
1614
+ else {
1615
+ a = r.data[0], o = r.data[1];
1616
+ let e = i.x, t = i.y;
1617
+ a = e + (e - a), o = t + (t - o);
1618
+ }
1619
+ return this.instructions.push({
1620
+ action: "quadraticCurveTo",
1621
+ data: [
1622
+ a,
1623
+ o,
1624
+ e,
1625
+ t,
1626
+ n
1627
+ ]
1628
+ }), this._dirty = !0, this;
1629
+ }
1630
+ rect(e, t, n, r, i) {
1631
+ return this.instructions.push({
1632
+ action: "rect",
1633
+ data: [
1634
+ e,
1635
+ t,
1636
+ n,
1637
+ r,
1638
+ i
1639
+ ]
1640
+ }), this._dirty = !0, this;
1641
+ }
1642
+ circle(e, t, n, r) {
1643
+ return this.instructions.push({
1644
+ action: "circle",
1645
+ data: [
1646
+ e,
1647
+ t,
1648
+ n,
1649
+ r
1650
+ ]
1651
+ }), this._dirty = !0, this;
1652
+ }
1653
+ roundRect(...e) {
1654
+ return this.instructions.push({
1655
+ action: "roundRect",
1656
+ data: e
1657
+ }), this._dirty = !0, this;
1658
+ }
1659
+ poly(...e) {
1660
+ return this.instructions.push({
1661
+ action: "poly",
1662
+ data: e
1663
+ }), this._dirty = !0, this;
1664
+ }
1665
+ regularPoly(...e) {
1666
+ return this.instructions.push({
1667
+ action: "regularPoly",
1668
+ data: e
1669
+ }), this._dirty = !0, this;
1670
+ }
1671
+ roundPoly(...e) {
1672
+ return this.instructions.push({
1673
+ action: "roundPoly",
1674
+ data: e
1675
+ }), this._dirty = !0, this;
1676
+ }
1677
+ roundShape(...e) {
1678
+ return this.instructions.push({
1679
+ action: "roundShape",
1680
+ data: e
1681
+ }), this._dirty = !0, this;
1682
+ }
1683
+ filletRect(...e) {
1684
+ return this.instructions.push({
1685
+ action: "filletRect",
1686
+ data: e
1687
+ }), this._dirty = !0, this;
1688
+ }
1689
+ chamferRect(...e) {
1690
+ return this.instructions.push({
1691
+ action: "chamferRect",
1692
+ data: e
1693
+ }), this._dirty = !0, this;
1694
+ }
1695
+ star(e, t, n, r, i, a, o) {
1696
+ i ||= r / 2;
1697
+ let s = -1 * Math.PI / 2 + a, c = n * 2, l = Math.PI * 2 / c, u = [];
1698
+ for (let n = 0; n < c; n++) {
1699
+ let a = n % 2 ? i : r, o = n * l + s;
1700
+ u.push(e + a * Math.cos(o), t + a * Math.sin(o));
1701
+ }
1702
+ return this.poly(u, !0, o), this;
1703
+ }
1704
+ clone(t = !1) {
1705
+ let n = new e();
1706
+ if (n.checkForHoles = this.checkForHoles, !t) n.instructions = this.instructions.slice();
1707
+ else for (let e = 0; e < this.instructions.length; e++) {
1708
+ let t = this.instructions[e];
1709
+ n.instructions.push({
1710
+ action: t.action,
1711
+ data: t.data.slice()
1712
+ });
1713
+ }
1714
+ return n;
1715
+ }
1716
+ clear() {
1717
+ return this.instructions.length = 0, this._dirty = !0, this;
1718
+ }
1719
+ transform(e) {
1720
+ if (e.isIdentity()) return this;
1721
+ let t = e.a, n = e.b, r = e.c, i = e.d, a = e.tx, o = e.ty, s = 0, c = 0, l = 0, d = 0, f = 0, p = 0, m = 0, h = 0;
1722
+ for (let g = 0; g < this.instructions.length; g++) {
1723
+ let _ = this.instructions[g], v = _.data;
1724
+ switch (_.action) {
1725
+ case "moveTo":
1726
+ case "lineTo":
1727
+ s = v[0], c = v[1], v[0] = t * s + r * c + a, v[1] = n * s + i * c + o;
1728
+ break;
1729
+ case "bezierCurveTo":
1730
+ l = v[0], d = v[1], f = v[2], p = v[3], s = v[4], c = v[5], v[0] = t * l + r * d + a, v[1] = n * l + i * d + o, v[2] = t * f + r * p + a, v[3] = n * f + i * p + o, v[4] = t * s + r * c + a, v[5] = n * s + i * c + o;
1731
+ break;
1732
+ case "quadraticCurveTo":
1733
+ l = v[0], d = v[1], s = v[2], c = v[3], v[0] = t * l + r * d + a, v[1] = n * l + i * d + o, v[2] = t * s + r * c + a, v[3] = n * s + i * c + o;
1734
+ break;
1735
+ case "arcToSvg":
1736
+ s = v[5], c = v[6], m = v[0], h = v[1], v[0] = t * m + r * h, v[1] = n * m + i * h, v[5] = t * s + r * c + a, v[6] = n * s + i * c + o;
1737
+ break;
1738
+ case "circle":
1739
+ v[4] = gn(v[3], e);
1740
+ break;
1741
+ case "rect":
1742
+ v[4] = gn(v[4], e);
1743
+ break;
1744
+ case "ellipse":
1745
+ v[8] = gn(v[8], e);
1746
+ break;
1747
+ case "roundRect":
1748
+ v[5] = gn(v[5], e);
1749
+ break;
1750
+ case "addPath":
1751
+ v[0].transform(e);
1752
+ break;
1753
+ case "poly":
1754
+ v[2] = gn(v[2], e);
1755
+ break;
1756
+ case "regularPoly":
1757
+ case "chamferRect":
1758
+ v[5] = gn(v[5], e);
1759
+ break;
1760
+ case "closePath": break;
1761
+ default:
1762
+ u("unknown transform action", _.action);
1763
+ break;
1764
+ }
1765
+ }
1766
+ return this._dirty = !0, this;
1767
+ }
1768
+ get bounds() {
1769
+ return this.shapePath.bounds;
1770
+ }
1771
+ getLastPoint(e) {
1772
+ let t = this.instructions.length - 1, n = this.instructions[t];
1773
+ if (!n) return e.x = 0, e.y = 0, e;
1774
+ for (; n.action === "closePath";) {
1775
+ if (t--, t < 0) return e.x = 0, e.y = 0, e;
1776
+ n = this.instructions[t];
1777
+ }
1778
+ switch (n.action) {
1779
+ case "moveTo":
1780
+ case "lineTo":
1781
+ e.x = n.data[0], e.y = n.data[1];
1782
+ break;
1783
+ case "quadraticCurveTo":
1784
+ e.x = n.data[2], e.y = n.data[3];
1785
+ break;
1786
+ case "bezierCurveTo":
1787
+ e.x = n.data[4], e.y = n.data[5];
1788
+ break;
1789
+ case "arc":
1790
+ case "arcToSvg":
1791
+ e.x = n.data[5], e.y = n.data[6];
1792
+ break;
1793
+ case "addPath":
1794
+ n.data[0].getLastPoint(e);
1795
+ break;
1796
+ }
1797
+ return e;
1798
+ }
1799
+ };
1800
+ function gn(e, t) {
1801
+ return e ? e.prepend(t) : t.clone();
1802
+ }
1803
+ //#endregion
1804
+ //#region node_modules/.pnpm/pixi.js@8.20.1/node_modules/pixi.js/lib/scene/graphics/shared/svg/parseSVGFloatAttribute.mjs
1805
+ function Z(e, t, n) {
1806
+ let r = e.getAttribute(t);
1807
+ return r ? Number(r) : n;
1808
+ }
1809
+ //#endregion
1810
+ //#region node_modules/.pnpm/pixi.js@8.20.1/node_modules/pixi.js/lib/scene/graphics/shared/svg/parseSVGDefinitions.mjs
1811
+ function _n(e, t) {
1812
+ let n = e.querySelectorAll("defs");
1813
+ for (let e = 0; e < n.length; e++) {
1814
+ let r = n[e];
1815
+ for (let e = 0; e < r.children.length; e++) {
1816
+ let n = r.children[e];
1817
+ switch (n.nodeName.toLowerCase()) {
1818
+ case "lineargradient":
1819
+ t.defs[n.id] = bn(n);
1820
+ break;
1821
+ case "radialgradient":
1822
+ t.defs[n.id] = xn(n);
1823
+ break;
1824
+ default: break;
1825
+ }
1826
+ }
1827
+ }
1828
+ }
1829
+ function Q(e, t, n) {
1830
+ let r = e.getAttribute(t);
1831
+ if (r?.trim().endsWith("%")) {
1832
+ let e = Number(r.trim().slice(0, -1));
1833
+ return Number.isNaN(e) ? n : e / 100;
1834
+ }
1835
+ return Z(e, t, n);
1836
+ }
1837
+ function vn(e) {
1838
+ return (e.getAttribute("gradientUnits") || "objectBoundingBox") === "objectBoundingBox" ? "local" : "global";
1839
+ }
1840
+ function yn(e) {
1841
+ let t = [];
1842
+ for (let n = 0; n < e.children.length; n++) {
1843
+ let r = e.children[n], i = Q(r, "offset", 0), a = T.shared.setValue(r.getAttribute("stop-color")).toNumber();
1844
+ t.push({
1845
+ offset: i,
1846
+ color: a
1847
+ });
1848
+ }
1849
+ return t;
1850
+ }
1851
+ function bn(e) {
1852
+ let t = Q(e, "x1", 0), n = Q(e, "y1", 0), r = Q(e, "x2", 1), i = Q(e, "y2", 0);
1853
+ return new J({
1854
+ type: "linear",
1855
+ start: {
1856
+ x: t,
1857
+ y: n
1858
+ },
1859
+ end: {
1860
+ x: r,
1861
+ y: i
1862
+ },
1863
+ textureSpace: vn(e),
1864
+ colorStops: yn(e)
1865
+ });
1866
+ }
1867
+ function xn(e) {
1868
+ let t = Q(e, "cx", .5), n = Q(e, "cy", .5), r = Q(e, "r", .5), i = Q(e, "fx", t), a = Q(e, "fy", n), o = Q(e, "fr", 0);
1869
+ return new J({
1870
+ type: "radial",
1871
+ center: {
1872
+ x: i,
1873
+ y: a
1874
+ },
1875
+ innerRadius: o,
1876
+ outerCenter: {
1877
+ x: t,
1878
+ y: n
1879
+ },
1880
+ outerRadius: r,
1881
+ textureSpace: vn(e),
1882
+ colorStops: yn(e)
1883
+ });
1884
+ }
1885
+ //#endregion
1886
+ //#region node_modules/.pnpm/pixi.js@8.20.1/node_modules/pixi.js/lib/scene/graphics/shared/svg/utils/extractSvgUrlId.mjs
1887
+ function Sn(e) {
1888
+ let t = e.match(/url\s*\(\s*['"]?\s*#([^'"\s)]+)\s*['"]?\s*\)/i);
1889
+ return t ? t[1] : "";
1890
+ }
1891
+ //#endregion
1892
+ //#region node_modules/.pnpm/pixi.js@8.20.1/node_modules/pixi.js/lib/scene/graphics/shared/svg/parseSVGStyle.mjs
1893
+ var Cn = {
1894
+ fill: {
1895
+ type: "paint",
1896
+ default: 0
1897
+ },
1898
+ "fill-opacity": {
1899
+ type: "number",
1900
+ default: 1
1901
+ },
1902
+ stroke: {
1903
+ type: "paint",
1904
+ default: 0
1905
+ },
1906
+ "stroke-width": {
1907
+ type: "number",
1908
+ default: 1
1909
+ },
1910
+ "stroke-opacity": {
1911
+ type: "number",
1912
+ default: 1
1913
+ },
1914
+ "stroke-linecap": {
1915
+ type: "string",
1916
+ default: "butt"
1917
+ },
1918
+ "stroke-linejoin": {
1919
+ type: "string",
1920
+ default: "miter"
1921
+ },
1922
+ "stroke-miterlimit": {
1923
+ type: "number",
1924
+ default: 10
1925
+ },
1926
+ "stroke-dasharray": {
1927
+ type: "string",
1928
+ default: "none"
1929
+ },
1930
+ "stroke-dashoffset": {
1931
+ type: "number",
1932
+ default: 0
1933
+ },
1934
+ opacity: {
1935
+ type: "number",
1936
+ default: 1
1937
+ }
1938
+ };
1939
+ function wn(e, t) {
1940
+ let n = e.getAttribute("style"), r = {}, i = {}, a = {
1941
+ strokeStyle: r,
1942
+ fillStyle: i,
1943
+ useFill: !1,
1944
+ useStroke: !1
1945
+ };
1946
+ for (let n in Cn) {
1947
+ let r = e.getAttribute(n);
1948
+ r && Tn(t, a, n, r.trim());
1949
+ }
1950
+ if (n) {
1951
+ let e = n.split(";");
1952
+ for (let n = 0; n < e.length; n++) {
1953
+ let [r, i] = e[n].trim().split(":");
1954
+ Cn[r] && Tn(t, a, r, i.trim());
1955
+ }
1956
+ }
1957
+ return {
1958
+ strokeStyle: a.useStroke ? r : null,
1959
+ fillStyle: a.useFill ? i : null,
1960
+ useFill: a.useFill,
1961
+ useStroke: a.useStroke
1962
+ };
1963
+ }
1964
+ function Tn(e, t, n, r) {
1965
+ switch (n) {
1966
+ case "stroke":
1967
+ if (r !== "none") {
1968
+ if (r.startsWith("url(")) {
1969
+ let n = Sn(r);
1970
+ t.strokeStyle.fill = e.defs[n];
1971
+ } else t.strokeStyle.color = T.shared.setValue(r).toNumber();
1972
+ t.useStroke = !0;
1973
+ }
1974
+ break;
1975
+ case "stroke-width":
1976
+ t.strokeStyle.width = Number(r);
1977
+ break;
1978
+ case "fill":
1979
+ if (r !== "none") {
1980
+ if (r.startsWith("url(")) {
1981
+ let n = Sn(r);
1982
+ t.fillStyle.fill = e.defs[n];
1983
+ } else t.fillStyle.color = T.shared.setValue(r).toNumber();
1984
+ t.useFill = !0;
1985
+ }
1986
+ break;
1987
+ case "fill-opacity":
1988
+ t.fillStyle.alpha = Number(r);
1989
+ break;
1990
+ case "stroke-opacity":
1991
+ t.strokeStyle.alpha = Number(r);
1992
+ break;
1993
+ case "opacity":
1994
+ t.fillStyle.alpha = Number(r), t.strokeStyle.alpha = Number(r);
1995
+ break;
1996
+ }
1997
+ }
1998
+ //#endregion
1999
+ //#region node_modules/.pnpm/pixi.js@8.20.1/node_modules/pixi.js/lib/scene/graphics/shared/svg/utils/fillOperations.mjs
2000
+ function En(e) {
2001
+ if (e.length <= 2) return !0;
2002
+ let t = e.map((e) => e.area).sort((e, t) => t - e), [n, r] = t, i = t[t.length - 1], a = n / r, o = r / i;
2003
+ return !(a > 3 && o < 2);
2004
+ }
2005
+ //#endregion
2006
+ //#region node_modules/.pnpm/pixi.js@8.20.1/node_modules/pixi.js/lib/scene/graphics/shared/svg/utils/pathOperations.mjs
2007
+ function Dn(e) {
2008
+ return e.split(/(?=[Mm])/).filter((e) => e.trim().length > 0);
2009
+ }
2010
+ function On(e) {
2011
+ let t = e.match(/[-+]?[0-9]*\.?[0-9]+/g);
2012
+ if (!t || t.length < 4) return 0;
2013
+ let n = t.map(Number), r = [], i = [];
2014
+ for (let e = 0; e < n.length; e += 2) e + 1 < n.length && (r.push(n[e]), i.push(n[e + 1]));
2015
+ if (r.length === 0 || i.length === 0) return 0;
2016
+ let a = Math.min(...r), o = Math.max(...r), s = Math.min(...i), c = Math.max(...i);
2017
+ return (o - a) * (c - s);
2018
+ }
2019
+ function kn(e, t) {
2020
+ let n = new X(e, !1);
2021
+ for (let e of n.instructions) t.instructions.push(e);
2022
+ }
2023
+ //#endregion
2024
+ //#region node_modules/.pnpm/pixi.js@8.20.1/node_modules/pixi.js/lib/scene/graphics/shared/svg/SVGParser.mjs
2025
+ function An(e, t) {
2026
+ if (typeof e == "string") {
2027
+ let t = document.createElement("div");
2028
+ t.innerHTML = e.trim(), e = t.querySelector("svg");
2029
+ }
2030
+ let n = {
2031
+ context: t,
2032
+ defs: {},
2033
+ path: new X()
2034
+ };
2035
+ _n(e, n);
2036
+ let r = e.children, { fillStyle: i, strokeStyle: a } = wn(e, n);
2037
+ for (let e = 0; e < r.length; e++) {
2038
+ let t = r[e];
2039
+ t.nodeName.toLowerCase() !== "defs" && jn(t, n, i, a);
2040
+ }
2041
+ return t;
2042
+ }
2043
+ function jn(e, t, n, r) {
2044
+ let i = e.children, { fillStyle: a, strokeStyle: o } = wn(e, t);
2045
+ a && n ? n = {
2046
+ ...n,
2047
+ ...a
2048
+ } : a && (n = a), o && r ? r = {
2049
+ ...r,
2050
+ ...o
2051
+ } : o && (r = o);
2052
+ let s = !n && !r;
2053
+ s && (n = { color: 0 });
2054
+ let c, l, d, f, p, m, h, g, _, v, y, b, x, S, C, w, T;
2055
+ switch (e.nodeName.toLowerCase()) {
2056
+ case "path": {
2057
+ S = e.getAttribute("d");
2058
+ let i = e.getAttribute("fill-rule"), a = Dn(S), o = i === "evenodd", s = a.length > 1;
2059
+ if (o && s) {
2060
+ let e = a.map((e) => ({
2061
+ path: e,
2062
+ area: On(e)
2063
+ }));
2064
+ if (e.sort((e, t) => t.area - e.area), a.length > 3 || !En(e)) for (let i = 0; i < e.length; i++) {
2065
+ let a = e[i], o = i === 0;
2066
+ t.context.beginPath();
2067
+ let s = new X(void 0, !0);
2068
+ kn(a.path, s), t.context.path(s), o ? (n && t.context.fill(n), r && t.context.stroke(r)) : t.context.cut();
2069
+ }
2070
+ else for (let i = 0; i < e.length; i++) {
2071
+ let a = e[i], o = i % 2 == 1;
2072
+ t.context.beginPath();
2073
+ let s = new X(void 0, !0);
2074
+ kn(a.path, s), t.context.path(s), o ? t.context.cut() : (n && t.context.fill(n), r && t.context.stroke(r));
2075
+ }
2076
+ } else C = new X(S, !i || i === "evenodd"), t.context.path(C), n && t.context.fill(n), r && t.context.stroke(r);
2077
+ break;
2078
+ }
2079
+ case "circle":
2080
+ h = Z(e, "cx", 0), g = Z(e, "cy", 0), _ = Z(e, "r", 0), t.context.ellipse(h, g, _, _), n && t.context.fill(n), r && t.context.stroke(r);
2081
+ break;
2082
+ case "rect":
2083
+ c = Z(e, "x", 0), l = Z(e, "y", 0), w = Z(e, "width", 0), T = Z(e, "height", 0), v = Z(e, "rx", 0), y = Z(e, "ry", 0), v || y ? t.context.roundRect(c, l, w, T, v || y) : t.context.rect(c, l, w, T), n && t.context.fill(n), r && t.context.stroke(r);
2084
+ break;
2085
+ case "ellipse":
2086
+ h = Z(e, "cx", 0), g = Z(e, "cy", 0), v = Z(e, "rx", 0), y = Z(e, "ry", 0), t.context.beginPath(), t.context.ellipse(h, g, v, y), n && t.context.fill(n), r && t.context.stroke(r);
2087
+ break;
2088
+ case "line":
2089
+ d = Z(e, "x1", 0), f = Z(e, "y1", 0), p = Z(e, "x2", 0), m = Z(e, "y2", 0), t.context.beginPath(), t.context.moveTo(d, f), t.context.lineTo(p, m), r && t.context.stroke(r);
2090
+ break;
2091
+ case "polygon":
2092
+ x = e.getAttribute("points"), b = x.match(/-?\d+/g).map((e) => parseInt(e, 10)), t.context.poly(b, !0), n && t.context.fill(n), r && t.context.stroke(r);
2093
+ break;
2094
+ case "polyline":
2095
+ x = e.getAttribute("points"), b = x.match(/-?\d+/g).map((e) => parseInt(e, 10)), t.context.poly(b, !1), r && t.context.stroke(r);
2096
+ break;
2097
+ case "g":
2098
+ case "svg": break;
2099
+ default:
2100
+ u(`[SVG parser] <${e.nodeName}> elements unsupported`);
2101
+ break;
2102
+ }
2103
+ s && (n = null);
2104
+ for (let e = 0; e < i.length; e++) jn(i[e], t, n, r);
2105
+ }
2106
+ //#endregion
2107
+ //#region node_modules/.pnpm/pixi.js@8.20.1/node_modules/pixi.js/lib/scene/graphics/shared/fill/FillPattern.mjs
2108
+ function Mn(e) {
2109
+ return e.texture !== void 0;
2110
+ }
2111
+ var Nn = {
2112
+ repeat: {
2113
+ addressModeU: "repeat",
2114
+ addressModeV: "repeat"
2115
+ },
2116
+ "repeat-x": {
2117
+ addressModeU: "repeat",
2118
+ addressModeV: "clamp-to-edge"
2119
+ },
2120
+ "repeat-y": {
2121
+ addressModeU: "clamp-to-edge",
2122
+ addressModeV: "repeat"
2123
+ },
2124
+ "no-repeat": {
2125
+ addressModeU: "clamp-to-edge",
2126
+ addressModeV: "clamp-to-edge"
2127
+ }
2128
+ }, Pn = class {
2129
+ constructor(e, t) {
2130
+ this.uid = h("fillPattern"), this._tick = 0, this.transform = new _();
2131
+ let n = Mn(e) ? e : {
2132
+ texture: e,
2133
+ repetition: t
2134
+ };
2135
+ this.texture = n.texture, this.textureSpace = n.textureSpace ?? "global";
2136
+ let r = n.repetition;
2137
+ r && (this.texture.source.style.addressModeU = Nn[r].addressModeU, this.texture.source.style.addressModeV = Nn[r].addressModeV);
2138
+ }
2139
+ setTransform(e) {
2140
+ if (e) {
2141
+ if (this.transform.equals(e)) return;
2142
+ this.transform.copyFrom(e);
2143
+ } else {
2144
+ if (this.transform.isIdentity()) return;
2145
+ this.transform.identity();
2146
+ }
2147
+ this._tick++;
2148
+ }
2149
+ get texture() {
2150
+ return this._texture;
2151
+ }
2152
+ set texture(e) {
2153
+ this._texture !== e && (this._texture = e, this._tick++);
2154
+ }
2155
+ get styleKey() {
2156
+ return `fill-pattern-${this.uid}-${this._tick}`;
2157
+ }
2158
+ destroy() {
2159
+ this.texture.destroy(!0), this.texture = null;
2160
+ }
2161
+ };
2162
+ //#endregion
2163
+ //#region node_modules/.pnpm/pixi.js@8.20.1/node_modules/pixi.js/lib/scene/graphics/shared/utils/convertFillInputToFillStyle.mjs
2164
+ function Fn(e) {
2165
+ return T.isColorLike(e);
2166
+ }
2167
+ function In(e) {
2168
+ return e instanceof Pn;
2169
+ }
2170
+ function Ln(e) {
2171
+ return e instanceof J;
2172
+ }
2173
+ function Rn(e) {
2174
+ return e instanceof f;
2175
+ }
2176
+ function zn(e, t, n) {
2177
+ let r = T.shared.setValue(t ?? 0);
2178
+ return e.color = r.toNumber(), e.alpha = r.alpha === 1 ? n.alpha : r.alpha, e.texture = f.WHITE, {
2179
+ ...n,
2180
+ ...e
2181
+ };
2182
+ }
2183
+ function Bn(e, t, n) {
2184
+ return e.texture = t, {
2185
+ ...n,
2186
+ ...e
2187
+ };
2188
+ }
2189
+ function Vn(e, t, n) {
2190
+ return e.fill = t, e.color = 16777215, e.texture = t.texture, e.matrix = t.transform, e.textureSpace = t.textureSpace, {
2191
+ ...n,
2192
+ ...e
2193
+ };
2194
+ }
2195
+ function Hn(e, t, n) {
2196
+ return t.buildGradient(), e.fill = t, e.color = 16777215, e.texture = t.texture, e.matrix = t.transform, e.textureSpace = t.textureSpace, {
2197
+ ...n,
2198
+ ...e
2199
+ };
2200
+ }
2201
+ function Un(e, t) {
2202
+ let n = {
2203
+ ...t,
2204
+ ...e
2205
+ }, r = T.shared.setValue(n.color);
2206
+ return n.alpha *= r.alpha, n.color = r.toNumber(), n;
2207
+ }
2208
+ function Wn(e, t) {
2209
+ if (e == null) return null;
2210
+ let n = {}, r = e;
2211
+ return Fn(e) ? zn(n, e, t) : Rn(e) ? Bn(n, e, t) : In(e) ? Vn(n, e, t) : Ln(e) ? Hn(n, e, t) : r.fill && In(r.fill) ? Vn(r, r.fill, t) : r.fill && Ln(r.fill) ? Hn(r, r.fill, t) : Un(r, t);
2212
+ }
2213
+ function Gn(e, t) {
2214
+ let { width: n, alignment: r, miterLimit: i, cap: a, join: o, pixelLine: s, ...c } = t, l = Wn(e, c);
2215
+ return l ? {
2216
+ width: n,
2217
+ alignment: r,
2218
+ miterLimit: i,
2219
+ cap: a,
2220
+ join: o,
2221
+ pixelLine: s,
2222
+ ...l
2223
+ } : null;
2224
+ }
2225
+ //#endregion
2226
+ //#region node_modules/.pnpm/pixi.js@8.20.1/node_modules/pixi.js/lib/scene/graphics/shared/utils/getMaxMiterRatio.mjs
2227
+ function Kn(e, t) {
2228
+ let n = 1, r = e.shapePath.shapePrimitives;
2229
+ for (let e = 0; e < r.length; e++) {
2230
+ let i = r[e].shape;
2231
+ if (i.type !== "polygon") continue;
2232
+ let a = i.points, o = a.length;
2233
+ if (o < 6) continue;
2234
+ let s = i.closePath;
2235
+ for (let e = 0; e < o; e += 2) {
2236
+ if (!s && (e === 0 || e === o - 2)) continue;
2237
+ let r = (e - 2 + o) % o, i = (e + 2) % o, c = a[r], l = a[r + 1], u = a[e], d = a[e + 1], f = a[i], p = a[i + 1], m = c - u, h = l - d, g = f - u, _ = p - d, v = m * m + h * h, y = g * g + _ * _;
2238
+ if (v < 1e-12 || y < 1e-12) continue;
2239
+ let b = (m * g + h * _) / Math.sqrt(v * y);
2240
+ b < -1 ? b = -1 : b > 1 && (b = 1);
2241
+ let x = Math.sqrt((1 - b) * .5);
2242
+ if (x < 1e-6) continue;
2243
+ let S = Math.min(1 / x, t);
2244
+ S > n && (n = S);
2245
+ }
2246
+ }
2247
+ return n;
2248
+ }
2249
+ //#endregion
2250
+ //#region node_modules/.pnpm/pixi.js@8.20.1/node_modules/pixi.js/lib/scene/graphics/shared/GraphicsContext.mjs
2251
+ var qn = new C(), Jn = new _(), Yn = class e extends b {
2252
+ constructor() {
2253
+ super(...arguments), this._gpuData = /* @__PURE__ */ Object.create(null), this.autoGarbageCollect = !0, this._gcLastUsed = -1, this.uid = h("graphicsContext"), this.dirty = !0, this.batchMode = "auto", this.instructions = [], this.destroyed = !1, this._activePath = new X(), this._transform = new _(), this._fillStyle = { ...e.defaultFillStyle }, this._strokeStyle = { ...e.defaultStrokeStyle }, this._stateStack = [], this._tick = 0, this._bounds = new r(), this._boundsDirty = !0;
2254
+ }
2255
+ clone() {
2256
+ let t = new e();
2257
+ return t.batchMode = this.batchMode, t.instructions = this.instructions.slice(), t._activePath = this._activePath.clone(), t._transform = this._transform.clone(), t._fillStyle = { ...this._fillStyle }, t._strokeStyle = { ...this._strokeStyle }, t._stateStack = this._stateStack.slice(), t._bounds = this._bounds.clone(), t._boundsDirty = !0, t;
2258
+ }
2259
+ get fillStyle() {
2260
+ return this._fillStyle;
2261
+ }
2262
+ set fillStyle(t) {
2263
+ this._fillStyle = Wn(t, e.defaultFillStyle);
2264
+ }
2265
+ get strokeStyle() {
2266
+ return this._strokeStyle;
2267
+ }
2268
+ set strokeStyle(t) {
2269
+ this._strokeStyle = Gn(t, e.defaultStrokeStyle);
2270
+ }
2271
+ setFillStyle(t) {
2272
+ return this._fillStyle = Wn(t, e.defaultFillStyle), this;
2273
+ }
2274
+ setStrokeStyle(t) {
2275
+ return this._strokeStyle = Wn(t, e.defaultStrokeStyle), this;
2276
+ }
2277
+ texture(e, t, n, r, i, a) {
2278
+ return this.instructions.push({
2279
+ action: "texture",
2280
+ data: {
2281
+ image: e,
2282
+ dx: n || 0,
2283
+ dy: r || 0,
2284
+ dw: i || e.frame.width,
2285
+ dh: a || e.frame.height,
2286
+ transform: this._transform.clone(),
2287
+ alpha: this._fillStyle.alpha,
2288
+ style: t || t === 0 ? T.shared.setValue(t).toNumber() : 16777215
2289
+ }
2290
+ }), this.onUpdate(), this;
2291
+ }
2292
+ beginPath() {
2293
+ return this._activePath = new X(), this;
2294
+ }
2295
+ fill(t, n) {
2296
+ let r, i = this.instructions[this.instructions.length - 1];
2297
+ return r = this._tick === 0 && i?.action === "stroke" ? i.data.path : this._activePath.clone(), r ? (t != null && (n !== void 0 && typeof t == "number" && (o(m, "GraphicsContext.fill(color, alpha) is deprecated, use GraphicsContext.fill({ color, alpha }) instead"), t = {
2298
+ color: t,
2299
+ alpha: n
2300
+ }), this._fillStyle = Wn(t, e.defaultFillStyle)), this.instructions.push({
2301
+ action: "fill",
2302
+ data: {
2303
+ style: this.fillStyle,
2304
+ path: r
2305
+ }
2306
+ }), this.onUpdate(), this._initNextPathLocation(), this._tick = 0, this) : this;
2307
+ }
2308
+ _initNextPathLocation() {
2309
+ let { x: e, y: t } = this._activePath.getLastPoint(C.shared);
2310
+ this._activePath.clear(), this._activePath.moveTo(e, t);
2311
+ }
2312
+ stroke(t) {
2313
+ let n, r = this.instructions[this.instructions.length - 1];
2314
+ return n = this._tick === 0 && r?.action === "fill" ? r.data.path : this._activePath.clone(), n ? (t != null && (this._strokeStyle = Gn(t, e.defaultStrokeStyle)), this.instructions.push({
2315
+ action: "stroke",
2316
+ data: {
2317
+ style: this.strokeStyle,
2318
+ path: n
2319
+ }
2320
+ }), this.onUpdate(), this._initNextPathLocation(), this._tick = 0, this) : this;
2321
+ }
2322
+ cut() {
2323
+ for (let e = 0; e < 2; e++) {
2324
+ let t = this.instructions[this.instructions.length - 1 - e], n = this._activePath.clone();
2325
+ if (t && (t.action === "stroke" || t.action === "fill")) if (t.data.hole) t.data.hole.addPath(n);
2326
+ else {
2327
+ t.data.hole = n;
2328
+ break;
2329
+ }
2330
+ }
2331
+ return this._initNextPathLocation(), this;
2332
+ }
2333
+ arc(e, t, n, r, i, a) {
2334
+ this._tick++;
2335
+ let o = this._transform;
2336
+ return this._activePath.arc(o.a * e + o.c * t + o.tx, o.b * e + o.d * t + o.ty, n, r, i, a), this;
2337
+ }
2338
+ arcTo(e, t, n, r, i) {
2339
+ this._tick++;
2340
+ let a = this._transform;
2341
+ return this._activePath.arcTo(a.a * e + a.c * t + a.tx, a.b * e + a.d * t + a.ty, a.a * n + a.c * r + a.tx, a.b * n + a.d * r + a.ty, i), this;
2342
+ }
2343
+ arcToSvg(e, t, n, r, i, a, o) {
2344
+ this._tick++;
2345
+ let s = this._transform;
2346
+ return this._activePath.arcToSvg(e, t, n, r, i, s.a * a + s.c * o + s.tx, s.b * a + s.d * o + s.ty), this;
2347
+ }
2348
+ bezierCurveTo(e, t, n, r, i, a, o) {
2349
+ this._tick++;
2350
+ let s = this._transform;
2351
+ return this._activePath.bezierCurveTo(s.a * e + s.c * t + s.tx, s.b * e + s.d * t + s.ty, s.a * n + s.c * r + s.tx, s.b * n + s.d * r + s.ty, s.a * i + s.c * a + s.tx, s.b * i + s.d * a + s.ty, o), this;
2352
+ }
2353
+ closePath() {
2354
+ return this._tick++, this._activePath?.closePath(), this;
2355
+ }
2356
+ ellipse(e, t, n, r) {
2357
+ return this._tick++, this._activePath.ellipse(e, t, n, r, this._transform.clone()), this;
2358
+ }
2359
+ circle(e, t, n) {
2360
+ return this._tick++, this._activePath.circle(e, t, n, this._transform.clone()), this;
2361
+ }
2362
+ path(e) {
2363
+ return this._tick++, this._activePath.addPath(e, this._transform.clone()), this;
2364
+ }
2365
+ lineTo(e, t) {
2366
+ this._tick++;
2367
+ let n = this._transform;
2368
+ return this._activePath.lineTo(n.a * e + n.c * t + n.tx, n.b * e + n.d * t + n.ty), this;
2369
+ }
2370
+ moveTo(e, t) {
2371
+ this._tick++;
2372
+ let n = this._transform, r = this._activePath.instructions, i = n.a * e + n.c * t + n.tx, a = n.b * e + n.d * t + n.ty;
2373
+ return r.length === 1 && r[0].action === "moveTo" ? (r[0].data[0] = i, r[0].data[1] = a, this) : (this._activePath.moveTo(i, a), this);
2374
+ }
2375
+ quadraticCurveTo(e, t, n, r, i) {
2376
+ this._tick++;
2377
+ let a = this._transform;
2378
+ return this._activePath.quadraticCurveTo(a.a * e + a.c * t + a.tx, a.b * e + a.d * t + a.ty, a.a * n + a.c * r + a.tx, a.b * n + a.d * r + a.ty, i), this;
2379
+ }
2380
+ rect(e, t, n, r) {
2381
+ return this._tick++, this._activePath.rect(e, t, n, r, this._transform.clone()), this;
2382
+ }
2383
+ roundRect(e, t, n, r, i) {
2384
+ return this._tick++, this._activePath.roundRect(e, t, n, r, i, this._transform.clone()), this;
2385
+ }
2386
+ poly(e, t) {
2387
+ return this._tick++, this._activePath.poly(e, t, this._transform.clone()), this;
2388
+ }
2389
+ regularPoly(e, t, n, r, i = 0, a) {
2390
+ return this._tick++, this._activePath.regularPoly(e, t, n, r, i, a), this;
2391
+ }
2392
+ roundPoly(e, t, n, r, i, a) {
2393
+ return this._tick++, this._activePath.roundPoly(e, t, n, r, i, a), this;
2394
+ }
2395
+ roundShape(e, t, n, r) {
2396
+ return this._tick++, this._activePath.roundShape(e, t, n, r), this;
2397
+ }
2398
+ filletRect(e, t, n, r, i) {
2399
+ return this._tick++, this._activePath.filletRect(e, t, n, r, i), this;
2400
+ }
2401
+ chamferRect(e, t, n, r, i, a) {
2402
+ return this._tick++, this._activePath.chamferRect(e, t, n, r, i, a), this;
2403
+ }
2404
+ star(e, t, n, r, i = 0, a = 0) {
2405
+ return this._tick++, this._activePath.star(e, t, n, r, i, a, this._transform.clone()), this;
2406
+ }
2407
+ svg(e) {
2408
+ return this._tick++, An(e, this), this;
2409
+ }
2410
+ restore() {
2411
+ let e = this._stateStack.pop();
2412
+ return e && (this._transform = e.transform, this._fillStyle = e.fillStyle, this._strokeStyle = e.strokeStyle), this;
2413
+ }
2414
+ save() {
2415
+ return this._stateStack.push({
2416
+ transform: this._transform.clone(),
2417
+ fillStyle: { ...this._fillStyle },
2418
+ strokeStyle: { ...this._strokeStyle }
2419
+ }), this;
2420
+ }
2421
+ getTransform() {
2422
+ return this._transform;
2423
+ }
2424
+ resetTransform() {
2425
+ return this._transform.identity(), this;
2426
+ }
2427
+ rotate(e) {
2428
+ return this._transform.rotate(e), this;
2429
+ }
2430
+ scale(e, t = e) {
2431
+ return this._transform.scale(e, t), this;
2432
+ }
2433
+ setTransform(e, t, n, r, i, a) {
2434
+ return e instanceof _ ? (this._transform.set(e.a, e.b, e.c, e.d, e.tx, e.ty), this) : (this._transform.set(e, t, n, r, i, a), this);
2435
+ }
2436
+ transform(e, t, n, r, i, a) {
2437
+ return e instanceof _ ? (this._transform.append(e), this) : (Jn.set(e, t, n, r, i, a), this._transform.append(Jn), this);
2438
+ }
2439
+ translate(e, t = e) {
2440
+ return this._transform.translate(e, t), this;
2441
+ }
2442
+ clear() {
2443
+ return this._activePath.clear(), this.instructions.length = 0, this.resetTransform(), this.onUpdate(), this;
2444
+ }
2445
+ onUpdate() {
2446
+ this._boundsDirty = !0, this.dirty = !0, this.emit("update", this, 16);
2447
+ }
2448
+ get bounds() {
2449
+ if (!this._boundsDirty) return this._bounds;
2450
+ this._boundsDirty = !1;
2451
+ let e = this._bounds;
2452
+ e.clear();
2453
+ for (let t = 0; t < this.instructions.length; t++) {
2454
+ let n = this.instructions[t], r = n.action;
2455
+ if (r === "fill") {
2456
+ let t = n.data;
2457
+ e.addBounds(t.path.bounds);
2458
+ } else if (r === "texture") {
2459
+ let t = n.data;
2460
+ e.addFrame(t.dx, t.dy, t.dx + t.dw, t.dy + t.dh, t.transform);
2461
+ }
2462
+ if (r === "stroke") {
2463
+ let t = n.data, r = t.style.alignment, i = t.style.width * (1 - r);
2464
+ t.style.join === "miter" && (i *= Kn(t.path, t.style.miterLimit));
2465
+ let a = t.path.bounds;
2466
+ e.addFrame(a.minX - i, a.minY - i, a.maxX + i, a.maxY + i);
2467
+ }
2468
+ }
2469
+ return e.isValid || e.set(0, 0, 0, 0), e;
2470
+ }
2471
+ containsPoint(e) {
2472
+ if (!this.bounds.containsPoint(e.x, e.y)) return !1;
2473
+ let t = this.instructions, n = !1;
2474
+ for (let r = 0; r < t.length; r++) {
2475
+ let i = t[r], a = i.data, o = a.path;
2476
+ if (!i.action || !o) continue;
2477
+ let s = a.style, c = o.shapePath.shapePrimitives;
2478
+ for (let t = 0; t < c.length; t++) {
2479
+ let r = c[t].shape;
2480
+ if (!s || !r) continue;
2481
+ let o = c[t].transform, l = o ? o.applyInverse(e, qn) : e;
2482
+ if (i.action === "fill") n = r.contains(l.x, l.y);
2483
+ else {
2484
+ let e = s;
2485
+ n = r.strokeContains(l.x, l.y, e.width, e.alignment);
2486
+ }
2487
+ let u = a.hole;
2488
+ if (u) {
2489
+ let e = u.shapePath?.shapePrimitives;
2490
+ if (e) for (let t = 0; t < e.length; t++) e[t].shape.contains(l.x, l.y) && (n = !1);
2491
+ }
2492
+ if (n) return !0;
2493
+ }
2494
+ }
2495
+ return n;
2496
+ }
2497
+ unload() {
2498
+ this.emit("unload", this);
2499
+ for (let e in this._gpuData) this._gpuData[e]?.destroy();
2500
+ this._gpuData = /* @__PURE__ */ Object.create(null);
2501
+ }
2502
+ destroy(e = !1) {
2503
+ if (!this.destroyed) {
2504
+ if (this.destroyed = !0, this._stateStack.length = 0, this._transform = null, this.unload(), this.emit("destroy", this), this.removeAllListeners(), typeof e == "boolean" ? e : e?.texture) {
2505
+ let t = typeof e == "boolean" ? e : e?.textureSource;
2506
+ this._fillStyle.texture && (this._fillStyle.fill && "uid" in this._fillStyle.fill ? this._fillStyle.fill.destroy() : this._fillStyle.texture.destroy(t)), this._strokeStyle.texture && (this._strokeStyle.fill && "uid" in this._strokeStyle.fill ? this._strokeStyle.fill.destroy() : this._strokeStyle.texture.destroy(t));
2507
+ }
2508
+ this._fillStyle = null, this._strokeStyle = null, this.instructions = null, this._activePath = null, this._bounds = null, this._stateStack = null, this.customShader = null, this._transform = null;
2509
+ }
2510
+ }
2511
+ };
2512
+ Yn.defaultFillStyle = {
2513
+ color: 16777215,
2514
+ alpha: 1,
2515
+ texture: f.WHITE,
2516
+ matrix: null,
2517
+ fill: null,
2518
+ textureSpace: "local"
2519
+ }, Yn.defaultStrokeStyle = {
2520
+ width: 1,
2521
+ color: 16777215,
2522
+ alpha: 1,
2523
+ alignment: .5,
2524
+ miterLimit: 10,
2525
+ cap: "butt",
2526
+ join: "miter",
2527
+ texture: f.WHITE,
2528
+ matrix: null,
2529
+ fill: null,
2530
+ textureSpace: "local",
2531
+ pixelLine: !1
2532
+ };
2533
+ var Xn = Yn, Zn = class {
2534
+ constructor() {
2535
+ this.isBatchable = !1;
2536
+ }
2537
+ reset() {
2538
+ this.isBatchable = !1, this.context = null, this.graphicsData &&= (this.graphicsData.destroy(), null);
2539
+ }
2540
+ destroy() {
2541
+ this.reset();
2542
+ }
2543
+ }, Qn = class {
2544
+ constructor() {
2545
+ this.instructions = new i();
2546
+ }
2547
+ init() {
2548
+ this.instructions.reset();
2549
+ }
2550
+ destroy() {
2551
+ this.instructions.destroy(), this.instructions = null;
2552
+ }
2553
+ }, $n = class e {
2554
+ constructor(e) {
2555
+ this._renderer = e, this._managedContexts = new M({
2556
+ renderer: e,
2557
+ type: "resource",
2558
+ name: "graphicsContext"
2559
+ });
2560
+ }
2561
+ init(t) {
2562
+ e.defaultOptions.bezierSmoothness = t?.bezierSmoothness ?? e.defaultOptions.bezierSmoothness;
2563
+ }
2564
+ getContextRenderData(e) {
2565
+ return this.getGpuContext(e).graphicsData || this._initContextRenderData(e);
2566
+ }
2567
+ updateGpuContext(e) {
2568
+ let t = e._gpuData, n = !!t[this._renderer.uid], r = t[this._renderer.uid] || this._initContext(e);
2569
+ return (e.dirty || !n) && (n && r.reset(), r.isBatchable = !1, e.dirty = !1), r;
2570
+ }
2571
+ getGpuContext(e) {
2572
+ return e._gpuData[this._renderer.uid] || this._initContext(e);
2573
+ }
2574
+ _initContextRenderData(e) {
2575
+ let t = new Qn(), n = this.getGpuContext(e);
2576
+ return n.graphicsData = t, t.init(), t;
2577
+ }
2578
+ _initContext(e) {
2579
+ let t = new Zn();
2580
+ return t.context = e, e._gpuData[this._renderer.uid] = t, this._managedContexts.add(e), t;
2581
+ }
2582
+ destroy() {
2583
+ this._managedContexts.destroy(), this._renderer = null;
2584
+ }
2585
+ };
2586
+ $n.extension = {
2587
+ type: [S.CanvasSystem],
2588
+ name: "graphicsContext"
2589
+ }, $n.defaultOptions = { bezierSmoothness: .5 };
2590
+ var er = $n, tr = class {
2591
+ constructor(e, t) {
2592
+ this.state = x.for2d(), this.renderer = e, this._adaptor = t, this.renderer.runners.contextChange.add(this), this._managedGraphics = new M({
2593
+ renderer: e,
2594
+ type: "renderable",
2595
+ priority: -1,
2596
+ name: "graphics"
2597
+ });
2598
+ }
2599
+ contextChange() {
2600
+ this._adaptor.contextChange(this.renderer);
2601
+ }
2602
+ validateRenderable(e) {
2603
+ return !1;
2604
+ }
2605
+ addRenderable(e, t) {
2606
+ this._managedGraphics.add(e), this.renderer.renderPipes.batch.break(t), t.add(e);
2607
+ }
2608
+ updateRenderable(e) {}
2609
+ execute(e) {
2610
+ e.isRenderable && this._adaptor.execute(this, e);
2611
+ }
2612
+ destroy() {
2613
+ this._managedGraphics.destroy(), this.renderer = null, this._adaptor.destroy(), this._adaptor = null;
2614
+ }
2615
+ };
2616
+ tr.extension = {
2617
+ type: [S.CanvasPipes],
2618
+ name: "graphics"
2619
+ };
2620
+ //#endregion
2621
+ //#region node_modules/.pnpm/pixi.js@8.20.1/node_modules/pixi.js/lib/scene/graphics/shared/GraphicsPipe.mjs
2622
+ var nr = class {
2623
+ constructor() {
2624
+ this.batches = [], this.batched = !1;
2625
+ }
2626
+ destroy() {
2627
+ this.batches.forEach((e) => {
2628
+ a.return(e);
2629
+ }), this.batches.length = 0;
2630
+ }
2631
+ }, rr = class {
2632
+ constructor(e, t) {
2633
+ this.state = x.for2d(), this.renderer = e, this._adaptor = t, this.renderer.runners.contextChange.add(this), this._managedGraphics = new M({
2634
+ renderer: e,
2635
+ type: "renderable",
2636
+ priority: -1,
2637
+ name: "graphics"
2638
+ });
2639
+ }
2640
+ contextChange() {
2641
+ this._adaptor.contextChange(this.renderer);
2642
+ }
2643
+ validateRenderable(e) {
2644
+ let t = e.context, n = !!e._gpuData, r = this.renderer.graphicsContext.updateGpuContext(t);
2645
+ return !!(r.isBatchable || n !== r.isBatchable);
2646
+ }
2647
+ addRenderable(e, t) {
2648
+ let n = this.renderer.graphicsContext.updateGpuContext(e.context);
2649
+ e.didViewUpdate && this._rebuild(e), n.isBatchable ? this._addToBatcher(e, t) : (this.renderer.renderPipes.batch.break(t), t.add(e));
2650
+ }
2651
+ updateRenderable(e) {
2652
+ let t = this._getGpuDataForRenderable(e).batches;
2653
+ for (let e = 0; e < t.length; e++) {
2654
+ let n = t[e];
2655
+ n._batcher.updateElement(n);
2656
+ }
2657
+ }
2658
+ execute(e) {
2659
+ if (!e.isRenderable) return;
2660
+ let t = this.renderer, n = e.context;
2661
+ if (!t.graphicsContext.getGpuContext(n).batches.length) return;
2662
+ let r = n.customShader || this._adaptor.shader;
2663
+ this.state.blendMode = e.groupBlendMode;
2664
+ let i = r.resources.localUniforms.uniforms;
2665
+ i.uTransformMatrix = e.groupTransform, i.uRound = t._roundPixels | e._roundPixels, re(e.groupColorAlpha, i.uColor, 0), this._adaptor.execute(this, e);
2666
+ }
2667
+ _rebuild(e) {
2668
+ let t = this._getGpuDataForRenderable(e), n = this.renderer.graphicsContext.updateGpuContext(e.context);
2669
+ t.destroy(), n.isBatchable && this._updateBatchesForRenderable(e, t);
2670
+ }
2671
+ _addToBatcher(e, t) {
2672
+ let n = this.renderer.renderPipes.batch, r = this._getGpuDataForRenderable(e).batches;
2673
+ for (let e = 0; e < r.length; e++) {
2674
+ let i = r[e];
2675
+ n.addToBatch(i, t);
2676
+ }
2677
+ }
2678
+ _getGpuDataForRenderable(e) {
2679
+ return e._gpuData[this.renderer.uid] || this._initGpuDataForRenderable(e);
2680
+ }
2681
+ _initGpuDataForRenderable(e) {
2682
+ let t = new nr();
2683
+ return e._gpuData[this.renderer.uid] = t, this._managedGraphics.add(e), t;
2684
+ }
2685
+ _updateBatchesForRenderable(e, t) {
2686
+ let n = e.context, r = this.renderer.graphicsContext.getGpuContext(n), i = this.renderer._roundPixels | e._roundPixels;
2687
+ t.batches = r.batches.map((t) => {
2688
+ let n = a.get(dt);
2689
+ return t.copyTo(n), n.renderable = e, n.roundPixels = i, n;
2690
+ });
2691
+ }
2692
+ destroy() {
2693
+ this._managedGraphics.destroy(), this.renderer = null, this._adaptor.destroy(), this._adaptor = null, this.state = null;
2694
+ }
2695
+ };
2696
+ rr.extension = {
2697
+ type: [S.WebGLPipes, S.WebGPUPipes],
2698
+ name: "graphics"
2699
+ }, v.add(tr), v.add(rr), v.add(er), v.add(Ut);
2700
+ //#endregion
2701
+ //#region node_modules/.pnpm/pixi.js@8.20.1/node_modules/pixi.js/lib/scene/graphics/shared/Graphics.mjs
2702
+ var ir = class e extends d {
2703
+ constructor(e) {
2704
+ e instanceof Xn && (e = { context: e });
2705
+ let { context: t, roundPixels: n, ...r } = e || {};
2706
+ super({
2707
+ label: "Graphics",
2708
+ ...r
2709
+ }), this.renderPipeId = "graphics", t ? this.context = t : (this.context = this._ownedContext = new Xn(), this.context.autoGarbageCollect = this.autoGarbageCollect), this.didViewUpdate = !0, this.allowChildren = !1, this.roundPixels = n ?? !1;
2710
+ }
2711
+ set context(e) {
2712
+ e !== this._context && (this._context && (this._context.off("update", this.onViewUpdate, this), this._context.off("unload", this.unload, this)), this._context = e, this._context.on("update", this.onViewUpdate, this), this._context.on("unload", this.unload, this), this.onViewUpdate());
2713
+ }
2714
+ get context() {
2715
+ return this._context;
2716
+ }
2717
+ get bounds() {
2718
+ return this._context.bounds;
2719
+ }
2720
+ updateBounds() {}
2721
+ containsPoint(e) {
2722
+ return this._context.containsPoint(e);
2723
+ }
2724
+ destroy(e) {
2725
+ this._ownedContext && !e ? this._ownedContext.destroy(e) : (e === !0 || e?.context === !0) && this._context.destroy(e), this._context?.off("update", this.onViewUpdate, this), this._context?.off("unload", this.unload, this), this._ownedContext = null, this._context = null, super.destroy(e);
2726
+ }
2727
+ _onTouch(e) {
2728
+ this._gcLastUsed = e, this._context._gcLastUsed = e;
2729
+ }
2730
+ _callContextMethod(e, t) {
2731
+ return this.context[e](...t), this;
2732
+ }
2733
+ setFillStyle(...e) {
2734
+ return this._callContextMethod("setFillStyle", e);
2735
+ }
2736
+ setStrokeStyle(...e) {
2737
+ return this._callContextMethod("setStrokeStyle", e);
2738
+ }
2739
+ fill(...e) {
2740
+ return this._callContextMethod("fill", e);
2741
+ }
2742
+ stroke(...e) {
2743
+ return this._callContextMethod("stroke", e);
2744
+ }
2745
+ texture(...e) {
2746
+ return this._callContextMethod("texture", e);
2747
+ }
2748
+ beginPath() {
2749
+ return this._callContextMethod("beginPath", []);
2750
+ }
2751
+ cut() {
2752
+ return this._callContextMethod("cut", []);
2753
+ }
2754
+ arc(...e) {
2755
+ return this._callContextMethod("arc", e);
2756
+ }
2757
+ arcTo(...e) {
2758
+ return this._callContextMethod("arcTo", e);
2759
+ }
2760
+ arcToSvg(...e) {
2761
+ return this._callContextMethod("arcToSvg", e);
2762
+ }
2763
+ bezierCurveTo(...e) {
2764
+ return this._callContextMethod("bezierCurveTo", e);
2765
+ }
2766
+ closePath() {
2767
+ return this._callContextMethod("closePath", []);
2768
+ }
2769
+ ellipse(...e) {
2770
+ return this._callContextMethod("ellipse", e);
2771
+ }
2772
+ circle(...e) {
2773
+ return this._callContextMethod("circle", e);
2774
+ }
2775
+ path(...e) {
2776
+ return this._callContextMethod("path", e);
2777
+ }
2778
+ lineTo(...e) {
2779
+ return this._callContextMethod("lineTo", e);
2780
+ }
2781
+ moveTo(...e) {
2782
+ return this._callContextMethod("moveTo", e);
2783
+ }
2784
+ quadraticCurveTo(...e) {
2785
+ return this._callContextMethod("quadraticCurveTo", e);
2786
+ }
2787
+ rect(...e) {
2788
+ return this._callContextMethod("rect", e);
2789
+ }
2790
+ roundRect(...e) {
2791
+ return this._callContextMethod("roundRect", e);
2792
+ }
2793
+ poly(...e) {
2794
+ return this._callContextMethod("poly", e);
2795
+ }
2796
+ regularPoly(...e) {
2797
+ return this._callContextMethod("regularPoly", e);
2798
+ }
2799
+ roundPoly(...e) {
2800
+ return this._callContextMethod("roundPoly", e);
2801
+ }
2802
+ roundShape(...e) {
2803
+ return this._callContextMethod("roundShape", e);
2804
+ }
2805
+ filletRect(...e) {
2806
+ return this._callContextMethod("filletRect", e);
2807
+ }
2808
+ chamferRect(...e) {
2809
+ return this._callContextMethod("chamferRect", e);
2810
+ }
2811
+ star(...e) {
2812
+ return this._callContextMethod("star", e);
2813
+ }
2814
+ svg(...e) {
2815
+ return this._callContextMethod("svg", e);
2816
+ }
2817
+ restore(...e) {
2818
+ return this._callContextMethod("restore", e);
2819
+ }
2820
+ save() {
2821
+ return this._callContextMethod("save", []);
2822
+ }
2823
+ getTransform() {
2824
+ return this.context.getTransform();
2825
+ }
2826
+ resetTransform() {
2827
+ return this._callContextMethod("resetTransform", []);
2828
+ }
2829
+ rotateTransform(...e) {
2830
+ return this._callContextMethod("rotate", e);
2831
+ }
2832
+ scaleTransform(...e) {
2833
+ return this._callContextMethod("scale", e);
2834
+ }
2835
+ setTransform(...e) {
2836
+ return this._callContextMethod("setTransform", e);
2837
+ }
2838
+ transform(...e) {
2839
+ return this._callContextMethod("transform", e);
2840
+ }
2841
+ translateTransform(...e) {
2842
+ return this._callContextMethod("translate", e);
2843
+ }
2844
+ clear() {
2845
+ return this._callContextMethod("clear", []);
2846
+ }
2847
+ get fillStyle() {
2848
+ return this._context.fillStyle;
2849
+ }
2850
+ set fillStyle(e) {
2851
+ this._context.fillStyle = e;
2852
+ }
2853
+ get strokeStyle() {
2854
+ return this._context.strokeStyle;
2855
+ }
2856
+ set strokeStyle(e) {
2857
+ this._context.strokeStyle = e;
2858
+ }
2859
+ clone(t = !1) {
2860
+ return t ? new e(this._context.clone()) : (this._ownedContext = null, new e(this._context));
2861
+ }
2862
+ lineStyle(e, t, n) {
2863
+ o(m, "Graphics#lineStyle is no longer needed. Use Graphics#setStrokeStyle to set the stroke style.");
2864
+ let r = {};
2865
+ return e && (r.width = e), t && (r.color = t), n && (r.alpha = n), this.context.strokeStyle = r, this;
2866
+ }
2867
+ beginFill(e, t) {
2868
+ o(m, "Graphics#beginFill is no longer needed. Use Graphics#fill to fill the shape with the desired style.");
2869
+ let n = {};
2870
+ return e !== void 0 && (n.color = e), t !== void 0 && (n.alpha = t), this.context.fillStyle = n, this;
2871
+ }
2872
+ endFill() {
2873
+ o(m, "Graphics#endFill is no longer needed. Use Graphics#fill to fill the shape with the desired style."), this.context.fill();
2874
+ let e = this.context.strokeStyle;
2875
+ return (e.width !== Xn.defaultStrokeStyle.width || e.color !== Xn.defaultStrokeStyle.color || e.alpha !== Xn.defaultStrokeStyle.alpha) && this.context.stroke(), this;
2876
+ }
2877
+ drawCircle(...e) {
2878
+ return o(m, "Graphics#drawCircle has been renamed to Graphics#circle"), this._callContextMethod("circle", e);
2879
+ }
2880
+ drawEllipse(...e) {
2881
+ return o(m, "Graphics#drawEllipse has been renamed to Graphics#ellipse"), this._callContextMethod("ellipse", e);
2882
+ }
2883
+ drawPolygon(...e) {
2884
+ return o(m, "Graphics#drawPolygon has been renamed to Graphics#poly"), this._callContextMethod("poly", e);
2885
+ }
2886
+ drawRect(...e) {
2887
+ return o(m, "Graphics#drawRect has been renamed to Graphics#rect"), this._callContextMethod("rect", e);
2888
+ }
2889
+ drawRoundedRect(...e) {
2890
+ return o(m, "Graphics#drawRoundedRect has been renamed to Graphics#roundRect"), this._callContextMethod("roundRect", e);
2891
+ }
2892
+ drawStar(...e) {
2893
+ return o(m, "Graphics#drawStar has been renamed to Graphics#star"), this._callContextMethod("star", e);
2894
+ }
2895
+ }, ar = class e {
2896
+ static _getPatternRepeat(e, t) {
2897
+ let n = e && e !== "clamp-to-edge", r = t && t !== "clamp-to-edge";
2898
+ return n && r ? "repeat" : n ? "repeat-x" : r ? "repeat-y" : "no-repeat";
2899
+ }
2900
+ start(e, t, n) {}
2901
+ execute(r, i) {
2902
+ let a = i.elements;
2903
+ if (!a || !a.length) return;
2904
+ let o = r.renderer, s = o.canvasContext, l = s.activeContext;
2905
+ for (let r = 0; r < a.length; r++) {
2906
+ let u = a[r];
2907
+ if (!u.packAsQuad) continue;
2908
+ let d = u, f = d.texture, p = f ? O.getCanvasSource(f) : null;
2909
+ if (!p) continue;
2910
+ let m = f.source.style, h = s.smoothProperty, g = m.scaleMode !== "nearest";
2911
+ l[h] !== g && (l[h] = g), s.setBlendMode(i.blendMode);
2912
+ let _ = o.globalUniforms.globalUniformData?.worldColor ?? 4294967295, v = d.color, y = (_ >>> 24 & 255) / 255, b = (v >>> 24 & 255) / 255, x = o.filter?.alphaMultiplier ?? 1, S = y * b * x;
2913
+ if (S <= 0) continue;
2914
+ l.globalAlpha = S;
2915
+ let C = _ & 16777215, w = c(n(v & 16777215, C)), T = f.frame, E = m.addressModeU ?? m.addressMode, D = m.addressModeV ?? m.addressMode, k = e._getPatternRepeat(E, D), A = f.source._resolution ?? f.source.resolution ?? 1, j = d.renderable?.renderGroup?.isCachedAsTexture, M = T.x * A, N = T.y * A, P = T.width * A, F = T.height * A, I = d.bounds, ee = o.renderTarget.renderTarget.isRoot, te = I.minX, ne = I.minY, re = I.maxX - I.minX, ie = I.maxY - I.minY, L = f.rotate, R = f.uvs, ae = Math.min(R.x0, R.x1, R.x2, R.x3, R.y0, R.y1, R.y2, R.y3), oe = Math.max(R.x0, R.x1, R.x2, R.x3, R.y0, R.y1, R.y2, R.y3), z = k !== "no-repeat" && (ae < 0 || oe > 1), B = L && !(!z && (w !== 16777215 || L));
2916
+ B ? (e._tempPatternMatrix.copyFrom(d.transform), t.matrixAppendRotationInv(e._tempPatternMatrix, L, te, ne, re, ie), s.setContextTransform(e._tempPatternMatrix, d.roundPixels === 1, void 0, j && ee)) : s.setContextTransform(d.transform, d.roundPixels === 1, void 0, j && ee);
2917
+ let se = re, ce = ie, V = B ? 0 : te, H = B ? 0 : ne;
2918
+ if (!B && d.roundPixels === 1 && (V |= 0, H |= 0), z) {
2919
+ let t = p, n = w !== 16777215 && !L, r = T.width <= f.source.width && T.height <= f.source.height;
2920
+ n && r && (t = O.getTintedCanvas({ texture: f }, w));
2921
+ let i = l.createPattern(t, k);
2922
+ if (!i) continue;
2923
+ let a = se, o = ce;
2924
+ if (a === 0 || o === 0) continue;
2925
+ let s = 1 / a, c = 1 / o, u = (R.x1 - R.x0) * s, d = (R.y1 - R.y0) * s, m = (R.x3 - R.x0) * c, h = (R.y3 - R.y0) * c, g = R.x0 - u * V - m * H, _ = R.y0 - d * V - h * H, v = f.source.pixelWidth, y = f.source.pixelHeight;
2926
+ e._tempPatternMatrix.set(u * v, d * y, m * v, h * y, g * v, _ * y), O.applyPatternTransform(i, e._tempPatternMatrix), l.fillStyle = i, l.fillRect(V, H, se, ce);
2927
+ } else {
2928
+ let e = w !== 16777215 || L ? O.getTintedCanvas({ texture: f }, w) : p, t = e !== p;
2929
+ l.drawImage(e, t ? 0 : M, t ? 0 : N, t ? e.width : P, t ? e.height : F, V, H, se, ce);
2930
+ }
2931
+ }
2932
+ }
2933
+ };
2934
+ ar._tempPatternMatrix = new _(), ar.extension = {
2935
+ type: [S.CanvasPipesAdaptor],
2936
+ name: "batch"
2937
+ };
2938
+ var or = ar, sr = class {
2939
+ constructor(e) {
2940
+ this._colorStack = [], this._colorStackIndex = 0, this._currentColor = 0, this._renderer = e;
2941
+ }
2942
+ buildStart() {
2943
+ this._colorStack[0] = 15, this._colorStackIndex = 1, this._currentColor = 15;
2944
+ }
2945
+ push(e, t, n) {
2946
+ this._renderer.renderPipes.batch.break(n);
2947
+ let r = this._colorStack;
2948
+ r[this._colorStackIndex] = r[this._colorStackIndex - 1] & e.mask;
2949
+ let i = this._colorStack[this._colorStackIndex];
2950
+ i !== this._currentColor && (this._currentColor = i, n.add({
2951
+ renderPipeId: "colorMask",
2952
+ colorMask: i,
2953
+ canBundle: !1
2954
+ })), this._colorStackIndex++;
2955
+ }
2956
+ pop(e, t, n) {
2957
+ this._renderer.renderPipes.batch.break(n);
2958
+ let r = this._colorStack;
2959
+ this._colorStackIndex--;
2960
+ let i = r[this._colorStackIndex - 1];
2961
+ i !== this._currentColor && (this._currentColor = i, n.add({
2962
+ renderPipeId: "colorMask",
2963
+ colorMask: i,
2964
+ canBundle: !1
2965
+ }));
2966
+ }
2967
+ execute(e) {}
2968
+ destroy() {
2969
+ this._renderer = null, this._colorStack = null;
2970
+ }
2971
+ };
2972
+ sr.extension = {
2973
+ type: [S.CanvasPipes],
2974
+ name: "colorMask"
2975
+ };
2976
+ //#endregion
2977
+ //#region node_modules/.pnpm/pixi.js@8.20.1/node_modules/pixi.js/lib/rendering/mask/stencil/CanvasStencilMaskPipe.mjs
2978
+ function cr(e, t, n, r, i, a) {
2979
+ a = Math.max(0, Math.min(a, Math.min(r, i) / 2)), e.moveTo(t + a, n), e.lineTo(t + r - a, n), e.quadraticCurveTo(t + r, n, t + r, n + a), e.lineTo(t + r, n + i - a), e.quadraticCurveTo(t + r, n + i, t + r - a, n + i), e.lineTo(t + a, n + i), e.quadraticCurveTo(t, n + i, t, n + i - a), e.lineTo(t, n + a), e.quadraticCurveTo(t, n, t + a, n);
2980
+ }
2981
+ function lr(e, t) {
2982
+ switch (t.type) {
2983
+ case "rectangle": {
2984
+ let n = t;
2985
+ e.rect(n.x, n.y, n.width, n.height);
2986
+ break;
2987
+ }
2988
+ case "roundedRectangle": {
2989
+ let n = t;
2990
+ cr(e, n.x, n.y, n.width, n.height, n.radius);
2991
+ break;
2992
+ }
2993
+ case "circle": {
2994
+ let n = t;
2995
+ e.moveTo(n.x + n.radius, n.y), e.arc(n.x, n.y, n.radius, 0, Math.PI * 2);
2996
+ break;
2997
+ }
2998
+ case "ellipse": {
2999
+ let n = t;
3000
+ e.ellipse ? (e.moveTo(n.x + n.halfWidth, n.y), e.ellipse(n.x, n.y, n.halfWidth, n.halfHeight, 0, 0, Math.PI * 2)) : (e.save(), e.translate(n.x, n.y), e.scale(n.halfWidth, n.halfHeight), e.moveTo(1, 0), e.arc(0, 0, 1, 0, Math.PI * 2), e.restore());
3001
+ break;
3002
+ }
3003
+ case "triangle": {
3004
+ let n = t;
3005
+ e.moveTo(n.x, n.y), e.lineTo(n.x2, n.y2), e.lineTo(n.x3, n.y3), e.closePath();
3006
+ break;
3007
+ }
3008
+ default: {
3009
+ let n = t, r = n.points;
3010
+ if (!r?.length) break;
3011
+ e.moveTo(r[0], r[1]);
3012
+ for (let t = 2; t < r.length; t += 2) e.lineTo(r[t], r[t + 1]);
3013
+ n.closePath && e.closePath();
3014
+ break;
3015
+ }
3016
+ }
3017
+ }
3018
+ function ur(e, t, n) {
3019
+ let r = [], i = [], a = [];
3020
+ if (!Y[t.type]?.build(t, r)) return !1;
3021
+ vt(r, n, !1, t.closePath ?? !0, i, a);
3022
+ for (let t = 0; t < a.length; t += 3) {
3023
+ let n = a[t] * 2, r = a[t + 1] * 2, o = a[t + 2] * 2;
3024
+ e.moveTo(i[n], i[n + 1]), e.lineTo(i[r], i[r + 1]), e.lineTo(i[o], i[o + 1]), e.closePath();
3025
+ }
3026
+ return !0;
3027
+ }
3028
+ function dr(e, t) {
3029
+ if (!t?.length) return !1;
3030
+ for (let n = 0; n < t.length; n++) {
3031
+ let r = t[n];
3032
+ if (!r?.shape) continue;
3033
+ let i = r.transform, a = i && !i.isIdentity();
3034
+ a && (e.save(), e.transform(i.a, i.b, i.c, i.d, i.tx, i.ty)), lr(e, r.shape), a && e.restore();
3035
+ }
3036
+ return !0;
3037
+ }
3038
+ var fr = class {
3039
+ constructor(e) {
3040
+ this._warnedMaskTypes = /* @__PURE__ */ new Set(), this._canvasMaskStack = [], this._renderer = e;
3041
+ }
3042
+ push(e, t, n) {
3043
+ this._renderer.renderPipes.batch.break(n), n.add({
3044
+ renderPipeId: "stencilMask",
3045
+ action: "pushMaskBegin",
3046
+ mask: e,
3047
+ inverse: t._maskOptions.inverse,
3048
+ canBundle: !1
3049
+ });
3050
+ }
3051
+ pop(e, t, n) {
3052
+ this._renderer.renderPipes.batch.break(n), n.add({
3053
+ renderPipeId: "stencilMask",
3054
+ action: "popMaskEnd",
3055
+ mask: e,
3056
+ inverse: t._maskOptions.inverse,
3057
+ canBundle: !1
3058
+ });
3059
+ }
3060
+ execute(e) {
3061
+ if (e.action !== "pushMaskBegin" && e.action !== "popMaskEnd") return;
3062
+ let t = this._renderer, n = t.canvasContext, r = n?.activeContext;
3063
+ if (!r) return;
3064
+ if (e.action === "popMaskEnd") {
3065
+ this._canvasMaskStack.pop() && r.restore();
3066
+ return;
3067
+ }
3068
+ e.inverse && this._warnOnce("inverse", "CanvasRenderer: inverse masks are not supported on Canvas2D; ignoring inverse flag.");
3069
+ let i = e.mask.mask;
3070
+ if (!(i instanceof ir)) {
3071
+ this._warnOnce("nonGraphics", "CanvasRenderer: only Graphics masks are supported in Canvas2D; skipping mask."), this._canvasMaskStack.push(!1);
3072
+ return;
3073
+ }
3074
+ let a = i, o = a.context?.instructions;
3075
+ if (!o?.length) {
3076
+ this._canvasMaskStack.push(!1);
3077
+ return;
3078
+ }
3079
+ r.save(), n.setContextTransform(a.groupTransform, (t._roundPixels | a._roundPixels) === 1), r.beginPath();
3080
+ let s = !1, c = !1;
3081
+ for (let e = 0; e < o.length; e++) {
3082
+ let t = o[e], n = t.action;
3083
+ if (n !== "fill" && n !== "stroke") continue;
3084
+ let i = t.data, a = i?.path?.shapePath;
3085
+ if (!a?.shapePrimitives?.length) continue;
3086
+ let l = n === "stroke", u = a.shapePrimitives;
3087
+ for (let e = 0; e < u.length; e++) {
3088
+ let t = u[e];
3089
+ if (!t?.shape) continue;
3090
+ let n = t.transform, a = n && !n.isIdentity();
3091
+ a && (r.save(), r.transform(n.a, n.b, n.c, n.d, n.tx, n.ty)), l && i.style ? s = ur(r, t.shape, i.style) || s : (lr(r, t.shape), c = dr(r, t.holes) || c, s = !0), a && r.restore();
3092
+ }
3093
+ }
3094
+ if (!s) {
3095
+ r.restore(), this._canvasMaskStack.push(!1);
3096
+ return;
3097
+ }
3098
+ c ? r.clip("evenodd") : r.clip(), this._canvasMaskStack.push(!0);
3099
+ }
3100
+ destroy() {
3101
+ this._renderer = null, this._warnedMaskTypes = null, this._canvasMaskStack = null;
3102
+ }
3103
+ _warnOnce(e, t) {
3104
+ this._warnedMaskTypes.has(e) || (this._warnedMaskTypes.add(e), u(t));
3105
+ }
3106
+ };
3107
+ fr.extension = {
3108
+ type: [S.CanvasPipes],
3109
+ name: "stencilMask"
3110
+ };
3111
+ //#endregion
3112
+ //#region node_modules/.pnpm/pixi.js@8.20.1/node_modules/pixi.js/lib/rendering/renderers/canvas/utils/mapCanvasBlendModesToPixi.mjs
3113
+ var $ = "source-over";
3114
+ function pr() {
3115
+ let e = E(), t = /* @__PURE__ */ Object.create(null);
3116
+ return t.inherit = $, t.none = $, t.normal = "source-over", t.add = "lighter", t.multiply = e ? "multiply" : $, t.screen = e ? "screen" : $, t.overlay = e ? "overlay" : $, t.darken = e ? "darken" : $, t.lighten = e ? "lighten" : $, t["color-dodge"] = e ? "color-dodge" : $, t["color-burn"] = e ? "color-burn" : $, t["hard-light"] = e ? "hard-light" : $, t["soft-light"] = e ? "soft-light" : $, t.difference = e ? "difference" : $, t.exclusion = e ? "exclusion" : $, t.saturation = e ? "saturation" : $, t.color = e ? "color" : $, t.luminosity = e ? "luminosity" : $, t["linear-burn"] = e ? "color-burn" : $, t["linear-dodge"] = e ? "color-dodge" : $, t["linear-light"] = e ? "hard-light" : $, t["pin-light"] = e ? "hard-light" : $, t["vivid-light"] = e ? "hard-light" : $, t["hard-mix"] = $, t.negation = e ? "difference" : $, t["normal-npm"] = t.normal, t["add-npm"] = t.add, t["screen-npm"] = t.screen, t.erase = "destination-out", t.subtract = $, t.divide = $, t.min = $, t.max = $, t;
3117
+ }
3118
+ //#endregion
3119
+ //#region node_modules/.pnpm/pixi.js@8.20.1/node_modules/pixi.js/lib/rendering/renderers/canvas/CanvasContextSystem.mjs
3120
+ var mr = new _(), hr = class {
3121
+ constructor(e) {
3122
+ this.activeResolution = 1, this.smoothProperty = "imageSmoothingEnabled", this.blendModes = pr(), this._activeBlendMode = "normal", this._projTransform = null, this._outerBlend = !1, this._warnedBlendModes = /* @__PURE__ */ new Set(), this._renderer = e;
3123
+ }
3124
+ resolutionChange(e) {
3125
+ this.activeResolution = e;
3126
+ }
3127
+ init() {
3128
+ let e = this._renderer.background.alpha < 1;
3129
+ if (this.rootContext = this._renderer.canvas.getContext("2d", { alpha: e }), this.activeContext = this.rootContext, this.activeResolution = this._renderer.resolution, !this.rootContext.imageSmoothingEnabled) {
3130
+ let e = this.rootContext;
3131
+ e.webkitImageSmoothingEnabled ? this.smoothProperty = "webkitImageSmoothingEnabled" : e.mozImageSmoothingEnabled ? this.smoothProperty = "mozImageSmoothingEnabled" : e.oImageSmoothingEnabled ? this.smoothProperty = "oImageSmoothingEnabled" : e.msImageSmoothingEnabled && (this.smoothProperty = "msImageSmoothingEnabled");
3132
+ }
3133
+ }
3134
+ setContextTransform(e, t, n, r) {
3135
+ let i = r ? _.IDENTITY : this._renderer.globalUniforms.globalUniformData?.worldTransformMatrix || _.IDENTITY, a = mr;
3136
+ a.copyFrom(i), a.append(e);
3137
+ let o = this._projTransform, s = this.activeResolution;
3138
+ if (n ||= s, o) {
3139
+ let e = _.shared;
3140
+ e.copyFrom(a), e.prepend(o), a = e;
3141
+ }
3142
+ t ? this.activeContext.setTransform(a.a * n, a.b * n, a.c * n, a.d * n, a.tx * s | 0, a.ty * s | 0) : this.activeContext.setTransform(a.a * n, a.b * n, a.c * n, a.d * n, a.tx * s, a.ty * s);
3143
+ }
3144
+ clear(e, t) {
3145
+ let n = this.activeContext, r = this._renderer;
3146
+ if (n.clearRect(0, 0, r.width, r.height), e) {
3147
+ let i = T.shared.setValue(e);
3148
+ n.globalAlpha = t ?? i.alpha, n.fillStyle = i.toHex(), n.fillRect(0, 0, r.width, r.height), n.globalAlpha = 1;
3149
+ }
3150
+ }
3151
+ setBlendMode(e) {
3152
+ if (this._activeBlendMode === e) return;
3153
+ this._activeBlendMode = e, this._outerBlend = !1;
3154
+ let t = this.blendModes[e];
3155
+ if (!t) {
3156
+ this._warnedBlendModes.has(e) || (console.warn(`CanvasRenderer: blend mode "${e}" is not supported in Canvas2D; falling back to "source-over".`), this._warnedBlendModes.add(e)), this.activeContext.globalCompositeOperation = "source-over";
3157
+ return;
3158
+ }
3159
+ this.activeContext.globalCompositeOperation = t;
3160
+ }
3161
+ destroy() {
3162
+ this.rootContext = null, this.activeContext = null, this._warnedBlendModes.clear();
3163
+ }
3164
+ };
3165
+ hr.extension = {
3166
+ type: [S.CanvasSystem],
3167
+ name: "canvasContext"
3168
+ };
3169
+ //#endregion
3170
+ //#region node_modules/.pnpm/pixi.js@8.20.1/node_modules/pixi.js/lib/rendering/renderers/canvas/CanvasLimitsSystem.mjs
3171
+ var gr = class {
3172
+ constructor() {
3173
+ this.maxTextures = 16, this.maxBatchableTextures = 16, this.maxUniformBindings = 0;
3174
+ }
3175
+ init() {}
3176
+ };
3177
+ gr.extension = {
3178
+ type: [S.CanvasSystem],
3179
+ name: "limits"
3180
+ };
3181
+ //#endregion
3182
+ //#region node_modules/.pnpm/pixi.js@8.20.1/node_modules/pixi.js/lib/scene/graphics/canvas/CanvasGraphicsAdaptor.mjs
3183
+ var _r = "#808080", vr = new _(), yr = new _(), br = new _(), xr = new _(), Sr = new _();
3184
+ function Cr(e, t, n) {
3185
+ e.beginPath();
3186
+ for (let r = 0; r < n.length; r += 3) {
3187
+ let i = n[r] * 2, a = n[r + 1] * 2, o = n[r + 2] * 2;
3188
+ e.moveTo(t[i], t[i + 1]), e.lineTo(t[a], t[a + 1]), e.lineTo(t[o], t[o + 1]), e.closePath();
3189
+ }
3190
+ e.fill();
3191
+ }
3192
+ function wr(e) {
3193
+ return `#${(e & 16777215).toString(16).padStart(6, "0")}`;
3194
+ }
3195
+ function Tr(e, t, n, r, i, a) {
3196
+ a = Math.max(0, Math.min(a, Math.min(r, i) / 2)), e.moveTo(t + a, n), e.lineTo(t + r - a, n), e.quadraticCurveTo(t + r, n, t + r, n + a), e.lineTo(t + r, n + i - a), e.quadraticCurveTo(t + r, n + i, t + r - a, n + i), e.lineTo(t + a, n + i), e.quadraticCurveTo(t, n + i, t, n + i - a), e.lineTo(t, n + a), e.quadraticCurveTo(t, n, t + a, n);
3197
+ }
3198
+ function Er(e, t) {
3199
+ switch (t.type) {
3200
+ case "rectangle": {
3201
+ let n = t;
3202
+ e.rect(n.x, n.y, n.width, n.height);
3203
+ break;
3204
+ }
3205
+ case "roundedRectangle": {
3206
+ let n = t;
3207
+ Tr(e, n.x, n.y, n.width, n.height, n.radius);
3208
+ break;
3209
+ }
3210
+ case "circle": {
3211
+ let n = t;
3212
+ e.arc(n.x, n.y, n.radius, 0, Math.PI * 2);
3213
+ break;
3214
+ }
3215
+ case "ellipse": {
3216
+ let n = t;
3217
+ e.ellipse ? e.ellipse(n.x, n.y, n.halfWidth, n.halfHeight, 0, 0, Math.PI * 2) : (e.save(), e.translate(n.x, n.y), e.scale(n.halfWidth, n.halfHeight), e.arc(0, 0, 1, 0, Math.PI * 2), e.restore());
3218
+ break;
3219
+ }
3220
+ case "triangle": {
3221
+ let n = t;
3222
+ e.moveTo(n.x, n.y), e.lineTo(n.x2, n.y2), e.lineTo(n.x3, n.y3), e.closePath();
3223
+ break;
3224
+ }
3225
+ default: {
3226
+ let n = t, r = n.points;
3227
+ if (!r?.length) break;
3228
+ e.moveTo(r[0], r[1]);
3229
+ for (let t = 2; t < r.length; t += 2) e.lineTo(r[t], r[t + 1]);
3230
+ n.closePath && e.closePath();
3231
+ break;
3232
+ }
3233
+ }
3234
+ }
3235
+ function Dr(e, t) {
3236
+ if (!t?.length) return !1;
3237
+ for (let n = 0; n < t.length; n++) {
3238
+ let r = t[n];
3239
+ if (!r?.shape) continue;
3240
+ let i = r.transform, a = i && !i.isIdentity();
3241
+ a && (e.save(), e.transform(i.a, i.b, i.c, i.d, i.tx, i.ty)), Er(e, r.shape), a && e.restore();
3242
+ }
3243
+ return !0;
3244
+ }
3245
+ function Or(e, t, n, r) {
3246
+ let i = e.fill;
3247
+ if (i instanceof J) {
3248
+ i.buildGradient();
3249
+ let a = i.texture;
3250
+ if (a) {
3251
+ let o = O.getTintedPattern(a, t), s = n ? xr.copyFrom(n).scale(a.source.pixelWidth, a.source.pixelHeight) : xr.copyFrom(i.transform);
3252
+ return r && !e.textureSpace && s.append(r), O.applyPatternTransform(o, s), o;
3253
+ }
3254
+ }
3255
+ if (i instanceof Pn) {
3256
+ let e = O.getTintedPattern(i.texture, t);
3257
+ return O.applyPatternTransform(e, i.transform, !1), e;
3258
+ }
3259
+ let a = e.texture;
3260
+ if (a && a !== f.WHITE) {
3261
+ if (!a.source.resource) return _r;
3262
+ let r = O.getTintedPattern(a, t), i = e.matrix;
3263
+ if (n) {
3264
+ let { resolution: e } = a.source;
3265
+ if (i = xr.copyFrom(n), a.rotate) {
3266
+ let { uvs: t, orig: n } = a;
3267
+ i.prepend(Sr.set(t.x1 - t.x0, t.y1 - t.y0, t.x3 - t.x0, t.y3 - t.y0, t.x0, t.y0).invert()).scale(n.width * e, n.height * e);
3268
+ } else i.scale(a.source.pixelWidth, a.source.pixelHeight).translate(-a.frame.x * e, -a.frame.y * e);
3269
+ }
3270
+ return O.applyPatternTransform(r, i), r;
3271
+ }
3272
+ return wr(t);
3273
+ }
3274
+ var kr = class {
3275
+ constructor() {
3276
+ this.shader = null;
3277
+ }
3278
+ contextChange(e) {}
3279
+ execute(e, r) {
3280
+ let i = e.renderer, a = i.canvasContext, o = a.activeContext, s = r.groupTransform, l = i.globalUniforms.globalUniformData?.worldColor ?? 4294967295, u = r.groupColorAlpha, d = (l >>> 24 & 255) / 255, p = (u >>> 24 & 255) / 255, m = i.filter?.alphaMultiplier ?? 1, h = d * p * m;
3281
+ if (h <= 0) return;
3282
+ let g = l & 16777215, _ = c(n(u & 16777215, g)), v = i._roundPixels | r._roundPixels;
3283
+ o.save(), a.setContextTransform(s, v === 1), a.setBlendMode(r.groupBlendMode);
3284
+ let y = r.context.instructions;
3285
+ for (let e = 0; e < y.length; e++) {
3286
+ let r = y[e];
3287
+ if (r.action === "texture") {
3288
+ let e = r.data, i = e.image, c = i ? O.getCanvasSource(i) : null;
3289
+ if (!c) continue;
3290
+ let l = e.alpha * h;
3291
+ if (l <= 0) continue;
3292
+ let u = n(e.style, _);
3293
+ o.globalAlpha = l;
3294
+ let d = c;
3295
+ u !== 16777215 && (d = O.getTintedCanvas({ texture: i }, u));
3296
+ let f = i.frame, p = i.source._resolution ?? i.source.resolution ?? 1, m = f.x * p, g = f.y * p, y = f.width * p, b = f.height * p;
3297
+ d !== c && (m = 0, g = 0);
3298
+ let x = e.transform, S = x && !x.isIdentity(), C = i.rotate;
3299
+ S || C ? (vr.copyFrom(s), S && vr.append(x), C && t.matrixAppendRotationInv(vr, C, e.dx, e.dy, e.dw, e.dh), a.setContextTransform(vr, v === 1)) : a.setContextTransform(s, v === 1), o.drawImage(d, m, g, d === c ? y : d.width, d === c ? b : d.height, C ? 0 : e.dx, C ? 0 : e.dy, e.dw, e.dh), (S || C) && a.setContextTransform(s, v === 1);
3300
+ continue;
3301
+ }
3302
+ let i = r.data, c = i?.path?.shapePath;
3303
+ if (!c?.shapePrimitives?.length) continue;
3304
+ let l = i.style, u = n(l.color, _), d = l.alpha * h;
3305
+ if (d <= 0) continue;
3306
+ let p = r.action === "stroke";
3307
+ if (o.globalAlpha = d, p) {
3308
+ let e = l;
3309
+ o.lineWidth = e.width, o.lineCap = e.cap, o.lineJoin = e.join, o.miterLimit = e.miterLimit;
3310
+ }
3311
+ let m = c.shapePrimitives;
3312
+ if (!p && i.hole?.shapePath?.shapePrimitives?.length) {
3313
+ let e = m[m.length - 1];
3314
+ e.holes = i.hole.shapePath.shapePrimitives;
3315
+ }
3316
+ for (let e = 0; e < m.length; e++) {
3317
+ let t = m[e];
3318
+ if (!t?.shape) continue;
3319
+ let n = t.transform, r = n && !n.isIdentity(), i = l.texture && l.texture !== f.WHITE, a = l.textureSpace === "global" ? n : null, c = Or(l, u, i ? Nt(yr, l, t.shape, a) : null, r ? br.copyFrom(s).append(n) : s);
3320
+ if (r && (o.save(), o.transform(n.a, n.b, n.c, n.d, n.tx, n.ty)), p) {
3321
+ let e = l;
3322
+ if (e.alignment !== .5 && !e.pixelLine) {
3323
+ let n = [], r = [], i = [];
3324
+ Y[t.shape.type]?.build(t.shape, n) ? (vt(n, e, !1, t.shape.closePath ?? !0, r, i), o.fillStyle = c, Cr(o, r, i)) : (o.strokeStyle = c, o.beginPath(), Er(o, t.shape), o.stroke());
3325
+ } else o.strokeStyle = c, o.beginPath(), Er(o, t.shape), o.stroke();
3326
+ } else o.fillStyle = c, o.beginPath(), Er(o, t.shape), Dr(o, t.holes) ? o.fill("evenodd") : o.fill();
3327
+ r && o.restore();
3328
+ }
3329
+ }
3330
+ o.restore();
3331
+ }
3332
+ destroy() {
3333
+ this.shader = null;
3334
+ }
3335
+ };
3336
+ kr.extension = {
3337
+ type: [S.CanvasPipesAdaptor],
3338
+ name: "graphics"
3339
+ };
3340
+ //#endregion
3341
+ //#region node_modules/.pnpm/pixi.js@8.20.1/node_modules/pixi.js/lib/rendering/renderers/canvas/renderTarget/CanvasRenderTargetAdaptor.mjs
3342
+ var Ar = class {
3343
+ init(e, t) {
3344
+ this._renderer = e, this._renderTargetSystem = t;
3345
+ }
3346
+ initGpuRenderTarget(e) {
3347
+ let t = e.colorTexture, { canvas: n, context: r } = this._ensureCanvas(t);
3348
+ return {
3349
+ canvas: n,
3350
+ context: r,
3351
+ width: n.width,
3352
+ height: n.height
3353
+ };
3354
+ }
3355
+ resizeGpuRenderTarget(e) {
3356
+ let t = e.colorTexture, { canvas: n } = this._ensureCanvas(t);
3357
+ n.width = e.pixelWidth, n.height = e.pixelHeight;
3358
+ }
3359
+ startRenderPass(e, t, n, r) {
3360
+ let i = this._renderTargetSystem.getGpuRenderTarget(e);
3361
+ this._renderer.canvasContext.activeContext = i.context, this._renderer.canvasContext.activeResolution = e.resolution, t && this.clear(e, t, n, r);
3362
+ }
3363
+ clear(e, t, n, r) {
3364
+ let i = this._renderTargetSystem.getGpuRenderTarget(e).context, a = r || {
3365
+ x: 0,
3366
+ y: 0,
3367
+ width: e.pixelWidth,
3368
+ height: e.pixelHeight
3369
+ };
3370
+ if (i.setTransform(1, 0, 0, 1, 0, 0), i.clearRect(a.x, a.y, a.width, a.height), n) {
3371
+ let e = T.shared.setValue(n);
3372
+ e.alpha > 0 && (i.globalAlpha = e.alpha, i.fillStyle = e.toHex(), i.fillRect(a.x, a.y, a.width, a.height), i.globalAlpha = 1);
3373
+ }
3374
+ }
3375
+ finishRenderPass() {}
3376
+ copyToTexture(e, t, n, r, i) {
3377
+ let a = this._renderTargetSystem.getGpuRenderTarget(e).canvas, o = t.source, { context: s } = this._ensureCanvas(o), c = i?.x ?? 0, l = i?.y ?? 0;
3378
+ return s.drawImage(a, n.x, n.y, r.width, r.height, c, l, r.width, r.height), o.update(), t;
3379
+ }
3380
+ copyDepthTexture(e, t, n, r, i) {
3381
+ u("[CanvasRenderTargetAdaptor] copyDepthTexture is not supported in the canvas renderer");
3382
+ }
3383
+ destroyGpuRenderTarget(e) {}
3384
+ _ensureCanvas(e) {
3385
+ let t = e.resource;
3386
+ (!t || !w.test(t)) && (t = g.get().createCanvas(e.pixelWidth, e.pixelHeight), e.resource = t), (t.width !== e.pixelWidth || t.height !== e.pixelHeight) && (t.width = e.pixelWidth, t.height = e.pixelHeight);
3387
+ let n = t.getContext("2d");
3388
+ return {
3389
+ canvas: t,
3390
+ context: n
3391
+ };
3392
+ }
3393
+ }, jr = class extends ne {
3394
+ constructor(e) {
3395
+ super(e), this.adaptor = new Ar(), this.adaptor.init(e, this);
3396
+ }
3397
+ };
3398
+ jr.extension = {
3399
+ type: [S.CanvasSystem],
3400
+ name: "renderTarget"
3401
+ };
3402
+ //#endregion
3403
+ //#region node_modules/.pnpm/pixi.js@8.20.1/node_modules/pixi.js/lib/rendering/renderers/canvas/texture/CanvasTextureSystem.mjs
3404
+ var Mr = class {
3405
+ constructor(e) {}
3406
+ init() {}
3407
+ initSource(e) {}
3408
+ generateCanvas(e) {
3409
+ let t = g.get().createCanvas(), n = t.getContext("2d"), r = O.getCanvasSource(e);
3410
+ if (!r) return t;
3411
+ let i = e.frame, a = e.source._resolution ?? e.source.resolution ?? 1, o = i.x * a, s = i.y * a, c = i.width * a, l = i.height * a;
3412
+ return t.width = Math.ceil(c), t.height = Math.ceil(l), n.drawImage(r, o, s, c, l, 0, 0, c, l), t;
3413
+ }
3414
+ getPixels(e) {
3415
+ let t = this.generateCanvas(e);
3416
+ return {
3417
+ pixels: t.getContext("2d", { willReadFrequently: !0 }).getImageData(0, 0, t.width, t.height).data,
3418
+ width: t.width,
3419
+ height: t.height
3420
+ };
3421
+ }
3422
+ destroy() {}
3423
+ };
3424
+ Mr.extension = {
3425
+ type: [S.CanvasSystem],
3426
+ name: "texture"
3427
+ };
3428
+ //#endregion
3429
+ //#region node_modules/.pnpm/pixi.js@8.20.1/node_modules/pixi.js/lib/rendering/renderers/canvas/CanvasRenderer.mjs
3430
+ var Nr = /* @__PURE__ */ e({ CanvasRenderer: () => Br }), Pr = [
3431
+ ...ee,
3432
+ hr,
3433
+ gr,
3434
+ Mr,
3435
+ jr
3436
+ ], Fr = [
3437
+ P,
3438
+ F,
3439
+ A,
3440
+ I,
3441
+ j,
3442
+ fr,
3443
+ sr,
3444
+ te
3445
+ ], Ir = [or, kr], Lr = [], Rr = [], zr = [];
3446
+ v.handleByNamedList(S.CanvasSystem, Lr), v.handleByNamedList(S.CanvasPipes, Rr), v.handleByNamedList(S.CanvasPipesAdaptor, zr), v.add(...Pr, ...Fr, ...Ir);
3447
+ var Br = class extends k {
3448
+ constructor() {
3449
+ let e = {
3450
+ name: "canvas",
3451
+ type: y.CANVAS,
3452
+ systems: Lr,
3453
+ renderPipes: Rr,
3454
+ renderPipeAdaptors: zr
3455
+ };
3456
+ super(e);
3457
+ }
3458
+ };
3459
+ //#endregion
3460
+ export { Nr as t };