@minicode-dev/chat 0.1.14 → 0.1.16

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (66) hide show
  1. package/CHANGELOG.md +10 -0
  2. package/dist/chunks/{BattleshipGameCard-B-B4r7lK.js → BattleshipGameCard-DwNzgH5G.js} +199 -199
  3. package/dist/chunks/{BattleshipGameCard-B-B4r7lK.js.map → BattleshipGameCard-DwNzgH5G.js.map} +1 -1
  4. package/dist/chunks/{BattleshipPrototype-CmQd5AUO.js → BattleshipPrototype-CSQxQJt5.js} +52 -52
  5. package/dist/chunks/{BattleshipPrototype-CmQd5AUO.js.map → BattleshipPrototype-CSQxQJt5.js.map} +1 -1
  6. package/dist/chunks/{ChatContext-DQtKsR6Z.js → ChatContext-D5rqvt5D.js} +2 -2
  7. package/dist/chunks/{ChatContext-DQtKsR6Z.js.map → ChatContext-D5rqvt5D.js.map} +1 -1
  8. package/dist/chunks/RacingLiveGameCard-_wvhDRlG.js +1873 -0
  9. package/dist/chunks/RacingLiveGameCard-_wvhDRlG.js.map +1 -0
  10. package/dist/chunks/{TanksGameCard-CvTaF7tu.js → TanksGameCard-B-gtDYYg.js} +144 -144
  11. package/dist/chunks/{TanksGameCard-CvTaF7tu.js.map → TanksGameCard-B-gtDYYg.js.map} +1 -1
  12. package/dist/chunks/TanksLiveGameCard-DXgd1J2Y.js +1274 -0
  13. package/dist/chunks/TanksLiveGameCard-DXgd1J2Y.js.map +1 -0
  14. package/dist/chunks/{avalancheScene3d-Z5QyZIid.js → avalancheScene3d-CNbQyGUd.js} +51 -50
  15. package/dist/chunks/{avalancheScene3d-Z5QyZIid.js.map → avalancheScene3d-CNbQyGUd.js.map} +1 -1
  16. package/dist/chunks/cars-D1PM7mVD.js +340 -0
  17. package/dist/chunks/cars-D1PM7mVD.js.map +1 -0
  18. package/dist/chunks/{connect4Sounds-DmD-E9kX.js → connect4Sounds-3a6h7gUC.js} +8 -8
  19. package/dist/chunks/{connect4Sounds-DmD-E9kX.js.map → connect4Sounds-3a6h7gUC.js.map} +1 -1
  20. package/dist/chunks/createLiveScene-jrzyQogh.js +756 -0
  21. package/dist/chunks/createLiveScene-jrzyQogh.js.map +1 -0
  22. package/dist/chunks/createRaceScene-C-aw0dlX.js +291 -0
  23. package/dist/chunks/createRaceScene-C-aw0dlX.js.map +1 -0
  24. package/dist/chunks/{createTankScene-yhX6la27.js → createTankScene-6asWHKFf.js} +123 -125
  25. package/dist/chunks/{createTankScene-yhX6la27.js.map → createTankScene-6asWHKFf.js.map} +1 -1
  26. package/dist/chunks/fx-BNJvJYOu.js +871 -0
  27. package/dist/chunks/fx-BNJvJYOu.js.map +1 -0
  28. package/dist/chunks/fx-DhXerGyt.js +248 -0
  29. package/dist/chunks/fx-DhXerGyt.js.map +1 -0
  30. package/dist/chunks/{games-BvYTWgaR.js → games-D_9SiSBT.js} +1261 -677
  31. package/dist/chunks/games-D_9SiSBT.js.map +1 -0
  32. package/dist/chunks/tank-DIn6Jyt8.js +605 -0
  33. package/dist/chunks/tank-DIn6Jyt8.js.map +1 -0
  34. package/dist/chunks/{tanks-live-BcKmrhnV.js → tanks-live-BRhYW4MG.js} +36 -36
  35. package/dist/chunks/{tanks-live-BcKmrhnV.js.map → tanks-live-BRhYW4MG.js.map} +1 -1
  36. package/dist/chunks/{tanksSounds-DwjfSp3W.js → tanksSounds-tYPzje61.js} +5 -5
  37. package/dist/chunks/{tanksSounds-DwjfSp3W.js.map → tanksSounds-tYPzje61.js.map} +1 -1
  38. package/dist/chunks/track-C1TWWT19.js +557 -0
  39. package/dist/chunks/track-C1TWWT19.js.map +1 -0
  40. package/dist/index.js +4244 -4028
  41. package/dist/index.js.map +1 -1
  42. package/dist/styles.css +1 -1
  43. package/index.d.ts +2 -0
  44. package/package.json +1 -1
  45. package/dist/chunks/RacingLiveGameCard-c1G7uoDI.js +0 -1654
  46. package/dist/chunks/RacingLiveGameCard-c1G7uoDI.js.map +0 -1
  47. package/dist/chunks/TanksLiveGameCard-COr9Oay5.js +0 -1011
  48. package/dist/chunks/TanksLiveGameCard-COr9Oay5.js.map +0 -1
  49. package/dist/chunks/createLiveScene-CWBunxPi.js +0 -367
  50. package/dist/chunks/createLiveScene-CWBunxPi.js.map +0 -1
  51. package/dist/chunks/createRaceScene-C7Rw89kj.js +0 -305
  52. package/dist/chunks/createRaceScene-C7Rw89kj.js.map +0 -1
  53. package/dist/chunks/decor-CyyCnmct.js +0 -418
  54. package/dist/chunks/decor-CyyCnmct.js.map +0 -1
  55. package/dist/chunks/fx-1ZwzmPWj.js +0 -458
  56. package/dist/chunks/fx-1ZwzmPWj.js.map +0 -1
  57. package/dist/chunks/fx-UZwhOmdl.js +0 -584
  58. package/dist/chunks/fx-UZwhOmdl.js.map +0 -1
  59. package/dist/chunks/games-BvYTWgaR.js.map +0 -1
  60. package/dist/chunks/rolldown-runtime-CGnMp29N.js +0 -10
  61. package/dist/chunks/tank-DjEQ4FXF.js +0 -553
  62. package/dist/chunks/tank-DjEQ4FXF.js.map +0 -1
  63. package/dist/chunks/track-BcnnpnAm.js +0 -259
  64. package/dist/chunks/track-BcnnpnAm.js.map +0 -1
  65. package/dist/chunks/util-DwI9bfS7.js +0 -57
  66. package/dist/chunks/util-DwI9bfS7.js.map +0 -1
