three-low-poly 0.9.18 → 0.9.19

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.
package/dist/index.es.js CHANGED
@@ -1,43 +1,43 @@
1
1
  var bt = Object.defineProperty;
2
2
  var St = (e, t, o) => t in e ? bt(e, t, { enumerable: !0, configurable: !0, writable: !0, value: o }) : e[t] = o;
3
3
  var A = (e, t, o) => St(e, typeof t != "symbol" ? t + "" : t, o);
4
- import { Vector3 as x, MathUtils as L, Quaternion as Pt, InstancedMesh as ct, SphereGeometry as _, MeshStandardMaterial as M, Matrix4 as H, BufferGeometry as E, Float32BufferAttribute as q, DoubleSide as k, Euler as Tt, BufferAttribute as z, BoxGeometry as b, Vector2 as v, LatheGeometry as D, CylinderGeometry as P, ConeGeometry as Z, Shape as j, ExtrudeGeometry as Q, DodecahedronGeometry as J, CircleGeometry as Gt, TorusGeometry as dt, Mesh as y, ShaderMaterial as W, MeshPhysicalMaterial as tt, Group as O, MeshBasicMaterial as Ct, PointLight as Mt, CatmullRomCurve3 as Bt, TubeGeometry as Rt, Path as Nt, Color as $, BackSide as lt, DataTexture as _t, RGBAFormat as Ut, UnsignedByteType as Ot, RepeatWrapping as ht, NearestFilter as Lt, Box3 as ut } from "three";
5
- function Ao(e, t, o, n) {
6
- const r = e.position.clone(), s = r.clone().add(e.getWorldDirection(new x()).multiplyScalar(-t));
4
+ import { Vector3 as x, MathUtils as z, Quaternion as Pt, InstancedMesh as lt, SphereGeometry as U, MeshStandardMaterial as y, Matrix4 as H, BufferGeometry as E, Float32BufferAttribute as O, DoubleSide as V, Euler as Tt, BufferAttribute as D, BoxGeometry as b, Vector2 as I, LatheGeometry as k, CylinderGeometry as P, ConeGeometry as Z, Shape as j, ExtrudeGeometry as Q, DodecahedronGeometry as J, CircleGeometry as Gt, TorusGeometry as Mt, Mesh as w, ShaderMaterial as W, MeshPhysicalMaterial as tt, Group as L, PointLight as Ct, CatmullRomCurve3 as Bt, TubeGeometry as Rt, Path as Nt, Color as $, BackSide as ut, DataTexture as _t, RGBAFormat as Ut, UnsignedByteType as Ot, RepeatWrapping as ft, NearestFilter as zt, Box3 as et } from "three";
5
+ function bo(e, t, o, n) {
6
+ const s = e.position.clone(), r = s.clone().add(e.getWorldDirection(new x()).multiplyScalar(-t));
7
7
  let a = null;
8
8
  function i(c) {
9
9
  a === null && (a = c);
10
10
  const u = (c - a) / o;
11
11
  if (u >= 1) {
12
- e.position.copy(s), n && n();
12
+ e.position.copy(r), n && n();
13
13
  return;
14
14
  }
15
- e.position.lerpVectors(r, s, u), requestAnimationFrame(i);
15
+ e.position.lerpVectors(s, r, u), requestAnimationFrame(i);
16
16
  }
17
17
  requestAnimationFrame(i);
18
18
  }
19
- function Eo(e, t, o, n) {
20
- const r = t.length - 1;
21
- let s = null;
19
+ function So(e, t, o, n) {
20
+ const s = t.length - 1;
21
+ let r = null;
22
22
  function a(i) {
23
- s === null && (s = i);
24
- const l = (i - s) / o;
23
+ r === null && (r = i);
24
+ const l = (i - r) / o;
25
25
  if (l >= 1) {
26
26
  e.position.copy(t[t.length - 1]), n && n();
27
27
  return;
28
28
  }
29
- const u = l * r, m = Math.floor(u), h = u - m, f = t[m], p = t[m + 1];
29
+ const u = l * s, m = Math.floor(u), h = u - m, f = t[m], p = t[m + 1];
30
30
  e.position.lerpVectors(f, p, h), e.lookAt(p), requestAnimationFrame(a);
31
31
  }
32
32
  requestAnimationFrame(a);
33
33
  }
34
- function bo(e, t, o, n, r) {
35
- let s = null;
34
+ function Po(e, t, o, n, s) {
35
+ let r = null;
36
36
  function a(i) {
37
- s || (s = i);
38
- const l = (i - s) / n;
37
+ r || (r = i);
38
+ const l = (i - r) / n;
39
39
  if (l >= 1) {
40
- r && r();
40
+ s && s();
41
41
  return;
42
42
  }
43
43
  const u = l * Math.PI * 2, m = t.x + o * Math.cos(u), h = t.z + o * Math.sin(u);
@@ -45,39 +45,39 @@ function bo(e, t, o, n, r) {
45
45
  }
46
46
  requestAnimationFrame(a);
47
47
  }
48
- function So(e, t, o, n, r, s) {
48
+ function To(e, t, o, n, s, r) {
49
49
  let a = null, i = 0;
50
50
  function c(l) {
51
51
  a === null && (a = l);
52
- const u = l - a, m = n / r, h = u % m / m, f = Math.sin(h * Math.PI * 2) * Math.PI / 6, p = t.x + o * Math.sin(f), d = t.z + o * Math.cos(f);
53
- if (e.position.set(p, e.position.y, d), e.lookAt(t), u >= (i + 1) * m && i++, i >= r) {
54
- s && s();
52
+ const u = l - a, m = n / s, h = u % m / m, f = Math.sin(h * Math.PI * 2) * Math.PI / 6, p = t.x + o * Math.sin(f), d = t.z + o * Math.cos(f);
53
+ if (e.position.set(p, e.position.y, d), e.lookAt(t), u >= (i + 1) * m && i++, i >= s) {
54
+ r && r();
55
55
  return;
56
56
  }
57
57
  requestAnimationFrame(c);
58
58
  }
59
59
  requestAnimationFrame(c);
60
60
  }
61
- function Po(e, t, o, n, r, s, a) {
61
+ function Go(e, t, o, n, s, r, a) {
62
62
  let i = null;
63
63
  function c(l) {
64
64
  i === null && (i = l);
65
- const m = (l - i) / s;
65
+ const m = (l - i) / r;
66
66
  if (m >= 1) {
67
67
  a && a();
68
68
  return;
69
69
  }
70
- const h = m * Math.PI * 2 * r, f = t.x + o * Math.cos(h), p = t.z + o * Math.sin(h), d = t.y + n * m;
70
+ const h = m * Math.PI * 2 * s, f = t.x + o * Math.cos(h), p = t.z + o * Math.sin(h), d = t.y + n * m;
71
71
  e.position.set(f, d, p), e.lookAt(t), requestAnimationFrame(c);
72
72
  }
73
73
  requestAnimationFrame(c);
74
74
  }
75
- function To(e, t, o, n) {
76
- const r = e.position.clone();
77
- let s = null;
75
+ function Co(e, t, o, n) {
76
+ const s = e.position.clone();
77
+ let r = null;
78
78
  function a(i) {
79
- if (s === null && (s = i), (i - s) / o >= 1) {
80
- e.position.copy(r), n && n();
79
+ if (r === null && (r = i), (i - r) / o >= 1) {
80
+ e.position.copy(s), n && n();
81
81
  return;
82
82
  }
83
83
  const u = new x(
@@ -85,26 +85,26 @@ function To(e, t, o, n) {
85
85
  (Math.random() - 0.5) * t,
86
86
  (Math.random() - 0.5) * t
87
87
  );
88
- e.position.copy(r).add(u), requestAnimationFrame(a);
88
+ e.position.copy(s).add(u), requestAnimationFrame(a);
89
89
  }
90
90
  requestAnimationFrame(a);
91
91
  }
92
- function Go(e, t, o, n, r, s) {
92
+ function Bo(e, t, o, n, s, r) {
93
93
  const a = e.fov;
94
94
  e.fov = o, e.updateProjectionMatrix();
95
95
  let i = null;
96
96
  function c(l) {
97
97
  i === null && (i = l);
98
- const m = (l - i) / r;
98
+ const m = (l - i) / s;
99
99
  if (m >= 1) {
100
- e.fov = n, e.updateProjectionMatrix(), e.lookAt(t), e.fov = a, e.updateProjectionMatrix(), s && s();
100
+ e.fov = n, e.updateProjectionMatrix(), e.lookAt(t), e.fov = a, e.updateProjectionMatrix(), r && r();
101
101
  return;
102
102
  }
103
- e.fov = L.lerp(o, n, m), e.updateProjectionMatrix(), e.lookAt(t), requestAnimationFrame(c);
103
+ e.fov = z.lerp(o, n, m), e.updateProjectionMatrix(), e.lookAt(t), requestAnimationFrame(c);
104
104
  }
105
105
  requestAnimationFrame(c);
106
106
  }
107
- class Co {
107
+ class Ro {
108
108
  constructor(t) {
109
109
  A(this, "speed");
110
110
  A(this, "maxIntensity");
@@ -114,9 +114,9 @@ class Co {
114
114
  speed: o = 2,
115
115
  //
116
116
  maxIntensity: n = 0.8,
117
- minIntensity: r = 0.2
117
+ minIntensity: s = 0.2
118
118
  } = t;
119
- this.speed = o, this.maxIntensity = n, this.minIntensity = r, this.material = t.material;
119
+ this.speed = o, this.maxIntensity = n, this.minIntensity = s, this.material = t.material;
120
120
  }
121
121
  /**
122
122
  * Update the emissive intensity of the material.
@@ -133,50 +133,77 @@ class Co {
133
133
  this.material.emissiveIntensity = this.minIntensity + Math.abs(Math.sin(t * this.speed)) * (this.maxIntensity - this.minIntensity);
134
134
  }
135
135
  }
136
- function yt(e = 0, t = 1) {
136
+ function mt(e = 0, t = 1) {
137
137
  return Math.random() * (t - e) + e;
138
138
  }
139
- function Bo(e = 0, t = 1) {
139
+ function No(e = 0, t = 1) {
140
140
  return Math.floor(Math.random() * (t - e + 1)) + e;
141
141
  }
142
142
  function Ft(e = 0.5, t = 0, o = 1) {
143
143
  return t + (o - t) * Math.pow(Math.random(), e);
144
144
  }
145
- function zt(e = 0.5, t = 0, o = 1) {
145
+ function Lt(e = 0.5, t = 0, o = 1) {
146
146
  return t + (o - t) * Math.pow(1 - Math.random(), e);
147
147
  }
148
+ class _o {
149
+ constructor({
150
+ light: t,
151
+ minIntensity: o = 0.8,
152
+ maxIntensity: n = 1.2,
153
+ x: s = 0,
154
+ y: r = 0,
155
+ z: a = 0,
156
+ jitterX: i = 0.02,
157
+ jitterY: c = 0,
158
+ jitterZ: l = 0.02
159
+ } = {}) {
160
+ A(this, "light");
161
+ A(this, "minIntensity");
162
+ A(this, "maxIntensity");
163
+ A(this, "x");
164
+ A(this, "y");
165
+ A(this, "z");
166
+ A(this, "jitterX");
167
+ A(this, "jitterY");
168
+ A(this, "jitterZ");
169
+ this.light = t, this.minIntensity = o, this.maxIntensity = n, this.x = s, this.y = r, this.z = a, this.jitterX = i, this.jitterY = c, this.jitterZ = l;
170
+ }
171
+ update() {
172
+ this.light && (this.light.intensity = mt(this.minIntensity, this.maxIntensity), this.light.position.x = Math.random() * this.jitterX - this.jitterX / 2 + this.x, this.light.position.y = Math.random() * this.jitterY - this.jitterY / 2 + this.y, this.light.position.z = Math.random() * this.jitterZ - this.jitterZ / 2 + this.z);
173
+ }
174
+ }
148
175
  function Dt(e, t, o) {
149
176
  const n = t + Math.random() * (o - t);
150
177
  return setTimeout(e, n);
151
178
  }
152
- function Ro(e, t, o) {
179
+ function Uo(e, t, o) {
153
180
  let n;
154
- function r() {
155
- const s = t + Math.random() * (o - t);
181
+ function s() {
182
+ const r = t + Math.random() * (o - t);
156
183
  n = setTimeout(() => {
157
- e(), r();
158
- }, s);
184
+ e(), s();
185
+ }, r);
159
186
  }
160
- return r(), () => clearTimeout(n);
187
+ return s(), () => clearTimeout(n);
161
188
  }
162
- class No {
189
+ class Oo {
163
190
  constructor({
164
191
  light: t,
165
192
  //
166
193
  minIntensity: o = 15,
167
194
  maxIntensity: n = 20,
168
- minDuration: r = 50,
169
- maxDuration: s = 250
195
+ minDuration: s = 50,
196
+ maxDuration: r = 250
170
197
  } = {}) {
171
198
  A(this, "light");
172
199
  A(this, "minIntensity");
173
200
  A(this, "maxIntensity");
174
201
  A(this, "minDuration");
175
202
  A(this, "maxDuration");
176
- this.light = t, this.minIntensity = o, this.maxIntensity = n, this.minDuration = r, this.maxDuration = s;
203
+ this.light = t, this.minIntensity = o, this.maxIntensity = n, this.minDuration = s, this.maxDuration = r;
177
204
  }
178
205
  triggerLightning() {
179
- this.light && (this.light.intensity = yt(this.minIntensity, this.maxIntensity)), Dt(
206
+ this.light && (this.light.intensity = mt(this.minIntensity, this.maxIntensity)), Dt(
180
207
  () => {
181
208
  this.light && (this.light.intensity = 0);
182
209
  },
@@ -188,7 +215,7 @@ class No {
188
215
  Math.random() > 0.98 && this.triggerLightning();
189
216
  }
190
217
  }
191
- const et = {
218
+ const ot = {
192
219
  UP: new x(0, 1, 0),
193
220
  DOWN: new x(0, -1, 0),
194
221
  LEFT: new x(-1, 0, 0),
@@ -209,79 +236,79 @@ const et = {
209
236
  const o = Math.max(0, Math.min(1, 1 - e / t));
210
237
  return o * o * (3 - 2 * o);
211
238
  }
212
- }, _o = (e, t, o, n, r = et.UP, s = K.LINEAR) => {
239
+ }, zo = (e, t, o, n, s = ot.UP, r = K.LINEAR) => {
213
240
  const a = e.attributes.position;
214
241
  for (let i = 0; i < a.count; i++) {
215
242
  const c = new x();
216
243
  c.fromBufferAttribute(a, i);
217
244
  const l = c.distanceTo(t);
218
245
  if (l < o) {
219
- const m = s(l, o) * n;
220
- c.add(r.clone().multiplyScalar(m)), a.setXYZ(i, c.x, c.y, c.z);
246
+ const m = r(l, o) * n;
247
+ c.add(s.clone().multiplyScalar(m)), a.setXYZ(i, c.x, c.y, c.z);
221
248
  }
222
249
  }
223
250
  a.needsUpdate = !0;
224
- }, Uo = (e, t, o, n, r, s = et.UP, a = K.LINEAR) => {
251
+ }, Fo = (e, t, o, n, s, r = ot.UP, a = K.LINEAR) => {
225
252
  const i = e.attributes.position;
226
253
  for (let c = 0; c < i.count; c++) {
227
254
  const l = new x();
228
255
  l.fromBufferAttribute(i, c);
229
256
  const u = l.distanceTo(t);
230
257
  if (u < o) {
231
- const h = a(u, o) * r, f = l.dot(s.normalize()), p = n - f;
232
- l.add(s.clone().multiplyScalar(p * h)), i.setXYZ(c, l.x, l.y, l.z);
258
+ const h = a(u, o) * s, f = l.dot(r.normalize()), p = n - f;
259
+ l.add(r.clone().multiplyScalar(p * h)), i.setXYZ(c, l.x, l.y, l.z);
233
260
  }
234
261
  }
235
262
  i.needsUpdate = !0;
236
- }, Oo = (e, t, o, n, r = et.UP, s = K.LINEAR) => {
263
+ }, Lo = (e, t, o, n, s = ot.UP, r = K.LINEAR) => {
237
264
  const a = e.attributes.position;
238
265
  for (let i = 0; i < a.count; i++) {
239
266
  const c = new x();
240
267
  c.fromBufferAttribute(a, i);
241
268
  const l = c.distanceTo(t);
242
269
  if (l < o) {
243
- const u = s(l, o), m = n * u, h = r.clone().normalize();
244
- c.x += L.randFloatSpread(m) * h.x, c.y += L.randFloatSpread(m) * h.y, c.z += L.randFloatSpread(m) * h.z, a.setXYZ(i, c.x, c.y, c.z);
270
+ const u = r(l, o), m = n * u, h = s.clone().normalize();
271
+ c.x += z.randFloatSpread(m) * h.x, c.y += z.randFloatSpread(m) * h.y, c.z += z.randFloatSpread(m) * h.z, a.setXYZ(i, c.x, c.y, c.z);
245
272
  }
246
273
  }
247
274
  a.needsUpdate = !0;
248
- }, Lo = (e, t, o, n) => {
249
- const r = e.attributes.position, s = new x();
250
- for (let a = 0; a < r.count; a++) {
275
+ }, Do = (e, t, o, n) => {
276
+ const s = e.attributes.position, r = new x();
277
+ for (let a = 0; a < s.count; a++) {
251
278
  const i = new x();
252
- if (i.fromBufferAttribute(r, a), i.distanceTo(t) < o) {
279
+ if (i.fromBufferAttribute(s, a), i.distanceTo(t) < o) {
253
280
  let l = new x(), u = 0;
254
- for (let m = 0; m < r.count; m++)
255
- s.fromBufferAttribute(r, m), s.distanceTo(i) < o && (l.add(s), u++);
256
- u > 0 && (l.divideScalar(u), i.lerp(l, n), r.setXYZ(a, i.x, i.y, i.z));
281
+ for (let m = 0; m < s.count; m++)
282
+ r.fromBufferAttribute(s, m), r.distanceTo(i) < o && (l.add(r), u++);
283
+ u > 0 && (l.divideScalar(u), i.lerp(l, n), s.setXYZ(a, i.x, i.y, i.z));
257
284
  }
258
285
  }
259
- r.needsUpdate = !0;
260
- }, Fo = (e, t, o, n, r = !1, s = K.LINEAR) => {
286
+ s.needsUpdate = !0;
287
+ }, ko = (e, t, o, n, s = !1, r = K.LINEAR) => {
261
288
  const a = e.attributes.position;
262
289
  for (let i = 0; i < a.count; i++) {
263
290
  const c = new x();
264
291
  c.fromBufferAttribute(a, i);
265
292
  const l = c.distanceTo(t);
266
293
  if (l < o) {
267
- const m = s(l, o) * n * (r ? -1 : 1), h = c.clone().sub(t).normalize();
294
+ const m = r(l, o) * n * (s ? -1 : 1), h = c.clone().sub(t).normalize();
268
295
  c.add(h.multiplyScalar(m)), a.setXYZ(i, c.x, c.y, c.z);
269
296
  }
270
297
  }
271
298
  a.needsUpdate = !0;
272
- }, zo = (e, t, o, n, r = et.UP, s = K.LINEAR) => {
299
+ }, Vo = (e, t, o, n, s = ot.UP, r = K.LINEAR) => {
273
300
  const a = e.attributes.position, i = new Pt();
274
301
  for (let c = 0; c < a.count; c++) {
275
302
  const l = new x();
276
303
  l.fromBufferAttribute(a, c);
277
304
  const u = l.distanceTo(t);
278
305
  if (u < o) {
279
- const h = s(u, o) * n;
280
- i.setFromAxisAngle(r, h), l.sub(t).applyQuaternion(i).add(t), a.setXYZ(c, l.x, l.y, l.z);
306
+ const h = r(u, o) * n;
307
+ i.setFromAxisAngle(s, h), l.sub(t).applyQuaternion(i).add(t), a.setXYZ(c, l.x, l.y, l.z);
281
308
  }
282
309
  }
283
310
  a.needsUpdate = !0;
284
- }, mt = {
311
+ }, ht = {
285
312
  X: new x(1, 0, 0),
286
313
  Y: new x(0, 1, 0),
287
314
  Z: new x(0, 0, 1),
@@ -289,7 +316,7 @@ const et = {
289
316
  XZ: new x(1, 0, 1).normalize(),
290
317
  YZ: new x(0, 1, 1).normalize(),
291
318
  XYZ: new x(1, 1, 1).normalize()
292
- }, at = {
319
+ }, it = {
293
320
  // Red
294
321
  CADMIUM_RED: 15073318,
295
322
  // Cadmium Red or Bright Red. Vivid, bold red shade with warm undertones.
@@ -432,10 +459,10 @@ const et = {
432
459
  // White Smoke or Light Gray. It’s a soft, pale gray shade with a hint of warmth.
433
460
  TITANIUM_WHITE: 16777215
434
461
  // Pure white, the brightest color possible.
435
- }, kt = (e) => 1 - Math.cos(e * Math.PI / 2), qt = (e) => Math.sin(e * Math.PI / 2), Vt = (e) => -0.5 * (Math.cos(Math.PI * e) - 1), Yt = (e) => e * e, Ht = (e) => 1 - Math.pow(1 - e, 2), Xt = (e) => e < 0.5 ? 2 * e * e : 1 - Math.pow(-2 * e + 2, 2) / 2, Zt = (e) => e * e * e, jt = (e) => 1 - Math.pow(1 - e, 3), Qt = (e) => e < 0.5 ? 4 * e * e * e : 1 - Math.pow(-2 * e + 2, 3) / 2, Kt = (e) => e * e * e * e, Jt = (e) => 1 - Math.pow(1 - e, 4), $t = (e) => e < 0.5 ? 8 * e * e * e * e : 1 - Math.pow(-2 * e + 2, 4) / 2, Wt = (e) => e * e * e * e * e, te = (e) => 1 - Math.pow(1 - e, 5), ee = (e) => e < 0.5 ? 16 * e * e * e * e * e : 1 - Math.pow(-2 * e + 2, 5) / 2, oe = (e) => e === 0 ? 0 : Math.pow(2, 10 * e - 10), ne = (e) => e === 1 ? 1 : 1 - Math.pow(2, -10 * e), se = (e) => e === 0 ? 0 : e === 1 ? 1 : e < 0.5 ? Math.pow(2, 20 * e - 10) / 2 : (2 - Math.pow(2, -20 * e + 10)) / 2, re = (e) => 1 - Math.sqrt(1 - Math.pow(e, 2)), ae = (e) => Math.sqrt(1 - Math.pow(e - 1, 2)), ie = (e) => e < 0.5 ? (1 - Math.sqrt(1 - Math.pow(2 * e, 2))) / 2 : (Math.sqrt(1 - Math.pow(-2 * e + 2, 2)) + 1) / 2, ce = (e) => e, le = (e) => e * e * (3 - 2 * e), ue = (e) => 1 - Math.pow(1 - e, 0.3), me = (e) => Math.pow(e, 0.3), he = (e) => Math.log(Math.max(0.01, e)) / Math.log(2), fe = (e) => Math.sqrt(e), pe = (e) => 1 - e, de = (e) => Math.exp(-Math.pow(e - 0.5, 2) / (2 * 0.5)), Do = {
462
+ }, kt = (e) => 1 - Math.cos(e * Math.PI / 2), Vt = (e) => Math.sin(e * Math.PI / 2), qt = (e) => -0.5 * (Math.cos(Math.PI * e) - 1), Yt = (e) => e * e, Ht = (e) => 1 - Math.pow(1 - e, 2), Xt = (e) => e < 0.5 ? 2 * e * e : 1 - Math.pow(-2 * e + 2, 2) / 2, Zt = (e) => e * e * e, jt = (e) => 1 - Math.pow(1 - e, 3), Qt = (e) => e < 0.5 ? 4 * e * e * e : 1 - Math.pow(-2 * e + 2, 3) / 2, Kt = (e) => e * e * e * e, Jt = (e) => 1 - Math.pow(1 - e, 4), $t = (e) => e < 0.5 ? 8 * e * e * e * e : 1 - Math.pow(-2 * e + 2, 4) / 2, Wt = (e) => e * e * e * e * e, te = (e) => 1 - Math.pow(1 - e, 5), ee = (e) => e < 0.5 ? 16 * e * e * e * e * e : 1 - Math.pow(-2 * e + 2, 5) / 2, oe = (e) => e === 0 ? 0 : Math.pow(2, 10 * e - 10), ne = (e) => e === 1 ? 1 : 1 - Math.pow(2, -10 * e), se = (e) => e === 0 ? 0 : e === 1 ? 1 : e < 0.5 ? Math.pow(2, 20 * e - 10) / 2 : (2 - Math.pow(2, -20 * e + 10)) / 2, re = (e) => 1 - Math.sqrt(1 - Math.pow(e, 2)), ae = (e) => Math.sqrt(1 - Math.pow(e - 1, 2)), ie = (e) => e < 0.5 ? (1 - Math.sqrt(1 - Math.pow(2 * e, 2))) / 2 : (Math.sqrt(1 - Math.pow(-2 * e + 2, 2)) + 1) / 2, ce = (e) => e, le = (e) => e * e * (3 - 2 * e), ue = (e) => 1 - Math.pow(1 - e, 0.3), me = (e) => Math.pow(e, 0.3), he = (e) => Math.log(Math.max(0.01, e)) / Math.log(2), fe = (e) => Math.sqrt(e), pe = (e) => 1 - e, de = (e) => Math.exp(-Math.pow(e - 0.5, 2) / (2 * 0.5)), qo = {
436
463
  SINE_EASE_IN: kt,
437
- SINE_EASE_OUT: qt,
438
- SINE_EASE_IN_OUT: Vt,
464
+ SINE_EASE_OUT: Vt,
465
+ SINE_EASE_IN_OUT: qt,
439
466
  QUADRATIC_EASE_IN: Yt,
440
467
  QUADRATIC_EASE_OUT: Ht,
441
468
  QUADRATIC_EASE_IN_OUT: Xt,
@@ -462,24 +489,24 @@ const et = {
462
489
  SQUARE_ROOT: fe,
463
490
  INVERSE: pe,
464
491
  GAUSSIAN: de
465
- }, Me = (e, t, o, n, r) => {
466
- const s = Math.max(0, Math.min(1, e)), a = 1 - s;
467
- return a * a * a * t + 3 * a * a * s * o + 3 * a * s * s * n + s * s * s * r;
492
+ }, Me = (e, t, o, n, s) => {
493
+ const r = Math.max(0, Math.min(1, e)), a = 1 - r;
494
+ return a * a * a * t + 3 * a * a * r * o + 3 * a * r * r * n + r * r * r * s;
468
495
  }, ye = (e, t = 1) => {
469
496
  const o = Math.max(1e-3, t);
470
497
  return (1 - Math.exp(-o * e)) / (1 - Math.exp(-o));
471
498
  }, we = (e, t = 1, o = 1) => {
472
499
  const n = Math.max(0, Math.min(1, e));
473
500
  return t * Math.pow(n, o);
474
- }, ve = (e, t = 1, o = 1) => {
501
+ }, xe = (e, t = 1, o = 1) => {
475
502
  const n = Math.max(1e-3, Math.min(1, e));
476
503
  return t * Math.log(o * n + 1);
477
- }, xe = (e, t = 1, o = 0, n = 0) => {
478
- const r = Math.max(0, Math.min(1, e));
479
- return t * r * r + o * r + n;
504
+ }, ve = (e, t = 1, o = 0, n = 0) => {
505
+ const s = Math.max(0, Math.min(1, e));
506
+ return t * s * s + o * s + n;
480
507
  }, ge = (e, t, o, n) => {
481
- const r = Math.max(0, Math.min(1, e)), s = 1 - r;
482
- return s * s * t + 2 * s * r * o + r * r * n;
508
+ const s = Math.max(0, Math.min(1, e)), r = 1 - s;
509
+ return r * r * t + 2 * r * s * o + s * s * n;
483
510
  }, Ie = (e, t = 10) => {
484
511
  const o = Math.max(0, Math.min(1, e));
485
512
  return 1 / (1 + Math.exp(-t * (o - 0.5)));
@@ -487,22 +514,22 @@ const et = {
487
514
  CUBIC: Me,
488
515
  DAMPED: ye,
489
516
  EXPONENTIAL: we,
490
- LOGARITHMIC: ve,
491
- PARABOLIC: xe,
517
+ LOGARITHMIC: xe,
518
+ PARABOLIC: ve,
492
519
  QUADRATIC: ge,
493
520
  SIGMOID: Ie,
494
521
  SINUSOIDAL: Ae
495
522
  };
496
- class ko extends ct {
523
+ class Yo extends lt {
497
524
  constructor(o = {}) {
498
525
  const {
499
526
  count: n = 20,
500
- width: r = 1.5,
501
- height: s = 3,
527
+ width: s = 1.5,
528
+ height: r = 3,
502
529
  depth: a = 1.5,
503
- geometry: i = new _(0.1, 6, 6),
530
+ geometry: i = new U(0.1, 6, 6),
504
531
  // Small spheres
505
- material: c = new M({
532
+ material: c = new y({
506
533
  color: 16777215,
507
534
  transparent: !0,
508
535
  opacity: 0.6,
@@ -516,11 +543,11 @@ class ko extends ct {
516
543
  A(this, "width");
517
544
  A(this, "height");
518
545
  A(this, "depth");
519
- this.height = s, this.width = r, this.depth = a;
546
+ this.height = r, this.width = s, this.depth = a;
520
547
  for (let l = 0; l < this.count; l++) {
521
548
  const u = new x(
522
- (Math.random() - 0.5) * r,
523
- Math.random() * (s - 1) + 0.5,
549
+ (Math.random() - 0.5) * s,
550
+ Math.random() * (r - 1) + 0.5,
524
551
  (Math.random() - 0.5) * a
525
552
  );
526
553
  this.bubblePositions.push(u), this.velocities.push(0.01 + Math.random() * 0.02), this.updateInstanceMatrix(l);
@@ -530,8 +557,8 @@ class ko extends ct {
530
557
  * Updates the position of a specific bubble instance in the InstancedMesh.
531
558
  */
532
559
  updateInstanceMatrix(o) {
533
- const n = this.bubblePositions[o], r = new H().setPosition(n);
534
- this.setMatrixAt(o, r), this.instanceMatrix.needsUpdate = !0;
560
+ const n = this.bubblePositions[o], s = new H().setPosition(n);
561
+ this.setMatrixAt(o, s), this.instanceMatrix.needsUpdate = !0;
535
562
  }
536
563
  /**
537
564
  * Updates bubble positions, moving them upward and resetting them
@@ -547,7 +574,7 @@ class ko extends ct {
547
574
  class Ee extends E {
548
575
  constructor(t = 0.1) {
549
576
  super();
550
- const o = [], n = [], r = [
577
+ const o = [], n = [], s = [
551
578
  [0, 1],
552
579
  // Top point
553
580
  [0.5, 0.75],
@@ -565,31 +592,31 @@ class Ee extends E {
565
592
  [-0.5, 0.75]
566
593
  // Left upper middle
567
594
  ];
568
- for (let a = 0; a < r.length; a++) {
569
- const [i, c] = r[a];
595
+ for (let a = 0; a < s.length; a++) {
596
+ const [i, c] = s[a];
570
597
  o.push(i * t, c * t, 0);
571
598
  }
572
- for (let a = 1; a < r.length - 1; a++)
599
+ for (let a = 1; a < s.length - 1; a++)
573
600
  n.push(0, a, a + 1);
574
- n.push(0, r.length - 1, 1);
575
- const s = new q(o, 3);
576
- this.setAttribute("position", s), this.setIndex(n), this.computeVertexNormals();
601
+ n.push(0, s.length - 1, 1);
602
+ const r = new O(o, 3);
603
+ this.setAttribute("position", r), this.setIndex(n), this.computeVertexNormals();
577
604
  }
578
605
  }
579
- class qo extends ct {
606
+ class Ho extends lt {
580
607
  constructor(o = {}) {
581
608
  const {
582
609
  count: n = 200,
583
- width: r = 20,
584
- height: s = 10,
610
+ width: s = 20,
611
+ height: r = 10,
585
612
  depth: a = 20,
586
613
  geometry: i = new Ee(),
587
- material: c = new M({
614
+ material: c = new y({
588
615
  color: 8956467,
589
616
  metalness: 0.1,
590
617
  roughness: 0.8,
591
618
  flatShading: !0,
592
- side: k
619
+ side: V
593
620
  })
594
621
  } = o;
595
622
  super(i, c, n);
@@ -598,12 +625,12 @@ class qo extends ct {
598
625
  A(this, "width");
599
626
  A(this, "height");
600
627
  A(this, "depth");
601
- this.dummyMatrix = new H(), this.velocities = [], this.width = r, this.height = s, this.depth = a;
628
+ this.dummyMatrix = new H(), this.velocities = [], this.width = s, this.height = r, this.depth = a;
602
629
  for (let l = 0; l < n; l++) {
603
- const u = (Math.random() - 0.5) * r, m = Math.random() * (s - 1) + 0.5, h = (Math.random() - 0.5) * a, f = (Math.random() - 0.5) * Math.PI, p = (Math.random() - 0.5) * Math.PI, d = (Math.random() - 0.5) * Math.PI;
630
+ const u = (Math.random() - 0.5) * s, m = Math.random() * (r - 1) + 0.5, h = (Math.random() - 0.5) * a, f = (Math.random() - 0.5) * Math.PI, p = (Math.random() - 0.5) * Math.PI, d = (Math.random() - 0.5) * Math.PI;
604
631
  this.dummyMatrix.makeRotationFromEuler(new Tt(f, p, d)), this.dummyMatrix.setPosition(u, m, h), this.setMatrixAt(l, this.dummyMatrix);
605
- const w = new x((Math.random() - 0.5) * 0.01, -5e-3, (Math.random() - 0.5) * 0.01);
606
- this.velocities.push(w);
632
+ const M = new x((Math.random() - 0.5) * 0.01, -5e-3, (Math.random() - 0.5) * 0.01);
633
+ this.velocities.push(M);
607
634
  }
608
635
  this.instanceMatrix.needsUpdate = !0;
609
636
  }
@@ -611,20 +638,20 @@ class qo extends ct {
611
638
  for (let o = 0; o < this.count; o++) {
612
639
  const n = new H();
613
640
  this.getMatrixAt(o, n);
614
- const r = new x();
615
- r.setFromMatrixPosition(n);
616
- const s = this.velocities[o];
617
- r.add(s), r.y < 0 && (r.set(
641
+ const s = new x();
642
+ s.setFromMatrixPosition(n);
643
+ const r = this.velocities[o];
644
+ s.add(r), s.y < 0 && (s.set(
618
645
  (Math.random() - 0.5) * this.width,
619
646
  Math.random() * (this.height - 1) + 0.5,
620
647
  (Math.random() - 0.5) * this.depth
621
- ), s.set((Math.random() - 0.5) * 0.01, -5e-3, (Math.random() - 0.5) * 0.01)), n.setPosition(r), this.setMatrixAt(o, n);
648
+ ), r.set((Math.random() - 0.5) * 0.01, -5e-3, (Math.random() - 0.5) * 0.01)), n.setPosition(s), this.setMatrixAt(o, n);
622
649
  }
623
650
  this.instanceMatrix.needsUpdate = !0;
624
651
  }
625
652
  }
626
653
  const S = (e, t) => {
627
- const o = e[0].index !== null, n = new Set(Object.keys(e[0].attributes)), r = new Set(Object.keys(e[0].morphAttributes)), s = {}, a = {}, i = e[0].morphTargetsRelative, c = new E();
654
+ const o = e[0].index !== null, n = new Set(Object.keys(e[0].attributes)), s = new Set(Object.keys(e[0].morphAttributes)), r = {}, a = {}, i = e[0].morphTargetsRelative, c = new E();
628
655
  let l = 0;
629
656
  if (e.forEach((u, m) => {
630
657
  let h = 0;
@@ -637,7 +664,7 @@ const S = (e, t) => {
637
664
  return console.error(
638
665
  "THREE.BufferGeometryUtils: .mergeBufferGeometries() failed with geometry at index " + m + '. All geometries must have compatible attributes; make sure "' + f + '" attribute exists among all geometries, or in none of them.'
639
666
  ), null;
640
- s[f] === void 0 && (s[f] = []), s[f].push(u.attributes[f]), h++;
667
+ r[f] === void 0 && (r[f] = []), r[f].push(u.attributes[f]), h++;
641
668
  }
642
669
  if (h !== n.size)
643
670
  return console.error(
@@ -648,7 +675,7 @@ const S = (e, t) => {
648
675
  "THREE.BufferGeometryUtils: .mergeBufferGeometries() failed with geometry at index " + m + ". .morphTargetsRelative must be consistent throughout all geometries."
649
676
  ), null;
650
677
  for (let f in u.morphAttributes) {
651
- if (!r.has(f))
678
+ if (!s.has(f))
652
679
  return console.error(
653
680
  "THREE.BufferGeometryUtils: .mergeBufferGeometries() failed with geometry at index " + m + ". .morphAttributes must be consistent throughout all geometries."
654
681
  ), null;
@@ -676,8 +703,8 @@ const S = (e, t) => {
676
703
  u += h.attributes.position.count;
677
704
  }), c.setIndex(m);
678
705
  }
679
- for (let u in s) {
680
- const m = ft(s[u]);
706
+ for (let u in r) {
707
+ const m = pt(r[u]);
681
708
  if (!m)
682
709
  return console.error(
683
710
  "THREE.BufferGeometryUtils: .mergeBufferGeometries() failed while trying to merge the " + u + " attribute."
@@ -693,7 +720,7 @@ const S = (e, t) => {
693
720
  const f = [];
694
721
  for (let d = 0; d < a[u].length; ++d)
695
722
  f.push(a[u][d][h]);
696
- const p = ft(f);
723
+ const p = pt(f);
697
724
  if (!p)
698
725
  return console.error(
699
726
  "THREE.BufferGeometryUtils: .mergeBufferGeometries() failed while trying to merge the " + u + " morphAttribute."
@@ -702,80 +729,103 @@ const S = (e, t) => {
702
729
  }
703
730
  }
704
731
  return c;
705
- }, ft = (e) => {
706
- let t, o, n, r = 0;
707
- if (e.forEach((s) => {
708
- if (t === void 0 && (t = s.array.constructor), t !== s.array.constructor)
732
+ }, pt = (e) => {
733
+ let t, o, n, s = 0;
734
+ if (e.forEach((r) => {
735
+ if (t === void 0 && (t = r.array.constructor), t !== r.array.constructor)
709
736
  return console.error(
710
737
  "THREE.BufferGeometryUtils: .mergeBufferAttributes() failed. BufferAttribute.array must be of consistent array types across matching attributes."
711
738
  ), null;
712
- if (o === void 0 && (o = s.itemSize), o !== s.itemSize)
739
+ if (o === void 0 && (o = r.itemSize), o !== r.itemSize)
713
740
  return console.error(
714
741
  "THREE.BufferGeometryUtils: .mergeBufferAttributes() failed. BufferAttribute.itemSize must be consistent across matching attributes."
715
742
  ), null;
716
- if (n === void 0 && (n = s.normalized), n !== s.normalized)
743
+ if (n === void 0 && (n = r.normalized), n !== r.normalized)
717
744
  return console.error(
718
745
  "THREE.BufferGeometryUtils: .mergeBufferAttributes() failed. BufferAttribute.normalized must be consistent across matching attributes."
719
746
  ), null;
720
- r += s.array.length;
747
+ s += r.array.length;
721
748
  }), t && o) {
722
- const s = new t(r);
749
+ const r = new t(s);
723
750
  let a = 0;
724
751
  return e.forEach((i) => {
725
- s.set(i.array, a), a += i.array.length;
726
- }), new z(s, o, n);
752
+ r.set(i.array, a), a += i.array.length;
753
+ }), new D(r, o, n);
727
754
  }
728
755
  };
729
756
  function be(e, t = 1e-4) {
730
757
  t = Math.max(t, Number.EPSILON);
731
- const o = {}, n = e.getIndex(), r = e.getAttribute("position"), s = n ? n.count : r.count;
758
+ const o = {}, n = e.getIndex(), s = e.getAttribute("position"), r = n ? n.count : s.count;
732
759
  let a = 0;
733
760
  const i = Object.keys(e.attributes), c = {}, l = {}, u = [], m = ["getX", "getY", "getZ", "getW"];
734
- for (let d = 0, w = i.length; d < w; d++) {
761
+ for (let d = 0, M = i.length; d < M; d++) {
735
762
  const g = i[d];
736
763
  c[g] = [];
737
- const I = e.morphAttributes[g];
738
- I && (l[g] = new Array(I.length).fill(0).map(() => []));
764
+ const v = e.morphAttributes[g];
765
+ v && (l[g] = new Array(v.length).fill(0).map(() => []));
739
766
  }
740
767
  const h = Math.log10(1 / t), f = Math.pow(10, h);
741
- for (let d = 0; d < s; d++) {
742
- const w = n ? n.getX(d) : d;
768
+ for (let d = 0; d < r; d++) {
769
+ const M = n ? n.getX(d) : d;
743
770
  let g = "";
744
- for (let I = 0, R = i.length; I < R; I++) {
745
- const B = i[I], T = e.getAttribute(B), G = T.itemSize;
746
- for (let N = 0; N < G; N++)
747
- g += `${~~(T[m[N]](w) * f)},`;
771
+ for (let v = 0, R = i.length; v < R; v++) {
772
+ const T = i[v], G = e.getAttribute(T), C = G.itemSize;
773
+ for (let N = 0; N < C; N++)
774
+ g += `${~~(G[m[N]](M) * f)},`;
748
775
  }
749
776
  if (g in o)
750
777
  u.push(o[g]);
751
778
  else {
752
- for (let I = 0, R = i.length; I < R; I++) {
753
- const B = i[I], T = e.getAttribute(B), G = e.morphAttributes[B], N = T.itemSize, U = c[B], ot = l[B];
754
- for (let V = 0; V < N; V++) {
755
- const Y = m[V];
756
- if (U.push(T[Y](w)), G)
757
- for (let C = 0, Et = G.length; C < Et; C++)
758
- ot[C].push(G[C][Y](w));
779
+ for (let v = 0, R = i.length; v < R; v++) {
780
+ const T = i[v], G = e.getAttribute(T), C = e.morphAttributes[T], N = G.itemSize, _ = c[T], nt = l[T];
781
+ for (let q = 0; q < N; q++) {
782
+ const Y = m[q];
783
+ if (_.push(G[Y](M)), C)
784
+ for (let B = 0, Et = C.length; B < Et; B++)
785
+ nt[B].push(C[B][Y](M));
759
786
  }
760
787
  }
761
788
  o[g] = a, u.push(a), a++;
762
789
  }
763
790
  }
764
791
  const p = e.clone();
765
- for (let d = 0, w = i.length; d < w; d++) {
766
- const g = i[d], I = e.getAttribute(g), R = new I.array.constructor(c[g]), B = new z(R, I.itemSize, I.normalized);
767
- if (p.setAttribute(g, B), g in l)
768
- for (let T = 0; T < l[g].length; T++) {
769
- const G = e.morphAttributes[g][T], N = new G.array.constructor(l[g][T]), U = new z(N, G.itemSize, G.normalized);
770
- p.morphAttributes[g][T] = U;
792
+ for (let d = 0, M = i.length; d < M; d++) {
793
+ const g = i[d], v = e.getAttribute(g), R = new v.array.constructor(c[g]), T = new D(R, v.itemSize, v.normalized);
794
+ if (p.setAttribute(g, T), g in l)
795
+ for (let G = 0; G < l[g].length; G++) {
796
+ const C = e.morphAttributes[g][G], N = new C.array.constructor(l[g][G]), _ = new D(N, C.itemSize, C.normalized);
797
+ p.morphAttributes[g][G] = _;
771
798
  }
772
799
  }
773
800
  return p.setIndex(u), p;
774
801
  }
775
- class wt extends E {
776
- constructor(t = 1, o = 1.5, n = 0.5, r = 0.05, s = 0.05) {
802
+ class Se extends E {
803
+ constructor(t = (s, r, a) => a.set(s, r, Math.cos(s) * Math.sin(r)), o = 8, n = 8) {
804
+ super(), this.type = "ParametricGeometry", this.parameters = {
805
+ func: t,
806
+ slices: o,
807
+ stacks: n
808
+ };
809
+ const s = [], r = [], a = [], i = [], c = 1e-5, l = new x(), u = new x(), m = new x(), h = new x(), f = new x(), p = o + 1;
810
+ for (let d = 0; d <= n; d++) {
811
+ const M = d / n;
812
+ for (let g = 0; g <= o; g++) {
813
+ const v = g / o;
814
+ t(v, M, u), r.push(u.x, u.y, u.z), v - c >= 0 ? (t(v - c, M, m), h.subVectors(u, m)) : (t(v + c, M, m), h.subVectors(m, u)), M - c >= 0 ? (t(v, M - c, m), f.subVectors(u, m)) : (t(v, M + c, m), f.subVectors(m, u)), l.crossVectors(h, f).normalize(), a.push(l.x, l.y, l.z), i.push(v, M);
815
+ }
816
+ }
817
+ for (let d = 0; d < n; d++)
818
+ for (let M = 0; M < o; M++) {
819
+ const g = d * p + M, v = d * p + M + 1, R = (d + 1) * p + M + 1, T = (d + 1) * p + M;
820
+ s.push(g, v, T), s.push(v, R, T);
821
+ }
822
+ this.setIndex(s), this.setAttribute("position", new O(r, 3)), this.setAttribute("normal", new O(a, 3)), this.setAttribute("uv", new O(i, 2));
823
+ }
824
+ }
825
+ class yt extends E {
826
+ constructor(t = 1, o = 1.5, n = 0.5, s = 0.05, r = 0.05) {
777
827
  super();
778
- const a = t, i = o, c = n, l = r, u = s, m = [
828
+ const a = t, i = o, c = n, l = s, u = r, m = [
779
829
  // Front cover
780
830
  0,
781
831
  0,
@@ -1268,7 +1318,7 @@ class wt extends E {
1268
1318
  0,
1269
1319
  1
1270
1320
  // Back cover edge
1271
- ], w = [
1321
+ ], M = [
1272
1322
  0,
1273
1323
  1,
1274
1324
  2,
@@ -1367,24 +1417,24 @@ class wt extends E {
1367
1417
  54,
1368
1418
  55
1369
1419
  // Back cover edge
1370
- ], g = new Float32Array(m), I = new Float32Array(h), R = new Float32Array(d), B = new Uint16Array(w), T = new E();
1371
- T.setAttribute("position", new z(g, 3)), T.setAttribute("normal", new z(I, 3)), T.setAttribute("uv", new z(R, 2)), T.setIndex(new z(B, 1));
1372
- const G = new b(t - l - u, i - u * 2, c - l * 2);
1373
- G.translate((t - l - u) / 2 + l, i / 2, -c / 2), this.copy(S([T, G], !0));
1420
+ ], g = new Float32Array(m), v = new Float32Array(h), R = new Float32Array(d), T = new Uint16Array(M), G = new E();
1421
+ G.setAttribute("position", new D(g, 3)), G.setAttribute("normal", new D(v, 3)), G.setAttribute("uv", new D(R, 2)), G.setIndex(new D(T, 1));
1422
+ const C = new b(t - l - u, i - u * 2, c - l * 2);
1423
+ C.translate((t - l - u) / 2 + l, i / 2, -c / 2), this.copy(S([G, C], !0));
1374
1424
  }
1375
1425
  }
1376
- function vt({
1426
+ function wt({
1377
1427
  scaleXMin: e = 0.4,
1378
1428
  scaleXMax: t = 0.7,
1379
1429
  scaleYMin: o = 0.3,
1380
1430
  scaleYMax: n = 0.95,
1381
- scaleZMin: r = 0.1,
1382
- scaleZMax: s = 0.5
1431
+ scaleZMin: s = 0.1,
1432
+ scaleZMax: r = 0.5
1383
1433
  } = {}) {
1384
1434
  return new x(
1385
- yt(e, t),
1435
+ mt(e, t),
1386
1436
  Ft(0.25, o, n),
1387
- zt(0.8, r, s)
1437
+ Lt(0.8, s, r)
1388
1438
  );
1389
1439
  }
1390
1440
  function xt({
@@ -1392,38 +1442,38 @@ function xt({
1392
1442
  pagesMaterial: t,
1393
1443
  scales: o
1394
1444
  }) {
1395
- const n = new wt(), r = new ct(n, [e, t], o.length), s = new H();
1445
+ const n = new yt(), s = new lt(n, [e, t], o.length), r = new H();
1396
1446
  let a = 0;
1397
1447
  for (let i = 0; i < o.length; i++) {
1398
1448
  const c = o[i], l = new H();
1399
- l.makeScale(c.x, c.y, c.z), s.identity(), s.multiply(l), s.setPosition(0.01 + Math.random() * 0.1, 0, a + c.z * 0.5), r.setMatrixAt(i, s), a += c.z * 0.5;
1449
+ l.makeScale(c.x, c.y, c.z), r.identity(), r.multiply(l), r.setPosition(0.01 + Math.random() * 0.1, 0, a + c.z * 0.5), s.setMatrixAt(i, r), a += c.z * 0.5;
1400
1450
  }
1401
- return r;
1451
+ return s;
1402
1452
  }
1403
- function Vo({
1453
+ function Xo({
1404
1454
  coverMaterial: e,
1405
1455
  pagesMaterial: t,
1406
1456
  count: o = 10,
1407
1457
  scaleXMin: n = 0.4,
1408
- scaleXMax: r = 0.7,
1409
- scaleYMin: s = 0.3,
1458
+ scaleXMax: s = 0.7,
1459
+ scaleYMin: r = 0.3,
1410
1460
  scaleYMax: a = 0.95,
1411
1461
  scaleZMin: i = 0.1,
1412
1462
  scaleZMax: c = 0.5
1413
1463
  }) {
1414
1464
  const l = Array.from(
1415
1465
  { length: o },
1416
- () => vt({ scaleXMin: n, scaleXMax: r, scaleYMin: s, scaleYMax: a, scaleZMin: i, scaleZMax: c })
1466
+ () => wt({ scaleXMin: n, scaleXMax: s, scaleYMin: r, scaleYMax: a, scaleZMin: i, scaleZMax: c })
1417
1467
  );
1418
1468
  return xt({ coverMaterial: e, pagesMaterial: t, scales: l });
1419
1469
  }
1420
- function Yo({
1470
+ function Zo({
1421
1471
  coverMaterial: e,
1422
1472
  pagesMaterial: t,
1423
1473
  length: o = 10,
1424
1474
  scaleXMin: n = 0.4,
1425
- scaleXMax: r = 0.7,
1426
- scaleYMin: s = 0.3,
1475
+ scaleXMax: s = 0.7,
1476
+ scaleYMin: r = 0.3,
1427
1477
  scaleYMax: a = 0.95,
1428
1478
  scaleZMin: i = 0.1,
1429
1479
  scaleZMax: c = 0.5
@@ -1431,43 +1481,43 @@ function Yo({
1431
1481
  const l = [];
1432
1482
  let u = o;
1433
1483
  for (; u > 0; ) {
1434
- const m = vt({ scaleXMin: n, scaleXMax: r, scaleYMin: s, scaleYMax: a, scaleZMin: i, scaleZMax: c });
1484
+ const m = wt({ scaleXMin: n, scaleXMax: s, scaleYMin: r, scaleYMax: a, scaleZMin: i, scaleZMax: c });
1435
1485
  m.z = Math.min(m.z, u), l.push(m), u -= m.z;
1436
1486
  }
1437
1487
  return xt({ coverMaterial: e, pagesMaterial: t, scales: l });
1438
1488
  }
1439
- class Ho extends E {
1440
- constructor(t = 2, o = 0.3, n = 0.6, r = 5, s = 5, a = Math.PI / 4) {
1489
+ class jo extends E {
1490
+ constructor(t = 2, o = 0.3, n = 0.6, s = 5, r = 5, a = Math.PI / 4) {
1441
1491
  super();
1442
1492
  const i = [], c = [];
1443
- for (let f = 0; f < r; f++) {
1444
- const p = f * o, d = p + o, w = f * n, g = w + n;
1493
+ for (let f = 0; f < s; f++) {
1494
+ const p = f * o, d = p + o, M = f * n, g = M + n;
1445
1495
  i.push(
1446
1496
  // Vertical riser
1447
1497
  -t / 2,
1448
1498
  p,
1449
- w,
1499
+ M,
1450
1500
  // Bottom-left
1451
1501
  t / 2,
1452
1502
  p,
1453
- w,
1503
+ M,
1454
1504
  // Bottom-right
1455
1505
  t / 2,
1456
1506
  d,
1457
- w,
1507
+ M,
1458
1508
  // Top-right
1459
1509
  -t / 2,
1460
1510
  d,
1461
- w,
1511
+ M,
1462
1512
  // Top-left
1463
1513
  // Horizontal tread
1464
1514
  -t / 2,
1465
1515
  d,
1466
- w,
1516
+ M,
1467
1517
  // Top-left
1468
1518
  t / 2,
1469
1519
  d,
1470
- w,
1520
+ M,
1471
1521
  // Top-right
1472
1522
  t / 2,
1473
1523
  d,
@@ -1478,24 +1528,24 @@ class Ho extends E {
1478
1528
  g
1479
1529
  // Back-left
1480
1530
  );
1481
- const I = f * 8;
1531
+ const v = f * 8;
1482
1532
  c.push(
1483
- I,
1484
- I + 1,
1485
- I + 2,
1486
- I,
1487
- I + 2,
1488
- I + 3
1533
+ v,
1534
+ v + 1,
1535
+ v + 2,
1536
+ v,
1537
+ v + 2,
1538
+ v + 3
1489
1539
  ), c.push(
1490
- I + 4,
1491
- I + 5,
1492
- I + 6,
1493
- I + 4,
1494
- I + 6,
1495
- I + 7
1540
+ v + 4,
1541
+ v + 5,
1542
+ v + 6,
1543
+ v + 4,
1544
+ v + 6,
1545
+ v + 7
1496
1546
  );
1497
1547
  }
1498
- const l = r * o, u = r * n, m = t * 2;
1548
+ const l = s * o, u = s * n, m = t * 2;
1499
1549
  i.push(
1500
1550
  // Landing platform (4 vertices)
1501
1551
  -m / 2,
@@ -1515,7 +1565,7 @@ class Ho extends E {
1515
1565
  u + n
1516
1566
  // Top-left
1517
1567
  );
1518
- const h = r * 8;
1568
+ const h = s * 8;
1519
1569
  c.push(
1520
1570
  h,
1521
1571
  h + 1,
@@ -1528,69 +1578,69 @@ class Ho extends E {
1528
1578
  );
1529
1579
  for (let f = 0; f < 2; f++) {
1530
1580
  const p = f === 0 ? 1 : -1;
1531
- for (let d = 0; d < s; d++) {
1532
- const w = l + d * o, g = w + o, I = p * (m / 4), R = u + n, B = d * n * Math.cos(a), T = d * n * Math.sin(a), G = I + p * B - t / 2 * Math.cos(a), N = I + p * B + t / 2 * Math.cos(a), U = R + T, ot = G + p * n * Math.cos(a), V = N + p * n * Math.cos(a), Y = U + n * Math.sin(a);
1581
+ for (let d = 0; d < r; d++) {
1582
+ const M = l + d * o, g = M + o, v = p * (m / 4), R = u + n, T = d * n * Math.cos(a), G = d * n * Math.sin(a), C = v + p * T - t / 2 * Math.cos(a), N = v + p * T + t / 2 * Math.cos(a), _ = R + G, nt = C + p * n * Math.cos(a), q = N + p * n * Math.cos(a), Y = _ + n * Math.sin(a);
1533
1583
  i.push(
1534
1584
  // Vertical riser
1535
- G,
1536
- w,
1537
- U,
1585
+ C,
1586
+ M,
1587
+ _,
1538
1588
  // Bottom-left
1539
1589
  N,
1540
- w,
1541
- U,
1590
+ M,
1591
+ _,
1542
1592
  // Bottom-right
1543
1593
  N,
1544
1594
  g,
1545
- U,
1595
+ _,
1546
1596
  // Top-right
1547
- G,
1597
+ C,
1548
1598
  g,
1549
- U,
1599
+ _,
1550
1600
  // Top-left
1551
1601
  // Horizontal tread
1552
- G,
1602
+ C,
1553
1603
  g,
1554
- U,
1604
+ _,
1555
1605
  // Top-left
1556
1606
  N,
1557
1607
  g,
1558
- U,
1608
+ _,
1559
1609
  // Top-right
1560
- V,
1610
+ q,
1561
1611
  g,
1562
1612
  Y,
1563
1613
  // Back-right
1564
- ot,
1614
+ nt,
1565
1615
  g,
1566
1616
  Y
1567
1617
  // Back-left
1568
1618
  );
1569
- const C = h + 4 + f * s * 8 + d * 8;
1619
+ const B = h + 4 + f * r * 8 + d * 8;
1570
1620
  c.push(
1571
- C,
1572
- C + 1,
1573
- C + 2,
1574
- C,
1575
- C + 2,
1576
- C + 3
1621
+ B,
1622
+ B + 1,
1623
+ B + 2,
1624
+ B,
1625
+ B + 2,
1626
+ B + 3
1577
1627
  ), c.push(
1578
- C + 4,
1579
- C + 5,
1580
- C + 6,
1581
- C + 4,
1582
- C + 6,
1583
- C + 7
1628
+ B + 4,
1629
+ B + 5,
1630
+ B + 6,
1631
+ B + 4,
1632
+ B + 6,
1633
+ B + 7
1584
1634
  );
1585
1635
  }
1586
1636
  }
1587
- this.setIndex(c), this.setAttribute("position", new q(i, 3)), this.computeVertexNormals();
1637
+ this.setIndex(c), this.setAttribute("position", new O(i, 3)), this.computeVertexNormals();
1588
1638
  }
1589
1639
  }
1590
- class Xo extends E {
1591
- constructor(t = 5, o = 3, n = 5, r = 0.2) {
1640
+ class Qo extends E {
1641
+ constructor(t = 5, o = 3, n = 5, s = 0.2) {
1592
1642
  super();
1593
- const s = [
1643
+ const r = [
1594
1644
  // Floor vertices
1595
1645
  -t / 2,
1596
1646
  0,
@@ -1665,14 +1715,14 @@ class Xo extends E {
1665
1715
  10,
1666
1716
  11
1667
1717
  ];
1668
- this.setIndex(a), this.setAttribute("position", new q(s, 3)), this.computeVertexNormals();
1718
+ this.setIndex(a), this.setAttribute("position", new O(r, 3)), this.computeVertexNormals();
1669
1719
  }
1670
1720
  }
1671
- class Zo extends E {
1672
- constructor(t = 2, o = 0.3, n = 0.5, r = 5, s = 2) {
1721
+ class Ko extends E {
1722
+ constructor(t = 2, o = 0.3, n = 0.5, s = 5, r = 2) {
1673
1723
  super();
1674
1724
  const a = [], i = [];
1675
- for (let m = 0; m < r; m++) {
1725
+ for (let m = 0; m < s; m++) {
1676
1726
  const h = m * o, f = h + o, p = m * n, d = p + n;
1677
1727
  a.push(
1678
1728
  // Vertical riser
@@ -1710,24 +1760,24 @@ class Zo extends E {
1710
1760
  d
1711
1761
  // Back-left
1712
1762
  );
1713
- const w = m * 8;
1763
+ const M = m * 8;
1714
1764
  i.push(
1715
- w,
1716
- w + 1,
1717
- w + 2,
1718
- w,
1719
- w + 2,
1720
- w + 3
1765
+ M,
1766
+ M + 1,
1767
+ M + 2,
1768
+ M,
1769
+ M + 2,
1770
+ M + 3
1721
1771
  ), i.push(
1722
- w + 4,
1723
- w + 5,
1724
- w + 6,
1725
- w + 4,
1726
- w + 6,
1727
- w + 7
1772
+ M + 4,
1773
+ M + 5,
1774
+ M + 6,
1775
+ M + 4,
1776
+ M + 6,
1777
+ M + 7
1728
1778
  );
1729
1779
  }
1730
- const c = r * o, l = r * n;
1780
+ const c = s * o, l = s * n;
1731
1781
  a.push(
1732
1782
  // Landing platform (4 vertices)
1733
1783
  -t / 2,
@@ -1740,14 +1790,14 @@ class Zo extends E {
1740
1790
  // Bottom-right
1741
1791
  t / 2,
1742
1792
  c,
1743
- l + s,
1793
+ l + r,
1744
1794
  // Top-right
1745
1795
  -t / 2,
1746
1796
  c,
1747
- l + s
1797
+ l + r
1748
1798
  // Top-left
1749
1799
  );
1750
- const u = r * 8;
1800
+ const u = s * 8;
1751
1801
  i.push(
1752
1802
  u,
1753
1803
  u + 1,
@@ -1758,71 +1808,71 @@ class Zo extends E {
1758
1808
  u + 3
1759
1809
  // Second triangle for landing
1760
1810
  );
1761
- for (let m = 0; m < r; m++) {
1811
+ for (let m = 0; m < s; m++) {
1762
1812
  const h = c + m * o, f = h + o, p = -t / 2 - m * n, d = p - n;
1763
1813
  a.push(
1764
1814
  // Vertical riser
1765
1815
  p,
1766
1816
  h,
1767
- l + s,
1817
+ l + r,
1768
1818
  // Bottom-left
1769
1819
  p,
1770
1820
  h,
1771
- l + s - t,
1821
+ l + r - t,
1772
1822
  // Bottom-right
1773
1823
  p,
1774
1824
  f,
1775
- l + s - t,
1825
+ l + r - t,
1776
1826
  // Top-right
1777
1827
  p,
1778
1828
  f,
1779
- l + s,
1829
+ l + r,
1780
1830
  // Top-left
1781
1831
  // Horizontal tread
1782
1832
  p,
1783
1833
  f,
1784
- l + s,
1834
+ l + r,
1785
1835
  // Top-left
1786
1836
  p,
1787
1837
  f,
1788
- l + s - t,
1838
+ l + r - t,
1789
1839
  // Top-right
1790
1840
  d,
1791
1841
  f,
1792
- l + s - t,
1842
+ l + r - t,
1793
1843
  // Back-right
1794
1844
  d,
1795
1845
  f,
1796
- l + s
1846
+ l + r
1797
1847
  // Back-left
1798
1848
  );
1799
- const w = u + 4 + m * 8;
1849
+ const M = u + 4 + m * 8;
1800
1850
  i.push(
1801
- w,
1802
- w + 1,
1803
- w + 2,
1804
- w,
1805
- w + 2,
1806
- w + 3
1851
+ M,
1852
+ M + 1,
1853
+ M + 2,
1854
+ M,
1855
+ M + 2,
1856
+ M + 3
1807
1857
  ), i.push(
1808
- w + 4,
1809
- w + 5,
1810
- w + 6,
1811
- w + 4,
1812
- w + 6,
1813
- w + 7
1858
+ M + 4,
1859
+ M + 5,
1860
+ M + 6,
1861
+ M + 4,
1862
+ M + 6,
1863
+ M + 7
1814
1864
  );
1815
1865
  }
1816
- this.setIndex(i), this.setAttribute("position", new q(a, 3)), this.computeVertexNormals();
1866
+ this.setIndex(i), this.setAttribute("position", new O(a, 3)), this.computeVertexNormals();
1817
1867
  }
1818
1868
  }
1819
- class jo extends E {
1820
- constructor(t = 1, o = 0.4, n = 0.2, r = 20, s = 2, a = Math.PI / 8) {
1869
+ class Jo extends E {
1870
+ constructor(t = 1, o = 0.4, n = 0.2, s = 20, r = 2, a = Math.PI / 8) {
1821
1871
  super();
1822
1872
  const i = [], c = [];
1823
1873
  let l = 0;
1824
- for (let u = 0; u < r; u++) {
1825
- const m = s * Math.cos(l), h = s * Math.sin(l), f = u * n, p = f + n;
1874
+ for (let u = 0; u < s; u++) {
1875
+ const m = r * Math.cos(l), h = r * Math.sin(l), f = u * n, p = f + n;
1826
1876
  i.push(
1827
1877
  // Front face (vertical riser)
1828
1878
  m - t / 2 * Math.cos(l),
@@ -1881,16 +1931,16 @@ class jo extends E {
1881
1931
  // Second triangle for tread
1882
1932
  ), l += a;
1883
1933
  }
1884
- this.setIndex(c), this.setAttribute("position", new q(i, 3)), this.computeVertexNormals();
1934
+ this.setIndex(c), this.setAttribute("position", new O(i, 3)), this.computeVertexNormals();
1885
1935
  }
1886
1936
  }
1887
- class Qo extends E {
1888
- constructor(t = 2, o = 0.3, n = 0.5, r = 10) {
1937
+ class $o extends E {
1938
+ constructor(t = 2, o = 0.3, n = 0.5, s = 10) {
1889
1939
  super();
1890
- const s = [], a = [];
1891
- for (let i = 0; i < r; i++) {
1940
+ const r = [], a = [];
1941
+ for (let i = 0; i < s; i++) {
1892
1942
  const c = i * o, l = c + o, u = i * n, m = u + n;
1893
- s.push(
1943
+ r.push(
1894
1944
  // Bottom face of riser (front face)
1895
1945
  -t / 2,
1896
1946
  c,
@@ -1947,89 +1997,89 @@ class Qo extends E {
1947
1997
  // Second triangle for tread
1948
1998
  );
1949
1999
  }
1950
- this.setIndex(a), this.setAttribute("position", new q(s, 3)), this.computeVertexNormals();
2000
+ this.setIndex(a), this.setAttribute("position", new O(r, 3)), this.computeVertexNormals();
1951
2001
  }
1952
2002
  }
1953
- class Se extends E {
2003
+ class Pe extends E {
1954
2004
  constructor() {
1955
2005
  super();
1956
2006
  const t = [
1957
- new v(0, 0),
2007
+ new I(0, 0),
1958
2008
  // Bottom of the jar
1959
- new v(1.2, 0),
2009
+ new I(1.2, 0),
1960
2010
  // Base
1961
- new v(1.5, 1.5),
2011
+ new I(1.5, 1.5),
1962
2012
  // Mid-body
1963
- new v(1, 3),
2013
+ new I(1, 3),
1964
2014
  // Narrow neck
1965
- new v(0.6, 3.5),
2015
+ new I(0.6, 3.5),
1966
2016
  // Mouth of the jar
1967
- new v(0.5, 3.5)
2017
+ new I(0.5, 3.5)
1968
2018
  // Cork
1969
- ], o = new D(t, 10), n = new P(0.6, 0.5, 0.3, 10);
2019
+ ], o = new k(t, 10), n = new P(0.6, 0.5, 0.3, 10);
1970
2020
  n.translate(0, 3.5, 0), this.copy(S([o, n], !0));
1971
2021
  }
1972
2022
  }
1973
- function gt(e, t, o, n, r) {
1974
- const s = (n - t) / (o - e);
1975
- return e + (r - t) / s;
2023
+ function vt(e, t, o, n, s) {
2024
+ const r = (n - t) / (o - e);
2025
+ return e + (s - t) / r;
1976
2026
  }
1977
- function Pe(e, t, o, n, r) {
1978
- const s = (n - t) / (o - e);
1979
- return t + s * (r - e);
2027
+ function Te(e, t, o, n, s) {
2028
+ const r = (n - t) / (o - e);
2029
+ return t + r * (s - e);
1980
2030
  }
1981
- const Ko = {
1982
- calculateXFromSlopeIntercept: gt,
1983
- calculateYFromSlopeIntercept: Pe
2031
+ const Wo = {
2032
+ calculateXFromSlopeIntercept: vt,
2033
+ calculateYFromSlopeIntercept: Te
1984
2034
  };
1985
- class Te extends E {
2035
+ class Ge extends E {
1986
2036
  constructor() {
1987
2037
  super();
1988
2038
  const t = [
1989
- new v(0, 0),
2039
+ new I(0, 0),
1990
2040
  // Origin
1991
- new v(0.8, 0),
2041
+ new I(0.8, 0),
1992
2042
  // Base
1993
- new v(1, 1.5),
2043
+ new I(1, 1.5),
1994
2044
  // Rounded body
1995
- new v(0.5, 2.2),
2045
+ new I(0.5, 2.2),
1996
2046
  // Neck
1997
- new v(0.6, 2.5),
2047
+ new I(0.6, 2.5),
1998
2048
  // Mouth
1999
- new v(0.5, 2.5)
2049
+ new I(0.5, 2.5)
2000
2050
  // Cork
2001
- ], o = new D(t, 10), n = new P(0.55, 0.45, 0.2, 10);
2051
+ ], o = new k(t, 10), n = new P(0.55, 0.45, 0.2, 10);
2002
2052
  n.translate(0, 2.5, 0);
2003
- const r = [
2004
- new v(0, 0),
2005
- new v(0.8, 0),
2006
- new v(gt(0.8, 0, 1, 1.5, 1), 1),
2007
- new v(0, 1)
2008
- ], s = new D(r, 10);
2009
- s.translate(0, 0.1, 0), s.scale(0.9, 0.9, 0.9), this.copy(S([o, n, s], !0));
2053
+ const s = [
2054
+ new I(0, 0),
2055
+ new I(0.8, 0),
2056
+ new I(vt(0.8, 0, 1, 1.5, 1), 1),
2057
+ new I(0, 1)
2058
+ ], r = new k(s, 10);
2059
+ r.translate(0, 0.1, 0), r.scale(0.9, 0.9, 0.9), this.copy(S([o, n, r], !0));
2010
2060
  }
2011
2061
  }
2012
- class Ge extends E {
2013
- constructor({ radius: t = 0.5, neckRadius: o = 0.2, height: n = 3, neckHeight: r = 1, segments: s = 16 } = {}) {
2062
+ class Ce extends E {
2063
+ constructor({ radius: t = 0.5, neckRadius: o = 0.2, height: n = 3, neckHeight: s = 1, segments: r = 16 } = {}) {
2014
2064
  super();
2015
- const a = n - r, i = new P(t, t, a, s);
2065
+ const a = n - s, i = new P(t, t, a, r);
2016
2066
  i.translate(0, a / 2, 0);
2017
- const c = 0.3, l = new P(o, t, c, s);
2067
+ const c = 0.3, l = new P(o, t, c, r);
2018
2068
  l.translate(0, a + c / 2, 0);
2019
- const u = new P(o, o, r, s);
2020
- u.translate(0, a + c + r / 2, 0), this.copy(S([i, l, u], !1));
2069
+ const u = new P(o, o, s, r);
2070
+ u.translate(0, a + c + s / 2, 0), this.copy(S([i, l, u], !1));
2021
2071
  }
2022
2072
  }
2023
- class Ce extends E {
2073
+ class Be extends E {
2024
2074
  constructor(t = 0.4, o = 1.2, n = 0.2) {
2025
2075
  super();
2026
- const r = o * 0.6, s = new b(t / 2, r, n);
2027
- s.translate(0, r / 2, 0);
2076
+ const s = o * 0.6, r = new b(t / 2, s, n);
2077
+ r.translate(0, s / 2, 0);
2028
2078
  const a = t * 1.5, i = new b(a, t / 4, n);
2029
- i.translate(0, r * 0.75, 0), this.copy(S([s, i], !1)), this.computeVertexNormals();
2079
+ i.translate(0, s * 0.75, 0), this.copy(S([r, i], !1)), this.computeVertexNormals();
2030
2080
  }
2031
2081
  }
2032
- class Be extends E {
2082
+ class Re extends E {
2033
2083
  constructor() {
2034
2084
  super();
2035
2085
  const t = new b(5, 1, 5);
@@ -2041,13 +2091,13 @@ class Be extends E {
2041
2091
  [1.8, 2.3, -2.2],
2042
2092
  [-1.8, 2.3, 2.2],
2043
2093
  [1.8, 2.3, 2.2]
2044
- ], r = [];
2094
+ ], s = [];
2045
2095
  n.forEach((l) => {
2046
2096
  const u = new P(0.2, 0.2, 3.5, 16);
2047
- u.translate(l[0], l[1], l[2]), r.push(u);
2097
+ u.translate(l[0], l[1], l[2]), s.push(u);
2048
2098
  });
2049
- const s = new Z(3.5, 2, 4);
2050
- s.rotateY(Math.PI / 4), s.translate(0, 5, 0);
2099
+ const r = new Z(3.5, 2, 4);
2100
+ r.rotateY(Math.PI / 4), r.translate(0, 5, 0);
2051
2101
  const a = new j();
2052
2102
  a.moveTo(-1, 0), a.lineTo(-1, 2), a.absarc(0, 2, 1, Math.PI, 0, !0), a.lineTo(1, 0);
2053
2103
  const i = {
@@ -2058,8 +2108,8 @@ class Be extends E {
2058
2108
  S(
2059
2109
  [
2060
2110
  t,
2061
- S([o, ...r], !1),
2062
- s,
2111
+ S([o, ...s], !1),
2112
+ r,
2063
2113
  c
2064
2114
  ],
2065
2115
  !0
@@ -2067,75 +2117,75 @@ class Be extends E {
2067
2117
  ), this.computeVertexNormals();
2068
2118
  }
2069
2119
  }
2070
- class Re extends E {
2120
+ class Ne extends E {
2071
2121
  constructor(t = 1.75, o = 0.75) {
2072
2122
  super();
2073
- const n = t * 0.05, r = t * 0.15, s = t * 0.15, a = t * 0.75;
2123
+ const n = t * 0.05, s = t * 0.15, r = t * 0.15, a = t * 0.75;
2074
2124
  let i = 0;
2075
2125
  const c = new b(o, n, o);
2076
2126
  c.translate(0, i + n / 2, 0), i += n;
2077
- const l = new b(o * 0.8, r, o * 0.8);
2078
- l.translate(0, i + r / 2, 0), i += r;
2079
- const u = new b(o * 0.6, s, o * 0.6);
2080
- u.translate(0, i + s / 2, 0), i += s;
2127
+ const l = new b(o * 0.8, s, o * 0.8);
2128
+ l.translate(0, i + s / 2, 0), i += s;
2129
+ const u = new b(o * 0.6, r, o * 0.6);
2130
+ u.translate(0, i + r / 2, 0), i += r;
2081
2131
  const m = new b(o * 0.4, a, o * 0.4);
2082
2132
  m.translate(0, i + a / 2, 0), i += a;
2083
2133
  const h = new Z(o * 0.4 / Math.sqrt(2), 0.1, 4, 1, !1, Math.PI / 4);
2084
2134
  h.translate(0, i + 0.1 / 2, 0), this.copy(S([c, l, u, m, h], !1)), this.computeVertexNormals();
2085
2135
  }
2086
2136
  }
2087
- class Ne extends E {
2088
- constructor(t = 0.6, o = 1, n = 0.2, r = 0.6) {
2137
+ class _e extends E {
2138
+ constructor(t = 0.6, o = 1, n = 0.2, s = 0.6) {
2089
2139
  super();
2090
- const s = o - r / 2, a = new b(t, s, n);
2091
- a.translate(0, s / 2, 0);
2092
- const i = new P(r / 2, r / 2, n, 16, 1, !1, 0, Math.PI);
2093
- i.rotateY(Math.PI / 2), i.rotateX(Math.PI / 2), i.translate(0, s, 0), this.copy(S([a, i], !1)), this.computeVertexNormals();
2140
+ const r = o - s / 2, a = new b(t, r, n);
2141
+ a.translate(0, r / 2, 0);
2142
+ const i = new P(s / 2, s / 2, n, 16, 1, !1, 0, Math.PI);
2143
+ i.rotateY(Math.PI / 2), i.rotateX(Math.PI / 2), i.translate(0, r, 0), this.copy(S([a, i], !1)), this.computeVertexNormals();
2094
2144
  }
2095
2145
  }
2096
- class _e extends E {
2146
+ class Ue extends E {
2097
2147
  constructor(t = 0.5, o = 0.8, n = 0.15) {
2098
2148
  super();
2099
- const r = new b(t, o, n);
2100
- r.translate(0, o / 2, 0), this.copy(r);
2149
+ const s = new b(t, o, n);
2150
+ s.translate(0, o / 2, 0), this.copy(s);
2101
2151
  }
2102
2152
  }
2103
- class Ue extends E {
2153
+ class Oe extends E {
2104
2154
  constructor({ height: t = 2.25 } = {}) {
2105
2155
  super();
2106
2156
  const o = new b(1.2, 0.5, 1.2);
2107
2157
  o.translate(0, 0.25, 0);
2108
2158
  const n = new b(1, t, 1);
2109
2159
  n.translate(0, 0.5 + t / 2, 0);
2110
- const r = new b(1.4, 0.3, 1.4);
2111
- r.translate(0, 0.5 + t + 0.15, 0), this.copy(S([o, n, r], !1));
2160
+ const s = new b(1.4, 0.3, 1.4);
2161
+ s.translate(0, 0.5 + t + 0.15, 0), this.copy(S([o, n, s], !1));
2112
2162
  }
2113
2163
  }
2114
- class It extends E {
2164
+ class gt extends E {
2115
2165
  constructor({
2116
2166
  barHeight: t = 2,
2117
2167
  //
2118
2168
  barRadius: o = 0.05,
2119
2169
  spikeHeight: n = 0.3,
2120
- spikeRadius: r = 0.075,
2121
- spikeScaleZ: s = 1,
2170
+ spikeRadius: s = 0.075,
2171
+ spikeScaleZ: r = 1,
2122
2172
  radialSegments: a = 8
2123
2173
  } = {}) {
2124
2174
  super();
2125
2175
  const i = new P(o, o, t, a);
2126
2176
  i.translate(0, t / 2, 0);
2127
- const c = new Z(r, n, a);
2128
- c.translate(0, t + n / 2, 0), c.scale(1, 1, s), this.copy(S([i, c], !1));
2177
+ const c = new Z(s, n, a);
2178
+ c.translate(0, t + n / 2, 0), c.scale(1, 1, r), this.copy(S([i, c], !1));
2129
2179
  }
2130
2180
  }
2131
- class Oe extends E {
2181
+ class ze extends E {
2132
2182
  constructor({
2133
2183
  count: t = 20,
2134
2184
  //
2135
2185
  spacing: o = 0.4,
2136
2186
  barHeight: n = 2,
2137
- barRadius: r = 0.05,
2138
- spikeHeight: s = 0.3,
2187
+ barRadius: s = 0.05,
2188
+ spikeHeight: r = 0.3,
2139
2189
  spikeRadius: a = 0.075,
2140
2190
  spikeScaleZ: i = 1,
2141
2191
  railHeight: c = 0.1,
@@ -2144,42 +2194,42 @@ class Oe extends E {
2144
2194
  radialSegments: m = 8
2145
2195
  } = {}) {
2146
2196
  super();
2147
- const h = [], f = new It({ barHeight: n, barRadius: r, spikeHeight: s, spikeRadius: a, spikeScaleZ: i, radialSegments: m }), p = new b(t * o, c, l);
2197
+ const h = [], f = new gt({ barHeight: n, barRadius: s, spikeHeight: r, spikeRadius: a, spikeScaleZ: i, radialSegments: m }), p = new b(t * o, c, l);
2148
2198
  for (let g = 0; g < t; g++) {
2149
- const I = f.clone();
2150
- I.translate(g * o, 0, 0), h.push(I);
2199
+ const v = f.clone();
2200
+ v.translate(g * o, 0, 0), h.push(v);
2151
2201
  }
2152
2202
  const d = p.clone();
2153
2203
  d.translate(o * (t - 1) / 2, n - u - c / 2, 0), h.push(d);
2154
- const w = p.clone();
2155
- w.translate(o * (t - 1) / 2, c / 2, 0), h.push(w), this.copy(S(h));
2204
+ const M = p.clone();
2205
+ M.translate(o * (t - 1) / 2, c / 2, 0), h.push(M), this.copy(S(h));
2156
2206
  }
2157
2207
  }
2158
- class Le extends E {
2208
+ class Fe extends E {
2159
2209
  constructor({
2160
2210
  width: t = 5,
2161
2211
  //
2162
2212
  height: o = 8,
2163
2213
  depth: n = 1,
2164
- shelves: r = 4,
2165
- frameThickness: s = 0.1,
2214
+ shelves: s = 4,
2215
+ frameThickness: r = 0.1,
2166
2216
  open: a = !1
2167
2217
  } = {}) {
2168
2218
  super();
2169
- const i = o, c = t, l = n, u = new b(s, i, l), m = new b(c - 2 * s, s, l), h = u.clone();
2170
- h.translate(-c / 2 + s / 2, i / 2, 0);
2219
+ const i = o, c = t, l = n, u = new b(r, i, l), m = new b(c - 2 * r, r, l), h = u.clone();
2220
+ h.translate(-c / 2 + r / 2, i / 2, 0);
2171
2221
  const f = u.clone();
2172
- f.translate(c / 2 - s / 2, i / 2, 0);
2222
+ f.translate(c / 2 - r / 2, i / 2, 0);
2173
2223
  const p = m.clone();
2174
- p.translate(0, i - s / 2, 0);
2224
+ p.translate(0, i - r / 2, 0);
2175
2225
  const d = m.clone();
2176
- d.translate(0, s / 2, 0);
2177
- const w = new b(c, i, s);
2178
- w.translate(0, i / 2, -l / 2 + s / 2);
2179
- const g = [], I = (i - s) / (r + 1);
2180
- for (let R = 1; R <= r; R++) {
2181
- const B = m.clone();
2182
- B.translate(0, s / 2 + R * I, 0), g.push(B);
2226
+ d.translate(0, r / 2, 0);
2227
+ const M = new b(c, i, r);
2228
+ M.translate(0, i / 2, -l / 2 + r / 2);
2229
+ const g = [], v = (i - r) / (s + 1);
2230
+ for (let R = 1; R <= s; R++) {
2231
+ const T = m.clone();
2232
+ T.translate(0, r / 2 + R * v, 0), g.push(T);
2183
2233
  }
2184
2234
  this.copy(S([
2185
2235
  h,
@@ -2187,23 +2237,23 @@ class Le extends E {
2187
2237
  f,
2188
2238
  p,
2189
2239
  d,
2190
- ...a ? [] : [w],
2240
+ ...a ? [] : [M],
2191
2241
  ...g
2192
2242
  ], !1));
2193
2243
  }
2194
2244
  }
2195
- class Fe extends E {
2245
+ class Le extends E {
2196
2246
  constructor() {
2197
2247
  super();
2198
2248
  const t = new b(5, 0.3, 3);
2199
2249
  t.translate(0, 3.15, 0);
2200
2250
  const o = [
2201
- new v(0.2, 0),
2251
+ new I(0.2, 0),
2202
2252
  //
2203
- new v(0.25, 0.5),
2204
- new v(0.15, 1.5),
2205
- new v(0.3, 3)
2206
- ], n = new D(o, 32), s = S(
2253
+ new I(0.25, 0.5),
2254
+ new I(0.15, 1.5),
2255
+ new I(0.3, 3)
2256
+ ], n = new k(o, 32), r = S(
2207
2257
  [
2208
2258
  [2.1, 0, 1.1],
2209
2259
  [-2.1, 0, 1.1],
@@ -2214,18 +2264,52 @@ class Fe extends E {
2214
2264
  return i.translate(a[0], a[1], a[2]), i;
2215
2265
  })
2216
2266
  );
2217
- this.copy(S([t, s], !0));
2267
+ this.copy(S([t, r], !0));
2218
2268
  }
2219
2269
  }
2220
- class ze extends E {
2270
+ class It extends Se {
2271
+ constructor({ height: t = 0.25, radius: o = 0.05, segmentsU: n = 16, segmentsV: s = 16 } = {}) {
2272
+ super(
2273
+ (r, a, i) => {
2274
+ const c = r * Math.PI * 2, l = Math.sin(a * Math.PI), u = o * l * Math.cos(c), m = a * t, h = o * l * Math.sin(c);
2275
+ i.set(u, m, -h);
2276
+ },
2277
+ n,
2278
+ s
2279
+ );
2280
+ }
2281
+ }
2282
+ class De extends E {
2283
+ constructor({
2284
+ radiusTop: t = 0.2,
2285
+ //
2286
+ radiusBottom: o = 0.2,
2287
+ height: n = 1,
2288
+ flameHeight: s = 0.25,
2289
+ flameRadius: r = 0.05,
2290
+ segments: a = 16
2291
+ } = {}) {
2292
+ super();
2293
+ const i = new P(t, o, n, a);
2294
+ i.translate(0, n / 2, 0);
2295
+ const c = new It({
2296
+ segmentsU: a,
2297
+ segmentsV: a,
2298
+ height: s,
2299
+ radius: r
2300
+ });
2301
+ c.translate(0, n, 0), this.copy(S([i, c], !0));
2302
+ }
2303
+ }
2304
+ class ke extends E {
2221
2305
  constructor() {
2222
2306
  super();
2223
2307
  const t = [], o = [];
2224
2308
  for (let n = 0; n < 5; n++) {
2225
- const r = 0.8 + Math.random() * 0.4, s = 0.8 + Math.random() * 0.4, a = 0.8 + Math.random() * 0.4, i = Math.random() * Math.PI, c = Math.random() * Math.PI, l = Math.random() * Math.PI, u = (Math.random() - 0.5) * 4, m = 0, h = (Math.random() - 0.5) * 4, f = new J(1, 0);
2226
- f.scale(r, s, a), f.rotateX(i), f.rotateY(c), f.rotateZ(l), f.translate(u, m, h), t.push(f);
2309
+ const s = 0.8 + Math.random() * 0.4, r = 0.8 + Math.random() * 0.4, a = 0.8 + Math.random() * 0.4, i = Math.random() * Math.PI, c = Math.random() * Math.PI, l = Math.random() * Math.PI, u = (Math.random() - 0.5) * 4, m = 0, h = (Math.random() - 0.5) * 4, f = new J(1, 0);
2310
+ f.scale(s, r, a), f.rotateX(i), f.rotateY(c), f.rotateZ(l), f.translate(u, m, h), t.push(f);
2227
2311
  const p = new J(1, 0);
2228
- p.scale(r * 0.9, s * 0.5, a * 0.9), p.rotateX(i), p.rotateY(c), p.rotateZ(l), p.translate(u, m + 0.3, h), o.push(p);
2312
+ p.scale(s * 0.9, r * 0.5, a * 0.9), p.rotateX(i), p.rotateY(c), p.rotateZ(l), p.translate(u, m + 0.3, h), o.push(p);
2229
2313
  }
2230
2314
  this.copy(
2231
2315
  S([
@@ -2235,23 +2319,23 @@ class ze extends E {
2235
2319
  );
2236
2320
  }
2237
2321
  }
2238
- function De(e, t = mt.XYZ, o = 0.5, n = 2) {
2322
+ function Ve(e, t = ht.XYZ, o = 0.5, n = 2) {
2239
2323
  e.deleteAttribute("uv"), e.deleteAttribute("normal"), e = be(e), e.computeVertexNormals();
2240
- const r = e.getAttribute("position");
2241
- for (let s = 0; s < r.count; s++) {
2242
- const a = new x().fromBufferAttribute(r, s), i = Math.random() * (n - o) + o, c = t.clone().multiplyScalar(i);
2243
- a.add(c), r.setXYZ(s, a.x, a.y, a.z);
2324
+ const s = e.getAttribute("position");
2325
+ for (let r = 0; r < s.count; r++) {
2326
+ const a = new x().fromBufferAttribute(s, r), i = Math.random() * (n - o) + o, c = t.clone().multiplyScalar(i);
2327
+ a.add(c), s.setXYZ(r, a.x, a.y, a.z);
2244
2328
  }
2245
- return r.needsUpdate = !0, e.computeVertexNormals(), e;
2329
+ return s.needsUpdate = !0, e.computeVertexNormals(), e;
2246
2330
  }
2247
- class ke extends E {
2331
+ class qe extends E {
2248
2332
  constructor(t = 1, o = 4, n = 4) {
2249
2333
  super();
2250
- const r = new _(t, o, n);
2251
- this.copy(De(r, mt.XYZ, 0.5, 1)), this.computeVertexNormals(), this.center();
2334
+ const s = new U(t, o, n);
2335
+ this.copy(Ve(s, ht.XYZ, 0.5, 1)), this.computeVertexNormals(), this.center();
2252
2336
  }
2253
2337
  }
2254
- class qe extends E {
2338
+ class Ye extends E {
2255
2339
  constructor() {
2256
2340
  super();
2257
2341
  const t = [];
@@ -2262,102 +2346,102 @@ class qe extends E {
2262
2346
  this.copy(S(t));
2263
2347
  }
2264
2348
  }
2265
- class Ve extends E {
2266
- constructor(t = 0.1, o = 0.1, n = 0.4, r = 8) {
2349
+ class He extends E {
2350
+ constructor(t = 0.1, o = 0.1, n = 0.4, s = 8) {
2267
2351
  super();
2268
- const s = new P(t * 0.6, o * 0.6, n, r);
2269
- s.translate(0, 0, 0);
2270
- const a = new _(t, r, r), i = a.clone(), c = a.clone(), l = a.clone(), u = a.clone();
2271
- i.translate(0, n / 2 + t * 0.6, -t * 0.6), c.translate(0, n / 2 + t * 0.6, t * 0.6), l.translate(0, -n / 2 - o * 0.6, -o * 0.6), u.translate(0, -n / 2 - o * 0.6, o * 0.6), this.copy(S([s, i, c, l, u], !1));
2352
+ const r = new P(t * 0.6, o * 0.6, n, s);
2353
+ r.translate(0, 0, 0);
2354
+ const a = new U(t, s, s), i = a.clone(), c = a.clone(), l = a.clone(), u = a.clone();
2355
+ i.translate(0, n / 2 + t * 0.6, -t * 0.6), c.translate(0, n / 2 + t * 0.6, t * 0.6), l.translate(0, -n / 2 - o * 0.6, -o * 0.6), u.translate(0, -n / 2 - o * 0.6, o * 0.6), this.copy(S([r, i, c, l, u], !1));
2272
2356
  }
2273
2357
  }
2274
- class Ye extends E {
2358
+ class Xe extends E {
2275
2359
  constructor({
2276
2360
  flaskRadius: t = 1,
2277
2361
  //
2278
2362
  neckRadius: o = 0.3,
2279
2363
  height: n = 2.5,
2280
- neckHeight: r = 1,
2281
- radialSegments: s = 16
2364
+ neckHeight: s = 1,
2365
+ radialSegments: r = 16
2282
2366
  } = {}) {
2283
2367
  super();
2284
2368
  const a = [
2285
- new v(0, 0),
2369
+ new I(0, 0),
2286
2370
  // Bottom of the flask
2287
- new v(t * 0.875, 0),
2371
+ new I(t * 0.875, 0),
2288
2372
  // Flat base with minimum width
2289
- new v(t, 0.1),
2373
+ new I(t, 0.1),
2290
2374
  // End of the rounded base
2291
- new v(o, n),
2375
+ new I(o, n),
2292
2376
  // Start of the straight neck
2293
- new v(o, n + r),
2377
+ new I(o, n + s),
2294
2378
  // End of the straight neck
2295
- new v(o * 1.1, n + r + 0.3)
2379
+ new I(o * 1.1, n + s + 0.3)
2296
2380
  // Slight outward lip at the top
2297
- ], i = new D(a, s);
2381
+ ], i = new k(a, r);
2298
2382
  this.copy(S([i], !1));
2299
2383
  }
2300
2384
  }
2301
- const Jo = (e, t) => e / (1 - Math.cos(t)), At = (e, t) => e / (2 * Math.sin(t)), He = (e, t) => e * (1 - Math.cos(t)), $o = (e, t) => 2 * e * Math.sin(t), pt = (e, t) => {
2385
+ const tn = (e, t) => e / (1 - Math.cos(t)), At = (e, t) => e / (2 * Math.sin(t)), Ze = (e, t) => e * (1 - Math.cos(t)), en = (e, t) => 2 * e * Math.sin(t), dt = (e, t) => {
2302
2386
  const o = 2 * t;
2303
2387
  return Math.asin(o / (2 * e));
2304
- }, Wo = (e, t, o) => ({
2388
+ }, on = (e, t, o) => ({
2305
2389
  x: e * Math.sin(o) * Math.cos(t),
2306
2390
  y: e * Math.sin(o) * Math.sin(t),
2307
2391
  z: e * Math.cos(o)
2308
- }), tn = (e, t, o) => {
2309
- const n = Math.sqrt(e * e + t * t + o * o), r = Math.atan2(t, e), s = Math.acos(o / n);
2310
- return { radius: n, theta: r, phi: s };
2392
+ }), nn = (e, t, o) => {
2393
+ const n = Math.sqrt(e * e + t * t + o * o), s = Math.atan2(t, e), r = Math.acos(o / n);
2394
+ return { radius: n, theta: s, phi: r };
2311
2395
  };
2312
- function Xe(e, t, o, n = 0, r = 0, s = 32) {
2313
- const a = n ? pt(e, n) : 0, i = r ? Math.PI - pt(e, r) : Math.PI, c = [];
2314
- for (let l = 0; l <= s; l++) {
2315
- const u = i - (i - a) / s * l, m = e * Math.sin(u), h = t * Math.cos(u) + o;
2316
- c.push(new v(m, h));
2396
+ function je(e, t, o, n = 0, s = 0, r = 32) {
2397
+ const a = n ? dt(e, n) : 0, i = s ? Math.PI - dt(e, s) : Math.PI, c = [];
2398
+ for (let l = 0; l <= r; l++) {
2399
+ const u = i - (i - a) / r * l, m = e * Math.sin(u), h = t * Math.cos(u) + o;
2400
+ c.push(new I(m, h));
2317
2401
  }
2318
2402
  return [...c];
2319
2403
  }
2320
- class Ze extends E {
2404
+ class Qe extends E {
2321
2405
  constructor() {
2322
2406
  super();
2323
2407
  const t = [
2324
- ...Xe(1, 1, 0.5, 0.2, 0, 32),
2325
- new v(0.2, 3)
2326
- ], o = new D(t, 32);
2408
+ ...je(1, 1, 0.5, 0.2, 0, 32),
2409
+ new I(0.2, 3)
2410
+ ], o = new k(t, 32);
2327
2411
  this.copy(o);
2328
2412
  }
2329
2413
  }
2330
- class je extends E {
2414
+ class Ke extends E {
2331
2415
  constructor() {
2332
2416
  super();
2333
2417
  const t = [
2334
- new v(1, 0),
2418
+ new I(1, 0),
2335
2419
  // Bottom of the bowl
2336
- new v(1.2, 0.5),
2420
+ new I(1.2, 0.5),
2337
2421
  // Slight flare at the base
2338
- new v(1.4, 1.5),
2422
+ new I(1.4, 1.5),
2339
2423
  // Outer wall
2340
- new v(1.3, 1.8),
2424
+ new I(1.3, 1.8),
2341
2425
  // Flared edge
2342
- new v(0.8, 1.8)
2426
+ new I(0.8, 1.8)
2343
2427
  // Lip of the bowl
2344
- ], o = new D(t, 12), n = new Gt(1, 12);
2428
+ ], o = new k(t, 12), n = new Gt(1, 12);
2345
2429
  n.rotateX(-Math.PI / 2), n.translate(0, 0, 0), this.copy(S([o, n], !1));
2346
2430
  }
2347
2431
  }
2348
- class Qe extends E {
2432
+ class Je extends E {
2349
2433
  constructor({
2350
2434
  radius: t = 0.3,
2351
2435
  //
2352
2436
  height: o = 0.4,
2353
2437
  count: n = 3,
2354
- thickness: r = 0.03,
2355
- radialSegments: s = 16
2438
+ thickness: s = 0.03,
2439
+ radialSegments: r = 16
2356
2440
  } = {}) {
2357
2441
  super();
2358
- const a = new dt(t, r, 8, s);
2442
+ const a = new Mt(t, s, 8, r);
2359
2443
  a.rotateX(Math.PI / 2), a.translate(0, o, 0);
2360
- const i = new P(r * 0.6, r * 0.6, o, s), c = [];
2444
+ const i = new P(s * 0.6, s * 0.6, o, r), c = [];
2361
2445
  for (let l = 0; l < n; l++) {
2362
2446
  const u = l / n * Math.PI * 2, m = i.clone();
2363
2447
  m.translate(Math.cos(u) * t, o / 2, Math.sin(u) * t), c.push(m);
@@ -2365,14 +2449,14 @@ class Qe extends E {
2365
2449
  this.copy(S([a, ...c], !1));
2366
2450
  }
2367
2451
  }
2368
- class Ke extends E {
2452
+ class $e extends E {
2369
2453
  constructor() {
2370
2454
  super();
2371
2455
  const t = new P(0.5, 0.6, 0.3, 16);
2372
2456
  t.translate(0, 0.15, 0);
2373
2457
  const o = new P(0.15, 0.15, 2, 12, 1, !0);
2374
2458
  o.translate(0, 1.3, 0);
2375
- const n = new _(0.3, 16, 16);
2459
+ const n = new U(0.3, 16, 16);
2376
2460
  n.translate(0, 2.4, 0), this.copy(
2377
2461
  S(
2378
2462
  [t, S([o, n])],
@@ -2381,68 +2465,68 @@ class Ke extends E {
2381
2465
  );
2382
2466
  }
2383
2467
  }
2384
- class it extends E {
2385
- constructor(t = 0.2, o = 0.2, n = 3, r = 32, s = !0) {
2468
+ class ct extends E {
2469
+ constructor(t = 0.2, o = 0.2, n = 3, s = 32, r = !0) {
2386
2470
  super();
2387
- const a = new P(t, o, n, r, 1, s), i = new _(o, r, r / 2, 0, Math.PI * 2, Math.PI / 2, Math.PI / 2);
2471
+ const a = new P(t, o, n, s, 1, r), i = new U(o, s, s / 2, 0, Math.PI * 2, Math.PI / 2, Math.PI / 2);
2388
2472
  i.translate(0, -(n / 2), 0), this.copy(S([a, i], !1));
2389
2473
  }
2390
2474
  }
2391
- class Je extends E {
2475
+ class We extends E {
2392
2476
  constructor({
2393
2477
  radius: t = 3,
2394
2478
  //
2395
2479
  height: o = 0.6,
2396
2480
  widthSegments: n = 64,
2397
- heightSegments: r = 16,
2398
- phiStart: s = 0,
2481
+ heightSegments: s = 16,
2482
+ phiStart: r = 0,
2399
2483
  phiLength: a = Math.PI * 2
2400
2484
  } = {}) {
2401
- super(), this.copy(new _(t, n, r, s, a, 0, Math.PI / 2)), this.scale(1, o / t, 1);
2485
+ super(), this.copy(new U(t, n, s, r, a, 0, Math.PI / 2)), this.scale(1, o / t, 1);
2402
2486
  }
2403
2487
  }
2404
- class $e extends E {
2488
+ class to extends E {
2405
2489
  constructor({
2406
2490
  radius: t = At(5, Math.PI / 10),
2407
2491
  //
2408
2492
  widthSegments: o = 64,
2409
2493
  heightSegments: n = 32,
2410
- phiStart: r = 0,
2411
- phiLength: s = Math.PI * 2,
2494
+ phiStart: s = 0,
2495
+ phiLength: r = Math.PI * 2,
2412
2496
  thetaLength: a = Math.PI / 10
2413
2497
  } = {}) {
2414
- super(), this.copy(new _(t, o, n, r, s, 0, a));
2415
- const i = He(t, a);
2498
+ super(), this.copy(new U(t, o, n, s, r, 0, a));
2499
+ const i = Ze(t, a);
2416
2500
  this.translate(0, -t + i, 0);
2417
2501
  }
2418
2502
  }
2419
- class We extends E {
2503
+ class eo extends E {
2420
2504
  constructor({
2421
2505
  trunkRadiusTop: t = 0.25,
2422
2506
  trunkRadiusBottom: o = 0.4,
2423
2507
  trunkHeight: n = 2.5,
2424
- trunkSegments: r = 14,
2425
- leafSize: s = 0.8,
2508
+ trunkSegments: s = 14,
2509
+ leafSize: r = 0.8,
2426
2510
  leafCount: a = 6,
2427
2511
  leafDetail: i = 0,
2428
2512
  leafSpreadRadius: c = 1.5
2429
2513
  } = {}) {
2430
2514
  super();
2431
- const l = new P(t, o, n, r);
2515
+ const l = new P(t, o, n, s);
2432
2516
  l.translate(0, n / 2, 0);
2433
2517
  const u = [];
2434
2518
  for (let m = 0; m < a; m++) {
2435
- const h = new J(s, i);
2519
+ const h = new J(r, i);
2436
2520
  h.translate(
2437
2521
  (Math.random() - 0.5) * c,
2438
- (Math.random() - 0.5) * s + n,
2522
+ (Math.random() - 0.5) * r + n,
2439
2523
  (Math.random() - 0.5) * c
2440
2524
  ), u.push(h);
2441
2525
  }
2442
2526
  this.copy(S([l.toNonIndexed(), S(u, !1)], !0)), this.computeVertexNormals();
2443
2527
  }
2444
2528
  }
2445
- const to = {
2529
+ const oo = {
2446
2530
  uniforms: {
2447
2531
  time: { value: 0 }
2448
2532
  },
@@ -2486,37 +2570,37 @@ const to = {
2486
2570
  }
2487
2571
  `
2488
2572
  };
2489
- class en extends y {
2573
+ class sn extends w {
2490
2574
  constructor() {
2491
2575
  super(
2492
- new _(5, 32, 32),
2493
- new W(to)
2576
+ new U(5, 32, 32),
2577
+ new W(oo)
2494
2578
  );
2495
2579
  }
2496
2580
  }
2497
- class on extends y {
2581
+ class rn extends w {
2498
2582
  constructor({
2499
2583
  width: t = 1,
2500
2584
  height: o = 1.5,
2501
2585
  depth: n = 0.5,
2502
- coverThickness: r = 0.05,
2503
- pageIndent: s = 0.05,
2504
- coverColor: a = at.DARK_RED,
2505
- pageColor: i = at.TITANIUM_WHITE
2586
+ coverThickness: s = 0.05,
2587
+ pageIndent: r = 0.05,
2588
+ coverColor: a = it.DARK_RED,
2589
+ pageColor: i = it.TITANIUM_WHITE
2506
2590
  } = {}) {
2507
2591
  super(
2508
- new wt(t, o, n, r, s),
2592
+ new yt(t, o, n, s, r),
2509
2593
  [
2510
- new M({ color: a, metalness: 0.1, roughness: 0.7, flatShading: !0 }),
2511
- new M({ color: i, flatShading: !0 })
2594
+ new y({ color: a, metalness: 0.1, roughness: 0.7, flatShading: !0 }),
2595
+ new y({ color: i, flatShading: !0 })
2512
2596
  ]
2513
2597
  );
2514
2598
  }
2515
2599
  }
2516
- class nn extends y {
2600
+ class an extends w {
2517
2601
  constructor() {
2518
- super(new Se(), [
2519
- new M({
2602
+ super(new Pe(), [
2603
+ new y({
2520
2604
  color: 8965290,
2521
2605
  transparent: !0,
2522
2606
  depthWrite: !1,
@@ -2524,17 +2608,17 @@ class nn extends y {
2524
2608
  roughness: 0.1,
2525
2609
  metalness: 0.5
2526
2610
  }),
2527
- new M({
2611
+ new y({
2528
2612
  color: 9127187,
2529
2613
  roughness: 1
2530
2614
  })
2531
2615
  ]);
2532
2616
  }
2533
2617
  }
2534
- class sn extends y {
2618
+ class cn extends w {
2535
2619
  constructor() {
2536
- super(new Te(), [
2537
- new M({
2620
+ super(new Ge(), [
2621
+ new y({
2538
2622
  color: 8965375,
2539
2623
  transparent: !0,
2540
2624
  depthWrite: !1,
@@ -2542,12 +2626,12 @@ class sn extends y {
2542
2626
  roughness: 0.1,
2543
2627
  metalness: 0.3
2544
2628
  }),
2545
- new M({
2629
+ new y({
2546
2630
  color: 9127187,
2547
2631
  roughness: 1
2548
2632
  }),
2549
- new M({
2550
- color: at.PINK_SHERBET,
2633
+ new y({
2634
+ color: it.PINK_SHERBET,
2551
2635
  transparent: !0,
2552
2636
  depthWrite: !1,
2553
2637
  opacity: 0.5
@@ -2555,10 +2639,10 @@ class sn extends y {
2555
2639
  ]);
2556
2640
  }
2557
2641
  }
2558
- class rn extends y {
2642
+ class ln extends w {
2559
2643
  constructor() {
2560
2644
  super(
2561
- new Ge(),
2645
+ new Ce(),
2562
2646
  new tt({
2563
2647
  color: 5597999,
2564
2648
  roughness: 0.1,
@@ -2571,98 +2655,98 @@ class rn extends y {
2571
2655
  );
2572
2656
  }
2573
2657
  }
2574
- class an extends y {
2658
+ class un extends w {
2575
2659
  constructor({
2576
2660
  width: t = 0.4,
2577
2661
  height: o = 1.2,
2578
2662
  depth: n = 0.2
2579
2663
  } = {}) {
2580
2664
  super(
2581
- new Ce(t, o, n),
2582
- new M({ color: 7829367, roughness: 0.8 })
2665
+ new Be(t, o, n),
2666
+ new y({ color: 7829367, roughness: 0.8 })
2583
2667
  );
2584
2668
  }
2585
2669
  }
2586
- class cn extends y {
2670
+ class mn extends w {
2587
2671
  constructor() {
2588
2672
  super(
2589
- new Be(),
2673
+ new Re(),
2590
2674
  [
2591
- new M({ color: 8421504, flatShading: !0 }),
2675
+ new y({ color: 8421504, flatShading: !0 }),
2592
2676
  // Base
2593
- new M({ color: 6908265, flatShading: !0 }),
2677
+ new y({ color: 6908265, flatShading: !0 }),
2594
2678
  // Building
2595
- new M({ color: 5263440, flatShading: !0 }),
2679
+ new y({ color: 5263440, flatShading: !0 }),
2596
2680
  // Roof
2597
- new M({ color: 4210752, flatShading: !0 })
2681
+ new y({ color: 4210752, flatShading: !0 })
2598
2682
  // Arched entrance
2599
2683
  ]
2600
2684
  );
2601
2685
  }
2602
2686
  }
2603
- class ln extends y {
2687
+ class hn extends w {
2604
2688
  constructor({ totalHeight: t = 1.75, baseWidth: o = 0.75 } = {}) {
2605
2689
  super(
2606
- new Re(t, o),
2607
- new M({ color: 7829367, roughness: 0.8 })
2690
+ new Ne(t, o),
2691
+ new y({ color: 7829367, roughness: 0.8 })
2608
2692
  );
2609
2693
  }
2610
2694
  }
2611
- class un extends y {
2612
- constructor(t = 0.6, o = 1, n = 0.2, r = 0.6) {
2695
+ class fn extends w {
2696
+ constructor(t = 0.6, o = 1, n = 0.2, s = 0.6) {
2613
2697
  super(
2614
- new Ne(t, o, n, r),
2615
- new M({ color: 7829367, roughness: 0.8 })
2698
+ new _e(t, o, n, s),
2699
+ new y({ color: 7829367, roughness: 0.8 })
2616
2700
  );
2617
2701
  }
2618
2702
  }
2619
- class mn extends y {
2703
+ class pn extends w {
2620
2704
  constructor(t = 0.5, o = 0.8, n = 0.15) {
2621
2705
  super(
2622
- new _e(t, o, n),
2623
- new M({ color: 7829367, roughness: 0.8 })
2706
+ new Ue(t, o, n),
2707
+ new y({ color: 7829367, roughness: 0.8 })
2624
2708
  );
2625
2709
  }
2626
2710
  }
2627
- class hn extends y {
2711
+ class dn extends w {
2628
2712
  constructor({ height: t = 2.25 } = {}) {
2629
2713
  super(
2630
- new Ue({ height: t }),
2631
- new M({ color: 9141627, flatShading: !0 })
2714
+ new Oe({ height: t }),
2715
+ new y({ color: 9141627, flatShading: !0 })
2632
2716
  );
2633
2717
  }
2634
2718
  }
2635
- class fn extends y {
2719
+ class Mn extends w {
2636
2720
  constructor({
2637
2721
  barHeight: t = 2,
2638
2722
  //
2639
2723
  barRadius: o = 0.05,
2640
2724
  spikeHeight: n = 0.3,
2641
- spikeRadius: r = 0.075,
2642
- spikeScaleZ: s = 1,
2725
+ spikeRadius: s = 0.075,
2726
+ spikeScaleZ: r = 1,
2643
2727
  radialSegments: a = 8
2644
2728
  } = {}) {
2645
2729
  super(
2646
- new It({
2730
+ new gt({
2647
2731
  barHeight: t,
2648
2732
  barRadius: o,
2649
2733
  spikeHeight: n,
2650
- spikeRadius: r,
2651
- spikeScaleZ: s,
2734
+ spikeRadius: s,
2735
+ spikeScaleZ: r,
2652
2736
  radialSegments: a
2653
2737
  }),
2654
- new M({ color: 3355443, metalness: 0.8, roughness: 0.4 })
2738
+ new y({ color: 3355443, metalness: 0.8, roughness: 0.4 })
2655
2739
  );
2656
2740
  }
2657
2741
  }
2658
- class pn extends y {
2742
+ class yn extends w {
2659
2743
  constructor({
2660
2744
  count: t = 20,
2661
2745
  //
2662
2746
  spacing: o = 0.4,
2663
2747
  barHeight: n = 2,
2664
- barRadius: r = 0.05,
2665
- spikeHeight: s = 0.3,
2748
+ barRadius: s = 0.05,
2749
+ spikeHeight: r = 0.3,
2666
2750
  spikeRadius: a = 0.075,
2667
2751
  spikeScaleZ: i = 1,
2668
2752
  railHeight: c = 0.1,
@@ -2671,12 +2755,12 @@ class pn extends y {
2671
2755
  radialSegments: m = 8
2672
2756
  } = {}) {
2673
2757
  super(
2674
- new Oe({
2758
+ new ze({
2675
2759
  count: t,
2676
2760
  spacing: o,
2677
2761
  barHeight: n,
2678
- barRadius: r,
2679
- spikeHeight: s,
2762
+ barRadius: s,
2763
+ spikeHeight: r,
2680
2764
  spikeRadius: a,
2681
2765
  spikeScaleZ: i,
2682
2766
  railHeight: c,
@@ -2684,166 +2768,179 @@ class pn extends y {
2684
2768
  railOffset: u,
2685
2769
  radialSegments: m
2686
2770
  }),
2687
- new M({ color: 3355443, metalness: 0.8, roughness: 0.4 })
2771
+ new y({ color: 3355443, metalness: 0.8, roughness: 0.4 })
2688
2772
  );
2689
2773
  }
2690
2774
  }
2691
- class dn extends y {
2775
+ class wn extends w {
2692
2776
  constructor({
2693
2777
  width: t = 5,
2694
2778
  //
2695
2779
  height: o = 8,
2696
2780
  depth: n = 1,
2697
- shelves: r = 4,
2698
- frameThickness: s = 0.1,
2781
+ shelves: s = 4,
2782
+ frameThickness: r = 0.1,
2699
2783
  open: a = !1
2700
2784
  } = {}) {
2701
2785
  super(
2702
- new Le({ width: t, height: o, depth: n, shelves: r, frameThickness: s, open: a }),
2703
- new M({ color: 9127187 })
2786
+ new Fe({ width: t, height: o, depth: n, shelves: s, frameThickness: r, open: a }),
2787
+ new y({ color: 9127187 })
2704
2788
  );
2705
2789
  }
2706
2790
  }
2707
- class Mn extends y {
2791
+ class xn extends w {
2708
2792
  constructor() {
2709
- super(new Fe(), [
2710
- new M({ color: 9132587 }),
2793
+ super(new Le(), [
2794
+ new y({ color: 9132587 }),
2711
2795
  // Desk surface
2712
- new M({ color: 4929057 })
2796
+ new y({ color: 4929057 })
2713
2797
  // Desk legs
2714
2798
  ]);
2715
2799
  }
2716
2800
  }
2717
- class yn extends O {
2718
- constructor(o = 1, n = 0.2) {
2719
- super();
2720
- A(this, "candle");
2721
- A(this, "flame");
2722
- A(this, "candleLight");
2723
- A(this, "height");
2724
- A(this, "radius");
2725
- this.height = o, this.radius = n;
2726
- const r = new P(this.radius, this.radius, this.height, 32), s = new M({ color: 16777215 });
2727
- this.candle = new y(r, s), this.candle.position.set(0, this.height / 2, 0), this.add(this.candle);
2728
- const a = new _(0.05, 16, 16), i = new Ct({ color: 16753920 });
2729
- this.flame = new y(a, i), this.flame.position.set(0, this.height + 0.05, 0), this.add(this.flame), this.candleLight = new Mt(16753920, 1, 5), this.candleLight.position.set(0, this.height + 0.05, 0), this.candleLight.castShadow = !0, this.add(this.candleLight), this.animateFlicker();
2730
- }
2731
- animateFlicker() {
2732
- const o = () => {
2733
- this.candleLight.intensity = 1 + (Math.random() * 0.4 - 0.2), this.candleLight.position.x = Math.random() * 0.02 - 0.01, this.candleLight.position.z = Math.random() * 0.02 - 0.01, requestAnimationFrame(o);
2734
- };
2735
- o();
2801
+ class vn extends w {
2802
+ constructor({
2803
+ radiusTop: t = 0.2,
2804
+ //
2805
+ radiusBottom: o = 0.2,
2806
+ height: n = 1,
2807
+ flameHeight: s = 0.25,
2808
+ flameRadius: r = 0.05,
2809
+ segments: a = 16
2810
+ } = {}) {
2811
+ super(
2812
+ new De({
2813
+ radiusTop: t,
2814
+ radiusBottom: o,
2815
+ height: n,
2816
+ flameHeight: s,
2817
+ flameRadius: r,
2818
+ segments: a
2819
+ }),
2820
+ [
2821
+ new y({ color: 16777215 }),
2822
+ new y({ color: 16766720, emissive: 16753920, emissiveIntensity: 0.35 })
2823
+ ]
2824
+ );
2736
2825
  }
2737
2826
  }
2738
- class wn extends O {
2827
+ class gn extends w {
2828
+ constructor({ height: t = 0.25, radius: o = 0.05, segmentsU: n = 16, segmentsV: s = 16 } = {}) {
2829
+ super(
2830
+ new It({ segmentsU: n, segmentsV: s, height: t, radius: o }),
2831
+ new y({ color: 16766720, emissive: 16753920, emissiveIntensity: 0.35 })
2832
+ );
2833
+ }
2834
+ }
2835
+ class In extends L {
2739
2836
  constructor(t = 1.3, o = 0.5) {
2740
2837
  super();
2741
- const n = new P(o, o, 0.2, 16), r = new M({ color: 9127187, flatShading: !0 }), s = new y(n, r);
2742
- s.position.set(0, 0, 0), this.add(s);
2743
- const a = new P(o * 0.9, o * 0.9, t), i = new M({ color: 16766720, flatShading: !0, transparent: !0, opacity: 0.6 }), c = new y(a, i);
2838
+ const n = new P(o, o, 0.2, 16), s = new y({ color: 9127187, flatShading: !0 }), r = new w(n, s);
2839
+ r.position.set(0, 0, 0), this.add(r);
2840
+ const a = new P(o * 0.9, o * 0.9, t), i = new y({ color: 16766720, flatShading: !0, transparent: !0, opacity: 0.6 }), c = new w(a, i);
2744
2841
  c.position.set(0, t / 2 + 0.1, 0), this.add(c);
2745
- const l = new Z(o * 1.1, 0.5, 8), u = new M({ color: 9127187, flatShading: !0 }), m = new y(l, u);
2842
+ const l = new Z(o * 1.1, 0.5, 8), u = new y({ color: 9127187, flatShading: !0 }), m = new w(l, u);
2746
2843
  m.position.set(0, t + 0.35, 0), this.add(m);
2747
- const h = new dt(o * 0.8, 0.05, 8, 16), f = new M({ color: 9127187, flatShading: !0 }), p = new y(h, f);
2844
+ const h = new Mt(o * 0.8, 0.05, 8, 16), f = new y({ color: 9127187, flatShading: !0 }), p = new w(h, f);
2748
2845
  p.position.set(0, t + 0.85, 0), this.add(p);
2749
- const d = new Mt(16755200, 1.5, 15);
2846
+ const d = new Ct(16755200, 1.5, 15);
2750
2847
  d.position.set(0, t / 2 + 0.1, 0), d.castShadow = !0, this.add(d);
2751
2848
  }
2752
2849
  }
2753
- class vn extends y {
2850
+ class An extends w {
2754
2851
  constructor() {
2755
- super(new ze(), [
2756
- new M({ color: 8421504, flatShading: !0 }),
2757
- new M({ color: 4950843, flatShading: !0, opacity: 0.8, transparent: !0 })
2852
+ super(new ke(), [
2853
+ new y({ color: 8421504, flatShading: !0 }),
2854
+ new y({ color: 4950843, flatShading: !0, opacity: 0.8, transparent: !0 })
2758
2855
  ]);
2759
2856
  }
2760
2857
  }
2761
- class xn extends y {
2858
+ class En extends w {
2762
2859
  constructor(t = 1, o = 4, n = 4) {
2763
2860
  super(
2764
- new ke(t, o, n),
2765
- new M({ color: 8421504, flatShading: !0 })
2861
+ new qe(t, o, n),
2862
+ new y({ color: 8421504, flatShading: !0 })
2766
2863
  );
2767
2864
  }
2768
2865
  }
2769
- class gn extends y {
2866
+ class bn extends w {
2770
2867
  constructor() {
2771
- super(new qe(), new M({ color: 8421504, flatShading: !0 }));
2868
+ super(new Ye(), new y({ color: 8421504, flatShading: !0 }));
2772
2869
  }
2773
2870
  }
2774
- class In extends O {
2871
+ class Sn extends L {
2775
2872
  constructor() {
2776
2873
  super();
2777
- const t = new P(0.3, 0.4, 0.1, 16), o = new M({
2874
+ const t = new P(0.3, 0.4, 0.1, 16), o = new y({
2778
2875
  color: 3355443,
2779
2876
  roughness: 0.6,
2780
2877
  metalness: 0.3
2781
- }), n = new y(t, o);
2878
+ }), n = new w(t, o);
2782
2879
  n.position.y = 0.05;
2783
- const r = new P(0.1, 0.1, 0.7, 16), s = new M({
2880
+ const s = new P(0.1, 0.1, 0.7, 16), r = new y({
2784
2881
  color: 5592405,
2785
2882
  roughness: 0.5,
2786
2883
  metalness: 0.4
2787
- }), a = new y(r, s);
2884
+ }), a = new w(s, r);
2788
2885
  a.position.y = 0.4;
2789
- const i = new Z(0.075, 0.2, 16), c = new M({
2886
+ const i = new Z(0.075, 0.2, 16), c = new y({
2790
2887
  color: 16733440,
2791
2888
  emissive: 16733440,
2792
2889
  emissiveIntensity: 0.6,
2793
2890
  transparent: !0,
2794
2891
  opacity: 0.8
2795
- }), l = new y(i, c);
2892
+ }), l = new w(i, c);
2796
2893
  l.position.y = 0.8, this.add(n, a, l);
2797
2894
  }
2798
2895
  }
2799
- class An extends O {
2896
+ class Pn extends L {
2800
2897
  constructor() {
2801
2898
  super();
2802
- const t = new b(3, 4, 0.1), o = new M({
2899
+ const t = new b(3, 4, 0.1), o = new y({
2803
2900
  color: 3026478,
2804
2901
  roughness: 0.8,
2805
2902
  metalness: 0.6
2806
- }), n = new b(0.2, 0.5, 0.2), r = new M({
2903
+ }), n = new b(0.2, 0.5, 0.2), s = new y({
2807
2904
  color: 11184810,
2808
2905
  roughness: 0.5,
2809
2906
  metalness: 0.7
2810
- }), s = new P(0.3, 0.3, 0.1, 16), a = new M({
2907
+ }), r = new P(0.3, 0.3, 0.1, 16), a = new y({
2811
2908
  color: 5592405,
2812
2909
  roughness: 0.7,
2813
2910
  metalness: 0.5
2814
- }), i = new y(t, o);
2815
- for (let w = -1; w <= 1; w++) {
2816
- const g = new y(n, r);
2817
- g.position.set(w, 1.5, 0.1), i.add(g);
2911
+ }), i = new w(t, o);
2912
+ for (let M = -1; M <= 1; M++) {
2913
+ const g = new w(n, s);
2914
+ g.position.set(M, 1.5, 0.1), i.add(g);
2818
2915
  }
2819
- const c = new y(s, a);
2916
+ const c = new w(r, a);
2820
2917
  c.rotation.x = Math.PI / 2, c.position.set(0, 0.5, 0.15), i.add(c);
2821
- const l = new _(0.15, 8, 8), u = new M({
2918
+ const l = new U(0.15, 8, 8), u = new y({
2822
2919
  color: 16711680,
2823
2920
  emissive: 16711680,
2824
2921
  emissiveIntensity: 0.5
2825
- }), m = new y(l, u);
2922
+ }), m = new w(l, u);
2826
2923
  m.position.set(0, -1, 0.1), i.add(m), this.add(i);
2827
2924
  let h = 0.015, f = 0.8, p = 0.2;
2828
2925
  function d() {
2829
2926
  requestAnimationFrame(d);
2830
- const w = p + Math.abs(Math.sin(Date.now() * h)) * (f - p);
2831
- m.material.emissiveIntensity = w;
2927
+ const M = p + Math.abs(Math.sin(Date.now() * h)) * (f - p);
2928
+ m.material.emissiveIntensity = M;
2832
2929
  }
2833
2930
  d();
2834
2931
  }
2835
2932
  }
2836
- class En extends y {
2933
+ class Tn extends w {
2837
2934
  constructor({
2838
2935
  flaskRadius: t = 1,
2839
2936
  //
2840
2937
  neckRadius: o = 0.3,
2841
2938
  height: n = 2.5,
2842
- neckHeight: r = 1,
2843
- radialSegments: s = 16
2939
+ neckHeight: s = 1,
2940
+ radialSegments: r = 16
2844
2941
  } = {}) {
2845
2942
  super(
2846
- new Ye({ flaskRadius: t, neckRadius: o, height: n, neckHeight: r, radialSegments: s }),
2943
+ new Xe({ flaskRadius: t, neckRadius: o, height: n, neckHeight: s, radialSegments: r }),
2847
2944
  new tt({
2848
2945
  color: 8965375,
2849
2946
  transparent: !0,
@@ -2852,15 +2949,15 @@ class En extends y {
2852
2949
  metalness: 0.1,
2853
2950
  reflectivity: 0.8,
2854
2951
  transmission: 0.9,
2855
- side: k
2952
+ side: V
2856
2953
  })
2857
2954
  );
2858
2955
  }
2859
2956
  }
2860
- class bn extends y {
2957
+ class Gn extends w {
2861
2958
  constructor() {
2862
2959
  super(
2863
- new Ze(),
2960
+ new Qe(),
2864
2961
  new tt({
2865
2962
  color: 8965375,
2866
2963
  transparent: !0,
@@ -2870,111 +2967,111 @@ class bn extends y {
2870
2967
  metalness: 0.1,
2871
2968
  reflectivity: 0.8,
2872
2969
  transmission: 0.9,
2873
- side: k
2970
+ side: V
2874
2971
  })
2875
2972
  );
2876
2973
  }
2877
2974
  }
2878
- class Sn extends O {
2975
+ class Cn extends L {
2879
2976
  constructor() {
2880
2977
  super();
2881
- const t = new b(2, 3, 0.1), o = new M({
2978
+ const t = new b(2, 3, 0.1), o = new y({
2882
2979
  color: 3355443,
2883
2980
  roughness: 0.8,
2884
2981
  metalness: 0.5
2885
- }), n = new y(t, o), r = new P(0.1, 0.1, 0.2, 8), s = new P(0.05, 0.05, 1, 8), a = new M({
2982
+ }), n = new w(t, o), s = new P(0.1, 0.1, 0.2, 8), r = new P(0.05, 0.05, 1, 8), a = new y({
2886
2983
  color: 11184810,
2887
2984
  roughness: 0.5,
2888
2985
  metalness: 0.7
2889
2986
  });
2890
2987
  for (let i = -0.5; i <= 0.5; i += 0.5) {
2891
- const c = new y(r, a);
2988
+ const c = new w(s, a);
2892
2989
  c.position.set(i, 1, 0.1);
2893
- const l = new y(s, a);
2990
+ const l = new w(r, a);
2894
2991
  l.position.y = 0.5, c.add(l), this.add(c);
2895
2992
  }
2896
2993
  this.add(n);
2897
2994
  }
2898
2995
  }
2899
- class Pn extends O {
2996
+ class Bn extends L {
2900
2997
  constructor() {
2901
2998
  super();
2902
- const t = new b(1, 0.2, 0.5), o = new M({
2999
+ const t = new b(1, 0.2, 0.5), o = new y({
2903
3000
  color: 4473924,
2904
3001
  roughness: 0.6,
2905
3002
  metalness: 0.3
2906
- }), n = new y(t, o);
3003
+ }), n = new w(t, o);
2907
3004
  n.position.y = 0.1;
2908
- const r = new b(0.2, 1, 0.2), s = new y(r, o);
2909
- s.position.set(0, 0.6, -0.2);
2910
- const a = new P(0.1, 0.1, 0.4, 8), i = new M({
3005
+ const s = new b(0.2, 1, 0.2), r = new w(s, o);
3006
+ r.position.set(0, 0.6, -0.2);
3007
+ const a = new P(0.1, 0.1, 0.4, 8), i = new y({
2911
3008
  color: 3355443,
2912
3009
  roughness: 0.5,
2913
3010
  metalness: 0.6
2914
- }), c = new y(a, i);
3011
+ }), c = new w(a, i);
2915
3012
  c.position.set(0, 1.1, -0.35), c.rotation.x = -Math.PI / 4;
2916
- const l = new b(0.6, 0.1, 0.6), u = new M({
3013
+ const l = new b(0.6, 0.1, 0.6), u = new y({
2917
3014
  color: 5592405,
2918
3015
  roughness: 0.8,
2919
3016
  metalness: 0.2
2920
- }), m = new y(l, u);
2921
- m.position.set(0, 0.6, 0), this.add(n, s, c, m);
3017
+ }), m = new w(l, u);
3018
+ m.position.set(0, 0.6, 0), this.add(n, r, c, m);
2922
3019
  }
2923
3020
  }
2924
- class Tn extends O {
3021
+ class Rn extends L {
2925
3022
  constructor() {
2926
3023
  super();
2927
- const t = new je(), o = new P(0.2, 0.3, 1.5, 8);
3024
+ const t = new Ke(), o = new P(0.2, 0.3, 1.5, 8);
2928
3025
  o.translate(0, 0.75, 0);
2929
- const n = new M({
3026
+ const n = new y({
2930
3027
  color: 6045747,
2931
3028
  // Dark earthy tone
2932
3029
  roughness: 1,
2933
3030
  metalness: 0,
2934
- side: k
3031
+ side: V
2935
3032
  // Render inside and outside
2936
- }), r = new M({
3033
+ }), s = new y({
2937
3034
  color: 9132587,
2938
3035
  // Slightly lighter earthy color
2939
3036
  roughness: 0.8,
2940
3037
  metalness: 0.1
2941
- }), s = new y(t, n);
2942
- s.castShadow = !0;
2943
- const a = new y(o, r);
2944
- a.castShadow = !0, a.position.set(0.3, 1.3, 0), a.rotation.z = Math.PI / 4, this.add(s, a);
3038
+ }), r = new w(t, n);
3039
+ r.castShadow = !0;
3040
+ const a = new w(o, s);
3041
+ a.castShadow = !0, a.position.set(0.3, 1.3, 0), a.rotation.z = Math.PI / 4, this.add(r, a);
2945
3042
  }
2946
3043
  }
2947
- class Gn extends y {
2948
- constructor({ width: o = 3, height: n = 4, depth: r = 0.1 } = {}) {
3044
+ class Nn extends w {
3045
+ constructor({ width: o = 3, height: n = 4, depth: s = 0.1 } = {}) {
2949
3046
  super();
2950
3047
  A(this, "geometry");
2951
3048
  A(this, "material");
2952
- this.geometry = new b(o, n, r), this.material = new M({
3049
+ this.geometry = new b(o, n, s), this.material = new y({
2953
3050
  color: 3026478,
2954
3051
  roughness: 0.8,
2955
3052
  metalness: 0.6
2956
3053
  });
2957
3054
  }
2958
3055
  }
2959
- class Cn extends y {
3056
+ class _n extends w {
2960
3057
  constructor({
2961
3058
  radius: o = 0.15,
2962
3059
  //
2963
3060
  color: n = 16762823,
2964
- emissive: r = 16711680,
2965
- emissiveIntensity: s = 0.5
3061
+ emissive: s = 16711680,
3062
+ emissiveIntensity: r = 0.5
2966
3063
  } = {}) {
2967
3064
  super();
2968
3065
  A(this, "geometry");
2969
3066
  A(this, "material");
2970
- this.geometry = new _(o, 8, 8), this.material = new M({
3067
+ this.geometry = new U(o, 8, 8), this.material = new y({
2971
3068
  color: n,
2972
- emissive: r,
2973
- emissiveIntensity: s
3069
+ emissive: s,
3070
+ emissiveIntensity: r
2974
3071
  });
2975
3072
  }
2976
3073
  }
2977
- class Bn extends O {
3074
+ class Un extends L {
2978
3075
  constructor() {
2979
3076
  super();
2980
3077
  const t = 100, o = 0.05, n = new Bt(
@@ -2987,17 +3084,17 @@ class Bn extends O {
2987
3084
  Math.sin(m) * 0.4
2988
3085
  );
2989
3086
  })
2990
- ), r = new Rt(n, 200, 0.1, 8, !1), s = new M({
3087
+ ), s = new Rt(n, 200, 0.1, 8, !1), r = new y({
2991
3088
  color: 8965375,
2992
3089
  transparent: !0,
2993
3090
  opacity: 0.3,
2994
3091
  roughness: 0.1,
2995
3092
  metalness: 0.2,
2996
3093
  emissive: 8965375
2997
- }), a = new y(r, s);
3094
+ }), a = new w(s, r);
2998
3095
  this.add(a);
2999
3096
  function i() {
3000
- s.emissiveIntensity = 0.2 + Math.sin(Date.now() * 5e-3) * 0.1;
3097
+ r.emissiveIntensity = 0.2 + Math.sin(Date.now() * 5e-3) * 0.1;
3001
3098
  }
3002
3099
  function c() {
3003
3100
  requestAnimationFrame(c), i();
@@ -3005,18 +3102,18 @@ class Bn extends O {
3005
3102
  c();
3006
3103
  }
3007
3104
  }
3008
- class Rn extends y {
3105
+ class On extends w {
3009
3106
  constructor({
3010
3107
  radius: t = 0.3,
3011
3108
  //
3012
3109
  height: o = 0.4,
3013
3110
  count: n = 3,
3014
- thickness: r = 0.03,
3015
- radialSegments: s = 16
3111
+ thickness: s = 0.03,
3112
+ radialSegments: r = 16
3016
3113
  } = {}) {
3017
3114
  super(
3018
- new Qe({ radius: t, height: o, count: n, thickness: r, radialSegments: s }),
3019
- new M({
3115
+ new Je({ radius: t, height: o, count: n, thickness: s, radialSegments: r }),
3116
+ new y({
3020
3117
  color: 8947848,
3021
3118
  roughness: 0.7,
3022
3119
  metalness: 0.3
@@ -3024,27 +3121,27 @@ class Rn extends y {
3024
3121
  );
3025
3122
  }
3026
3123
  }
3027
- class Nn extends y {
3124
+ class zn extends w {
3028
3125
  constructor() {
3029
- super(new Ke(), [
3030
- new M({
3126
+ super(new $e(), [
3127
+ new y({
3031
3128
  color: 3355443,
3032
3129
  roughness: 0.6,
3033
3130
  metalness: 0.5
3034
3131
  }),
3035
- new M({
3132
+ new y({
3036
3133
  color: 16737792,
3037
3134
  roughness: 0.5,
3038
3135
  metalness: 0.8,
3039
- side: k
3136
+ side: V
3040
3137
  })
3041
3138
  ]);
3042
3139
  }
3043
3140
  }
3044
- class _n extends y {
3045
- constructor(t = 0.2, o = 0.2, n = 3, r = 32) {
3141
+ class Fn extends w {
3142
+ constructor(t = 0.2, o = 0.2, n = 3, s = 32) {
3046
3143
  super(
3047
- new it(t, o, n, r),
3144
+ new ct(t, o, n, s),
3048
3145
  new tt({
3049
3146
  color: 8965375,
3050
3147
  transparent: !0,
@@ -3054,66 +3151,66 @@ class _n extends y {
3054
3151
  reflectivity: 0.8,
3055
3152
  transmission: 0.9,
3056
3153
  depthWrite: !1,
3057
- side: k
3154
+ side: V
3058
3155
  })
3059
3156
  );
3060
3157
  }
3061
3158
  }
3062
- class Un extends O {
3159
+ class Ln extends L {
3063
3160
  constructor(t = 3, o = [65450, 16711850, 11141375]) {
3064
3161
  super();
3065
- const n = new b(3, 0.2, 1), r = new M({
3162
+ const n = new b(3, 0.2, 1), s = new y({
3066
3163
  color: 9127187,
3067
3164
  // Wooden color or change to metallic tone
3068
3165
  roughness: 0.7,
3069
3166
  metalness: 0.3
3070
- }), s = new y(n, r);
3071
- s.position.y = 0.5, s.castShadow = !0;
3072
- const a = new it(0.1, 0.1, 1, 16), i = new M({
3167
+ }), r = new w(n, s);
3168
+ r.position.y = 0.5, r.castShadow = !0;
3169
+ const a = new ct(0.1, 0.1, 1, 16), i = new y({
3073
3170
  color: 11184810,
3074
3171
  transparent: !0,
3075
3172
  opacity: 0.4,
3076
3173
  roughness: 0.1,
3077
3174
  metalness: 0.5,
3078
3175
  depthWrite: !1,
3079
- side: k
3176
+ side: V
3080
3177
  });
3081
3178
  for (let c = 0; c < t; c++) {
3082
- const l = new y(a, i), u = (c - (t - 1) / 2) * 0.8;
3179
+ const l = new w(a, i), u = (c - (t - 1) / 2) * 0.8;
3083
3180
  l.position.set(u, 1, 0), l.castShadow = !0;
3084
- const m = new it(0.099, 0.099, 0.5, 16, !1), h = o[c % o.length], f = new M({
3181
+ const m = new ct(0.099, 0.099, 0.5, 16, !1), h = o[c % o.length], f = new y({
3085
3182
  color: h,
3086
3183
  emissive: h,
3087
3184
  emissiveIntensity: 0.5,
3088
3185
  transparent: !0,
3089
3186
  opacity: 0.6
3090
- }), p = new y(m, f);
3091
- p.position.set(0, -0.25, 0), l.add(p), s.add(l);
3187
+ }), p = new w(m, f);
3188
+ p.position.set(0, -0.25, 0), l.add(p), r.add(l);
3092
3189
  }
3093
- this.add(s);
3190
+ this.add(r);
3094
3191
  }
3095
3192
  }
3096
- class eo extends j {
3193
+ class no extends j {
3097
3194
  constructor(t = 5, o = 0.5, n = 1) {
3098
3195
  super();
3099
- const r = Math.PI * 2 / t, s = r / 2, a = r / 4;
3196
+ const s = Math.PI * 2 / t, r = s / 2, a = s / 4;
3100
3197
  this.moveTo(Math.cos(0) * n, -Math.sin(0) * n);
3101
3198
  for (let i = 1; i <= t; ++i) {
3102
- let c = Math.cos(r * i - a * 3) * (o / Math.cos(a)), l = -Math.sin(r * i - a * 3) * (o / Math.cos(a)), u = Math.cos(r * i - s) * o, m = -Math.sin(r * i - s) * o;
3103
- this.quadraticCurveTo(c, l, u, m), c = Math.cos(r * i - a) * (o / Math.cos(a)), l = -Math.sin(r * i - a) * (o / Math.cos(a)), u = Math.cos(r * i) * n, m = -Math.sin(r * i) * n, this.quadraticCurveTo(c, l, u, m);
3199
+ let c = Math.cos(s * i - a * 3) * (o / Math.cos(a)), l = -Math.sin(s * i - a * 3) * (o / Math.cos(a)), u = Math.cos(s * i - r) * o, m = -Math.sin(s * i - r) * o;
3200
+ this.quadraticCurveTo(c, l, u, m), c = Math.cos(s * i - a) * (o / Math.cos(a)), l = -Math.sin(s * i - a) * (o / Math.cos(a)), u = Math.cos(s * i) * n, m = -Math.sin(s * i) * n, this.quadraticCurveTo(c, l, u, m);
3104
3201
  }
3105
3202
  this.closePath();
3106
3203
  }
3107
3204
  }
3108
- class On extends y {
3109
- constructor(t = 5, o = 0.5, n = 1, r = 0.25) {
3205
+ class Dn extends w {
3206
+ constructor(t = 5, o = 0.5, n = 1, s = 0.25) {
3110
3207
  super();
3111
- const s = new eo(t, o, n), a = new Q(s, {
3112
- depth: r,
3113
- bevelEnabled: r > 0,
3208
+ const r = new no(t, o, n), a = new Q(r, {
3209
+ depth: s,
3210
+ bevelEnabled: s > 0,
3114
3211
  bevelThickness: 0,
3115
3212
  bevelSize: 0
3116
- }), i = new M({
3213
+ }), i = new y({
3117
3214
  color: 16776960,
3118
3215
  emissive: 16766720,
3119
3216
  emissiveIntensity: 0.25,
@@ -3124,31 +3221,31 @@ class On extends y {
3124
3221
  a.center(), this.geometry = a, this.material = i;
3125
3222
  }
3126
3223
  }
3127
- class oo extends j {
3128
- constructor(t = 5, o = 0.5, n = 1, r = 5, s = 0.25) {
3224
+ class so extends j {
3225
+ constructor(t = 5, o = 0.5, n = 1, s = 5, r = 0.25) {
3129
3226
  super();
3130
3227
  const a = Math.PI * 2 / t, i = a / 4;
3131
3228
  this.moveTo(Math.cos(0) * n, -Math.sin(0) * n);
3132
3229
  for (let c = 1; c <= t; ++c)
3133
3230
  this.lineTo(Math.cos(a * c - i * 3) * o, -Math.sin(a * c - i * 3) * o), this.lineTo(Math.cos(a * c - i * 2) * o, -Math.sin(a * c - i * 2) * o), this.lineTo(Math.cos(a * c - i) * n, -Math.sin(a * c - i) * n), this.lineTo(Math.cos(a * c) * n, -Math.sin(a * c) * n);
3134
- if (this.closePath(), s > 0 && r > 2) {
3135
- const c = new Nt(), l = Math.PI * 2 / r;
3136
- c.moveTo(Math.cos(0) * s, -Math.sin(0) * s);
3137
- for (let u = 1; u < r; ++u)
3138
- c.lineTo(Math.cos(l * u) * s, -Math.sin(l * u) * s);
3139
- c.lineTo(Math.cos(0) * s, -Math.sin(0) * s), this.holes.push(c);
3231
+ if (this.closePath(), r > 0 && s > 2) {
3232
+ const c = new Nt(), l = Math.PI * 2 / s;
3233
+ c.moveTo(Math.cos(0) * r, -Math.sin(0) * r);
3234
+ for (let u = 1; u < s; ++u)
3235
+ c.lineTo(Math.cos(l * u) * r, -Math.sin(l * u) * r);
3236
+ c.lineTo(Math.cos(0) * r, -Math.sin(0) * r), this.holes.push(c);
3140
3237
  }
3141
3238
  }
3142
3239
  }
3143
- class Ln extends y {
3144
- constructor(t = 5, o = 0.5, n = 1, r = 5, s = 0.25, a = 0.25) {
3240
+ class kn extends w {
3241
+ constructor(t = 5, o = 0.5, n = 1, s = 5, r = 0.25, a = 0.25) {
3145
3242
  super();
3146
- const i = new oo(t, o, n, r, s), c = new Q(i, {
3243
+ const i = new so(t, o, n, s, r), c = new Q(i, {
3147
3244
  depth: a,
3148
3245
  bevelEnabled: a > 0,
3149
3246
  bevelThickness: 0,
3150
3247
  bevelSize: 0
3151
- }), l = new M({
3248
+ }), l = new y({
3152
3249
  color: 11184810,
3153
3250
  metalness: 0.8,
3154
3251
  roughness: 0.2
@@ -3156,8 +3253,8 @@ class Ln extends y {
3156
3253
  c.center(), this.geometry = c, this.material = l;
3157
3254
  }
3158
3255
  }
3159
- class no extends j {
3160
- constructor(t = 1, o = 2.1, n = 1.4, r = 1.6) {
3256
+ class ro extends j {
3257
+ constructor(t = 1, o = 2.1, n = 1.4, s = 1.6) {
3161
3258
  super(), this.moveTo(0, n * t / 3), this.bezierCurveTo(
3162
3259
  -o * 0.375 * t,
3163
3260
  n * t,
@@ -3166,7 +3263,7 @@ class no extends j {
3166
3263
  n * t / 3,
3167
3264
  // Control point 2 for the left side of the heart
3168
3265
  0,
3169
- -r * t
3266
+ -s * t
3170
3267
  // Bottom tip of the heart, controlled by `tipDepth`
3171
3268
  ), this.bezierCurveTo(
3172
3269
  o * t,
@@ -3181,15 +3278,15 @@ class no extends j {
3181
3278
  );
3182
3279
  }
3183
3280
  }
3184
- class Fn extends y {
3185
- constructor(t = 1, o = 1, n = 1, r = 10, s = 0.25) {
3281
+ class Vn extends w {
3282
+ constructor(t = 1, o = 1, n = 1, s = 10, r = 0.25) {
3186
3283
  super();
3187
- const a = new no(t, o, n, r), i = new Q(a, {
3188
- depth: s,
3189
- bevelEnabled: s > 0,
3284
+ const a = new ro(t, o, n, s), i = new Q(a, {
3285
+ depth: r,
3286
+ bevelEnabled: r > 0,
3190
3287
  bevelThickness: 0,
3191
3288
  bevelSize: 0
3192
- }), c = new M({
3289
+ }), c = new y({
3193
3290
  color: 12986408,
3194
3291
  emissive: 12981270,
3195
3292
  emissiveIntensity: 0.25,
@@ -3200,25 +3297,25 @@ class Fn extends y {
3200
3297
  i.center(), this.geometry = i, this.material = c;
3201
3298
  }
3202
3299
  }
3203
- class so extends j {
3300
+ class ao extends j {
3204
3301
  constructor(t = 5, o = 0.5, n = 1) {
3205
3302
  super();
3206
- const r = Math.PI * 2 / t, s = r / 2;
3303
+ const s = Math.PI * 2 / t, r = s / 2;
3207
3304
  this.moveTo(Math.cos(0) * n, Math.sin(0) * n);
3208
3305
  for (let a = 1; a <= t; ++a)
3209
- this.lineTo(Math.cos(r * a - s) * o, Math.sin(r * a - s) * o), this.lineTo(Math.cos(r * a) * n, Math.sin(r * a) * n);
3306
+ this.lineTo(Math.cos(s * a - r) * o, Math.sin(s * a - r) * o), this.lineTo(Math.cos(s * a) * n, Math.sin(s * a) * n);
3210
3307
  this.closePath();
3211
3308
  }
3212
3309
  }
3213
- class zn extends y {
3214
- constructor(t = 5, o = 0.5, n = 1, r = 0.25) {
3310
+ class qn extends w {
3311
+ constructor(t = 5, o = 0.5, n = 1, s = 0.25) {
3215
3312
  super();
3216
- const s = new so(t, o, n), a = new Q(s, {
3217
- depth: r,
3218
- bevelEnabled: r > 0,
3313
+ const r = new ao(t, o, n), a = new Q(r, {
3314
+ depth: s,
3315
+ bevelEnabled: s > 0,
3219
3316
  bevelThickness: 0,
3220
3317
  bevelSize: 0
3221
- }), i = new M({
3318
+ }), i = new y({
3222
3319
  color: 16776960,
3223
3320
  emissive: 16766720,
3224
3321
  emissiveIntensity: 0.25,
@@ -3229,18 +3326,18 @@ class zn extends y {
3229
3326
  a.center(), this.geometry = a, this.material = i;
3230
3327
  }
3231
3328
  }
3232
- class Dn extends y {
3329
+ class Yn extends w {
3233
3330
  constructor() {
3234
- super(new Ve(), new M({ color: 16777215 }));
3331
+ super(new He(), new y({ color: 16777215 }));
3235
3332
  }
3236
3333
  }
3237
- class kn extends y {
3334
+ class Hn extends w {
3238
3335
  constructor({
3239
3336
  trunkRadiusTop: t = 0.25,
3240
3337
  trunkRadiusBottom: o = 0.4,
3241
3338
  trunkHeight: n = 2.5,
3242
- trunkSegments: r = 14,
3243
- trunkColor: s = 9127187,
3339
+ trunkSegments: s = 14,
3340
+ trunkColor: r = 9127187,
3244
3341
  leafSize: a = 0.8,
3245
3342
  leafCount: i = 6,
3246
3343
  leafDetail: c = 0,
@@ -3248,24 +3345,24 @@ class kn extends y {
3248
3345
  leafColor: u = 2263842
3249
3346
  } = {}) {
3250
3347
  super(
3251
- new We({
3348
+ new eo({
3252
3349
  trunkRadiusTop: t,
3253
3350
  trunkRadiusBottom: o,
3254
3351
  trunkHeight: n,
3255
- trunkSegments: r,
3352
+ trunkSegments: s,
3256
3353
  leafSize: a,
3257
3354
  leafCount: i,
3258
3355
  leafDetail: c,
3259
3356
  leafSpreadRadius: l
3260
3357
  }),
3261
3358
  [
3262
- new M({
3263
- color: s,
3359
+ new y({
3360
+ color: r,
3264
3361
  roughness: 0.9,
3265
3362
  metalness: 0,
3266
3363
  flatShading: !0
3267
3364
  }),
3268
- new M({
3365
+ new y({
3269
3366
  color: u,
3270
3367
  roughness: 0.8,
3271
3368
  metalness: 0,
@@ -3275,55 +3372,55 @@ class kn extends y {
3275
3372
  );
3276
3373
  }
3277
3374
  }
3278
- class qn extends y {
3375
+ class Xn extends w {
3279
3376
  constructor({
3280
3377
  radius: t = 3,
3281
3378
  //
3282
3379
  height: o = 0.6,
3283
3380
  widthSegments: n = 64,
3284
- heightSegments: r = 16,
3285
- phiStart: s = 0,
3381
+ heightSegments: s = 16,
3382
+ phiStart: r = 0,
3286
3383
  phiLength: a = Math.PI * 2
3287
3384
  } = {}) {
3288
3385
  super(
3289
- new Je({
3386
+ new We({
3290
3387
  radius: t,
3291
3388
  height: o,
3292
3389
  widthSegments: n,
3293
- heightSegments: r,
3294
- phiStart: s,
3390
+ heightSegments: s,
3391
+ phiStart: r,
3295
3392
  phiLength: a
3296
3393
  }),
3297
- new M({ color: 65280, flatShading: !0 })
3394
+ new y({ color: 65280, flatShading: !0 })
3298
3395
  );
3299
3396
  }
3300
3397
  }
3301
- class Vn extends y {
3398
+ class Zn extends w {
3302
3399
  constructor({
3303
3400
  radius: t = At(5, Math.PI / 10),
3304
3401
  //
3305
3402
  widthSegments: o = 64,
3306
3403
  heightSegments: n = 32,
3307
- phiStart: r = 0,
3308
- phiLength: s = Math.PI * 2,
3404
+ phiStart: s = 0,
3405
+ phiLength: r = Math.PI * 2,
3309
3406
  thetaLength: a = Math.PI / 10
3310
3407
  } = {}) {
3311
3408
  super(
3312
- new $e({
3409
+ new to({
3313
3410
  radius: t,
3314
3411
  widthSegments: o,
3315
3412
  heightSegments: n,
3316
- phiStart: r,
3317
- phiLength: s,
3413
+ phiStart: s,
3414
+ phiLength: r,
3318
3415
  thetaLength: a
3319
3416
  }),
3320
- new M({ color: 65280, flatShading: !0 })
3417
+ new y({ color: 65280, flatShading: !0 })
3321
3418
  );
3322
3419
  }
3323
3420
  }
3324
- function Yn(e, { time: t = 0, waveFrequency: o = 0.2, waveAmplitude: n = 0.5 } = {}) {
3325
- e.onBeforeCompile = (r) => {
3326
- r.uniforms.time = { value: t }, r.uniforms.waveFrequency = { value: o }, r.uniforms.waveAmplitude = { value: n }, r.vertexShader = `
3421
+ function jn(e, { time: t = 0, waveFrequency: o = 0.2, waveAmplitude: n = 0.5 } = {}) {
3422
+ e.onBeforeCompile = (s) => {
3423
+ s.uniforms.time = { value: t }, s.uniforms.waveFrequency = { value: o }, s.uniforms.waveAmplitude = { value: n }, s.vertexShader = `
3327
3424
  uniform float time;
3328
3425
  uniform float waveFrequency;
3329
3426
  uniform float waveAmplitude;
@@ -3337,20 +3434,20 @@ function Yn(e, { time: t = 0, waveFrequency: o = 0.2, waveAmplitude: n = 0.5 } =
3337
3434
 
3338
3435
  return displaced;
3339
3436
  }
3340
- ` + r.vertexShader, r.vertexShader = r.vertexShader.replace(
3437
+ ` + s.vertexShader, s.vertexShader = s.vertexShader.replace(
3341
3438
  "#include <begin_vertex>",
3342
3439
  `
3343
3440
  vec3 transformed = waterDisplacement(position, normal);
3344
3441
  `
3345
- ), e.userData.shader = r;
3442
+ ), e.userData.shader = s;
3346
3443
  };
3347
3444
  }
3348
- function Hn(e, t) {
3445
+ function Qn(e, t) {
3349
3446
  e.userData.shader && (e.userData.shader.uniforms.time.value += t);
3350
3447
  }
3351
- function Xn(e, { time: t = 0, intensity: o = 1, axis: n = mt.XYZ, scale: r = 10 } = {}) {
3352
- e.onBeforeCompile = (s) => {
3353
- s.uniforms.time = { value: t }, s.uniforms.axis = { value: n }, s.uniforms.intensity = { value: o }, s.uniforms.scale = { value: r }, s.vertexShader = `
3448
+ function Kn(e, { time: t = 0, intensity: o = 1, axis: n = ht.XYZ, scale: s = 10 } = {}) {
3449
+ e.onBeforeCompile = (r) => {
3450
+ r.uniforms.time = { value: t }, r.uniforms.axis = { value: n }, r.uniforms.intensity = { value: o }, r.uniforms.scale = { value: s }, r.vertexShader = `
3354
3451
  uniform float time;
3355
3452
  uniform vec3 axis;
3356
3453
  uniform float intensity;
@@ -3381,7 +3478,7 @@ function Xn(e, { time: t = 0, intensity: o = 1, axis: n = mt.XYZ, scale: r = 10
3381
3478
 
3382
3479
  return o4.y * d.y + o4.x * (1.0 - d.y);
3383
3480
  }
3384
- ` + s.vertexShader, s.vertexShader = s.vertexShader.replace(
3481
+ ` + r.vertexShader, r.vertexShader = r.vertexShader.replace(
3385
3482
  "#include <begin_vertex>",
3386
3483
  `
3387
3484
  vec3 transformed = vec3(position);
@@ -3389,19 +3486,19 @@ function Xn(e, { time: t = 0, intensity: o = 1, axis: n = mt.XYZ, scale: r = 10
3389
3486
  transformed += normalize(axis) * n * intensity;
3390
3487
  vec3 transformedNormal = normal;
3391
3488
  `
3392
- ), e.userData.shader = s;
3489
+ ), e.userData.shader = r;
3393
3490
  };
3394
3491
  }
3395
- function Zn(e, t) {
3492
+ function Jn(e, t) {
3396
3493
  e.userData.shader && (e.userData.shader.uniforms.time.value += t);
3397
3494
  }
3398
- const nt = {
3495
+ const st = {
3399
3496
  uniforms: {
3400
3497
  turbidity: { value: 10 },
3401
3498
  rayleigh: { value: 2 },
3402
3499
  mieCoefficient: { value: 5e-3 },
3403
3500
  mieDirectionalG: { value: 0.8 },
3404
- sunPosition: { value: new x().setFromSphericalCoords(1, L.degToRad(90), L.degToRad(180)) },
3501
+ sunPosition: { value: new x().setFromSphericalCoords(1, z.degToRad(90), z.degToRad(180)) },
3405
3502
  up: { value: new x(0, 1, 0) }
3406
3503
  },
3407
3504
  vertexShader: `
@@ -3557,7 +3654,7 @@ const nt = {
3557
3654
  #include <colorspace_fragment>
3558
3655
  }
3559
3656
  `
3560
- }, st = {
3657
+ }, rt = {
3561
3658
  uniforms: {
3562
3659
  topColor: { value: new $(0.5, 0.8, 1) },
3563
3660
  bottomColor: { value: new $(1, 1, 1) }
@@ -3578,7 +3675,7 @@ const nt = {
3578
3675
  gl_FragColor = vec4(mix(bottomColor, topColor, y), 1.0);
3579
3676
  }
3580
3677
  `
3581
- }, jn = {
3678
+ }, $n = {
3582
3679
  uniforms: {
3583
3680
  tDiffuse: { value: null },
3584
3681
  opacity: { value: 1 }
@@ -3599,7 +3696,7 @@ const nt = {
3599
3696
  gl_FragColor = opacity * texel;
3600
3697
  }
3601
3698
  `
3602
- }, rt = {
3699
+ }, at = {
3603
3700
  uniforms: {
3604
3701
  topColor: { value: new $(51) },
3605
3702
  bottomColor: { value: new $(17) },
@@ -3626,20 +3723,20 @@ const nt = {
3626
3723
  }
3627
3724
  `
3628
3725
  };
3629
- class Qn extends y {
3726
+ class Wn extends w {
3630
3727
  constructor() {
3631
3728
  super();
3632
3729
  A(this, "geometry");
3633
3730
  A(this, "material");
3634
3731
  this.geometry = new b(1, 1, 1), this.material = new W({
3635
- uniforms: nt.uniforms,
3636
- vertexShader: nt.vertexShader,
3637
- fragmentShader: nt.fragmentShader,
3732
+ uniforms: st.uniforms,
3733
+ vertexShader: st.vertexShader,
3734
+ fragmentShader: st.fragmentShader,
3638
3735
  depthWrite: !1,
3639
- side: lt
3736
+ side: ut
3640
3737
  }), this.scale.setScalar(45e4);
3641
- const o = L.degToRad(89), n = L.degToRad(180), r = new x().setFromSphericalCoords(1, o, n);
3642
- this.material.uniforms.sunPosition.value = r;
3738
+ const o = z.degToRad(89), n = z.degToRad(180), s = new x().setFromSphericalCoords(1, o, n);
3739
+ this.material.uniforms.sunPosition.value = s;
3643
3740
  }
3644
3741
  /**
3645
3742
  * Set the sun position.
@@ -3655,46 +3752,46 @@ class Qn extends y {
3655
3752
  * - This is the horizontal angle in the xy-plane.
3656
3753
  */
3657
3754
  sunPosition(o, n) {
3658
- const r = new x();
3659
- r.setFromSphericalCoords(1, o, n), this.material.uniforms.sunPosition.value = r;
3755
+ const s = new x();
3756
+ s.setFromSphericalCoords(1, o, n), this.material.uniforms.sunPosition.value = s;
3660
3757
  }
3661
3758
  }
3662
- class Kn extends y {
3759
+ class ts extends w {
3663
3760
  constructor(o = 1e3) {
3664
3761
  super();
3665
3762
  A(this, "geometry");
3666
3763
  A(this, "material");
3667
3764
  this.geometry = new b(o, o, o), this.material = new W({
3668
- uniforms: st.uniforms,
3669
- vertexShader: st.vertexShader,
3670
- fragmentShader: st.fragmentShader,
3671
- side: lt
3765
+ uniforms: rt.uniforms,
3766
+ vertexShader: rt.vertexShader,
3767
+ fragmentShader: rt.fragmentShader,
3768
+ side: ut
3672
3769
  });
3673
3770
  }
3674
3771
  }
3675
- class Jn extends y {
3772
+ class es extends w {
3676
3773
  constructor(o = 1e3) {
3677
3774
  super();
3678
3775
  A(this, "geometry");
3679
3776
  A(this, "material");
3680
- this.geometry = new _(o, 32, 15), this.material = new W({
3681
- vertexShader: rt.vertexShader,
3682
- fragmentShader: rt.fragmentShader,
3683
- uniforms: rt.uniforms,
3684
- side: lt
3777
+ this.geometry = new U(o, 32, 15), this.material = new W({
3778
+ vertexShader: at.vertexShader,
3779
+ fragmentShader: at.fragmentShader,
3780
+ uniforms: at.uniforms,
3781
+ side: ut
3685
3782
  });
3686
3783
  }
3687
3784
  }
3688
- const $n = (e) => {
3785
+ const os = (e) => {
3689
3786
  const t = new Uint8Array(4 * e * e);
3690
3787
  for (let n = 0; n < e * e; n++) {
3691
- const r = n * 4, s = (n % e ^ Math.floor(n / e)) & 1 ? 255 : 0;
3692
- t[r] = s, t[r + 1] = s, t[r + 2] = s, t[r + 3] = 255;
3788
+ const s = n * 4, r = (n % e ^ Math.floor(n / e)) & 1 ? 255 : 0;
3789
+ t[s] = r, t[s + 1] = r, t[s + 2] = r, t[s + 3] = 255;
3693
3790
  }
3694
3791
  const o = new _t(t, e, e, Ut, Ot);
3695
- return o.wrapS = ht, o.wrapT = ht, o.minFilter = Lt, o.needsUpdate = !0, o;
3792
+ return o.wrapS = ft, o.wrapT = ft, o.minFilter = zt, o.needsUpdate = !0, o;
3696
3793
  };
3697
- function Wn(e) {
3794
+ function ns(e) {
3698
3795
  const t = parseInt(e.slice(1), 16);
3699
3796
  return [
3700
3797
  t >> 16 & 255,
@@ -3705,95 +3802,95 @@ function Wn(e) {
3705
3802
  // b
3706
3803
  ];
3707
3804
  }
3708
- function ts(e) {
3805
+ function ss(e) {
3709
3806
  const [t, o, n] = X(e);
3710
- return ao(t, o, n);
3807
+ return co(t, o, n);
3711
3808
  }
3712
3809
  function X(e) {
3713
3810
  const t = e >> 16 & 255, o = e >> 8 & 255, n = e & 255;
3714
3811
  return [t, o, n];
3715
3812
  }
3716
- function es(e, t, o) {
3813
+ function rs(e, t, o) {
3717
3814
  t /= 100, o /= 100;
3718
3815
  function n(c, l, u) {
3719
3816
  return u < 0 && (u += 1), u > 1 && (u -= 1), u < 1 / 6 ? c + (l - c) * 6 * u : u < 1 / 2 ? l : u < 2 / 3 ? c + (l - c) * (2 / 3 - u) * 6 : c;
3720
3817
  }
3721
- let r, s, a;
3818
+ let s, r, a;
3722
3819
  if (t === 0)
3723
- r = s = a = o;
3820
+ s = r = a = o;
3724
3821
  else {
3725
3822
  const c = o < 0.5 ? o * (1 + t) : o + t - o * t, l = 2 * o - c;
3726
- r = n(l, c, e / 360 + 1 / 3), s = n(l, c, e / 360), a = n(l, c, e / 360 - 1 / 3);
3823
+ s = n(l, c, e / 360 + 1 / 3), r = n(l, c, e / 360), a = n(l, c, e / 360 - 1 / 3);
3727
3824
  }
3728
3825
  const i = (c) => Math.round(c * 255);
3729
3826
  return [
3730
- i(r),
3731
3827
  i(s),
3828
+ i(r),
3732
3829
  i(a)
3733
3830
  ];
3734
3831
  }
3735
- function ro(e, t, o) {
3832
+ function io(e, t, o) {
3736
3833
  t /= 100, o /= 100;
3737
- const n = (a) => (a + e / 30) % 12, r = t * Math.min(o, 1 - o), s = (a) => o - r * Math.max(-1, Math.min(n(a) - 3, Math.min(9 - n(a), 1)));
3738
- return [s(0) * 255, s(8) * 255, s(4) * 255];
3834
+ const n = (a) => (a + e / 30) % 12, s = t * Math.min(o, 1 - o), r = (a) => o - s * Math.max(-1, Math.min(n(a) - 3, Math.min(9 - n(a), 1)));
3835
+ return [r(0) * 255, r(8) * 255, r(4) * 255];
3739
3836
  }
3740
- function os(e, t, o) {
3837
+ function as(e, t, o) {
3741
3838
  return [e / 255, t / 255, o / 255];
3742
3839
  }
3743
- function ns(e, t, o) {
3840
+ function is(e, t, o) {
3744
3841
  return e = Math.round(e), t = Math.round(t), o = Math.round(o), (e << 16) + (t << 8) + o;
3745
3842
  }
3746
- function ao(e, t, o) {
3843
+ function co(e, t, o) {
3747
3844
  e /= 255, t /= 255, o /= 255;
3748
- const n = Math.max(e, t, o), r = Math.min(e, t, o), s = n - r;
3845
+ const n = Math.max(e, t, o), s = Math.min(e, t, o), r = n - s;
3749
3846
  let a = 0, i = 0;
3750
- const c = (n + r) / 2;
3751
- s !== 0 && (n === e ? a = ((t - o) / s + (t < o ? 6 : 0)) * 60 : n === t ? a = ((o - e) / s + 2) * 60 : n === o && (a = ((e - t) / s + 4) * 60)), s !== 0 && (i = s / (1 - Math.abs(2 * c - 1))), a = Math.round(a), i = Math.round(i * 100);
3847
+ const c = (n + s) / 2;
3848
+ r !== 0 && (n === e ? a = ((t - o) / r + (t < o ? 6 : 0)) * 60 : n === t ? a = ((o - e) / r + 2) * 60 : n === o && (a = ((e - t) / r + 4) * 60)), r !== 0 && (i = r / (1 - Math.abs(2 * c - 1))), a = Math.round(a), i = Math.round(i * 100);
3752
3849
  const l = Math.round(c * 100);
3753
3850
  return [a, i, l];
3754
3851
  }
3755
- function io(e, t) {
3852
+ function lo(e, t) {
3756
3853
  return Math.sqrt(
3757
3854
  Math.pow(e[0] - t[0], 2) + Math.pow(e[1] - t[1], 2) + Math.pow(e[2] - t[2], 2)
3758
3855
  );
3759
3856
  }
3760
- function co(e, t) {
3857
+ function uo(e, t) {
3761
3858
  return Math.abs(e[0] - t[0]) + //
3762
3859
  Math.abs(e[1] - t[1]) + Math.abs(e[2] - t[2]);
3763
3860
  }
3764
- function ss(e, t) {
3861
+ function cs(e, t) {
3765
3862
  const o = X(e);
3766
- let n = null, r = 1 / 0;
3767
- for (const s of t) {
3768
- const a = X(s), i = io(o, a);
3769
- i < r && (r = i, n = s);
3863
+ let n = null, s = 1 / 0;
3864
+ for (const r of t) {
3865
+ const a = X(r), i = lo(o, a);
3866
+ i < s && (s = i, n = r);
3770
3867
  }
3771
3868
  return n;
3772
3869
  }
3773
- function rs(e, t) {
3870
+ function ls(e, t) {
3774
3871
  const o = X(e);
3775
- let n = null, r = 1 / 0;
3776
- for (const s of t) {
3777
- const a = X(s), i = co(o, a);
3778
- i < r && (r = i, n = s);
3872
+ let n = null, s = 1 / 0;
3873
+ for (const r of t) {
3874
+ const a = X(r), i = uo(o, a);
3875
+ i < s && (s = i, n = r);
3779
3876
  }
3780
3877
  return n;
3781
3878
  }
3782
- function as(e) {
3879
+ function us(e) {
3783
3880
  const t = (e + Math.floor(-30 + Math.random() * 61)) % 360, o = Math.floor(60 + Math.random() * 21), n = Math.floor(50 + Math.random() * 21);
3784
- return ro(t, o, n);
3881
+ return io(t, o, n);
3785
3882
  }
3786
- function is(e) {
3787
- const t = new ut().setFromObject(e), o = new x();
3883
+ function ms(e) {
3884
+ const t = new et().setFromObject(e), o = new x();
3788
3885
  t.getCenter(o), e.position.sub(o);
3789
3886
  }
3790
- function cs(e, t = new x(0, 0, 0)) {
3791
- const o = new ut().setFromObject(e), n = new x();
3887
+ function hs(e, t = new x(0, 0, 0)) {
3888
+ const o = new et().setFromObject(e), n = new x();
3792
3889
  o.getCenter(n);
3793
- const r = new x().subVectors(t, n);
3794
- e.position.add(r);
3890
+ const s = new x().subVectors(t, n);
3891
+ e.position.add(s);
3795
3892
  }
3796
- function ls(e) {
3893
+ function fs(e) {
3797
3894
  e.computeBoundingBox();
3798
3895
  const t = e.boundingBox;
3799
3896
  if (t) {
@@ -3801,22 +3898,28 @@ function ls(e) {
3801
3898
  e.translateX(-o.x), e.translateY(-o.y), e.translateZ(-o.z);
3802
3899
  }
3803
3900
  }
3804
- function lo(e, t, o) {
3901
+ function mo(e, t, o) {
3805
3902
  return Math.max(0, Math.min(1, (e - t) / (o - t)));
3806
3903
  }
3807
- function us(e, t, o, n, r, s = 20, a = 0, i = 1) {
3904
+ function ps(e, t, o, n, s, r = 20, a = 0, i = 1) {
3808
3905
  const c = [];
3809
- for (let l = 0; l <= s; l++) {
3810
- const u = l / s, m = e(lo(u, a, i)), h = t + m * (o - t), f = n + u * (r - n);
3811
- c.push(new v(h, f));
3906
+ for (let l = 0; l <= r; l++) {
3907
+ const u = l / r, m = e(mo(u, a, i)), h = t + m * (o - t), f = n + u * (s - n);
3908
+ c.push(new I(h, f));
3812
3909
  }
3813
3910
  return c;
3814
3911
  }
3815
- function ms(e) {
3816
- const o = new ut().setFromObject(e).getCenter(new x());
3912
+ function ds(e) {
3913
+ const o = new et().setFromObject(e).getCenter(new x());
3817
3914
  e.translateX(-o.x), e.translateY(-o.y), e.translateZ(-o.z), e.updateMatrixWorld(!0);
3818
3915
  }
3819
- function hs(e) {
3916
+ function Ms(e, t = new x(0, 0, 0)) {
3917
+ const o = new et().setFromObject(e), n = new x();
3918
+ o.getCenter(n);
3919
+ const s = new x().subVectors(t, n);
3920
+ e.position.add(s);
3921
+ }
3922
+ function ys(e) {
3820
3923
  e.geometry.computeBoundingBox();
3821
3924
  const t = e.geometry.boundingBox;
3822
3925
  if (t) {
@@ -3824,100 +3927,108 @@ function hs(e) {
3824
3927
  e.geometry.translate(-o.x, -o.y, -o.z);
3825
3928
  }
3826
3929
  }
3827
- const uo = (e, t, o, n, r = 24) => {
3828
- let s = [];
3829
- for (let a = 0; a <= r; a++) {
3830
- const i = a / r, c = F.CUBIC(i, e.x, t.x, o.x, n.x), l = F.CUBIC(i, e.y, t.y, o.y, n.y);
3831
- s.push(new v(c, l));
3930
+ function ws(e, t = new x(0, 0, 0)) {
3931
+ e.geometry.computeBoundingBox();
3932
+ const o = e.geometry.boundingBox;
3933
+ if (o) {
3934
+ const n = o.getCenter(new x()), s = new x().subVectors(t, n);
3935
+ e.geometry.translate(s.x, s.y, s.z);
3832
3936
  }
3833
- return s;
3834
- }, mo = (e, t, o, n = 24) => {
3937
+ }
3938
+ const ho = (e, t, o, n, s = 24) => {
3835
3939
  let r = [];
3836
- for (let s = 0; s <= n; s++) {
3837
- const a = s / n, i = F.DAMPED(a, o) * (t.x - e.x) + e.x, c = e.y + a * (t.y - e.y);
3838
- r.push(new v(i, c));
3940
+ for (let a = 0; a <= s; a++) {
3941
+ const i = a / s, c = F.CUBIC(i, e.x, t.x, o.x, n.x), l = F.CUBIC(i, e.y, t.y, o.y, n.y);
3942
+ r.push(new I(c, l));
3839
3943
  }
3840
3944
  return r;
3841
- }, ho = (e, t, o, n, r = 24) => {
3842
- let s = [];
3843
- for (let a = 0; a <= r; a++) {
3844
- const i = a / r, c = F.EXPONENTIAL(i, o, n) * (t.x - e.x) + e.x, l = e.y + i * (t.y - e.y);
3845
- s.push(new v(c, l));
3846
- }
3847
- return s;
3848
- }, fo = (e, t, o, n, r = 24) => {
3945
+ }, fo = (e, t, o, n = 24) => {
3849
3946
  let s = [];
3850
- for (let a = 0; a <= r; a++) {
3851
- const i = a / r, c = F.LOGARITHMIC(i, o, n) * (t.x - e.x) + e.x, l = e.y + i * (t.y - e.y);
3852
- s.push(new v(c, l));
3947
+ for (let r = 0; r <= n; r++) {
3948
+ const a = r / n, i = F.DAMPED(a, o) * (t.x - e.x) + e.x, c = e.y + a * (t.y - e.y);
3949
+ s.push(new I(i, c));
3853
3950
  }
3854
3951
  return s;
3855
- }, po = (e, t, o, n, r, s = 24) => {
3856
- let a = [];
3857
- for (let i = 0; i <= s; i++) {
3858
- const c = i / s, l = o * c * c + n * c + r + e.x, u = e.y + c * (t.y - e.y);
3859
- a.push(new v(l, u));
3860
- }
3861
- return a;
3862
- }, Mo = (e, t, o, n = 24) => {
3952
+ }, po = (e, t, o, n, s = 24) => {
3863
3953
  let r = [];
3864
- for (let s = 0; s <= n; s++) {
3865
- const a = s / n, i = F.QUADRATIC(a, e.x, t.x, o.x), c = F.QUADRATIC(a, e.y, t.y, o.y);
3866
- r.push(new v(i, c));
3954
+ for (let a = 0; a <= s; a++) {
3955
+ const i = a / s, c = F.EXPONENTIAL(i, o, n) * (t.x - e.x) + e.x, l = e.y + i * (t.y - e.y);
3956
+ r.push(new I(c, l));
3867
3957
  }
3868
3958
  return r;
3869
- }, yo = (e, t, o, n = 24) => {
3959
+ }, Mo = (e, t, o, n, s = 24) => {
3870
3960
  let r = [];
3871
- for (let s = 0; s <= n; s++) {
3872
- const a = s / n, i = F.SIGMOID(a, o) * (t.x - e.x) + e.x, c = e.y + a * (t.y - e.y);
3873
- r.push(new v(i, c));
3961
+ for (let a = 0; a <= s; a++) {
3962
+ const i = a / s, c = F.LOGARITHMIC(i, o, n) * (t.x - e.x) + e.x, l = e.y + i * (t.y - e.y);
3963
+ r.push(new I(c, l));
3874
3964
  }
3875
3965
  return r;
3876
- }, fs = {
3877
- createCubicCurvePoints: uo,
3878
- createDampedCurvePoints: mo,
3879
- createExponentialCurvePoints: ho,
3880
- createLogarithmicCurvePoints: fo,
3881
- createParabolicCurvePoints: po,
3882
- createQuadraticCurvePoints: Mo,
3883
- createSigmoidCurvePoints: yo
3966
+ }, yo = (e, t, o, n, s, r = 24) => {
3967
+ let a = [];
3968
+ for (let i = 0; i <= r; i++) {
3969
+ const c = i / r, l = o * c * c + n * c + s + e.x, u = e.y + c * (t.y - e.y);
3970
+ a.push(new I(l, u));
3971
+ }
3972
+ return a;
3973
+ }, wo = (e, t, o, n = 24) => {
3974
+ let s = [];
3975
+ for (let r = 0; r <= n; r++) {
3976
+ const a = r / n, i = F.QUADRATIC(a, e.x, t.x, o.x), c = F.QUADRATIC(a, e.y, t.y, o.y);
3977
+ s.push(new I(i, c));
3978
+ }
3979
+ return s;
3980
+ }, xo = (e, t, o, n = 24) => {
3981
+ let s = [];
3982
+ for (let r = 0; r <= n; r++) {
3983
+ const a = r / n, i = F.SIGMOID(a, o) * (t.x - e.x) + e.x, c = e.y + a * (t.y - e.y);
3984
+ s.push(new I(i, c));
3985
+ }
3986
+ return s;
3987
+ }, xs = {
3988
+ createCubicCurvePoints: ho,
3989
+ createDampedCurvePoints: fo,
3990
+ createExponentialCurvePoints: po,
3991
+ createLogarithmicCurvePoints: Mo,
3992
+ createParabolicCurvePoints: yo,
3993
+ createQuadraticCurvePoints: wo,
3994
+ createSigmoidCurvePoints: xo
3884
3995
  };
3885
- function ps(e, t, o, n, r, s = [0, 0], a = [1, 0], i = [0, 1], c = [1, 1]) {
3886
- const l = r || wo(e, t, o);
3996
+ function vs(e, t, o, n, s, r = [0, 0], a = [1, 0], i = [0, 1], c = [1, 1]) {
3997
+ const l = s || vo(e, t, o);
3887
3998
  return [
3888
3999
  // Triangle 1
3889
- { pos: e, norm: l, uv: s },
4000
+ { pos: e, norm: l, uv: r },
3890
4001
  { pos: t, norm: l, uv: a },
3891
4002
  { pos: n, norm: l, uv: c },
3892
4003
  // Triangle 2
3893
- { pos: e, norm: l, uv: s },
4004
+ { pos: e, norm: l, uv: r },
3894
4005
  { pos: n, norm: l, uv: c },
3895
4006
  { pos: o, norm: l, uv: i }
3896
4007
  ];
3897
4008
  }
3898
- function wo(e, t, o) {
4009
+ function vo(e, t, o) {
3899
4010
  const n = [
3900
4011
  t[0] - e[0],
3901
4012
  t[1] - e[1],
3902
4013
  t[2] - e[2]
3903
- ], r = [
4014
+ ], s = [
3904
4015
  o[0] - e[0],
3905
4016
  o[1] - e[1],
3906
4017
  o[2] - e[2]
3907
- ], s = [
3908
- n[1] * r[2] - n[2] * r[1],
3909
- n[2] * r[0] - n[0] * r[2],
3910
- n[0] * r[1] - n[1] * r[0]
3911
- ], a = Math.sqrt(s[0] ** 2 + s[1] ** 2 + s[2] ** 2);
3912
- return s.map((i) => i / a);
3913
- }
3914
- function ds(e, t) {
3915
- return e.map(([o, n, r]) => {
4018
+ ], r = [
4019
+ n[1] * s[2] - n[2] * s[1],
4020
+ n[2] * s[0] - n[0] * s[2],
4021
+ n[0] * s[1] - n[1] * s[0]
4022
+ ], a = Math.sqrt(r[0] ** 2 + r[1] ** 2 + r[2] ** 2);
4023
+ return r.map((i) => i / a);
4024
+ }
4025
+ function gs(e, t) {
4026
+ return e.map(([o, n, s]) => {
3916
4027
  switch (t) {
3917
4028
  case "x":
3918
- return [n, r];
4029
+ return [n, s];
3919
4030
  case "y":
3920
- return [o, r];
4031
+ return [o, s];
3921
4032
  case "z":
3922
4033
  return [o, n];
3923
4034
  default:
@@ -3925,220 +4036,226 @@ function ds(e, t) {
3925
4036
  }
3926
4037
  });
3927
4038
  }
3928
- function vo(e) {
3929
- const [t, o, n] = e, r = Math.abs(t), s = Math.abs(o), a = Math.abs(n);
3930
- return r >= s && r >= a ? [n > 0 ? n : -n, o] : s >= r && s >= a ? [t, n > 0 ? n : -n] : [t, o];
4039
+ function go(e) {
4040
+ const [t, o, n] = e, s = Math.abs(t), r = Math.abs(o), a = Math.abs(n);
4041
+ return s >= r && s >= a ? [n > 0 ? n : -n, o] : r >= s && r >= a ? [t, n > 0 ? n : -n] : [t, o];
3931
4042
  }
3932
- function Ms(e) {
3933
- return e.map((t) => vo(t));
4043
+ function Is(e) {
4044
+ return e.map((t) => go(t));
3934
4045
  }
3935
- function ys(e) {
4046
+ function As(e) {
3936
4047
  return e.map(([t, o, n]) => {
3937
- const r = Math.atan2(n, t), s = Math.acos(o / Math.sqrt(t ** 2 + o ** 2 + n ** 2)), a = r / (2 * Math.PI) + 0.5, i = 1 - s / Math.PI;
4048
+ const s = Math.atan2(n, t), r = Math.acos(o / Math.sqrt(t ** 2 + o ** 2 + n ** 2)), a = s / (2 * Math.PI) + 0.5, i = 1 - r / Math.PI;
3938
4049
  return [a, i];
3939
4050
  });
3940
4051
  }
3941
- function ws(e) {
4052
+ function Es(e) {
3942
4053
  return e.map(([t, o, n]) => [Math.atan2(n, t) / (2 * Math.PI) + 0.5, o]);
3943
4054
  }
3944
- function vs(e) {
4055
+ function bs(e) {
3945
4056
  return e.map(([t, o, n]) => {
3946
- const r = Math.sqrt(t ** 2 + n ** 2);
3947
- return [Math.atan2(n, t) / (2 * Math.PI) + 0.5, r];
4057
+ const s = Math.sqrt(t ** 2 + n ** 2);
4058
+ return [Math.atan2(n, t) / (2 * Math.PI) + 0.5, s];
3948
4059
  });
3949
4060
  }
3950
- function xo(e, t, o, n, r) {
4061
+ function Io(e, t, o, n, s) {
3951
4062
  return [
3952
4063
  (e[0] - t) / (o - t),
3953
- (e[1] - n) / (r - n)
4064
+ (e[1] - n) / (s - n)
3954
4065
  ];
3955
4066
  }
3956
- function xs(e, t, o) {
3957
- const [n, r] = t, [s, a] = o;
3958
- return e.map((i) => xo(i, n, s, r, a));
4067
+ function Ss(e, t, o) {
4068
+ const [n, s] = t, [r, a] = o;
4069
+ return e.map((i) => Io(i, n, r, s, a));
3959
4070
  }
3960
- function gs(e) {
3961
- const t = Math.min(...e.map((s) => s[0])), o = Math.max(...e.map((s) => s[0])), n = Math.min(...e.map((s) => s[1])), r = Math.max(...e.map((s) => s[1]));
4071
+ function Ps(e) {
4072
+ const t = Math.min(...e.map((r) => r[0])), o = Math.max(...e.map((r) => r[0])), n = Math.min(...e.map((r) => r[1])), s = Math.max(...e.map((r) => r[1]));
3962
4073
  return {
3963
4074
  minBounds: [t, n],
3964
- maxBounds: [o, r]
4075
+ maxBounds: [o, s]
3965
4076
  };
3966
4077
  }
3967
4078
  export {
3968
- Qn as AtmosphericSkybox,
3969
- mt as Axis,
3970
- Ho as BifurcatedStaircaseGeometry,
3971
- Dn as Bone,
3972
- Ve as BoneGeometry,
3973
- on as Book,
3974
- wt as BookGeometry,
3975
- dn as Bookshelf,
3976
- Le as BookshelfGeometry,
3977
- ko as BubblingEffect,
3978
- In as BunsenBurner,
3979
- On as Burst,
3980
- eo as BurstShape,
3981
- yn as Candle,
3982
- at as ColorPalette,
3983
- an as CrossHeadstone,
3984
- Ce as CrossHeadstoneGeometry,
3985
- Kn as DaySkybox,
3986
- Mn as Desk,
3987
- Fe as DeskGeometry,
3988
- Xo as DioramaGeometry,
3989
- et as Direction,
3990
- Do as Easing,
3991
- An as ElectricPanel,
4079
+ Wn as AtmosphericSkybox,
4080
+ ht as Axis,
4081
+ jo as BifurcatedStaircaseGeometry,
4082
+ Yn as Bone,
4083
+ He as BoneGeometry,
4084
+ rn as Book,
4085
+ yt as BookGeometry,
4086
+ wn as Bookshelf,
4087
+ Fe as BookshelfGeometry,
4088
+ Yo as BubblingEffect,
4089
+ Sn as BunsenBurner,
4090
+ Dn as Burst,
4091
+ no as BurstShape,
4092
+ vn as Candle,
4093
+ De as CandleGeometry,
4094
+ it as ColorPalette,
4095
+ un as CrossHeadstone,
4096
+ Be as CrossHeadstoneGeometry,
4097
+ ts as DaySkybox,
4098
+ xn as Desk,
4099
+ Le as DeskGeometry,
4100
+ Qo as DioramaGeometry,
4101
+ ot as Direction,
4102
+ qo as Easing,
4103
+ Pn as ElectricPanel,
3992
4104
  Ee as EllipticLeafGeometry,
3993
- Co as EmissivePulseAnimation,
3994
- En as ErlenmeyerFlask,
3995
- Ye as ErlenmeyerFlaskGeometry,
4105
+ Ro as EmissivePulseAnimation,
4106
+ Tn as ErlenmeyerFlask,
4107
+ Xe as ErlenmeyerFlaskGeometry,
3996
4108
  K as Falloff,
3997
- bn as FlorenceFlask,
3998
- Ze as FlorenceFlaskGeometry,
3999
- Ln as Gear,
4000
- oo as GearShape,
4001
- Fn as Heart,
4002
- no as HeartShape,
4003
- qn as Hill,
4004
- Je as HillGeometry,
4005
- nn as Jar,
4006
- Se as JarGeometry,
4007
- Zo as LShapedStaircaseGeometry,
4008
- wn as Lantern,
4009
- qo as LeafEffect,
4010
- Sn as LeverPanel,
4011
- No as LightningAnimation,
4012
- Ko as LineEquations,
4013
- cn as Mausoleum,
4014
- Be as MausoleumGeometry,
4015
- Pn as Microscope,
4016
- en as Moon,
4017
- Tn as MortarAndPestle,
4018
- je as MortarGeometry,
4019
- vn as MossyRocks,
4020
- ze as MossyRocksGeometry,
4021
- Vn as Mound,
4022
- $e as MoundGeometry,
4023
- Jn as NightSkybox,
4024
- ln as ObeliskHeadstone,
4025
- Re as ObeliskHeadstoneGeometry,
4026
- Gn as Panel,
4027
- Cn as PanelLight,
4109
+ gn as Flame,
4110
+ It as FlameGeometry,
4111
+ Gn as FlorenceFlask,
4112
+ Qe as FlorenceFlaskGeometry,
4113
+ kn as Gear,
4114
+ so as GearShape,
4115
+ Vn as Heart,
4116
+ ro as HeartShape,
4117
+ Xn as Hill,
4118
+ We as HillGeometry,
4119
+ an as Jar,
4120
+ Pe as JarGeometry,
4121
+ Ko as LShapedStaircaseGeometry,
4122
+ In as Lantern,
4123
+ Ho as LeafEffect,
4124
+ Cn as LeverPanel,
4125
+ _o as LightFlickerAnimation,
4126
+ Oo as LightningAnimation,
4127
+ Wo as LineEquations,
4128
+ mn as Mausoleum,
4129
+ Re as MausoleumGeometry,
4130
+ Bn as Microscope,
4131
+ sn as Moon,
4132
+ Rn as MortarAndPestle,
4133
+ Ke as MortarGeometry,
4134
+ An as MossyRocks,
4135
+ ke as MossyRocksGeometry,
4136
+ Zn as Mound,
4137
+ to as MoundGeometry,
4138
+ es as NightSkybox,
4139
+ hn as ObeliskHeadstone,
4140
+ Ne as ObeliskHeadstoneGeometry,
4141
+ Nn as Panel,
4142
+ _n as PanelLight,
4028
4143
  F as ParametricCurve,
4029
- fs as ParametricCurveUtils,
4030
- sn as PotionBottle,
4031
- Te as PotionBottleGeometry,
4032
- xn as Rock,
4033
- ke as RockGeometry,
4034
- gn as Rocks,
4035
- qe as RocksGeometry,
4036
- un as RoundedHeadstone,
4037
- Ne as RoundedHeadstoneGeometry,
4038
- jo as SpiralStaircaseGeometry,
4039
- Bn as SpiralTube,
4040
- mn as SquareHeadstone,
4041
- _e as SquareHeadstoneGeometry,
4042
- Qo as StaircaseGeometry,
4043
- Rn as Stand,
4044
- Qe as StandGeometry,
4045
- zn as Star,
4046
- so as StarShape,
4047
- hn as StoneFencePost,
4048
- Ue as StoneFencePostGeometry,
4049
- Nn as TeslaCoil,
4050
- Ke as TeslaCoilGeometry,
4051
- _n as TestTube,
4052
- it as TestTubeGeometry,
4053
- Un as TestTubeRack,
4054
- kn as Tree,
4055
- We as TreeGeometry,
4056
- rn as WineBottle,
4057
- Ge as WineBottleGeometry,
4058
- fn as WroughtIronBar,
4059
- It as WroughtIronBarGeometry,
4060
- pn as WroughtIronFence,
4061
- Oe as WroughtIronFenceGeometry,
4062
- Xn as addNoiseDisplacement,
4063
- Yn as addWaterDisplacement,
4064
- Xe as appendSphericalCurve,
4065
- nt as atmosphericShader,
4066
- co as calculateChannelDifference,
4067
- io as calculateDistance,
4068
- wo as calculateNormal,
4069
- gs as calculateUVBounds,
4070
- gt as calculateXFromSlopeIntercept,
4071
- Pe as calculateYFromSlopeIntercept,
4072
- Ao as cameraDollyAnimation,
4073
- Eo as cameraFlythroughAnimation,
4074
- bo as cameraOrbitAnimation,
4075
- So as cameraPendulumAnimation,
4076
- Po as cameraSpiralAscensionAnimation,
4077
- To as cameraWobbleAnimation,
4078
- Go as cameraZoomInAnimation,
4079
- He as capHeightFromRadius,
4080
- $o as capWidthFromRadius,
4081
- tn as cartesianToSpherical,
4082
- is as centerGroup,
4083
- cs as centerGroupAtTarget,
4084
- ls as centerInstancedMesh,
4085
- ms as centerMesh,
4086
- hs as centerMeshGeometry,
4087
- $n as checkerboardTexture,
4144
+ xs as ParametricCurveUtils,
4145
+ cn as PotionBottle,
4146
+ Ge as PotionBottleGeometry,
4147
+ En as Rock,
4148
+ qe as RockGeometry,
4149
+ bn as Rocks,
4150
+ Ye as RocksGeometry,
4151
+ fn as RoundedHeadstone,
4152
+ _e as RoundedHeadstoneGeometry,
4153
+ Jo as SpiralStaircaseGeometry,
4154
+ Un as SpiralTube,
4155
+ pn as SquareHeadstone,
4156
+ Ue as SquareHeadstoneGeometry,
4157
+ $o as StaircaseGeometry,
4158
+ On as Stand,
4159
+ Je as StandGeometry,
4160
+ qn as Star,
4161
+ ao as StarShape,
4162
+ dn as StoneFencePost,
4163
+ Oe as StoneFencePostGeometry,
4164
+ zn as TeslaCoil,
4165
+ $e as TeslaCoilGeometry,
4166
+ Fn as TestTube,
4167
+ ct as TestTubeGeometry,
4168
+ Ln as TestTubeRack,
4169
+ Hn as Tree,
4170
+ eo as TreeGeometry,
4171
+ ln as WineBottle,
4172
+ Ce as WineBottleGeometry,
4173
+ Mn as WroughtIronBar,
4174
+ gt as WroughtIronBarGeometry,
4175
+ yn as WroughtIronFence,
4176
+ ze as WroughtIronFenceGeometry,
4177
+ Kn as addNoiseDisplacement,
4178
+ jn as addWaterDisplacement,
4179
+ je as appendSphericalCurve,
4180
+ st as atmosphericShader,
4181
+ uo as calculateChannelDifference,
4182
+ lo as calculateDistance,
4183
+ vo as calculateNormal,
4184
+ Ps as calculateUVBounds,
4185
+ vt as calculateXFromSlopeIntercept,
4186
+ Te as calculateYFromSlopeIntercept,
4187
+ bo as cameraDollyAnimation,
4188
+ So as cameraFlythroughAnimation,
4189
+ Po as cameraOrbitAnimation,
4190
+ To as cameraPendulumAnimation,
4191
+ Go as cameraSpiralAscensionAnimation,
4192
+ Co as cameraWobbleAnimation,
4193
+ Bo as cameraZoomInAnimation,
4194
+ Ze as capHeightFromRadius,
4195
+ en as capWidthFromRadius,
4196
+ nn as cartesianToSpherical,
4197
+ ms as centerGroup,
4198
+ hs as centerGroupAtTarget,
4199
+ fs as centerInstancedMesh,
4200
+ ds as centerMesh,
4201
+ Ms as centerMeshAtTarget,
4202
+ ys as centerMeshGeometry,
4203
+ ws as centerMeshGeometryAtTarget,
4204
+ os as checkerboardTexture,
4088
4205
  re as circularEaseIn,
4089
4206
  ie as circularEaseInOut,
4090
4207
  ae as circularEaseOut,
4091
4208
  ue as concave,
4092
4209
  me as convex,
4093
- uo as createCubicCurvePoints,
4094
- mo as createDampedCurvePoints,
4095
- ho as createExponentialCurvePoints,
4096
- fo as createLogarithmicCurvePoints,
4097
- po as createParabolicCurvePoints,
4098
- ps as createQuad,
4099
- Mo as createQuadraticCurvePoints,
4100
- yo as createSigmoidCurvePoints,
4210
+ ho as createCubicCurvePoints,
4211
+ fo as createDampedCurvePoints,
4212
+ po as createExponentialCurvePoints,
4213
+ Mo as createLogarithmicCurvePoints,
4214
+ yo as createParabolicCurvePoints,
4215
+ vs as createQuad,
4216
+ wo as createQuadraticCurvePoints,
4217
+ xo as createSigmoidCurvePoints,
4101
4218
  Me as cubicCurve,
4102
4219
  Zt as cubicEaseIn,
4103
4220
  Qt as cubicEaseInOut,
4104
4221
  jt as cubicEaseOut,
4105
- vo as cubicUVMapping,
4106
- Ms as cubicUVMappingBatch,
4107
- ws as cylindricalUVMapping,
4222
+ go as cubicUVMapping,
4223
+ Is as cubicUVMappingBatch,
4224
+ Es as cylindricalUVMapping,
4108
4225
  ye as dampedCurve,
4109
- st as daySkyShader,
4110
- _o as displacementBrush,
4226
+ rt as daySkyShader,
4227
+ zo as displacementBrush,
4111
4228
  we as exponentialCurve,
4112
4229
  oe as exponentialEaseIn,
4113
4230
  se as exponentialEaseInOut,
4114
4231
  ne as exponentialEaseOut,
4115
- jn as fadeShader,
4116
- ss as findClosestColor,
4117
- rs as findClosestColorChannelWise,
4118
- Uo as flattenBrush,
4232
+ $n as fadeShader,
4233
+ cs as findClosestColor,
4234
+ ls as findClosestColorChannelWise,
4235
+ Fo as flattenBrush,
4119
4236
  de as gaussian,
4120
- as as getAnalogousColors,
4121
- ts as hexToHsl,
4237
+ us as getAnalogousColors,
4238
+ ss as hexToHsl,
4122
4239
  X as hexToRgb,
4123
- es as hslToHex,
4124
- ro as hslToRgb,
4125
- us as interpolateCurve,
4240
+ rs as hslToHex,
4241
+ io as hslToRgb,
4242
+ ps as interpolateCurve,
4126
4243
  pe as inverse,
4127
4244
  ce as linear,
4128
4245
  he as logarithmic,
4129
- ve as logarithmicCurve,
4246
+ xe as logarithmicCurve,
4130
4247
  Ft as logarithmicRandomMax,
4131
- zt as logarithmicRandomMin,
4132
- to as moonShader,
4133
- rt as nightSkyShader,
4134
- Oo as noiseBrush,
4135
- os as normalizeRgb,
4136
- xo as normalizeUV,
4137
- xs as normalizeUVBatch,
4138
- xe as parabolicCurve,
4139
- Wn as parseHexCode,
4140
- ds as planarUVMapping,
4141
- vs as polarUVMapping,
4248
+ Lt as logarithmicRandomMin,
4249
+ oo as moonShader,
4250
+ at as nightSkyShader,
4251
+ Lo as noiseBrush,
4252
+ as as normalizeRgb,
4253
+ Io as normalizeUV,
4254
+ Ss as normalizeUVBatch,
4255
+ ve as parabolicCurve,
4256
+ ns as parseHexCode,
4257
+ gs as planarUVMapping,
4258
+ bs as polarUVMapping,
4142
4259
  ge as quadraticCurve,
4143
4260
  Yt as quadraticEaseIn,
4144
4261
  Xt as quadraticEaseInOut,
@@ -4149,31 +4266,31 @@ export {
4149
4266
  Wt as quinticEaseIn,
4150
4267
  ee as quinticEaseInOut,
4151
4268
  te as quinticEaseOut,
4152
- Jo as radiusFromCapHeight,
4269
+ tn as radiusFromCapHeight,
4153
4270
  At as radiusFromCapWidth,
4154
- yt as randomFloat,
4155
- Bo as randomInteger,
4156
- De as randomTransformVertices,
4157
- ns as rgbToHex,
4158
- ao as rgbToHsl,
4159
- Vo as rowOfBooksByCount,
4160
- Yo as rowOfBooksByLength,
4271
+ mt as randomFloat,
4272
+ No as randomInteger,
4273
+ Ve as randomTransformVertices,
4274
+ is as rgbToHex,
4275
+ co as rgbToHsl,
4276
+ Xo as rowOfBooksByCount,
4277
+ Zo as rowOfBooksByLength,
4161
4278
  xt as rowOfBooksByScales,
4162
- Ro as setRandomInterval,
4279
+ Uo as setRandomInterval,
4163
4280
  Dt as setRandomTimeout,
4164
4281
  Ie as sigmoidCurve,
4165
4282
  kt as sineEaseIn,
4166
- Vt as sineEaseInOut,
4167
- qt as sineEaseOut,
4168
- Lo as smoothBrush,
4283
+ qt as sineEaseInOut,
4284
+ Vt as sineEaseOut,
4285
+ Do as smoothBrush,
4169
4286
  le as smoothstep,
4170
- Wo as sphericalToCartesian,
4171
- ys as sphericalUVMapping,
4172
- Fo as spikeBrush,
4287
+ on as sphericalToCartesian,
4288
+ As as sphericalUVMapping,
4289
+ ko as spikeBrush,
4173
4290
  fe as squareRoot,
4174
- pt as thetaLengthForRadius,
4175
- zo as twistBrush,
4176
- Zn as updateNoiseDisplacementTime,
4177
- Hn as updateWaterDisplacementTime
4291
+ dt as thetaLengthForRadius,
4292
+ Vo as twistBrush,
4293
+ Jn as updateNoiseDisplacementTime,
4294
+ Qn as updateWaterDisplacementTime
4178
4295
  };
4179
4296
  //# sourceMappingURL=index.es.js.map