@minicode-dev/chat 0.1.12 → 0.1.13

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,605 @@
1
+ import { t as e } from "./core-geo-UJY-tH9L.js";
2
+ import { BufferAttribute as t, BufferGeometry as n, CanvasTexture as r, Color as i, DoubleSide as a, Group as o, LinearFilter as s, Matrix4 as c, Mesh as l, MeshBasicMaterial as u, MeshLambertMaterial as d, MeshStandardMaterial as f, Quaternion as p, RepeatWrapping as m, Vector3 as h } from "three";
3
+ // src/games/tanks/scene/util.js
4
+ var g = (e) => new i(e).convertSRGBToLinear(), _ = (e, t, n) => e < t ? t : e > n ? n : e, v = (e) => e < 0 ? 0 : e > 1 ? 1 : e, y = (e, t, n) => {
5
+ let r = v((n - e) / (t - e));
6
+ return r * r * (3 - 2 * r);
7
+ }, b = Math.PI / 180, x = (e, t) => 1 - Math.exp(-e * t), S = (e) => {
8
+ for (; e > Math.PI;) e -= Math.PI * 2;
9
+ for (; e < -Math.PI;) e += Math.PI * 2;
10
+ return e;
11
+ }, C = (e, t) => {
12
+ let n = Math.sin(e * 127.1 + t * 311.7) * 43758.5453;
13
+ return n - Math.floor(n);
14
+ };
15
+ function w(e) {
16
+ let t = e >>> 0 || 1;
17
+ return () => (t ^= t << 13, t ^= t >>> 17, t ^= t << 5, (t >>> 0) / 4294967296);
18
+ }
19
+ function T(e, t) {
20
+ let n = document.createElement("canvas");
21
+ return n.width = e, n.height = t, n;
22
+ }
23
+ function E(e, t = !1) {
24
+ let n = new r(e);
25
+ return n.minFilter = s, n.magFilter = s, n.generateMipmaps = !1, t && (n.wrapS = m, n.wrapT = m), n;
26
+ }
27
+ function D(e = 64) {
28
+ let t = T(e, e), n = t.getContext("2d"), r = e / 2, i = n.createRadialGradient(r, r, 0, r, r, r);
29
+ return i.addColorStop(0, "rgba(255,255,255,1)"), i.addColorStop(.18, "rgba(255,255,255,0.85)"), i.addColorStop(.45, "rgba(255,255,255,0.32)"), i.addColorStop(1, "rgba(255,255,255,0)"), n.fillStyle = i, n.fillRect(0, 0, e, e), E(t);
30
+ }
31
+ function O(e = 64) {
32
+ let t = T(e, e), n = t.getContext("2d"), r = e / 2, i = w(7);
33
+ for (let t = 0; t < 7; t++) {
34
+ let t = i() * Math.PI * 2, a = i() * r * .32, o = r + Math.cos(t) * a, s = r + Math.sin(t) * a, c = r * (.45 + i() * .25), l = n.createRadialGradient(o, s, 0, o, s, c);
35
+ l.addColorStop(0, "rgba(255,255,255,0.55)"), l.addColorStop(.6, "rgba(255,255,255,0.25)"), l.addColorStop(1, "rgba(255,255,255,0)"), n.fillStyle = l, n.fillRect(0, 0, e, e);
36
+ }
37
+ return E(t);
38
+ }
39
+ function k(e = 128) {
40
+ let t = T(e, e), n = t.getContext("2d"), r = e / 2, i = n.createRadialGradient(r, r, 0, r, r, r);
41
+ return i.addColorStop(0, "rgba(255,255,255,0)"), i.addColorStop(.62, "rgba(255,255,255,0)"), i.addColorStop(.8, "rgba(255,255,255,0.55)"), i.addColorStop(.9, "rgba(255,255,255,1)"), i.addColorStop(1, "rgba(255,255,255,0)"), n.fillStyle = i, n.fillRect(0, 0, e, e), E(t);
42
+ }
43
+ function A(e = 64) {
44
+ let t = T(e, e), n = t.getContext("2d"), r = e / 2, i = n.createRadialGradient(r, r, 0, r, r, r);
45
+ return i.addColorStop(0, "rgba(0,0,0,0.6)"), i.addColorStop(.55, "rgba(0,0,0,0.38)"), i.addColorStop(1, "rgba(0,0,0,0)"), n.fillStyle = i, n.fillRect(0, 0, e, e), E(t);
46
+ }
47
+ function j() {
48
+ let e = T(64, 32), t = e.getContext("2d");
49
+ t.fillStyle = "#3b3b3e", t.fillRect(0, 0, 64, 32);
50
+ for (let e = 0; e < 4; e++) {
51
+ let n = e * 16;
52
+ t.fillStyle = "#1b1b1d", t.fillRect(n, 0, 6, 32), t.fillStyle = "#5a5a5f", t.fillRect(n + 6, 0, 2, 32), t.fillStyle = "#2a2a2d", t.fillRect(n + 8, 13, 8, 6);
53
+ }
54
+ return t.fillStyle = "rgba(0,0,0,0.35)", t.fillRect(0, 0, 64, 3), t.fillRect(0, 29, 64, 3), E(e, !0);
55
+ }
56
+ // src/games/tanks/scene/tank.js
57
+ var ee = 1.15, M = {
58
+ green: {
59
+ tint: g("#7fa35c"),
60
+ accent: g("#22c55e"),
61
+ hex: "#22c55e"
62
+ },
63
+ red: {
64
+ tint: g("#b8584a"),
65
+ accent: g("#ef4444"),
66
+ hex: "#ef4444"
67
+ }
68
+ }, N = g("#e9e6dc"), P = g("#c9c4b6"), F = g("#6d6a64"), I = g("#2a2927"), L = g("#55565b"), R = g("#ffffff"), z = 1.35, B = .74, V = .36, H = [
69
+ -2.1,
70
+ -1.05,
71
+ 0,
72
+ 1.05,
73
+ 2.1
74
+ ], U = [
75
+ 2.85,
76
+ .62,
77
+ .3
78
+ ], W = [
79
+ -2.85,
80
+ .62,
81
+ .3
82
+ ], G = .9, te = new h(-.35, 1.6, 0), K = new h(1.55, .42, 0), ne = new h(4.7, 0, 0), q = (e, t, n, r, i = n) => [
83
+ [e, -i],
84
+ [e, i],
85
+ [t - r, n],
86
+ [t, n - r * 1.6],
87
+ [t, -(n - r * 1.6)],
88
+ [t - r, -n]
89
+ ];
90
+ function J(e, t, n, r = 0, i = null) {
91
+ let a = 0, o = 0, s = 0;
92
+ for (let e of t) for (let t of e.pts) a += e.x, o += t[0], s++;
93
+ let c = [
94
+ a / s,
95
+ o / s,
96
+ 0
97
+ ];
98
+ for (let a = 0; a < t.length - 1; a++) {
99
+ let o = t[a], s = t[a + 1], l = o.pts.length;
100
+ for (let t = 0; t < l; t++) {
101
+ let a = (t + 1) % l, u = [
102
+ o.x,
103
+ o.pts[t][0],
104
+ o.pts[t][1]
105
+ ], d = [
106
+ o.x,
107
+ o.pts[a][0],
108
+ o.pts[a][1]
109
+ ], f = [
110
+ s.x,
111
+ s.pts[t][0],
112
+ s.pts[t][1]
113
+ ], p = [
114
+ s.x,
115
+ s.pts[a][0],
116
+ s.pts[a][1]
117
+ ], m = i && o.pts[t][0] === o.pts[a][0] && o.pts[t][0] > c[1];
118
+ e.quad(u, d, p, f, c, m ? i : n, r);
119
+ }
120
+ }
121
+ for (let i of [t[0], t[t.length - 1]]) {
122
+ let t = [
123
+ i.x,
124
+ 0,
125
+ 0
126
+ ];
127
+ for (let e of i.pts) t[1] += e[0] / i.pts.length;
128
+ for (let a = 0; a < i.pts.length; a++) {
129
+ let o = i.pts[a], s = i.pts[(a + 1) % i.pts.length];
130
+ e.tri(t, [
131
+ i.x,
132
+ o[0],
133
+ o[1]
134
+ ], [
135
+ i.x,
136
+ s[0],
137
+ s[1]
138
+ ], c, n, r);
139
+ }
140
+ }
141
+ }
142
+ function Y(e, t, n, r, i, a, o, s = 0, c = 0, l = 0) {
143
+ let u = [
144
+ (t + n) / 2,
145
+ s,
146
+ c
147
+ ];
148
+ for (let d = 0; d < a; d++) {
149
+ let f = d / a * Math.PI * 2 + Math.PI / a, p = (d + 1) / a * Math.PI * 2 + Math.PI / a, m = (e, t, n) => [
150
+ e,
151
+ s + Math.cos(n) * t,
152
+ c + Math.sin(n) * t
153
+ ];
154
+ e.quad(m(t, r, f), m(t, r, p), m(n, i, p), m(n, i, f), u, o, l), e.tri([
155
+ t,
156
+ s,
157
+ c
158
+ ], m(t, r, f), m(t, r, p), [
159
+ n,
160
+ s,
161
+ c
162
+ ], o, l), e.tri([
163
+ n,
164
+ s,
165
+ c
166
+ ], m(n, i, f), m(n, i, p), [
167
+ t,
168
+ s,
169
+ c
170
+ ], o, l);
171
+ }
172
+ }
173
+ function X(e, t, n, r, i, a, o = 0, s = 0) {
174
+ let c = [
175
+ o,
176
+ s,
177
+ (t + n) / 2
178
+ ];
179
+ for (let l = 0; l < i; l++) {
180
+ let u = l / i * Math.PI * 2, d = (l + 1) / i * Math.PI * 2, f = (e, t) => [
181
+ o + Math.cos(t) * r,
182
+ s + Math.sin(t) * r,
183
+ e
184
+ ];
185
+ e.quad(f(t, u), f(t, d), f(n, d), f(n, u), c, a), e.tri([
186
+ o,
187
+ s,
188
+ t
189
+ ], f(t, u), f(t, d), [
190
+ o,
191
+ s,
192
+ n
193
+ ], a), e.tri([
194
+ o,
195
+ s,
196
+ n
197
+ ], f(n, u), f(n, d), [
198
+ o,
199
+ s,
200
+ t
201
+ ], a);
202
+ }
203
+ }
204
+ function Z() {
205
+ let t = new e();
206
+ J(t, [
207
+ {
208
+ x: -3,
209
+ pts: [
210
+ [.5, -.9],
211
+ [.5, .9],
212
+ [1, .98],
213
+ [1, -.98]
214
+ ]
215
+ },
216
+ {
217
+ x: 2.55,
218
+ pts: [
219
+ [.45, -.9],
220
+ [.45, .9],
221
+ [1, .98],
222
+ [1, -.98]
223
+ ]
224
+ },
225
+ {
226
+ x: 3.15,
227
+ pts: [
228
+ [.85, -.85],
229
+ [.85, .85],
230
+ [1, .95],
231
+ [1, -.95]
232
+ ]
233
+ }
234
+ ], F), J(t, [
235
+ {
236
+ x: -3.15,
237
+ pts: q(.98, 1.48, 1.68, .1)
238
+ },
239
+ {
240
+ x: -2.95,
241
+ pts: q(.95, 1.6, 1.8, .14)
242
+ },
243
+ {
244
+ x: 1.85,
245
+ pts: q(.95, 1.6, 1.8, .14)
246
+ },
247
+ {
248
+ x: 3.3,
249
+ pts: q(.95, 1.1, 1.72, .06)
250
+ }
251
+ ], N, 0, P), t.box(-2.2, 1.62, 0, 1.1, .05, 1.7, I);
252
+ for (let e = 0; e < 4; e++) t.box(-2.65 + e * .3, 1.66, 0, .12, .03, 1.6, F);
253
+ t.box(-3.18, 1.22, .9, .12, .28, .5, I), t.box(-3.18, 1.22, -.9, .12, .28, .5, I);
254
+ for (let e of [-1, 1]) J(t, [{
255
+ x: -2.95,
256
+ pts: [
257
+ [.62, e * 1.82],
258
+ [.98, e * 1.8],
259
+ [.98, e * 1.88],
260
+ [.62, e * 1.9]
261
+ ]
262
+ }, {
263
+ x: 2.35,
264
+ pts: [
265
+ [.62, e * 1.82],
266
+ [.98, e * 1.8],
267
+ [.98, e * 1.88],
268
+ [.62, e * 1.9]
269
+ ]
270
+ }], P), t.box(-1.3, 1.72, e * 1.4, 1.3, .24, .5, F), t.box(.7, 1.7, e * 1.45, .7, .2, .4, P), t.box(3.2, .92, e * 1.25, .25, .14, .22, I);
271
+ return t.prism(1.35, 1.6, .55, .32, .32, .08, 6, F), t.box(1.8, 1.61, -.45, .35, .06, .5, I), t.build();
272
+ }
273
+ function Q() {
274
+ let t = new e();
275
+ for (let e of [-1, 1]) t.box(-.3, 1, e * 1.905, 5, .07, .03, R, 1), t.box(-.3, .66, e * 1.915, 5, .04, .03, R, 1), t.box(-3.19, 1.4, e * 1.3, .04, .12, .4, R, 1);
276
+ return t.box(2.9, 1.24, 0, .6, .02, .22, R, 1), t.build();
277
+ }
278
+ function re() {
279
+ let t = new e();
280
+ for (let e of [-1, 1]) t.box(3.24, 1.16, e * 1.3, .12, .16, .26, R, 1);
281
+ return t.build();
282
+ }
283
+ function ie() {
284
+ let t = new e();
285
+ J(t, [
286
+ {
287
+ x: -2.25,
288
+ pts: q(.05, .62, 1, .1, .95)
289
+ },
290
+ {
291
+ x: -1.55,
292
+ pts: q(0, .8, 1.32, .14, 1.25)
293
+ },
294
+ {
295
+ x: .85,
296
+ pts: q(0, .8, 1.35, .14, 1.28)
297
+ },
298
+ {
299
+ x: 1.75,
300
+ pts: q(.05, .55, .85, .08, .95)
301
+ }
302
+ ], N, 0, P), t.prism(-.2, -.08, 0, 1.15, 1.15, .1, 10, I), t.prism(-.75, .8, .55, .4, .4, .22, 8, F, 0, .9), t.prism(-.75, 1.02, .55, .3, .3, .07, 8, P), t.box(-.2, .86, -.6, .6, .1, .45, F), t.box(.55, .92, -.75, .42, .26, .3, F), t.box(.77, .94, -.75, .02, .16, .22, I), t.box(-2.3, .45, 0, .32, .4, 1.7, I);
303
+ for (let e of [-1, 1]) for (let n = 0; n < 3; n++) t.box(1 - n * .12, .58, e * (1.18 + n * .03), .22, .12, .12, F);
304
+ return t.box(-1.85, 1.5, -.85, .04, 1.5, .04, I), t.build();
305
+ }
306
+ function ae() {
307
+ let t = new e();
308
+ for (let e of [-1, 1]) t.box(-.35, .42, e * 1.34, 2.3, .1, .03, R, 1);
309
+ return t.box(-2.42, .45, 0, .03, .08, 1.6, R, 1), t.box(-1.85, 2.27, -.85, .08, .08, .08, R, 1), t.build();
310
+ }
311
+ function oe() {
312
+ let t = new e();
313
+ return J(t, [{
314
+ x: -.05,
315
+ pts: [
316
+ [-.32, -.5],
317
+ [-.32, .5],
318
+ [.3, .5],
319
+ [.3, -.5]
320
+ ]
321
+ }, {
322
+ x: .55,
323
+ pts: [
324
+ [-.22, -.36],
325
+ [-.22, .36],
326
+ [.22, .36],
327
+ [.22, -.36]
328
+ ]
329
+ }], F), Y(t, .5, 4.3, .15, .12, 10, P), Y(t, 1.9, 2.55, .21, .21, 10, F), Y(t, 4.25, 4.7, .19, .19, 8, L), t.box(4.47, 0, 0, .18, .3, .46, I), t.build();
330
+ }
331
+ function se() {
332
+ let t = new e();
333
+ X(t, -.31079999999999997, B * .42, V, 10, I), X(t, .30079999999999996, .35079999999999995, V * .66, 10, P), X(t, -.35079999999999995, -.30079999999999996, V * .66, 10, P);
334
+ for (let e = 0; e < 3; e++) {
335
+ let n = e / 3 * Math.PI, r = Math.cos(n), i = Math.sin(n), a = V * .55, o = .07;
336
+ for (let e of [.37079999999999996, -.37079999999999996]) {
337
+ let n = [
338
+ 0,
339
+ 0,
340
+ e > 0 ? e - .1 : e + .1
341
+ ];
342
+ t.quad([
343
+ -r * a - i * o,
344
+ -i * a + r * o,
345
+ e
346
+ ], [
347
+ r * a - i * o,
348
+ i * a + r * o,
349
+ e
350
+ ], [
351
+ r * a + i * o,
352
+ i * a - r * o,
353
+ e
354
+ ], [
355
+ -r * a + i * o,
356
+ -i * a - r * o,
357
+ e
358
+ ], n, F);
359
+ }
360
+ }
361
+ return X(t, -.3908, .3908, .08, 6, L), t.build();
362
+ }
363
+ function ce() {
364
+ let e = [], r = (t, n, r, i, a, o) => {
365
+ for (let s = 0; s <= o; s++) {
366
+ let c = i + (a - i) * s / o;
367
+ e.push([t + Math.cos(c) * r, n + Math.sin(c) * r]);
368
+ }
369
+ }, i = .38;
370
+ e.push([-2.1, -0]), e.push([2.1, -0]), r(U[0], U[1], i, -2, Math.PI / 2, 6), r(W[0], W[1], i, Math.PI / 2, Math.PI + 2, 6), e.push(e[0]);
371
+ let a = [0];
372
+ for (let t = 1; t < e.length; t++) a.push(a[t - 1] + Math.hypot(e[t][0] - e[t - 1][0], e[t][1] - e[t - 1][1]));
373
+ let o = [], s = [], c = [];
374
+ for (let t of [-1, 1]) {
375
+ let n = t * z - B / 2, r = t * z + B / 2;
376
+ for (let t = 0; t < e.length - 1; t++) {
377
+ let [i, l] = e[t], [u, d] = e[t + 1], f = d - l, p = -(u - i), m = Math.hypot(f, p) || 1;
378
+ f /= m, p /= m;
379
+ let h = a[t] / G, g = a[t + 1] / G, _ = [
380
+ [
381
+ i,
382
+ l,
383
+ n,
384
+ h,
385
+ 0
386
+ ],
387
+ [
388
+ u,
389
+ d,
390
+ n,
391
+ g,
392
+ 0
393
+ ],
394
+ [
395
+ u,
396
+ d,
397
+ r,
398
+ g,
399
+ 1
400
+ ],
401
+ [
402
+ i,
403
+ l,
404
+ n,
405
+ h,
406
+ 0
407
+ ],
408
+ [
409
+ u,
410
+ d,
411
+ r,
412
+ g,
413
+ 1
414
+ ],
415
+ [
416
+ i,
417
+ l,
418
+ r,
419
+ h,
420
+ 1
421
+ ]
422
+ ];
423
+ for (let e of _) o.push(e[0], e[1] + .02, e[2]), s.push(f, p, 0), c.push(e[3], e[4]);
424
+ }
425
+ }
426
+ let l = new n();
427
+ return l.setAttribute("position", new t(new Float32Array(o), 3)), l.setAttribute("normal", new t(new Float32Array(s), 3)), l.setAttribute("uv", new t(new Float32Array(c), 2)), l.computeBoundingSphere(), l;
428
+ }
429
+ var $ = (() => {
430
+ let e = [];
431
+ for (let t of [-1, 1]) {
432
+ for (let n of H) e.push({
433
+ x: n,
434
+ y: V,
435
+ z: t * z,
436
+ r: V
437
+ });
438
+ e.push({
439
+ x: U[0],
440
+ y: U[1],
441
+ z: t * z,
442
+ r: U[2]
443
+ }), e.push({
444
+ x: W[0],
445
+ y: W[1],
446
+ z: t * z,
447
+ r: W[2]
448
+ });
449
+ }
450
+ return e;
451
+ })();
452
+ function le() {
453
+ let e = {
454
+ hull: Z(),
455
+ hullAccent: Q(),
456
+ lamps: re(),
457
+ turret: ie(),
458
+ turretAccent: ae(),
459
+ gun: oe(),
460
+ wheel: se(),
461
+ track: ce()
462
+ };
463
+ return e.dispose = () => {
464
+ for (let t of Object.keys(e)) e[t] && e[t].isBufferGeometry && e[t].dispose();
465
+ }, e;
466
+ }
467
+ var ue = g("#3a3431"), de = g("#2a201b");
468
+ function fe(e, t, { id: n, color: r = "green", quality: i = "high" }) {
469
+ let s = M[r] || M.green, m = new o();
470
+ m.scale.setScalar(ee);
471
+ let _ = new o();
472
+ m.add(_);
473
+ let v = new o();
474
+ v.position.copy(te);
475
+ let y = new o();
476
+ y.position.copy(K), v.add(y), _.add(v);
477
+ let b = new u({ color: s.accent.clone() });
478
+ b.color.multiplyScalar(1.35);
479
+ let x = t.trackTex.clone();
480
+ x.needsUpdate = !0;
481
+ let S = null, C = null, w = new l(e.hull, null), T = new l(e.hullAccent, b), E = new l(e.lamps, t.lampMat), D = new l(e.track, null), O = new l(e.turret, null), k = new l(e.turretAccent, b), A = new l(e.gun, null);
482
+ _.add(w, T, E, D), v.add(O, k), y.add(A);
483
+ let j = [
484
+ w,
485
+ D,
486
+ O,
487
+ A
488
+ ];
489
+ function N(e) {
490
+ S && S.dispose(), C && C.dispose(), e === "low" ? (S = new d({
491
+ vertexColors: !0,
492
+ color: s.tint.clone()
493
+ }), C = new d({
494
+ map: x,
495
+ color: g("#9a9a9a"),
496
+ side: a
497
+ })) : (S = new f({
498
+ vertexColors: !0,
499
+ color: s.tint.clone(),
500
+ roughness: .62,
501
+ metalness: .18,
502
+ flatShading: !0
503
+ }), C = new f({
504
+ map: x,
505
+ color: g("#a0a0a0"),
506
+ roughness: .85,
507
+ metalness: .2,
508
+ side: a
509
+ })), w.material = S, O.material = S, A.material = S, D.material = C, P.charred && F();
510
+ }
511
+ let P = {
512
+ id: n,
513
+ color: r,
514
+ alive: !0,
515
+ charred: !1,
516
+ hp: 100,
517
+ maxHp: 100,
518
+ x: 0,
519
+ y: 0,
520
+ z: 0,
521
+ hullYaw: 0,
522
+ yaw: 0,
523
+ pitch: 10,
524
+ targetYaw: null,
525
+ targetPitch: null,
526
+ recoil: 0,
527
+ hitFlash: 0,
528
+ trackDist: 0,
529
+ wheelSpin: 0,
530
+ smokeAcc: 0,
531
+ blown: null
532
+ };
533
+ function F() {
534
+ S.color.copy(ue), b.color.copy(de), E.visible = !1, C && C.color.copy(g("#3a3836"));
535
+ }
536
+ N(i);
537
+ let I = new h(0, 1, 0), L = new h(), R = new p(), z = new p(), B = new p(), H = !1;
538
+ function U(e, t = 0) {
539
+ m.position.set(P.x, P.y, P.z), e.normalAt(P.x, P.z, L, 2.2), B.setFromUnitVectors(I, L), !H || t <= 0 ? (R.copy(B), H = !0) : R.slerp(B, 1 - Math.exp(-10 * t)), z.setFromAxisAngle(I, -P.hullYaw * Math.PI / 180), _.quaternion.copy(R).multiply(z), v.rotation.y = -(P.yaw - P.hullYaw) * Math.PI / 180, y.rotation.z = P.pitch * Math.PI / 180, y.position.x = K.x - P.recoil * .55;
540
+ }
541
+ function W(e) {
542
+ P.charred !== e && (P.charred = e, e ? F() : (S.color.copy(s.tint), b.color.copy(s.accent).multiplyScalar(1.35), E.visible = !0, C.color.copy(g(i === "low" ? "#9a9a9a" : "#a0a0a0"))));
543
+ }
544
+ function q(e) {
545
+ S.emissive.setRGB(1 * e, .45 * e, .2 * e);
546
+ }
547
+ function J(e) {
548
+ for (let t of j) t.castShadow = e, t.receiveShadow = e;
549
+ }
550
+ let Y = new c(), X = new p(), Z = new h(), Q = new h(), re = new h(0, 0, 1);
551
+ function ie(e, t) {
552
+ _.updateWorldMatrix(!0, !1);
553
+ for (let n = 0; n < $.length; n++) {
554
+ let r = $[n];
555
+ X.setFromAxisAngle(re, -P.trackDist / r.r), Q.setScalar(r.r / V), Z.set(r.x, r.y, r.z), Y.compose(Z, X, Q), Y.premultiply(_.matrixWorld), e.setMatrixAt(t + n, Y);
556
+ }
557
+ }
558
+ return {
559
+ id: n,
560
+ team: s,
561
+ root: m,
562
+ body: _,
563
+ turret: v,
564
+ gun: y,
565
+ turretMesh: O,
566
+ turretAccent: k,
567
+ state: P,
568
+ trackTex: x,
569
+ place: U,
570
+ setCharred: W,
571
+ setFlash: q,
572
+ setShadows: J,
573
+ writeWheels: ie,
574
+ setQuality(e) {
575
+ i = e, N(e);
576
+ },
577
+ scrollTracks(e) {
578
+ P.trackDist += e, x.offset.x = -P.trackDist / G;
579
+ },
580
+ muzzleWorld(e) {
581
+ return y.updateWorldMatrix(!0, !1), e.copy(ne).applyMatrix4(y.matrixWorld);
582
+ },
583
+ gunDirWorld(e) {
584
+ return y.updateWorldMatrix(!0, !1), e.set(1, 0, 0).transformDirection(y.matrixWorld);
585
+ },
586
+ localToWorld(e, t, n, r) {
587
+ return _.updateWorldMatrix(!0, !1), e.set(t, n, r).applyMatrix4(_.matrixWorld);
588
+ },
589
+ dispose() {
590
+ S.dispose(), C.dispose(), b.dispose(), x.dispose(), m.removeFromParent();
591
+ }
592
+ };
593
+ }
594
+ function pe() {
595
+ return {
596
+ trackTex: j(),
597
+ lampMat: new u({ color: g("#fff1c2").multiplyScalar(1.6) }),
598
+ dispose() {
599
+ this.trackTex.dispose(), this.lampMat.dispose();
600
+ }
601
+ };
602
+ }
603
+ export { w as _, fe as a, S as b, b as c, v as d, x as f, k as g, g as h, $ as i, A as l, C as m, M as n, le as o, D as p, te as r, pe as s, K as t, _ as u, O as v, y };
604
+
605
+ //# sourceMappingURL=tank-DIn6Jyt8.js.map