@@ -1,584 +0,0 @@
1
- import { AdditiveBlending as e, Box3 as t, BoxGeometry as n, BufferAttribute as r, BufferGeometry as i, CanvasTexture as a, CircleGeometry as o, Color as s, CylinderGeometry as c, DynamicDrawUsage as l, ExtrudeGeometry as u, Float32BufferAttribute as d, Group as f, MeshBasicMaterial as p, MeshLambertMaterial as m, MeshStandardMaterial as h, NormalBlending as g, Points as _, ShaderMaterial as v, Shape as y, SphereGeometry as b, Sprite as x, SpriteMaterial as S, Vector2 as C, Vector3 as w } from "three";
2
- import { mergeBufferGeometries as T } from "three/examples/jsm/utils/BufferGeometryUtils.js";
3
- // src/effects/avalanche/models/cars.js
4
- var E = [
5
- "#ff2b3d",
6
- "#ffd23f",
7
- "#2f6bff",
8
- "#7be22c",
9
- "#ff7a1a",
10
- "#ff4fb0",
11
- "#f5f6f8"
12
- ], D = {
13
- tire: "#1b1c21",
14
- rim: "#cfd5de",
15
- hub: "#3a3d45",
16
- chrome: "#dfe4ec",
17
- dark: "#2a2c33",
18
- black: "#111216",
19
- white: "#f4f4f6",
20
- head: "#fff2bf",
21
- tail: "#ff1f3a"
22
- }, ee = [
23
- "body",
24
- "glass",
25
- "wheels",
26
- "trim",
27
- "lights"
28
- ];
29
- function te(e) {
30
- let t = e.index ? e.toNonIndexed() : e;
31
- return t.deleteAttribute("uv"), t;
32
- }
33
- function O(e, t) {
34
- let n = te(e), r = new s(t), i = new Float32Array(n.attributes.position.count * 3);
35
- for (let e = 0; e < i.length; e += 3) r.toArray(i, e);
36
- return n.setAttribute("color", new d(i, 3)), n;
37
- }
38
- function k(e, t, n, r, i = r.bevel) {
39
- let a = Math.max(.01, t - n * 2);
40
- return new u(e, {
41
- depth: a,
42
- bevelEnabled: !0,
43
- bevelThickness: n,
44
- bevelSize: n,
45
- bevelSegments: i,
46
- curveSegments: r.curve
47
- }).translate(0, 0, -a / 2);
48
- }
49
- function A(e, t, r, i, a, o, s, c = .025) {
50
- if (e.low || !c || c * 2.5 > Math.min(t, r, i)) return new n(t, r, i).translate(a, o, s);
51
- let l = t / 2 - c, u = r / 2 - c, d = new y();
52
- return d.moveTo(-l, -u), d.lineTo(l, -u), d.lineTo(l, u), d.lineTo(-l, u), k(d, i, c, e, 1).translate(a, o, s);
53
- }
54
- function j(e, t, n, r, i, a, o) {
55
- let s = new c(e, e, t, n);
56
- return r === "x" ? s.rotateZ(Math.PI / 2) : r === "z" && s.rotateX(Math.PI / 2), s.translate(i, a, o);
57
- }
58
- function M(e) {
59
- let t = new y();
60
- return e.forEach((e, n) => {
61
- if (e.arch) {
62
- let [n, r, i, a] = e.arch, o = Math.asin((r - a) / i);
63
- t.absarc(n, r, i, Math.PI + o, -o, !0);
64
- } else e.q ? t.quadraticCurveTo(...e.q) : n === 0 ? t.moveTo(...e) : t.lineTo(...e);
65
- }), t;
66
- }
67
- function N(e, t, n) {
68
- n.forEach(({ x: n, r, w: i, z: a }) => {
69
- [-1, 1].forEach((s) => {
70
- let c = s * a;
71
- t.wheels.push(O(j(r, i, e.radial, "z", n, r, c), D.tire));
72
- let l = [[
73
- r * .6,
74
- e.radial,
75
- D.rim,
76
- .004
77
- ]];
78
- e.low || l.push([
79
- r * .2,
80
- 6,
81
- D.hub,
82
- .008
83
- ]), l.forEach(([e, a, l, u]) => {
84
- let d = new o(e, a);
85
- s < 0 && d.rotateY(Math.PI), t.wheels.push(O(d.translate(n, r, c + s * (i / 2 + u)), l));
86
- });
87
- });
88
- });
89
- }
90
- function ne(e) {
91
- let t = {
92
- body: [],
93
- glass: [],
94
- wheels: [],
95
- trim: [],
96
- lights: []
97
- };
98
- return t.body.push(k(M([
99
- [-1.06, .16],
100
- { arch: [
101
- -.72,
102
- .22,
103
- .31,
104
- .16
105
- ] },
106
- { arch: [
107
- .76,
108
- .22,
109
- .31,
110
- .16
111
- ] },
112
- [1.1, .16],
113
- { q: [
114
- 1.15,
115
- .17,
116
- 1.15,
117
- .26
118
- ] },
119
- { q: [
120
- 1.14,
121
- .38,
122
- 1,
123
- .4
124
- ] },
125
- [.42, .46],
126
- [-.7, .48],
127
- { q: [
128
- -1.06,
129
- .49,
130
- -1.1,
131
- .38
132
- ] },
133
- [-1.11, .22],
134
- { q: [
135
- -1.11,
136
- .16,
137
- -1.06,
138
- .16
139
- ] }
140
- ]), .9, .05, e)), t.glass.push(k(M([
141
- [.4, .46],
142
- [.02, .74],
143
- [-.42, .74],
144
- [-.86, .47]
145
- ]), .76, .03, e)), t.body.push(A(e, .5, .06, .8, -.2, .79, 0, .02)), t.body.push(A(e, .16, .05, .86, -1.05, .6, 0, .02)), e.low || [-1, 1].forEach((n) => t.body.push(A(e, .08, .05, .07, .32, .54, n * .475, 0))), N(e, t, [{
146
- x: .76,
147
- r: .22,
148
- w: .2,
149
- z: .4
150
- }, {
151
- x: -.72,
152
- r: .22,
153
- w: .2,
154
- z: .4
155
- }]), t.trim.push(O(A(e, .1, .1, .92, 1.17, .17, 0, .03), D.dark), O(A(e, .1, .1, .92, -1.15, .18, 0, .03), D.dark), O(A(e, .04, .07, .44, 1.2, .27, 0, 0), D.black)), [-1, 1].forEach((n) => {
156
- t.trim.push(O(A(e, .05, .12, .05, -1.03, .53, n * .3, 0), D.dark)), e.low || t.trim.push(O(j(.035, .1, 8, "x", -1.17, .1, n * .22), D.chrome)), t.lights.push(O(A(e, .06, .06, .2, 1.18, .35, n * .29, 0), D.head), O(A(e, .04, .06, .24, -1.17, .36, n * .27, 0), D.tail));
157
- }), t;
158
- }
159
- function re(e) {
160
- let t = {
161
- body: [],
162
- glass: [],
163
- wheels: [],
164
- trim: [],
165
- lights: []
166
- };
167
- return t.body.push(k(M([
168
- [-1.12, .17],
169
- { arch: [
170
- -.74,
171
- .25,
172
- .34,
173
- .17
174
- ] },
175
- { arch: [
176
- .8,
177
- .22,
178
- .31,
179
- .17
180
- ] },
181
- [1.15, .17],
182
- [1.18, .21],
183
- [1.18, .44],
184
- [1.13, .5],
185
- [-1.1, .5],
186
- [-1.15, .46],
187
- [-1.15, .22]
188
- ]), .96, .05, e)), t.glass.push(k(M([
189
- [.28, .47],
190
- [-.02, .76],
191
- [-.58, .76],
192
- [-.8, .47]
193
- ]), .8, .03, e)), t.body.push(A(e, .62, .06, .86, -.3, .8, 0, .02), A(e, .34, .08, .3, .62, .58, 0, .025), A(e, .2, .05, 1, -1.04, .75, 0, .02)), N(e, t, [{
194
- x: .8,
195
- r: .22,
196
- w: .2,
197
- z: .4
198
- }, {
199
- x: -.74,
200
- r: .25,
201
- w: .26,
202
- z: .39
203
- }]), t.trim.push(O(A(e, .06, .08, 1, 1.23, .2, 0, .02), D.chrome), O(A(e, .06, .08, 1, -1.23, .2, 0, .02), D.chrome), O(A(e, .03, .16, .62, 1.235, .33, 0, 0), D.black), O(A(e, .03, .05, .22, .79, .59, 0, 0), D.black)), [-1, 1].forEach((n) => {
204
- t.trim.push(O(A(e, .82, .012, .08, .71, .553, n * .08, 0), D.black), O(A(e, .6, .012, .08, -.3, .833, n * .08, 0), D.black), O(A(e, .3, .012, .08, -.98, .553, n * .08, 0), D.black), O(A(e, .06, .18, .06, -1.04, .64, n * .34, 0), D.dark)), e.low || t.trim.push(O(j(.04, .12, 8, "x", -1.2, .12, n * .3), D.chrome)), t.lights.push(O(j(.065, .03, e.low ? 6 : 10, "x", 1.245, .34, n * .37), D.head), O(A(e, .03, .07, .3, -1.215, .4, n * .26, 0), D.tail));
205
- }), t;
206
- }
207
- function ie(e) {
208
- let t = {
209
- body: [],
210
- glass: [],
211
- wheels: [],
212
- trim: [],
213
- lights: []
214
- }, n = k(M([
215
- [-.96, .12],
216
- [1.14, .12],
217
- [1.14, .17],
218
- [.55, .3],
219
- [.2, .36],
220
- [.14, .4],
221
- [-.16, .4],
222
- [-.24, .54],
223
- [-.4, .56],
224
- [-.96, .3]
225
- ]), .44, .04, e), r = n.attributes.position;
226
- for (let e = 0; e < r.count; e += 1) {
227
- let t = r.getX(e), n = t > .35 ? 1 - .55 * Math.min(1, (t - .35) / .85) : t < -.5 ? 1 - .3 * Math.min(1, (-.5 - t) / .5) : 1;
228
- r.setZ(e, r.getZ(e) * n);
229
- }
230
- return n.computeVertexNormals(), t.body.push(n, A(e, .6, .2, .76, -.12, .24, 0, .05), A(e, .22, .04, 1, 1.12, .07, 0, .015), A(e, .24, .05, .84, -.98, .71, 0, .02)), t.glass.push(A(e, .04, .045, .15, .08, .49, 0, 0)), N(e, t, [{
231
- x: .82,
232
- r: .2,
233
- w: .17,
234
- z: .415
235
- }, {
236
- x: -.74,
237
- r: .24,
238
- w: .24,
239
- z: .38
240
- }]), t.trim.push(O(new b(.12, e.low ? 8 : 10, e.low ? 6 : 8).translate(-.03, .47, 0), D.white), O(A(e, .06, .36, .05, -.94, .52, 0, 0), D.dark), O(A(e, .03, .06, .08, -.25, .56, 0, 0), D.black)), [-1, 1].forEach((n) => {
241
- t.trim.push(O(A(e, .24, .12, .025, 1.14, .1, n * .5, 0), D.dark), O(A(e, .3, .24, .025, -.98, .64, n * .43, 0), D.dark), O(A(e, .04, .03, .2, .82, .2, n * .24, 0), D.dark), O(A(e, .04, .03, .1, -.74, .24, n * .23, 0), D.dark));
242
- }), e.low || t.trim.push(O(j(.03, .08, 8, "x", -1, .28, 0), D.chrome)), t.lights.push(O(A(e, .03, .06, .1, -1.015, .2, 0, 0), D.tail)), t;
243
- }
244
- function ae(e) {
245
- let t = (t, n) => e ? new m(t) : new h({
246
- ...t,
247
- ...n
248
- });
249
- return {
250
- body: t({ color: 16777215 }, {
251
- roughness: .28,
252
- metalness: .3
253
- }),
254
- glass: t({ color: 1844790 }, {
255
- roughness: .12,
256
- metalness: .6
257
- }),
258
- wheels: t({
259
- color: 16777215,
260
- vertexColors: !0
261
- }, {
262
- roughness: .75,
263
- metalness: .15
264
- }),
265
- trim: t({
266
- color: 16777215,
267
- vertexColors: !0
268
- }, {
269
- roughness: .35,
270
- metalness: .55
271
- }),
272
- lights: new p({
273
- color: 16777215,
274
- vertexColors: !0,
275
- toneMapped: !1
276
- })
277
- };
278
- }
279
- function P(e, n, r, i, a) {
280
- let o = ee.filter((e) => n[e].length).map((t) => {
281
- let r = T(n[t].map(te));
282
- if (!r) throw Error(`avalanche cars: cannot merge ${e}.${t}`);
283
- return r.computeBoundingBox(), {
284
- name: t,
285
- geometry: r
286
- };
287
- }), s = new t();
288
- o.forEach(({ geometry: e }) => s.union(e.boundingBox));
289
- let c = s.getCenter(new w()), l = s.getSize(new w());
290
- return o.forEach(({ geometry: e }) => {
291
- e.translate(-c.x, -c.y, -c.z), e.computeBoundingSphere();
292
- }), {
293
- kind: e,
294
- parts: o.map(({ name: e, geometry: t }) => ({
295
- geometry: t,
296
- material: r[e],
297
- tinted: e === "body"
298
- })),
299
- palette: i,
300
- radius: Math.cbrt(l.x * l.y * l.z * 3 / (4 * Math.PI)),
301
- ...a
302
- };
303
- }
304
- function oe({ lowPower: e = !1 } = {}) {
305
- let t = {
306
- low: e,
307
- curve: e ? 3 : 5,
308
- bevel: e ? 1 : 2,
309
- radial: e ? 8 : 14
310
- }, n = ae(e), r = E.map((e) => new s(e)), i = {
311
- count: 10,
312
- countLow: 6
313
- };
314
- return [
315
- P("car", ne(t), n, r, {
316
- mass: 3,
317
- bounce: .35,
318
- friction: .6,
319
- drag: .04,
320
- ...i
321
- }),
322
- P("car-muscle", re(t), n, r, {
323
- mass: 3.4,
324
- bounce: .3,
325
- friction: .62,
326
- drag: .04,
327
- ...i
328
- }),
329
- P("car-racer", ie(t), n, r, {
330
- mass: 2.6,
331
- bounce: .4,
332
- friction: .55,
333
- drag: .05,
334
- ...i
335
- })
336
- ];
337
- }
338
- // src/effects/avalanche/fx.js
339
- var F = 22, I = 0, L = 1, R = 2, z = 3, B = 4, V = 5, H = 6, se = 7, U = 8, ce = 9, W = 10, G = 11, K = 12, le = 13, ue = 14, de = 15, fe = 16, pe = 17, me = 18, he = 19, ge = 20, q = 21, J = {
340
- dust: new s("#e6d6b8"),
341
- dustGrey: new s("#a39b90"),
342
- smokeDark: new s("#3a3432"),
343
- smoke: new s("#76706b"),
344
- fireCore: new s("#fff3b0"),
345
- fire: new s("#ffc23a"),
346
- fireRed: new s("#e8471c"),
347
- spark: new s("#fff6cf"),
348
- ember: new s("#ff8a2a"),
349
- glintWhite: new s("#fffbe8"),
350
- gold: new s("#ffc53a"),
351
- flash: new s("#ffe2a6")
352
- }, _e = "\nuniform float uScale;\nattribute vec4 aColor;\nattribute float aSize;\nattribute float aRot;\nvarying vec4 vColor;\nvarying vec2 vRot;\nvoid main() {\n vec4 mv = modelViewMatrix * vec4(position, 1.0);\n gl_Position = projectionMatrix * mv;\n gl_PointSize = aColor.a > 0.003 ? min(aSize * uScale / max(-mv.z, 0.5), 1024.0) : 0.0;\n vColor = aColor;\n vRot = vec2(cos(aRot), sin(aRot));\n}\n", ve = "\nuniform sampler2D uMap;\nvarying vec4 vColor;\nvarying vec2 vRot;\nvoid main() {\n vec2 uv = gl_PointCoord - 0.5;\n uv = vec2(vRot.x * uv.x - vRot.y * uv.y, vRot.y * uv.x + vRot.x * uv.y) + 0.5;\n float a = texture2D(uMap, uv).a * vColor.a;\n if (a < 0.004) discard;\n gl_FragColor = vec4(vColor.rgb, a);\n #include <encodings_fragment>\n}\n", Y = (e, t) => e + Math.random() * (t - e), X = (e) => Number.isFinite(e) ? Math.min(2.5, Math.max(.2, e)) : 1;
353
- function ye(e) {
354
- let t = document.createElement("canvas");
355
- return t.width = e, t.height = e, {
356
- canvas: t,
357
- ctx: t.getContext("2d")
358
- };
359
- }
360
- function be(e = 64) {
361
- let { canvas: t, ctx: n } = ye(e), r = e / 2, i = n.createRadialGradient(r, r, 0, r, r, r);
362
- return i.addColorStop(0, "rgba(255,255,255,1)"), i.addColorStop(.35, "rgba(255,255,255,.6)"), i.addColorStop(1, "rgba(255,255,255,0)"), n.fillStyle = i, n.fillRect(0, 0, e, e), new a(t);
363
- }
364
- function xe(e = 64) {
365
- let { canvas: t, ctx: n } = ye(e), r = e / 2, i = 11, o = () => (i = i * 16807 % 2147483647, i / 2147483647);
366
- for (let t = 0; t < 7; t += 1) {
367
- let t = o() * Math.PI * 2, i = o() * r * .3, a = r + Math.cos(t) * i, s = r + Math.sin(t) * i, c = r * (.45 + o() * .22), l = n.createRadialGradient(a, s, 0, a, s, c);
368
- l.addColorStop(0, "rgba(255,255,255,.55)"), l.addColorStop(.6, "rgba(255,255,255,.25)"), l.addColorStop(1, "rgba(255,255,255,0)"), n.fillStyle = l, n.fillRect(0, 0, e, e);
369
- }
370
- return new a(t);
371
- }
372
- function Se(e = 64) {
373
- let { canvas: t, ctx: n } = ye(e), r = e / 2;
374
- n.globalCompositeOperation = "lighter";
375
- let i = n.createRadialGradient(r, r, 0, r, r, r * .42);
376
- i.addColorStop(0, "rgba(255,255,255,1)"), i.addColorStop(.3, "rgba(255,255,255,.55)"), i.addColorStop(1, "rgba(255,255,255,0)"), n.fillStyle = i, n.fillRect(0, 0, e, e);
377
- let o = (e, t, i) => {
378
- n.save(), n.translate(r, r), n.rotate(e);
379
- let a = n.createLinearGradient(-t, 0, t, 0);
380
- a.addColorStop(0, "rgba(255,255,255,0)"), a.addColorStop(.5, "rgba(255,255,255,1)"), a.addColorStop(1, "rgba(255,255,255,0)"), n.fillStyle = a, n.beginPath(), n.moveTo(-t, 0), n.lineTo(0, -i), n.lineTo(t, 0), n.lineTo(0, i), n.closePath(), n.fill(), n.restore();
381
- };
382
- return o(0, r * .94, e * .05), o(Math.PI / 2, r * .94, e * .05), o(Math.PI / 4, r * .5, e * .03), o(-Math.PI / 4, r * .5, e * .03), new a(t);
383
- }
384
- var Z = {
385
- x: 0,
386
- y: 0,
387
- z: 0,
388
- vx: 0,
389
- vy: 0,
390
- vz: 0,
391
- life: 1,
392
- delay: 0,
393
- s0: 1,
394
- s1: 1,
395
- c0: J.dust,
396
- c1: J.dust,
397
- shade: 1,
398
- alpha: 1,
399
- drag: 0,
400
- grav: 0,
401
- hot: 0,
402
- rot: 0,
403
- spin: 0,
404
- twinkle: 0
405
- };
406
- function Q(e, t, n) {
407
- return Z.x = e, Z.y = t, Z.z = n, Z.vx = 0, Z.vy = 0, Z.vz = 0, Z.life = 1, Z.delay = 0, Z.s0 = 1, Z.s1 = 1, Z.shade = 1, Z.alpha = 1, Z.drag = 0, Z.grav = 0, Z.hot = 0, Z.rot = Math.random() * Math.PI * 2, Z.spin = 0, Z.twinkle = 0, Z;
408
- }
409
- function $(t, { map: n, additive: a, scale: o, renderOrder: s, fadeIn: c }) {
410
- let u = new Float32Array(t * F), d = new Float32Array(t), f = new Float32Array(t * 3), p = new Float32Array(t * 4), m = new Float32Array(t), h = new Float32Array(t), y = new i(), b = (e, t) => new r(e, t).setUsage(l);
411
- y.setAttribute("position", b(f, 3)), y.setAttribute("aColor", b(p, 4)), y.setAttribute("aSize", b(m, 1)), y.setAttribute("aRot", b(h, 1)), y.setDrawRange(0, 0);
412
- let x = new v({
413
- uniforms: {
414
- uScale: o,
415
- uMap: { value: n }
416
- },
417
- vertexShader: _e,
418
- fragmentShader: ve,
419
- transparent: !0,
420
- depthWrite: !1,
421
- blending: a ? e : g
422
- }), S = new _(y, x);
423
- S.frustumCulled = !1, S.visible = !1, S.renderOrder = s;
424
- let C = [
425
- y.attributes.position,
426
- y.attributes.aColor,
427
- y.attributes.aSize,
428
- y.attributes.aRot
429
- ], w = C.map((e) => e.itemSize), T = 0, E = 0;
430
- return {
431
- points: S,
432
- emit(e) {
433
- let n;
434
- T < t ? (n = T, T += 1) : (n = E, E = (E + 1) % t);
435
- let r = n * F;
436
- u[r + I] = e.x, u[r + L] = e.y, u[r + R] = e.z, u[r + z] = e.vx, u[r + B] = e.vy, u[r + V] = e.vz, u[r + H] = -e.delay, u[r + se] = e.life, u[r + U] = e.s0, u[r + ce] = e.s1, u[r + W] = e.c0.r * e.shade, u[r + G] = e.c0.g * e.shade, u[r + K] = e.c0.b * e.shade, u[r + le] = e.c1.r * e.shade, u[r + ue] = e.c1.g * e.shade, u[r + de] = e.c1.b * e.shade, u[r + fe] = e.alpha, u[r + pe] = e.drag, u[r + me] = e.grav, u[r + he] = e.hot, u[r + ge] = e.spin, u[r + q] = e.twinkle, d[n] = Math.random() * Math.PI * 2, h[n] = e.rot, p[n * 4 + 3] = 0;
437
- },
438
- update(e) {
439
- let t = 0;
440
- for (; t < T;) {
441
- let n = t * F, r = u[n + H] + e, i = u[n + se];
442
- if (r >= i) {
443
- --T, t !== T && (u.copyWithin(n, T * F, T * F + F), d[t] = d[T], h[t] = h[T]);
444
- continue;
445
- }
446
- u[n + H] = r;
447
- let a = t * 3, o = t * 4;
448
- if (r < 0) {
449
- f[a] = u[n + I], f[a + 1] = u[n + L], f[a + 2] = u[n + R], p[o + 3] = 0, m[t] = 0, t += 1;
450
- continue;
451
- }
452
- let s = Math.exp(-u[n + pe] * e);
453
- u[n + z] *= s, u[n + B] = u[n + B] * s - u[n + me] * e, u[n + V] *= s, u[n + I] += u[n + z] * e, u[n + L] += u[n + B] * e, u[n + R] += u[n + V] * e, h[t] += u[n + ge] * e;
454
- let l = r / i, g = l < .7 ? l / .7 : 1, _ = g * g * (3 - 2 * g), v = 1 - l, y = 1 + u[n + he] * v * v * v;
455
- f[a] = u[n + I], f[a + 1] = u[n + L], f[a + 2] = u[n + R], p[o] = (u[n + W] + (u[n + le] - u[n + W]) * _) * y, p[o + 1] = (u[n + G] + (u[n + ue] - u[n + G]) * _) * y, p[o + 2] = (u[n + K] + (u[n + de] - u[n + K]) * _) * y;
456
- let b = l < c ? l / c : 1, x = l > .5 ? v * 2 : 1, S = u[n + q] > 0 ? .35 + .65 * (.5 + .5 * Math.sin(r * u[n + q] + d[t])) : 1;
457
- p[o + 3] = u[n + fe] * b * x * S, m[t] = u[n + U] + (u[n + ce] - u[n + U]) * (1 - v * v), t += 1;
458
- }
459
- if (y.setDrawRange(0, T), S.visible = T > 0, T > 0) for (let e = 0; e < C.length; e += 1) C[e].updateRange.offset = 0, C[e].updateRange.count = T * w[e], C[e].needsUpdate = !0;
460
- },
461
- dispose() {
462
- y.dispose(), x.dispose();
463
- }
464
- };
465
- }
466
- function Ce(t, { lowPower: n = !1 } = {}) {
467
- let r = n ? .5 : 1, i = (e, t, n = 1) => Math.max(n, Math.round(e * t * r)), a = be(64), o = xe(64), s = Se(64), c = { value: 600 }, l = new C(), u = (e, t, n) => {
468
- e.getDrawingBufferSize(l), c.value = l.y * .5 * n.projectionMatrix.elements[5];
469
- }, d = $(Math.round(360 * r), {
470
- map: o,
471
- additive: !1,
472
- scale: c,
473
- renderOrder: 20,
474
- fadeIn: .12
475
- }), p = $(Math.round(260 * r), {
476
- map: a,
477
- additive: !0,
478
- scale: c,
479
- renderOrder: 21,
480
- fadeIn: .05
481
- }), m = $(Math.round(240 * r), {
482
- map: s,
483
- additive: !0,
484
- scale: c,
485
- renderOrder: 22,
486
- fadeIn: .08
487
- }), h = [
488
- d,
489
- p,
490
- m
491
- ], g = new f();
492
- g.name = "avalanche-fx", h.forEach((e) => {
493
- e.points.onBeforeRender = u, g.add(e.points);
494
- });
495
- let _ = Array.from({ length: n ? 2 : 4 }, () => {
496
- let t = new x(new S({
497
- map: a,
498
- color: J.flash,
499
- blending: e,
500
- transparent: !0,
501
- depthWrite: !1
502
- }));
503
- return t.visible = !1, t.renderOrder = 23, t.frustumCulled = !1, g.add(t), {
504
- sprite: t,
505
- t: 0,
506
- dur: .2,
507
- size: 1
508
- };
509
- }), v = 0;
510
- t.add(g);
511
- let y = !1;
512
- function b(e, t, n, r, i) {
513
- let a = _[v];
514
- v = (v + 1) % _.length, a.t = 0, a.dur = i, a.size = r, a.sprite.position.set(e, t, n), a.sprite.scale.setScalar(r * .55), a.sprite.material.opacity = 1, a.sprite.visible = !0;
515
- }
516
- function w(e, t, n, r = 1) {
517
- if (y) return;
518
- let a = X(r), o = .7 + .3 * a, s = i(18, a, 4);
519
- for (let r = 0; r < s; r += 1) {
520
- let i = r / s * Math.PI * 2 + Y(-.15, .15), a = Math.cos(i), c = Math.sin(i), l = .3 * o, u = Y(2.2, 3.8) * o, f = Q(e + a * l, t + Y(.05, .2), n + c * l * .6);
521
- f.vx = a * u, f.vy = Y(.3, 1.1), f.vz = c * u * .6, f.life = Y(.45, .7), f.s0 = Y(.3, .5) * o, f.s1 = Y(1.1, 1.6) * o, f.c0 = J.dust, f.c1 = J.dustGrey, f.shade = Y(.88, 1.06), f.alpha = Y(.45, .6), f.drag = 3.6, f.grav = -.6, f.spin = Y(-1.5, 1.5), d.emit(f);
522
- }
523
- let c = i(5, a, 1);
524
- for (let r = 0; r < c; r += 1) {
525
- let r = Q(e + Y(-.35, .35) * o, t + .15, n + Y(-.2, .2));
526
- r.vx = Y(-.5, .5), r.vy = Y(1, 1.8) * o, r.vz = Y(-.3, .3), r.life = Y(.5, .65), r.s0 = .5 * o, r.s1 = Y(1.3, 1.8) * o, r.c0 = J.dust, r.c1 = J.dustGrey, r.shade = Y(.9, 1.04), r.alpha = .42, r.drag = 2.4, r.grav = -.4, r.spin = Y(-1, 1), d.emit(r);
527
- }
528
- }
529
- function T(e, t, n, r = 1) {
530
- if (y) return;
531
- let a = X(r), o = i(10, a, 2);
532
- for (let r = 0; r < o; r += 1) {
533
- let r = Q(e + Y(-.3, .3), t + Y(-.2, .3), n + Y(-.2, .3)), i = Math.random() * Math.PI * 2, o = Y(1.5, 3.5) * (.6 + .4 * a);
534
- r.vx = Math.cos(i) * o, r.vy = Math.sin(i) * o * .8 + 1.2, r.vz = Y(-1, 1) * o * .5, r.life = Y(.35, .6), r.delay = Y(0, .08), r.s0 = Y(.35, .6), r.s1 = .08, r.c0 = J.glintWhite, r.c1 = J.gold, r.alpha = 1, r.hot = .4, r.drag = 2.6, r.grav = 2.5, r.spin = Y(-6, 6), r.twinkle = Y(24, 40), m.emit(r);
535
- }
536
- let s = Q(e, t + .1, n + .2);
537
- s.life = .28, s.s0 = .9 * (.7 + .3 * a), s.s1 = .25, s.c0 = J.glintWhite, s.c1 = J.gold, s.alpha = 1, s.rot = 0, s.spin = 3, m.emit(s);
538
- }
539
- function E(e, t, n, r = 1) {
540
- if (y) return;
541
- let a = X(r);
542
- b(e, t + .5 * a, n + .4, 3.4 * a, .2);
543
- let o = i(26, a, 6);
544
- for (let r = 0; r < o; r += 1) {
545
- let r = Math.random() * Math.PI * 2, i = Math.acos(Math.random() * .9), o = Y(2.5, 6) * a, s = Q(e + Y(-.3, .3), t + .3, n + Y(-.3, .3));
546
- s.vx = Math.cos(r) * Math.sin(i) * o, s.vy = Math.cos(i) * o * .9 + 1.5, s.vz = Math.sin(r) * Math.sin(i) * o * .6, s.life = Y(.35, .6), s.s0 = Y(.5, .75) * a, s.s1 = Y(1.2, 1.6) * a, s.c0 = Math.random() < .3 ? J.fireCore : J.fire, s.c1 = J.fireRed, s.alpha = .9, s.drag = 4, s.grav = -1, s.hot = 1.4, s.spin = Y(-2, 2), p.emit(s);
547
- }
548
- let s = i(12, a, 3);
549
- for (let r = 0; r < s; r += 1) {
550
- let r = Math.random() * Math.PI * 2, i = Y(6, 11) * a, o = Q(e, t + .4, n);
551
- o.vx = Math.cos(r) * i * .7, o.vy = Y(4, 9) * a, o.vz = Math.sin(r) * i * .4, o.life = Y(.4, .7), o.s0 = .2, o.s1 = .06, o.c0 = J.spark, o.c1 = J.ember, o.alpha = 1, o.drag = 1, o.grav = 14, o.hot = 1, p.emit(o);
552
- }
553
- let c = i(14, a, 4);
554
- for (let r = 0; r < c; r += 1) {
555
- let r = Q(e + Y(-.6, .6) * a, t + Y(.3, .9) * a, n + Y(-.4, .4));
556
- r.vx = Y(-1, 1) * a, r.vy = Y(1.6, 3) * a, r.vz = Y(-.5, .5), r.life = Y(.75, 1), r.delay = Y(.02, .12), r.s0 = Y(.6, .8) * a, r.s1 = Y(1.9, 2.5) * a, r.c0 = J.smokeDark, r.c1 = J.smoke, r.shade = Y(.85, 1.1), r.alpha = Y(.55, .7), r.drag = 1.3, r.grav = -.5, r.spin = Y(-1.2, 1.2), d.emit(r);
557
- }
558
- }
559
- function D(e) {
560
- if (y) return;
561
- let t = Math.min(Math.max(e || 0, 0), .1);
562
- for (let e = 0; e < h.length; e += 1) h[e].update(t);
563
- for (let e = 0; e < _.length; e += 1) {
564
- let n = _[e];
565
- if (!n.sprite.visible) continue;
566
- n.t += t;
567
- let r = n.t / n.dur;
568
- r >= 1 ? n.sprite.visible = !1 : (n.sprite.material.opacity = (1 - r) * (1 - r), n.sprite.scale.setScalar(n.size * (.55 + .65 * r)));
569
- }
570
- }
571
- function ee() {
572
- y || (y = !0, t.remove(g), h.forEach((e) => e.dispose()), _.forEach(({ sprite: e }) => e.material.dispose()), g.clear(), a.dispose(), o.dispose(), s.dispose());
573
- }
574
- return {
575
- puff: w,
576
- sparkle: T,
577
- blast: E,
578
- update: D,
579
- dispose: ee
580
- };
581
- }
582
- export { oe as n, Ce as t };
583
-
584
- //# sourceMappingURL=fx-UZwhOmdl.js.map