three-low-poly 0.9.20 → 0.9.21

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,27 +1,27 @@
1
1
  var St = Object.defineProperty;
2
- var Pt = (e, t, n) => t in e ? St(e, t, { enumerable: !0, configurable: !0, writable: !0, value: n }) : e[t] = n;
3
- var I = (e, t, n) => Pt(e, typeof t != "symbol" ? t + "" : t, n);
4
- import { Vector3 as M, MathUtils as L, Quaternion as wt, InstancedMesh as ut, SphereGeometry as F, MeshStandardMaterial as w, Matrix4 as X, BufferGeometry as E, Float32BufferAttribute as z, DoubleSide as Y, Euler as Gt, BufferAttribute as O, BoxGeometry as b, Vector2 as A, LatheGeometry as q, CylinderGeometry as S, ConeGeometry as K, Shape as $, ExtrudeGeometry as J, DodecahedronGeometry as et, CircleGeometry as Ct, TorusGeometry as Mt, Mesh as x, ShaderMaterial as ot, MeshPhysicalMaterial as st, Group as k, PointLight as Rt, CatmullRomCurve3 as Bt, TubeGeometry as Nt, Path as Ot, Color as nt, BackSide as mt, DataTexture as _t, RGBAFormat as Ut, UnsignedByteType as Ft, RepeatWrapping as pt, NearestFilter as zt, Box3 as V } from "three";
5
- function Cn(e, t, n, s) {
6
- const a = e.position.clone(), o = a.clone().add(e.getWorldDirection(new M()).multiplyScalar(-t));
2
+ var Pt = (e, t, o) => t in e ? St(e, t, { enumerable: !0, configurable: !0, writable: !0, value: o }) : e[t] = o;
3
+ var I = (e, t, o) => Pt(e, typeof t != "symbol" ? t + "" : t, o);
4
+ import { Vector3 as M, MathUtils as L, Quaternion as wt, InstancedMesh as nt, SphereGeometry as z, MeshStandardMaterial as w, Matrix4 as X, BufferGeometry as E, Float32BufferAttribute as F, DoubleSide as Y, Euler as Gt, BufferAttribute as _, BoxGeometry as b, Shape as Z, ExtrudeGeometry as j, Object3D as Ct, Vector2 as A, LatheGeometry as q, CylinderGeometry as G, ConeGeometry as J, DodecahedronGeometry as et, CircleGeometry as Rt, TorusGeometry as Mt, Mesh as x, ShaderMaterial as st, MeshPhysicalMaterial as rt, Group as k, PointLight as Bt, CatmullRomCurve3 as Nt, TubeGeometry as Ot, Path as _t, Color as ot, BackSide as mt, DataTexture as Ut, RGBAFormat as zt, UnsignedByteType as Ft, RepeatWrapping as pt, NearestFilter as Lt, Box3 as V } from "three";
5
+ function Ro(e, t, o, s) {
6
+ const a = e.position.clone(), n = a.clone().add(e.getWorldDirection(new M()).multiplyScalar(-t));
7
7
  let r = null;
8
8
  function i(c) {
9
9
  r === null && (r = c);
10
- const u = (c - r) / n;
10
+ const u = (c - r) / o;
11
11
  if (u >= 1) {
12
- e.position.copy(o), s && s();
12
+ e.position.copy(n), s && s();
13
13
  return;
14
14
  }
15
- e.position.lerpVectors(a, o, u), requestAnimationFrame(i);
15
+ e.position.lerpVectors(a, n, u), requestAnimationFrame(i);
16
16
  }
17
17
  requestAnimationFrame(i);
18
18
  }
19
- function Rn(e, t, n, s) {
19
+ function Bo(e, t, o, s) {
20
20
  const a = t.length - 1;
21
- let o = null;
21
+ let n = null;
22
22
  function r(i) {
23
- o === null && (o = i);
24
- const l = (i - o) / n;
23
+ n === null && (n = i);
24
+ const l = (i - n) / o;
25
25
  if (l >= 1) {
26
26
  e.position.copy(t[t.length - 1]), s && s();
27
27
  return;
@@ -31,52 +31,52 @@ function Rn(e, t, n, s) {
31
31
  }
32
32
  requestAnimationFrame(r);
33
33
  }
34
- function Bn(e, t, n, s, a) {
35
- let o = null;
34
+ function No(e, t, o, s, a) {
35
+ let n = null;
36
36
  function r(i) {
37
- o || (o = i);
38
- const l = (i - o) / s;
37
+ n || (n = i);
38
+ const l = (i - n) / s;
39
39
  if (l >= 1) {
40
40
  a && a();
41
41
  return;
42
42
  }
43
- const u = l * Math.PI * 2, m = t.x + n * Math.cos(u), h = t.z + n * Math.sin(u);
43
+ const u = l * Math.PI * 2, m = t.x + o * Math.cos(u), h = t.z + o * Math.sin(u);
44
44
  e.position.set(m, e.position.y, h), e.lookAt(t), requestAnimationFrame(r);
45
45
  }
46
46
  requestAnimationFrame(r);
47
47
  }
48
- function Nn(e, t, n, s, a, o) {
48
+ function Oo(e, t, o, s, a, n) {
49
49
  let r = null, i = 0;
50
50
  function c(l) {
51
51
  r === null && (r = l);
52
- const u = l - r, m = s / a, h = u % m / m, f = Math.sin(h * Math.PI * 2) * Math.PI / 6, p = t.x + n * Math.sin(f), d = t.z + n * Math.cos(f);
52
+ const u = l - r, m = s / a, 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
53
  if (e.position.set(p, e.position.y, d), e.lookAt(t), u >= (i + 1) * m && i++, i >= a) {
54
- o && o();
54
+ n && n();
55
55
  return;
56
56
  }
57
57
  requestAnimationFrame(c);
58
58
  }
59
59
  requestAnimationFrame(c);
60
60
  }
61
- function On(e, t, n, s, a, o, r) {
61
+ function _o(e, t, o, s, a, n, r) {
62
62
  let i = null;
63
63
  function c(l) {
64
64
  i === null && (i = l);
65
- const m = (l - i) / o;
65
+ const m = (l - i) / n;
66
66
  if (m >= 1) {
67
67
  r && r();
68
68
  return;
69
69
  }
70
- const h = m * Math.PI * 2 * a, f = t.x + n * Math.cos(h), p = t.z + n * Math.sin(h), d = t.y + s * m;
70
+ const h = m * Math.PI * 2 * a, f = t.x + o * Math.cos(h), p = t.z + o * Math.sin(h), d = t.y + s * m;
71
71
  e.position.set(f, d, p), e.lookAt(t), requestAnimationFrame(c);
72
72
  }
73
73
  requestAnimationFrame(c);
74
74
  }
75
- function _n(e, t, n, s) {
75
+ function Uo(e, t, o, s) {
76
76
  const a = e.position.clone();
77
- let o = null;
77
+ let n = null;
78
78
  function r(i) {
79
- if (o === null && (o = i), (i - o) / n >= 1) {
79
+ if (n === null && (n = i), (i - n) / o >= 1) {
80
80
  e.position.copy(a), s && s();
81
81
  return;
82
82
  }
@@ -89,34 +89,34 @@ function _n(e, t, n, s) {
89
89
  }
90
90
  requestAnimationFrame(r);
91
91
  }
92
- function Un(e, t, n, s, a, o) {
92
+ function zo(e, t, o, s, a, n) {
93
93
  const r = e.fov;
94
- e.fov = n, e.updateProjectionMatrix();
94
+ e.fov = o, e.updateProjectionMatrix();
95
95
  let i = null;
96
96
  function c(l) {
97
97
  i === null && (i = l);
98
98
  const m = (l - i) / a;
99
99
  if (m >= 1) {
100
- e.fov = s, e.updateProjectionMatrix(), e.lookAt(t), e.fov = r, e.updateProjectionMatrix(), o && o();
100
+ e.fov = s, e.updateProjectionMatrix(), e.lookAt(t), e.fov = r, e.updateProjectionMatrix(), n && n();
101
101
  return;
102
102
  }
103
- e.fov = L.lerp(n, s, m), e.updateProjectionMatrix(), e.lookAt(t), requestAnimationFrame(c);
103
+ e.fov = L.lerp(o, s, m), e.updateProjectionMatrix(), e.lookAt(t), requestAnimationFrame(c);
104
104
  }
105
105
  requestAnimationFrame(c);
106
106
  }
107
- class Fn {
107
+ class Fo {
108
108
  constructor(t) {
109
109
  I(this, "speed");
110
110
  I(this, "maxIntensity");
111
111
  I(this, "minIntensity");
112
112
  I(this, "material");
113
113
  const {
114
- speed: n = 2,
114
+ speed: o = 2,
115
115
  //
116
116
  maxIntensity: s = 0.8,
117
117
  minIntensity: a = 0.2
118
118
  } = t;
119
- this.speed = n, this.maxIntensity = s, this.minIntensity = a, this.material = t.material;
119
+ this.speed = o, this.maxIntensity = s, this.minIntensity = a, this.material = t.material;
120
120
  }
121
121
  /**
122
122
  * Update the emissive intensity of the material.
@@ -136,22 +136,22 @@ class Fn {
136
136
  function ht(e = 0, t = 1) {
137
137
  return Math.random() * (t - e) + e;
138
138
  }
139
- function zn(e = 0, t = 1) {
139
+ function Lo(e = 0, t = 1) {
140
140
  return Math.floor(Math.random() * (t - e + 1)) + e;
141
141
  }
142
- function Lt(e = 0.5, t = 0, n = 1) {
143
- return t + (n - t) * Math.pow(Math.random(), e);
142
+ function Dt(e = 0.5, t = 0, o = 1) {
143
+ return t + (o - t) * Math.pow(Math.random(), e);
144
144
  }
145
- function Dt(e = 0.5, t = 0, n = 1) {
146
- return t + (n - t) * Math.pow(1 - Math.random(), e);
145
+ function kt(e = 0.5, t = 0, o = 1) {
146
+ return t + (o - t) * Math.pow(1 - Math.random(), e);
147
147
  }
148
- class Ln {
148
+ class Do {
149
149
  constructor({
150
150
  light: t,
151
- minIntensity: n = 0.8,
151
+ minIntensity: o = 0.8,
152
152
  maxIntensity: s = 1.2,
153
153
  x: a = 0,
154
- y: o = 0,
154
+ y: n = 0,
155
155
  z: r = 0,
156
156
  jitterX: i = 0.02,
157
157
  jitterY: c = 0,
@@ -166,44 +166,44 @@ class Ln {
166
166
  I(this, "jitterX");
167
167
  I(this, "jitterY");
168
168
  I(this, "jitterZ");
169
- this.light = t, this.minIntensity = n, this.maxIntensity = s, this.x = a, this.y = o, this.z = r, this.jitterX = i, this.jitterY = c, this.jitterZ = l;
169
+ this.light = t, this.minIntensity = o, this.maxIntensity = s, this.x = a, this.y = n, this.z = r, this.jitterX = i, this.jitterY = c, this.jitterZ = l;
170
170
  }
171
171
  update() {
172
172
  this.light && (this.light.intensity = ht(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
173
  }
174
174
  }
175
- function kt(e, t, n) {
176
- const s = t + Math.random() * (n - t);
175
+ function Vt(e, t, o) {
176
+ const s = t + Math.random() * (o - t);
177
177
  return setTimeout(e, s);
178
178
  }
179
- function Dn(e, t, n) {
179
+ function ko(e, t, o) {
180
180
  let s;
181
181
  function a() {
182
- const o = t + Math.random() * (n - t);
182
+ const n = t + Math.random() * (o - t);
183
183
  s = setTimeout(() => {
184
184
  e(), a();
185
- }, o);
185
+ }, n);
186
186
  }
187
187
  return a(), () => clearTimeout(s);
188
188
  }
189
- class kn {
189
+ class Vo {
190
190
  constructor({
191
191
  light: t,
192
192
  //
193
- minIntensity: n = 15,
193
+ minIntensity: o = 15,
194
194
  maxIntensity: s = 20,
195
195
  minDuration: a = 50,
196
- maxDuration: o = 250
196
+ maxDuration: n = 250
197
197
  } = {}) {
198
198
  I(this, "light");
199
199
  I(this, "minIntensity");
200
200
  I(this, "maxIntensity");
201
201
  I(this, "minDuration");
202
202
  I(this, "maxDuration");
203
- this.light = t, this.minIntensity = n, this.maxIntensity = s, this.minDuration = a, this.maxDuration = o;
203
+ this.light = t, this.minIntensity = o, this.maxIntensity = s, this.minDuration = a, this.maxDuration = n;
204
204
  }
205
205
  triggerLightning() {
206
- this.light && (this.light.intensity = ht(this.minIntensity, this.maxIntensity)), kt(
206
+ this.light && (this.light.intensity = ht(this.minIntensity, this.maxIntensity)), Vt(
207
207
  () => {
208
208
  this.light && (this.light.intensity = 0);
209
209
  },
@@ -233,77 +233,77 @@ const W = {
233
233
  GAUSSIAN: (e, t) => Math.exp(-Math.pow(e, 2) / (2 * Math.pow(t / 3, 2))),
234
234
  INVERSE: (e, t) => t / (t + e),
235
235
  SMOOTHSTEP: (e, t) => {
236
- const n = Math.max(0, Math.min(1, 1 - e / t));
237
- return n * n * (3 - 2 * n);
236
+ const o = Math.max(0, Math.min(1, 1 - e / t));
237
+ return o * o * (3 - 2 * o);
238
238
  }
239
- }, Vn = (e, t, n, s, a = W.UP, o = tt.LINEAR) => {
239
+ }, qo = (e, t, o, s, a = W.UP, n = tt.LINEAR) => {
240
240
  const r = e.attributes.position;
241
241
  for (let i = 0; i < r.count; i++) {
242
242
  const c = new M();
243
243
  c.fromBufferAttribute(r, i);
244
244
  const l = c.distanceTo(t);
245
- if (l < n) {
246
- const m = o(l, n) * s;
245
+ if (l < o) {
246
+ const m = n(l, o) * s;
247
247
  c.add(a.clone().multiplyScalar(m)), r.setXYZ(i, c.x, c.y, c.z);
248
248
  }
249
249
  }
250
250
  r.needsUpdate = !0;
251
- }, qn = (e, t, n, s, a, o = W.UP, r = tt.LINEAR) => {
251
+ }, Yo = (e, t, o, s, a, n = W.UP, r = tt.LINEAR) => {
252
252
  const i = e.attributes.position;
253
253
  for (let c = 0; c < i.count; c++) {
254
254
  const l = new M();
255
255
  l.fromBufferAttribute(i, c);
256
256
  const u = l.distanceTo(t);
257
- if (u < n) {
258
- const h = r(u, n) * a, f = l.dot(o.normalize()), p = s - f;
259
- l.add(o.clone().multiplyScalar(p * h)), i.setXYZ(c, l.x, l.y, l.z);
257
+ if (u < o) {
258
+ const h = r(u, o) * a, f = l.dot(n.normalize()), p = s - f;
259
+ l.add(n.clone().multiplyScalar(p * h)), i.setXYZ(c, l.x, l.y, l.z);
260
260
  }
261
261
  }
262
262
  i.needsUpdate = !0;
263
- }, Yn = (e, t, n, s, a = W.UP, o = tt.LINEAR) => {
263
+ }, Ho = (e, t, o, s, a = W.UP, n = tt.LINEAR) => {
264
264
  const r = e.attributes.position;
265
265
  for (let i = 0; i < r.count; i++) {
266
266
  const c = new M();
267
267
  c.fromBufferAttribute(r, i);
268
268
  const l = c.distanceTo(t);
269
- if (l < n) {
270
- const u = o(l, n), m = s * u, h = a.clone().normalize();
269
+ if (l < o) {
270
+ const u = n(l, o), m = s * u, h = a.clone().normalize();
271
271
  c.x += L.randFloatSpread(m) * h.x, c.y += L.randFloatSpread(m) * h.y, c.z += L.randFloatSpread(m) * h.z, r.setXYZ(i, c.x, c.y, c.z);
272
272
  }
273
273
  }
274
274
  r.needsUpdate = !0;
275
- }, Hn = (e, t, n, s) => {
276
- const a = e.attributes.position, o = new M();
275
+ }, Xo = (e, t, o, s) => {
276
+ const a = e.attributes.position, n = new M();
277
277
  for (let r = 0; r < a.count; r++) {
278
278
  const i = new M();
279
- if (i.fromBufferAttribute(a, r), i.distanceTo(t) < n) {
279
+ if (i.fromBufferAttribute(a, r), i.distanceTo(t) < o) {
280
280
  let l = new M(), u = 0;
281
281
  for (let m = 0; m < a.count; m++)
282
- o.fromBufferAttribute(a, m), o.distanceTo(i) < n && (l.add(o), u++);
282
+ n.fromBufferAttribute(a, m), n.distanceTo(i) < o && (l.add(n), u++);
283
283
  u > 0 && (l.divideScalar(u), i.lerp(l, s), a.setXYZ(r, i.x, i.y, i.z));
284
284
  }
285
285
  }
286
286
  a.needsUpdate = !0;
287
- }, Xn = (e, t, n, s, a = !1, o = tt.LINEAR) => {
287
+ }, Zo = (e, t, o, s, a = !1, n = tt.LINEAR) => {
288
288
  const r = e.attributes.position;
289
289
  for (let i = 0; i < r.count; i++) {
290
290
  const c = new M();
291
291
  c.fromBufferAttribute(r, i);
292
292
  const l = c.distanceTo(t);
293
- if (l < n) {
294
- const m = o(l, n) * s * (a ? -1 : 1), h = c.clone().sub(t).normalize();
293
+ if (l < o) {
294
+ const m = n(l, o) * s * (a ? -1 : 1), h = c.clone().sub(t).normalize();
295
295
  c.add(h.multiplyScalar(m)), r.setXYZ(i, c.x, c.y, c.z);
296
296
  }
297
297
  }
298
298
  r.needsUpdate = !0;
299
- }, Zn = (e, t, n, s, a = W.UP, o = tt.LINEAR) => {
299
+ }, jo = (e, t, o, s, a = W.UP, n = tt.LINEAR) => {
300
300
  const r = e.attributes.position, i = new wt();
301
301
  for (let c = 0; c < r.count; c++) {
302
302
  const l = new M();
303
303
  l.fromBufferAttribute(r, c);
304
304
  const u = l.distanceTo(t);
305
- if (u < n) {
306
- const h = o(u, n) * s;
305
+ if (u < o) {
306
+ const h = n(u, o) * s;
307
307
  i.setFromAxisAngle(a, h), l.sub(t).applyQuaternion(i).add(t), r.setXYZ(c, l.x, l.y, l.z);
308
308
  }
309
309
  }
@@ -317,7 +317,7 @@ const W = {
317
317
  YZ: new M(0, 1, 1).normalize(),
318
318
  XYZ: new M(1, 1, 1).normalize()
319
319
  };
320
- var B = /* @__PURE__ */ ((e) => (e.LEFT = "left", e.RIGHT = "right", e.TOP = "top", e.BOTTOM = "bottom", e.FRONT = "front", e.BACK = "back", e))(B || {});
320
+ var N = /* @__PURE__ */ ((e) => (e.LEFT = "left", e.RIGHT = "right", e.TOP = "top", e.BOTTOM = "bottom", e.FRONT = "front", e.BACK = "back", e))(N || {});
321
321
  const H = {
322
322
  // Red
323
323
  CADMIUM_RED: 15073318,
@@ -465,75 +465,75 @@ const H = {
465
465
  // White Smoke or Light Gray. It’s a soft, pale gray shade with a hint of warmth.
466
466
  TITANIUM_WHITE: 16777215
467
467
  // Pure white, the brightest color possible.
468
- }, Vt = (e) => 1 - Math.cos(e * Math.PI / 2), qt = (e) => Math.sin(e * Math.PI / 2), Yt = (e) => -0.5 * (Math.cos(Math.PI * e) - 1), Ht = (e) => e * e, Xt = (e) => 1 - Math.pow(1 - e, 2), Zt = (e) => e < 0.5 ? 2 * e * e : 1 - Math.pow(-2 * e + 2, 2) / 2, jt = (e) => e * e * e, Qt = (e) => 1 - Math.pow(1 - e, 3), Kt = (e) => e < 0.5 ? 4 * e * e * e : 1 - Math.pow(-2 * e + 2, 3) / 2, $t = (e) => e * e * e * e, Jt = (e) => 1 - Math.pow(1 - e, 4), Wt = (e) => e < 0.5 ? 8 * e * e * e * e : 1 - Math.pow(-2 * e + 2, 4) / 2, te = (e) => e * e * e * e * e, ee = (e) => 1 - Math.pow(1 - e, 5), ne = (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), se = (e) => e === 1 ? 1 : 1 - Math.pow(2, -10 * e), re = (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, ae = (e) => 1 - Math.sqrt(1 - Math.pow(e, 2)), ie = (e) => Math.sqrt(1 - Math.pow(e - 1, 2)), ce = (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, le = (e) => e, ue = (e) => e * e * (3 - 2 * e), me = (e) => 1 - Math.pow(1 - e, 0.3), he = (e) => Math.pow(e, 0.3), fe = (e) => Math.log(Math.max(0.01, e)) / Math.log(2), pe = (e) => Math.sqrt(e), de = (e) => 1 - e, ye = (e) => Math.exp(-Math.pow(e - 0.5, 2) / (2 * 0.5)), jn = {
469
- SINE_EASE_IN: Vt,
470
- SINE_EASE_OUT: qt,
471
- SINE_EASE_IN_OUT: Yt,
472
- QUADRATIC_EASE_IN: Ht,
473
- QUADRATIC_EASE_OUT: Xt,
474
- QUADRATIC_EASE_IN_OUT: Zt,
475
- CUBIC_EASE_IN: jt,
476
- CUBIC_EASE_OUT: Qt,
477
- CUBIC_EASE_IN_OUT: Kt,
478
- QUARTIC_EASE_IN: $t,
479
- QUARTIC_EASE_OUT: Jt,
480
- QUARTIC_EASE_IN_OUT: Wt,
481
- QUINTIC_EASE_IN: te,
482
- QUINTIC_EASE_OUT: ee,
468
+ }, qt = (e) => 1 - Math.cos(e * Math.PI / 2), Yt = (e) => Math.sin(e * Math.PI / 2), Ht = (e) => -0.5 * (Math.cos(Math.PI * e) - 1), Xt = (e) => e * e, Zt = (e) => 1 - Math.pow(1 - e, 2), jt = (e) => e < 0.5 ? 2 * e * e : 1 - Math.pow(-2 * e + 2, 2) / 2, Qt = (e) => e * e * e, Kt = (e) => 1 - Math.pow(1 - e, 3), $t = (e) => e < 0.5 ? 4 * e * e * e : 1 - Math.pow(-2 * e + 2, 3) / 2, Jt = (e) => e * e * e * e, Wt = (e) => 1 - Math.pow(1 - e, 4), te = (e) => e < 0.5 ? 8 * e * e * e * e : 1 - Math.pow(-2 * e + 2, 4) / 2, ee = (e) => e * e * e * e * e, oe = (e) => 1 - Math.pow(1 - e, 5), ne = (e) => e < 0.5 ? 16 * e * e * e * e * e : 1 - Math.pow(-2 * e + 2, 5) / 2, se = (e) => e === 0 ? 0 : Math.pow(2, 10 * e - 10), re = (e) => e === 1 ? 1 : 1 - Math.pow(2, -10 * e), ae = (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, ie = (e) => 1 - Math.sqrt(1 - Math.pow(e, 2)), ce = (e) => Math.sqrt(1 - Math.pow(e - 1, 2)), le = (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, ue = (e) => e, me = (e) => e * e * (3 - 2 * e), he = (e) => 1 - Math.pow(1 - e, 0.3), fe = (e) => Math.pow(e, 0.3), pe = (e) => Math.log(Math.max(0.01, e)) / Math.log(2), de = (e) => Math.sqrt(e), ye = (e) => 1 - e, we = (e) => Math.exp(-Math.pow(e - 0.5, 2) / (2 * 0.5)), Qo = {
469
+ SINE_EASE_IN: qt,
470
+ SINE_EASE_OUT: Yt,
471
+ SINE_EASE_IN_OUT: Ht,
472
+ QUADRATIC_EASE_IN: Xt,
473
+ QUADRATIC_EASE_OUT: Zt,
474
+ QUADRATIC_EASE_IN_OUT: jt,
475
+ CUBIC_EASE_IN: Qt,
476
+ CUBIC_EASE_OUT: Kt,
477
+ CUBIC_EASE_IN_OUT: $t,
478
+ QUARTIC_EASE_IN: Jt,
479
+ QUARTIC_EASE_OUT: Wt,
480
+ QUARTIC_EASE_IN_OUT: te,
481
+ QUINTIC_EASE_IN: ee,
482
+ QUINTIC_EASE_OUT: oe,
483
483
  QUINTIC_EASE_IN_OUT: ne,
484
- EXPONENTIAL_EASE_IN: oe,
485
- EXPONENTIAL_EASE_OUT: se,
486
- EXPONENTIAL_EASE_IN_OUT: re,
487
- CIRCULAR_EASE_IN: ae,
488
- CIRCULAR_EASE_OUT: ie,
489
- CIRCULAR_EASE_IN_OUT: ce,
490
- LINEAR: le,
491
- SMOOTHSTEP: ue,
492
- CONCAVE: me,
493
- CONVEX: he,
494
- LOGARITHMIC: fe,
495
- SQUARE_ROOT: pe,
496
- INVERSE: de,
497
- GAUSSIAN: ye
498
- }, we = (e, t, n, s, a) => {
499
- const o = Math.max(0, Math.min(1, e)), r = 1 - o;
500
- return r * r * r * t + 3 * r * r * o * n + 3 * r * o * o * s + o * o * o * a;
501
- }, Me = (e, t = 1) => {
502
- const n = Math.max(1e-3, t);
503
- return (1 - Math.exp(-n * e)) / (1 - Math.exp(-n));
504
- }, xe = (e, t = 1, n = 1) => {
484
+ EXPONENTIAL_EASE_IN: se,
485
+ EXPONENTIAL_EASE_OUT: re,
486
+ EXPONENTIAL_EASE_IN_OUT: ae,
487
+ CIRCULAR_EASE_IN: ie,
488
+ CIRCULAR_EASE_OUT: ce,
489
+ CIRCULAR_EASE_IN_OUT: le,
490
+ LINEAR: ue,
491
+ SMOOTHSTEP: me,
492
+ CONCAVE: he,
493
+ CONVEX: fe,
494
+ LOGARITHMIC: pe,
495
+ SQUARE_ROOT: de,
496
+ INVERSE: ye,
497
+ GAUSSIAN: we
498
+ }, Me = (e, t, o, s, a) => {
499
+ const n = Math.max(0, Math.min(1, e)), r = 1 - n;
500
+ return r * r * r * t + 3 * r * r * n * o + 3 * r * n * n * s + n * n * n * a;
501
+ }, xe = (e, t = 1) => {
502
+ const o = Math.max(1e-3, t);
503
+ return (1 - Math.exp(-o * e)) / (1 - Math.exp(-o));
504
+ }, ve = (e, t = 1, o = 1) => {
505
505
  const s = Math.max(0, Math.min(1, e));
506
- return t * Math.pow(s, n);
507
- }, ve = (e, t = 1, n = 1) => {
506
+ return t * Math.pow(s, o);
507
+ }, ge = (e, t = 1, o = 1) => {
508
508
  const s = Math.max(1e-3, Math.min(1, e));
509
- return t * Math.log(n * s + 1);
510
- }, ge = (e, t = 1, n = 0, s = 0) => {
509
+ return t * Math.log(o * s + 1);
510
+ }, Ae = (e, t = 1, o = 0, s = 0) => {
511
511
  const a = Math.max(0, Math.min(1, e));
512
- return t * a * a + n * a + s;
513
- }, Ae = (e, t, n, s) => {
514
- const a = Math.max(0, Math.min(1, e)), o = 1 - a;
515
- return o * o * t + 2 * o * a * n + a * a * s;
516
- }, Ie = (e, t = 10) => {
517
- const n = Math.max(0, Math.min(1, e));
518
- return 1 / (1 + Math.exp(-t * (n - 0.5)));
519
- }, Ee = (e) => Math.sin(e * Math.PI * 0.5), D = {
520
- CUBIC: we,
521
- DAMPED: Me,
522
- EXPONENTIAL: xe,
523
- LOGARITHMIC: ve,
524
- PARABOLIC: ge,
525
- QUADRATIC: Ae,
526
- SIGMOID: Ie,
527
- SINUSOIDAL: Ee
512
+ return t * a * a + o * a + s;
513
+ }, Ie = (e, t, o, s) => {
514
+ const a = Math.max(0, Math.min(1, e)), n = 1 - a;
515
+ return n * n * t + 2 * n * a * o + a * a * s;
516
+ }, Ee = (e, t = 10) => {
517
+ const o = Math.max(0, Math.min(1, e));
518
+ return 1 / (1 + Math.exp(-t * (o - 0.5)));
519
+ }, be = (e) => Math.sin(e * Math.PI * 0.5), D = {
520
+ CUBIC: Me,
521
+ DAMPED: xe,
522
+ EXPONENTIAL: ve,
523
+ LOGARITHMIC: ge,
524
+ PARABOLIC: Ae,
525
+ QUADRATIC: Ie,
526
+ SIGMOID: Ee,
527
+ SINUSOIDAL: be
528
528
  };
529
- class Qn extends ut {
530
- constructor(n = {}) {
529
+ class Ko extends nt {
530
+ constructor(o = {}) {
531
531
  const {
532
532
  count: s = 20,
533
533
  width: a = 1.5,
534
- height: o = 3,
534
+ height: n = 3,
535
535
  depth: r = 1.5,
536
- geometry: i = new F(0.1, 6, 6),
536
+ geometry: i = new z(0.1, 6, 6),
537
537
  // Small spheres
538
538
  material: c = new w({
539
539
  color: 16777215,
@@ -542,18 +542,18 @@ class Qn extends ut {
542
542
  roughness: 0.3,
543
543
  metalness: 0.3
544
544
  })
545
- } = n;
545
+ } = o;
546
546
  super(i, c, s);
547
547
  I(this, "bubblePositions", []);
548
548
  I(this, "velocities", []);
549
549
  I(this, "width");
550
550
  I(this, "height");
551
551
  I(this, "depth");
552
- this.height = o, this.width = a, this.depth = r;
552
+ this.height = n, this.width = a, this.depth = r;
553
553
  for (let l = 0; l < this.count; l++) {
554
554
  const u = new M(
555
555
  (Math.random() - 0.5) * a,
556
- Math.random() * (o - 1) + 0.5,
556
+ Math.random() * (n - 1) + 0.5,
557
557
  (Math.random() - 0.5) * r
558
558
  );
559
559
  this.bubblePositions.push(u), this.velocities.push(0.01 + Math.random() * 0.02), this.updateInstanceMatrix(l);
@@ -562,25 +562,25 @@ class Qn extends ut {
562
562
  /**
563
563
  * Updates the position of a specific bubble instance in the InstancedMesh.
564
564
  */
565
- updateInstanceMatrix(n) {
566
- const s = this.bubblePositions[n], a = new X().setPosition(s);
567
- this.setMatrixAt(n, a), this.instanceMatrix.needsUpdate = !0;
565
+ updateInstanceMatrix(o) {
566
+ const s = this.bubblePositions[o], a = new X().setPosition(s);
567
+ this.setMatrixAt(o, a), this.instanceMatrix.needsUpdate = !0;
568
568
  }
569
569
  /**
570
570
  * Updates bubble positions, moving them upward and resetting them
571
571
  * to the bottom if they reach the top.
572
572
  */
573
573
  update() {
574
- for (let n = 0; n < this.count; n++) {
575
- const s = this.bubblePositions[n];
576
- s.y += this.velocities[n], s.y > this.height && (s.x = (Math.random() - 0.5) * this.width, s.y = 0, s.z = (Math.random() - 0.5) * this.depth), this.updateInstanceMatrix(n);
574
+ for (let o = 0; o < this.count; o++) {
575
+ const s = this.bubblePositions[o];
576
+ s.y += this.velocities[o], s.y > this.height && (s.x = (Math.random() - 0.5) * this.width, s.y = 0, s.z = (Math.random() - 0.5) * this.depth), this.updateInstanceMatrix(o);
577
577
  }
578
578
  }
579
579
  }
580
- class be extends E {
580
+ class Te extends E {
581
581
  constructor(t = 0.1) {
582
582
  super();
583
- const n = [], s = [], a = [
583
+ const o = [], s = [], a = [
584
584
  [0, 1],
585
585
  // Top point
586
586
  [0.5, 0.75],
@@ -600,23 +600,23 @@ class be extends E {
600
600
  ];
601
601
  for (let r = 0; r < a.length; r++) {
602
602
  const [i, c] = a[r];
603
- n.push(i * t, c * t, 0);
603
+ o.push(i * t, c * t, 0);
604
604
  }
605
605
  for (let r = 1; r < a.length - 1; r++)
606
606
  s.push(0, r, r + 1);
607
607
  s.push(0, a.length - 1, 1);
608
- const o = new z(n, 3);
609
- this.setAttribute("position", o), this.setIndex(s), this.computeVertexNormals();
608
+ const n = new F(o, 3);
609
+ this.setAttribute("position", n), this.setIndex(s), this.computeVertexNormals();
610
610
  }
611
611
  }
612
- class Kn extends ut {
613
- constructor(n = {}) {
612
+ class $o extends nt {
613
+ constructor(o = {}) {
614
614
  const {
615
615
  count: s = 200,
616
616
  width: a = 20,
617
- height: o = 10,
617
+ height: n = 10,
618
618
  depth: r = 20,
619
- geometry: i = new be(),
619
+ geometry: i = new Te(),
620
620
  material: c = new w({
621
621
  color: 8956467,
622
622
  metalness: 0.1,
@@ -624,16 +624,16 @@ class Kn extends ut {
624
624
  flatShading: !0,
625
625
  side: Y
626
626
  })
627
- } = n;
627
+ } = o;
628
628
  super(i, c, s);
629
629
  I(this, "dummyMatrix");
630
630
  I(this, "velocities");
631
631
  I(this, "width");
632
632
  I(this, "height");
633
633
  I(this, "depth");
634
- this.dummyMatrix = new X(), this.velocities = [], this.width = a, this.height = o, this.depth = r;
634
+ this.dummyMatrix = new X(), this.velocities = [], this.width = a, this.height = n, this.depth = r;
635
635
  for (let l = 0; l < s; l++) {
636
- const u = (Math.random() - 0.5) * a, m = Math.random() * (o - 1) + 0.5, h = (Math.random() - 0.5) * r, f = (Math.random() - 0.5) * Math.PI, p = (Math.random() - 0.5) * Math.PI, d = (Math.random() - 0.5) * Math.PI;
636
+ const u = (Math.random() - 0.5) * a, m = Math.random() * (n - 1) + 0.5, h = (Math.random() - 0.5) * r, f = (Math.random() - 0.5) * Math.PI, p = (Math.random() - 0.5) * Math.PI, d = (Math.random() - 0.5) * Math.PI;
637
637
  this.dummyMatrix.makeRotationFromEuler(new Gt(f, p, d)), this.dummyMatrix.setPosition(u, m, h), this.setMatrixAt(l, this.dummyMatrix);
638
638
  const y = new M((Math.random() - 0.5) * 0.01, -5e-3, (Math.random() - 0.5) * 0.01);
639
639
  this.velocities.push(y);
@@ -641,27 +641,27 @@ class Kn extends ut {
641
641
  this.instanceMatrix.needsUpdate = !0;
642
642
  }
643
643
  update() {
644
- for (let n = 0; n < this.count; n++) {
644
+ for (let o = 0; o < this.count; o++) {
645
645
  const s = new X();
646
- this.getMatrixAt(n, s);
646
+ this.getMatrixAt(o, s);
647
647
  const a = new M();
648
648
  a.setFromMatrixPosition(s);
649
- const o = this.velocities[n];
650
- a.add(o), a.y < 0 && (a.set(
649
+ const n = this.velocities[o];
650
+ a.add(n), a.y < 0 && (a.set(
651
651
  (Math.random() - 0.5) * this.width,
652
652
  Math.random() * (this.height - 1) + 0.5,
653
653
  (Math.random() - 0.5) * this.depth
654
- ), o.set((Math.random() - 0.5) * 0.01, -5e-3, (Math.random() - 0.5) * 0.01)), s.setPosition(a), this.setMatrixAt(n, s);
654
+ ), n.set((Math.random() - 0.5) * 0.01, -5e-3, (Math.random() - 0.5) * 0.01)), s.setPosition(a), this.setMatrixAt(o, s);
655
655
  }
656
656
  this.instanceMatrix.needsUpdate = !0;
657
657
  }
658
658
  }
659
659
  const T = (e, t) => {
660
- const n = e[0].index !== null, s = new Set(Object.keys(e[0].attributes)), a = new Set(Object.keys(e[0].morphAttributes)), o = {}, r = {}, i = e[0].morphTargetsRelative, c = new E();
660
+ const o = e[0].index !== null, s = new Set(Object.keys(e[0].attributes)), a = new Set(Object.keys(e[0].morphAttributes)), n = {}, r = {}, i = e[0].morphTargetsRelative, c = new E();
661
661
  let l = 0;
662
662
  if (e.forEach((u, m) => {
663
663
  let h = 0;
664
- if (n !== (u.index !== null))
664
+ if (o !== (u.index !== null))
665
665
  return console.error(
666
666
  "THREE.BufferGeometryUtils: .mergeBufferGeometries() failed with geometry at index " + m + ". All geometries must have compatible attributes; make sure index attribute exists among all geometries, or in none of them."
667
667
  ), null;
@@ -670,7 +670,7 @@ const T = (e, t) => {
670
670
  return console.error(
671
671
  "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.'
672
672
  ), null;
673
- o[f] === void 0 && (o[f] = []), o[f].push(u.attributes[f]), h++;
673
+ n[f] === void 0 && (n[f] = []), n[f].push(u.attributes[f]), h++;
674
674
  }
675
675
  if (h !== s.size)
676
676
  return console.error(
@@ -699,7 +699,7 @@ const T = (e, t) => {
699
699
  ), null;
700
700
  c.addGroup(l, f, m), l += f;
701
701
  }
702
- }), n) {
702
+ }), o) {
703
703
  let u = 0;
704
704
  const m = [];
705
705
  e.forEach((h) => {
@@ -709,8 +709,8 @@ const T = (e, t) => {
709
709
  u += h.attributes.position.count;
710
710
  }), c.setIndex(m);
711
711
  }
712
- for (let u in o) {
713
- const m = dt(o[u]);
712
+ for (let u in n) {
713
+ const m = dt(n[u]);
714
714
  if (!m)
715
715
  return console.error(
716
716
  "THREE.BufferGeometryUtils: .mergeBufferGeometries() failed while trying to merge the " + u + " attribute."
@@ -736,32 +736,32 @@ const T = (e, t) => {
736
736
  }
737
737
  return c;
738
738
  }, dt = (e) => {
739
- let t, n, s, a = 0;
740
- if (e.forEach((o) => {
741
- if (t === void 0 && (t = o.array.constructor), t !== o.array.constructor)
739
+ let t, o, s, a = 0;
740
+ if (e.forEach((n) => {
741
+ if (t === void 0 && (t = n.array.constructor), t !== n.array.constructor)
742
742
  return console.error(
743
743
  "THREE.BufferGeometryUtils: .mergeBufferAttributes() failed. BufferAttribute.array must be of consistent array types across matching attributes."
744
744
  ), null;
745
- if (n === void 0 && (n = o.itemSize), n !== o.itemSize)
745
+ if (o === void 0 && (o = n.itemSize), o !== n.itemSize)
746
746
  return console.error(
747
747
  "THREE.BufferGeometryUtils: .mergeBufferAttributes() failed. BufferAttribute.itemSize must be consistent across matching attributes."
748
748
  ), null;
749
- if (s === void 0 && (s = o.normalized), s !== o.normalized)
749
+ if (s === void 0 && (s = n.normalized), s !== n.normalized)
750
750
  return console.error(
751
751
  "THREE.BufferGeometryUtils: .mergeBufferAttributes() failed. BufferAttribute.normalized must be consistent across matching attributes."
752
752
  ), null;
753
- a += o.array.length;
754
- }), t && n) {
755
- const o = new t(a);
753
+ a += n.array.length;
754
+ }), t && o) {
755
+ const n = new t(a);
756
756
  let r = 0;
757
757
  return e.forEach((i) => {
758
- o.set(i.array, r), r += i.array.length;
759
- }), new O(o, n, s);
758
+ n.set(i.array, r), r += i.array.length;
759
+ }), new _(n, o, s);
760
760
  }
761
761
  };
762
- function Te(e, t = 1e-4) {
762
+ function Se(e, t = 1e-4) {
763
763
  t = Math.max(t, Number.EPSILON);
764
- const n = {}, s = e.getIndex(), a = e.getAttribute("position"), o = s ? s.count : a.count;
764
+ const o = {}, s = e.getIndex(), a = e.getAttribute("position"), n = s ? s.count : a.count;
765
765
  let r = 0;
766
766
  const i = Object.keys(e.attributes), c = {}, l = {}, u = [], m = ["getX", "getY", "getZ", "getW"];
767
767
  for (let d = 0, y = i.length; d < y; d++) {
@@ -771,67 +771,67 @@ function Te(e, t = 1e-4) {
771
771
  v && (l[g] = new Array(v.length).fill(0).map(() => []));
772
772
  }
773
773
  const h = Math.log10(1 / t), f = Math.pow(10, h);
774
- for (let d = 0; d < o; d++) {
774
+ for (let d = 0; d < n; d++) {
775
775
  const y = s ? s.getX(d) : d;
776
776
  let g = "";
777
- for (let v = 0, N = i.length; v < N; v++) {
778
- const P = i[v], G = e.getAttribute(P), C = G.itemSize;
779
- for (let _ = 0; _ < C; _++)
780
- g += `${~~(G[m[_]](y) * f)},`;
777
+ for (let v = 0, C = i.length; v < C; v++) {
778
+ const S = i[v], P = e.getAttribute(S), R = P.itemSize;
779
+ for (let O = 0; O < R; O++)
780
+ g += `${~~(P[m[O]](y) * f)},`;
781
781
  }
782
- if (g in n)
783
- u.push(n[g]);
782
+ if (g in o)
783
+ u.push(o[g]);
784
784
  else {
785
- for (let v = 0, N = i.length; v < N; v++) {
786
- const P = i[v], G = e.getAttribute(P), C = e.morphAttributes[P], _ = G.itemSize, U = c[P], rt = l[P];
787
- for (let Z = 0; Z < _; Z++) {
788
- const j = m[Z];
789
- if (U.push(G[j](y)), C)
790
- for (let R = 0, Tt = C.length; R < Tt; R++)
791
- rt[R].push(C[R][j](y));
785
+ for (let v = 0, C = i.length; v < C; v++) {
786
+ const S = i[v], P = e.getAttribute(S), R = e.morphAttributes[S], O = P.itemSize, U = c[S], at = l[S];
787
+ for (let Q = 0; Q < O; Q++) {
788
+ const K = m[Q];
789
+ if (U.push(P[K](y)), R)
790
+ for (let B = 0, Tt = R.length; B < Tt; B++)
791
+ at[B].push(R[B][K](y));
792
792
  }
793
793
  }
794
- n[g] = r, u.push(r), r++;
794
+ o[g] = r, u.push(r), r++;
795
795
  }
796
796
  }
797
797
  const p = e.clone();
798
798
  for (let d = 0, y = i.length; d < y; d++) {
799
- const g = i[d], v = e.getAttribute(g), N = new v.array.constructor(c[g]), P = new O(N, v.itemSize, v.normalized);
800
- if (p.setAttribute(g, P), g in l)
801
- for (let G = 0; G < l[g].length; G++) {
802
- const C = e.morphAttributes[g][G], _ = new C.array.constructor(l[g][G]), U = new O(_, C.itemSize, C.normalized);
803
- p.morphAttributes[g][G] = U;
799
+ const g = i[d], v = e.getAttribute(g), C = new v.array.constructor(c[g]), S = new _(C, v.itemSize, v.normalized);
800
+ if (p.setAttribute(g, S), g in l)
801
+ for (let P = 0; P < l[g].length; P++) {
802
+ const R = e.morphAttributes[g][P], O = new R.array.constructor(l[g][P]), U = new _(O, R.itemSize, R.normalized);
803
+ p.morphAttributes[g][P] = U;
804
804
  }
805
805
  }
806
806
  return p.setIndex(u), p;
807
807
  }
808
- class Se extends E {
809
- constructor(t = (a, o, r) => r.set(a, o, Math.cos(a) * Math.sin(o)), n = 8, s = 8) {
808
+ class Pe extends E {
809
+ constructor(t = (a, n, r) => r.set(a, n, Math.cos(a) * Math.sin(n)), o = 8, s = 8) {
810
810
  super(), this.type = "ParametricGeometry", this.parameters = {
811
811
  func: t,
812
- slices: n,
812
+ slices: o,
813
813
  stacks: s
814
814
  };
815
- const a = [], o = [], r = [], i = [], c = 1e-5, l = new M(), u = new M(), m = new M(), h = new M(), f = new M(), p = n + 1;
815
+ const a = [], n = [], r = [], i = [], c = 1e-5, l = new M(), u = new M(), m = new M(), h = new M(), f = new M(), p = o + 1;
816
816
  for (let d = 0; d <= s; d++) {
817
817
  const y = d / s;
818
- for (let g = 0; g <= n; g++) {
819
- const v = g / n;
820
- t(v, y, u), o.push(u.x, u.y, u.z), v - c >= 0 ? (t(v - c, y, m), h.subVectors(u, m)) : (t(v + c, y, m), h.subVectors(m, u)), y - c >= 0 ? (t(v, y - c, m), f.subVectors(u, m)) : (t(v, y + c, m), f.subVectors(m, u)), l.crossVectors(h, f).normalize(), r.push(l.x, l.y, l.z), i.push(v, y);
818
+ for (let g = 0; g <= o; g++) {
819
+ const v = g / o;
820
+ t(v, y, u), n.push(u.x, u.y, u.z), v - c >= 0 ? (t(v - c, y, m), h.subVectors(u, m)) : (t(v + c, y, m), h.subVectors(m, u)), y - c >= 0 ? (t(v, y - c, m), f.subVectors(u, m)) : (t(v, y + c, m), f.subVectors(m, u)), l.crossVectors(h, f).normalize(), r.push(l.x, l.y, l.z), i.push(v, y);
821
821
  }
822
822
  }
823
823
  for (let d = 0; d < s; d++)
824
- for (let y = 0; y < n; y++) {
825
- const g = d * p + y, v = d * p + y + 1, N = (d + 1) * p + y + 1, P = (d + 1) * p + y;
826
- a.push(g, v, P), a.push(v, N, P);
824
+ for (let y = 0; y < o; y++) {
825
+ const g = d * p + y, v = d * p + y + 1, C = (d + 1) * p + y + 1, S = (d + 1) * p + y;
826
+ a.push(g, v, S), a.push(v, C, S);
827
827
  }
828
- this.setIndex(a), this.setAttribute("position", new z(o, 3)), this.setAttribute("normal", new z(r, 3)), this.setAttribute("uv", new z(i, 2));
828
+ this.setIndex(a), this.setAttribute("position", new F(n, 3)), this.setAttribute("normal", new F(r, 3)), this.setAttribute("uv", new F(i, 2));
829
829
  }
830
830
  }
831
831
  class xt extends E {
832
- constructor(t = 1, n = 1.5, s = 0.5, a = 0.05, o = 0.05) {
832
+ constructor(t = 1, o = 1.5, s = 0.5, a = 0.05, n = 0.05) {
833
833
  super();
834
- const r = t, i = n, c = s, l = a, u = o, m = [
834
+ const r = t, i = o, c = s, l = a, u = n, m = [
835
835
  // Front cover
836
836
  0,
837
837
  0,
@@ -1423,81 +1423,99 @@ class xt extends E {
1423
1423
  54,
1424
1424
  55
1425
1425
  // Back cover edge
1426
- ], g = new Float32Array(m), v = new Float32Array(h), N = new Float32Array(d), P = new Uint16Array(y), G = new E();
1427
- G.setAttribute("position", new O(g, 3)), G.setAttribute("normal", new O(v, 3)), G.setAttribute("uv", new O(N, 2)), G.setIndex(new O(P, 1));
1428
- const C = new b(t - l - u, i - u * 2, c - l * 2);
1429
- C.translate((t - l - u) / 2 + l, i / 2, -c / 2), this.copy(T([G, C], !0));
1426
+ ], g = new Float32Array(m), v = new Float32Array(h), C = new Float32Array(d), S = new Uint16Array(y), P = new E();
1427
+ P.setAttribute("position", new _(g, 3)), P.setAttribute("normal", new _(v, 3)), P.setAttribute("uv", new _(C, 2)), P.setIndex(new _(S, 1));
1428
+ const R = new b(t - l - u, i - u * 2, c - l * 2);
1429
+ R.translate((t - l - u) / 2 + l, i / 2, -c / 2), this.copy(T([P, R], !0));
1430
1430
  }
1431
1431
  }
1432
1432
  function vt({
1433
1433
  scaleXMin: e = 0.4,
1434
1434
  scaleXMax: t = 0.7,
1435
- scaleYMin: n = 0.3,
1435
+ scaleYMin: o = 0.3,
1436
1436
  scaleYMax: s = 0.95,
1437
1437
  scaleZMin: a = 0.1,
1438
- scaleZMax: o = 0.5
1438
+ scaleZMax: n = 0.5
1439
1439
  } = {}) {
1440
1440
  return new M(
1441
1441
  ht(e, t),
1442
- Lt(0.25, n, s),
1443
- Dt(0.8, a, o)
1442
+ Dt(0.25, o, s),
1443
+ kt(0.8, a, n)
1444
1444
  );
1445
1445
  }
1446
1446
  function gt({
1447
1447
  coverMaterial: e,
1448
1448
  pagesMaterial: t,
1449
- scales: n
1449
+ scales: o
1450
1450
  }) {
1451
- const s = new xt(), a = new ut(s, [e, t], n.length), o = new X();
1451
+ const s = new xt(), a = new nt(s, [e, t], o.length), n = new X();
1452
1452
  let r = 0;
1453
- for (let i = 0; i < n.length; i++) {
1454
- const c = n[i], l = new X();
1455
- l.makeScale(c.x, c.y, c.z), o.identity(), o.multiply(l), o.setPosition(0.01 + Math.random() * 0.1, 0, r + c.z * 0.5), a.setMatrixAt(i, o), r += c.z * 0.5;
1453
+ for (let i = 0; i < o.length; i++) {
1454
+ const c = o[i], l = new X();
1455
+ l.makeScale(c.x, c.y, c.z), n.identity(), n.multiply(l), n.setPosition(0.01 + Math.random() * 0.1, 0, r + c.z * 0.5), a.setMatrixAt(i, n), r += c.z * 0.5;
1456
1456
  }
1457
1457
  return a;
1458
1458
  }
1459
- function $n({
1459
+ function Jo({
1460
1460
  coverMaterial: e,
1461
1461
  pagesMaterial: t,
1462
- count: n = 10,
1462
+ count: o = 10,
1463
1463
  scaleXMin: s = 0.4,
1464
1464
  scaleXMax: a = 0.7,
1465
- scaleYMin: o = 0.3,
1465
+ scaleYMin: n = 0.3,
1466
1466
  scaleYMax: r = 0.95,
1467
1467
  scaleZMin: i = 0.1,
1468
1468
  scaleZMax: c = 0.5
1469
1469
  }) {
1470
1470
  const l = Array.from(
1471
- { length: n },
1472
- () => vt({ scaleXMin: s, scaleXMax: a, scaleYMin: o, scaleYMax: r, scaleZMin: i, scaleZMax: c })
1471
+ { length: o },
1472
+ () => vt({ scaleXMin: s, scaleXMax: a, scaleYMin: n, scaleYMax: r, scaleZMin: i, scaleZMax: c })
1473
1473
  );
1474
1474
  return gt({ coverMaterial: e, pagesMaterial: t, scales: l });
1475
1475
  }
1476
- function Jn({
1476
+ function Wo({
1477
1477
  coverMaterial: e,
1478
1478
  pagesMaterial: t,
1479
- length: n = 10,
1479
+ length: o = 10,
1480
1480
  scaleXMin: s = 0.4,
1481
1481
  scaleXMax: a = 0.7,
1482
- scaleYMin: o = 0.3,
1482
+ scaleYMin: n = 0.3,
1483
1483
  scaleYMax: r = 0.95,
1484
1484
  scaleZMin: i = 0.1,
1485
1485
  scaleZMax: c = 0.5
1486
1486
  }) {
1487
1487
  const l = [];
1488
- let u = n;
1488
+ let u = o;
1489
1489
  for (; u > 0; ) {
1490
- const m = vt({ scaleXMin: s, scaleXMax: a, scaleYMin: o, scaleYMax: r, scaleZMin: i, scaleZMax: c });
1490
+ const m = vt({ scaleXMin: s, scaleXMax: a, scaleYMin: n, scaleYMax: r, scaleZMin: i, scaleZMax: c });
1491
1491
  m.z = Math.min(m.z, u), l.push(m), u -= m.z;
1492
1492
  }
1493
1493
  return gt({ coverMaterial: e, pagesMaterial: t, scales: l });
1494
1494
  }
1495
- class Wn extends E {
1496
- constructor(t = 2, n = 0.3, s = 0.6, a = 5, o = 5, r = Math.PI / 4) {
1495
+ function tn(e) {
1496
+ const { width: t, depth: o, height: s, radius: a, gap: n, material: r } = e, i = r || new w({ color: 9127187 }), c = a * 3 / 2 + n, l = Math.sqrt(3) * a + n, u = Math.floor(t / c), m = Math.floor(o / l), h = u * m, f = new Z();
1497
+ for (let v = 0; v < 6; v++) {
1498
+ const C = Math.PI / 3 * v, S = Math.cos(C) * a, P = Math.sin(C) * a;
1499
+ v === 0 ? f.moveTo(S, P) : f.lineTo(S, P);
1500
+ }
1501
+ f.closePath();
1502
+ const p = new j(f, { depth: s, bevelEnabled: !1 });
1503
+ p.rotateX(-Math.PI / 2);
1504
+ const d = new nt(p, i, h), y = new Ct();
1505
+ let g = 0;
1506
+ for (let v = 0; v < u; v++)
1507
+ for (let C = 0; C < m; C++) {
1508
+ const S = v * c, P = C * l + v % 2 * (l / 2), R = S - u * c / 2 + c / 2, O = P - m * l / 2 + l / 2;
1509
+ y.position.set(R, 0, O), y.updateMatrix(), d.setMatrixAt(g++, y.matrix);
1510
+ }
1511
+ return d.instanceMatrix.needsUpdate = !0, d;
1512
+ }
1513
+ class en extends E {
1514
+ constructor(t = 2, o = 0.3, s = 0.6, a = 5, n = 5, r = Math.PI / 4) {
1497
1515
  super();
1498
1516
  const i = [], c = [];
1499
1517
  for (let f = 0; f < a; f++) {
1500
- const p = f * n, d = p + n, y = f * s, g = y + s;
1518
+ const p = f * o, d = p + o, y = f * s, g = y + s;
1501
1519
  i.push(
1502
1520
  // Vertical riser
1503
1521
  -t / 2,
@@ -1551,7 +1569,7 @@ class Wn extends E {
1551
1569
  v + 7
1552
1570
  );
1553
1571
  }
1554
- const l = a * n, u = a * s, m = t * 2;
1572
+ const l = a * o, u = a * s, m = t * 2;
1555
1573
  i.push(
1556
1574
  // Landing platform (4 vertices)
1557
1575
  -m / 2,
@@ -1584,76 +1602,76 @@ class Wn extends E {
1584
1602
  );
1585
1603
  for (let f = 0; f < 2; f++) {
1586
1604
  const p = f === 0 ? 1 : -1;
1587
- for (let d = 0; d < o; d++) {
1588
- const y = l + d * n, g = y + n, v = p * (m / 4), N = u + s, P = d * s * Math.cos(r), G = d * s * Math.sin(r), C = v + p * P - t / 2 * Math.cos(r), _ = v + p * P + t / 2 * Math.cos(r), U = N + G, rt = C + p * s * Math.cos(r), Z = _ + p * s * Math.cos(r), j = U + s * Math.sin(r);
1605
+ for (let d = 0; d < n; d++) {
1606
+ const y = l + d * o, g = y + o, v = p * (m / 4), C = u + s, S = d * s * Math.cos(r), P = d * s * Math.sin(r), R = v + p * S - t / 2 * Math.cos(r), O = v + p * S + t / 2 * Math.cos(r), U = C + P, at = R + p * s * Math.cos(r), Q = O + p * s * Math.cos(r), K = U + s * Math.sin(r);
1589
1607
  i.push(
1590
1608
  // Vertical riser
1591
- C,
1609
+ R,
1592
1610
  y,
1593
1611
  U,
1594
1612
  // Bottom-left
1595
- _,
1613
+ O,
1596
1614
  y,
1597
1615
  U,
1598
1616
  // Bottom-right
1599
- _,
1617
+ O,
1600
1618
  g,
1601
1619
  U,
1602
1620
  // Top-right
1603
- C,
1621
+ R,
1604
1622
  g,
1605
1623
  U,
1606
1624
  // Top-left
1607
1625
  // Horizontal tread
1608
- C,
1626
+ R,
1609
1627
  g,
1610
1628
  U,
1611
1629
  // Top-left
1612
- _,
1630
+ O,
1613
1631
  g,
1614
1632
  U,
1615
1633
  // Top-right
1616
- Z,
1634
+ Q,
1617
1635
  g,
1618
- j,
1636
+ K,
1619
1637
  // Back-right
1620
- rt,
1638
+ at,
1621
1639
  g,
1622
- j
1640
+ K
1623
1641
  // Back-left
1624
1642
  );
1625
- const R = h + 4 + f * o * 8 + d * 8;
1643
+ const B = h + 4 + f * n * 8 + d * 8;
1626
1644
  c.push(
1627
- R,
1628
- R + 1,
1629
- R + 2,
1630
- R,
1631
- R + 2,
1632
- R + 3
1645
+ B,
1646
+ B + 1,
1647
+ B + 2,
1648
+ B,
1649
+ B + 2,
1650
+ B + 3
1633
1651
  ), c.push(
1634
- R + 4,
1635
- R + 5,
1636
- R + 6,
1637
- R + 4,
1638
- R + 6,
1639
- R + 7
1652
+ B + 4,
1653
+ B + 5,
1654
+ B + 6,
1655
+ B + 4,
1656
+ B + 6,
1657
+ B + 7
1640
1658
  );
1641
1659
  }
1642
1660
  }
1643
- this.setIndex(c), this.setAttribute("position", new z(i, 3)), this.computeVertexNormals();
1661
+ this.setIndex(c), this.setAttribute("position", new F(i, 3)), this.computeVertexNormals();
1644
1662
  }
1645
1663
  }
1646
- class Pe extends E {
1647
- constructor({ width: t = 5, height: n = 3, depth: s = 5, wallThickness: a = 0.05 } = {}) {
1664
+ class Ge extends E {
1665
+ constructor({ width: t = 5, height: o = 3, depth: s = 5, wallThickness: a = 0.05 } = {}) {
1648
1666
  super();
1649
- const o = t, r = n, i = s, c = a, l = [
1667
+ const n = t, r = o, i = s, c = a, l = [
1650
1668
  0,
1651
1669
  0,
1652
1670
  0,
1653
- o,
1671
+ n,
1654
1672
  0,
1655
1673
  0,
1656
- o,
1674
+ n,
1657
1675
  r,
1658
1676
  0,
1659
1677
  0,
@@ -1676,10 +1694,10 @@ class Pe extends E {
1676
1694
  0,
1677
1695
  0,
1678
1696
  i,
1679
- o,
1697
+ n,
1680
1698
  0,
1681
1699
  i,
1682
- o,
1700
+ n,
1683
1701
  0,
1684
1702
  0,
1685
1703
  0,
@@ -1689,26 +1707,26 @@ class Pe extends E {
1689
1707
  -c,
1690
1708
  -c,
1691
1709
  i,
1692
- o,
1710
+ n,
1693
1711
  -c,
1694
1712
  i,
1695
- o,
1713
+ n,
1696
1714
  0,
1697
1715
  i,
1698
1716
  0,
1699
1717
  0,
1700
1718
  i,
1701
1719
  // Floor front
1702
- o,
1720
+ n,
1703
1721
  -c,
1704
1722
  i,
1705
- o,
1723
+ n,
1706
1724
  -c,
1707
1725
  -c,
1708
- o,
1726
+ n,
1709
1727
  0,
1710
1728
  0,
1711
- o,
1729
+ n,
1712
1730
  0,
1713
1731
  i,
1714
1732
  // Floor side
@@ -1725,16 +1743,16 @@ class Pe extends E {
1725
1743
  r,
1726
1744
  i,
1727
1745
  // Left wall side
1728
- o,
1746
+ n,
1729
1747
  0,
1730
1748
  0,
1731
- o,
1749
+ n,
1732
1750
  -c,
1733
1751
  -c,
1734
- o,
1752
+ n,
1735
1753
  r,
1736
1754
  -c,
1737
- o,
1755
+ n,
1738
1756
  r,
1739
1757
  0,
1740
1758
  // Back wall side
@@ -1754,10 +1772,10 @@ class Pe extends E {
1754
1772
  0,
1755
1773
  r,
1756
1774
  0,
1757
- o,
1775
+ n,
1758
1776
  r,
1759
1777
  0,
1760
- o,
1778
+ n,
1761
1779
  r,
1762
1780
  -c,
1763
1781
  -c,
@@ -1767,10 +1785,10 @@ class Pe extends E {
1767
1785
  -c,
1768
1786
  -c,
1769
1787
  -c,
1770
- o,
1788
+ n,
1771
1789
  -c,
1772
1790
  -c,
1773
- o,
1791
+ n,
1774
1792
  -c,
1775
1793
  i,
1776
1794
  -c,
@@ -1790,7 +1808,7 @@ class Pe extends E {
1790
1808
  r,
1791
1809
  -c,
1792
1810
  // Left wall backside
1793
- o,
1811
+ n,
1794
1812
  -c,
1795
1813
  -c,
1796
1814
  -c,
@@ -1799,7 +1817,7 @@ class Pe extends E {
1799
1817
  -c,
1800
1818
  r,
1801
1819
  -c,
1802
- o,
1820
+ n,
1803
1821
  r,
1804
1822
  -c
1805
1823
  // back wall backside
@@ -2078,50 +2096,50 @@ class Pe extends E {
2078
2096
  1,
2079
2097
  0,
2080
2098
  1,
2081
- c / o,
2099
+ c / n,
2082
2100
  0,
2083
- c / o,
2101
+ c / n,
2084
2102
  // Floor (side: front)
2085
2103
  0,
2086
2104
  0,
2087
2105
  1,
2088
2106
  0,
2089
2107
  1,
2090
- c / o,
2108
+ c / n,
2091
2109
  0,
2092
- c / o,
2110
+ c / n,
2093
2111
  // Floor (side: right)
2094
2112
  0,
2095
2113
  0,
2096
- c / o,
2114
+ c / n,
2097
2115
  0,
2098
- c / o,
2116
+ c / n,
2099
2117
  1,
2100
2118
  0,
2101
2119
  1,
2102
2120
  // Left wall (side: front)
2103
- 1 - c / o,
2121
+ 1 - c / n,
2104
2122
  0,
2105
2123
  1,
2106
2124
  0,
2107
2125
  1,
2108
2126
  1,
2109
- 1 - c / o,
2127
+ 1 - c / n,
2110
2128
  1,
2111
2129
  // Back wall (side: right)
2112
2130
  0,
2113
2131
  0,
2114
- c / o,
2132
+ c / n,
2115
2133
  0,
2116
- c / o,
2134
+ c / n,
2117
2135
  1,
2118
2136
  0,
2119
2137
  1,
2120
2138
  // Left wall (side: top)
2121
2139
  0,
2122
- 1 - c / o,
2140
+ 1 - c / n,
2123
2141
  1,
2124
- 1 - c / o,
2142
+ 1 - c / n,
2125
2143
  1,
2126
2144
  1,
2127
2145
  0,
@@ -2155,15 +2173,15 @@ class Pe extends E {
2155
2173
  1
2156
2174
  // Back wall backside
2157
2175
  ], f = new Float32Array(l), p = new Float32Array(m), d = new Float32Array(h);
2158
- this.setAttribute("position", new O(f, 3)), this.setAttribute("normal", new O(p, 3)), this.setAttribute("uv", new O(d, 2)), this.setIndex(u), this.addGroup(0, 12, 0), this.addGroup(12, 6, 1), this.addGroup(18, 54, 2);
2176
+ this.setAttribute("position", new _(f, 3)), this.setAttribute("normal", new _(p, 3)), this.setAttribute("uv", new _(d, 2)), this.setIndex(u), this.addGroup(0, 12, 0), this.addGroup(12, 6, 1), this.addGroup(18, 54, 2);
2159
2177
  }
2160
2178
  }
2161
- class to extends E {
2162
- constructor(t = 2, n = 0.3, s = 0.5, a = 5, o = 2) {
2179
+ class on extends E {
2180
+ constructor(t = 2, o = 0.3, s = 0.5, a = 5, n = 2) {
2163
2181
  super();
2164
2182
  const r = [], i = [];
2165
2183
  for (let m = 0; m < a; m++) {
2166
- const h = m * n, f = h + n, p = m * s, d = p + s;
2184
+ const h = m * o, f = h + o, p = m * s, d = p + s;
2167
2185
  r.push(
2168
2186
  // Vertical riser
2169
2187
  -t / 2,
@@ -2217,7 +2235,7 @@ class to extends E {
2217
2235
  y + 7
2218
2236
  );
2219
2237
  }
2220
- const c = a * n, l = a * s;
2238
+ const c = a * o, l = a * s;
2221
2239
  r.push(
2222
2240
  // Landing platform (4 vertices)
2223
2241
  -t / 2,
@@ -2230,11 +2248,11 @@ class to extends E {
2230
2248
  // Bottom-right
2231
2249
  t / 2,
2232
2250
  c,
2233
- l + o,
2251
+ l + n,
2234
2252
  // Top-right
2235
2253
  -t / 2,
2236
2254
  c,
2237
- l + o
2255
+ l + n
2238
2256
  // Top-left
2239
2257
  );
2240
2258
  const u = a * 8;
@@ -2249,41 +2267,41 @@ class to extends E {
2249
2267
  // Second triangle for landing
2250
2268
  );
2251
2269
  for (let m = 0; m < a; m++) {
2252
- const h = c + m * n, f = h + n, p = -t / 2 - m * s, d = p - s;
2270
+ const h = c + m * o, f = h + o, p = -t / 2 - m * s, d = p - s;
2253
2271
  r.push(
2254
2272
  // Vertical riser
2255
2273
  p,
2256
2274
  h,
2257
- l + o,
2275
+ l + n,
2258
2276
  // Bottom-left
2259
2277
  p,
2260
2278
  h,
2261
- l + o - t,
2279
+ l + n - t,
2262
2280
  // Bottom-right
2263
2281
  p,
2264
2282
  f,
2265
- l + o - t,
2283
+ l + n - t,
2266
2284
  // Top-right
2267
2285
  p,
2268
2286
  f,
2269
- l + o,
2287
+ l + n,
2270
2288
  // Top-left
2271
2289
  // Horizontal tread
2272
2290
  p,
2273
2291
  f,
2274
- l + o,
2292
+ l + n,
2275
2293
  // Top-left
2276
2294
  p,
2277
2295
  f,
2278
- l + o - t,
2296
+ l + n - t,
2279
2297
  // Top-right
2280
2298
  d,
2281
2299
  f,
2282
- l + o - t,
2300
+ l + n - t,
2283
2301
  // Back-right
2284
2302
  d,
2285
2303
  f,
2286
- l + o
2304
+ l + n
2287
2305
  // Back-left
2288
2306
  );
2289
2307
  const y = u + 4 + m * 8;
@@ -2303,16 +2321,16 @@ class to extends E {
2303
2321
  y + 7
2304
2322
  );
2305
2323
  }
2306
- this.setIndex(i), this.setAttribute("position", new z(r, 3)), this.computeVertexNormals();
2324
+ this.setIndex(i), this.setAttribute("position", new F(r, 3)), this.computeVertexNormals();
2307
2325
  }
2308
2326
  }
2309
- class eo extends E {
2310
- constructor(t = 1, n = 0.4, s = 0.2, a = 20, o = 2, r = Math.PI / 8) {
2327
+ class nn extends E {
2328
+ constructor(t = 1, o = 0.4, s = 0.2, a = 20, n = 2, r = Math.PI / 8) {
2311
2329
  super();
2312
2330
  const i = [], c = [];
2313
2331
  let l = 0;
2314
2332
  for (let u = 0; u < a; u++) {
2315
- const m = o * Math.cos(l), h = o * Math.sin(l), f = u * s, p = f + s;
2333
+ const m = n * Math.cos(l), h = n * Math.sin(l), f = u * s, p = f + s;
2316
2334
  i.push(
2317
2335
  // Front face (vertical riser)
2318
2336
  m - t / 2 * Math.cos(l),
@@ -2341,13 +2359,13 @@ class eo extends E {
2341
2359
  p,
2342
2360
  h + t / 2 * Math.sin(l),
2343
2361
  // Top-right-front
2344
- m + t / 2 * Math.cos(l) - n * Math.sin(l),
2362
+ m + t / 2 * Math.cos(l) - o * Math.sin(l),
2345
2363
  p,
2346
- h + t / 2 * Math.sin(l) + n * Math.cos(l),
2364
+ h + t / 2 * Math.sin(l) + o * Math.cos(l),
2347
2365
  // Back-right
2348
- m - t / 2 * Math.cos(l) - n * Math.sin(l),
2366
+ m - t / 2 * Math.cos(l) - o * Math.sin(l),
2349
2367
  p,
2350
- h - t / 2 * Math.sin(l) + n * Math.cos(l)
2368
+ h - t / 2 * Math.sin(l) + o * Math.cos(l)
2351
2369
  // Back-left
2352
2370
  );
2353
2371
  const d = u * 8;
@@ -2371,16 +2389,16 @@ class eo extends E {
2371
2389
  // Second triangle for tread
2372
2390
  ), l += r;
2373
2391
  }
2374
- this.setIndex(c), this.setAttribute("position", new z(i, 3)), this.computeVertexNormals();
2392
+ this.setIndex(c), this.setAttribute("position", new F(i, 3)), this.computeVertexNormals();
2375
2393
  }
2376
2394
  }
2377
- class no extends E {
2378
- constructor(t = 2, n = 0.3, s = 0.5, a = 10) {
2395
+ class sn extends E {
2396
+ constructor(t = 2, o = 0.3, s = 0.5, a = 10) {
2379
2397
  super();
2380
- const o = [], r = [];
2398
+ const n = [], r = [];
2381
2399
  for (let i = 0; i < a; i++) {
2382
- const c = i * n, l = c + n, u = i * s, m = u + s;
2383
- o.push(
2400
+ const c = i * o, l = c + o, u = i * s, m = u + s;
2401
+ n.push(
2384
2402
  // Bottom face of riser (front face)
2385
2403
  -t / 2,
2386
2404
  c,
@@ -2437,10 +2455,10 @@ class no extends E {
2437
2455
  // Second triangle for tread
2438
2456
  );
2439
2457
  }
2440
- this.setIndex(r), this.setAttribute("position", new z(o, 3)), this.computeVertexNormals();
2458
+ this.setIndex(r), this.setAttribute("position", new F(n, 3)), this.computeVertexNormals();
2441
2459
  }
2442
2460
  }
2443
- class Ge extends E {
2461
+ class Ce extends E {
2444
2462
  constructor() {
2445
2463
  super();
2446
2464
  const t = [
@@ -2456,23 +2474,23 @@ class Ge extends E {
2456
2474
  // Mouth of the jar
2457
2475
  new A(0.5, 3.5)
2458
2476
  // Cork
2459
- ], n = new q(t, 10), s = new S(0.6, 0.5, 0.3, 10);
2460
- s.translate(0, 3.5, 0), this.copy(T([n, s], !0));
2477
+ ], o = new q(t, 10), s = new G(0.6, 0.5, 0.3, 10);
2478
+ s.translate(0, 3.5, 0), this.copy(T([o, s], !0));
2461
2479
  }
2462
2480
  }
2463
- function At(e, t, n, s, a) {
2464
- const o = (s - t) / (n - e);
2465
- return e + (a - t) / o;
2481
+ function At(e, t, o, s, a) {
2482
+ const n = (s - t) / (o - e);
2483
+ return e + (a - t) / n;
2466
2484
  }
2467
- function Ce(e, t, n, s, a) {
2468
- const o = (s - t) / (n - e);
2469
- return t + o * (a - e);
2485
+ function Re(e, t, o, s, a) {
2486
+ const n = (s - t) / (o - e);
2487
+ return t + n * (a - e);
2470
2488
  }
2471
- const oo = {
2489
+ const rn = {
2472
2490
  calculateXFromSlopeIntercept: At,
2473
- calculateYFromSlopeIntercept: Ce
2491
+ calculateYFromSlopeIntercept: Re
2474
2492
  };
2475
- class Re extends E {
2493
+ class Be extends E {
2476
2494
  constructor() {
2477
2495
  super();
2478
2496
  const t = [
@@ -2488,44 +2506,44 @@ class Re extends E {
2488
2506
  // Mouth
2489
2507
  new A(0.5, 2.5)
2490
2508
  // Cork
2491
- ], n = new q(t, 10), s = new S(0.55, 0.45, 0.2, 10);
2509
+ ], o = new q(t, 10), s = new G(0.55, 0.45, 0.2, 10);
2492
2510
  s.translate(0, 2.5, 0);
2493
2511
  const a = [
2494
2512
  new A(0, 0),
2495
2513
  new A(0.8, 0),
2496
2514
  new A(At(0.8, 0, 1, 1.5, 1), 1),
2497
2515
  new A(0, 1)
2498
- ], o = new q(a, 10);
2499
- o.translate(0, 0.1, 0), o.scale(0.9, 0.9, 0.9), this.copy(T([n, s, o], !0));
2516
+ ], n = new q(a, 10);
2517
+ n.translate(0, 0.1, 0), n.scale(0.9, 0.9, 0.9), this.copy(T([o, s, n], !0));
2500
2518
  }
2501
2519
  }
2502
- class Be extends E {
2503
- constructor({ radius: t = 0.5, neckRadius: n = 0.2, height: s = 3, neckHeight: a = 1, segments: o = 16 } = {}) {
2520
+ class Ne extends E {
2521
+ constructor({ radius: t = 0.5, neckRadius: o = 0.2, height: s = 3, neckHeight: a = 1, segments: n = 16 } = {}) {
2504
2522
  super();
2505
- const r = s - a, i = new S(t, t, r, o);
2523
+ const r = s - a, i = new G(t, t, r, n);
2506
2524
  i.translate(0, r / 2, 0);
2507
- const c = 0.3, l = new S(n, t, c, o);
2525
+ const c = 0.3, l = new G(o, t, c, n);
2508
2526
  l.translate(0, r + c / 2, 0);
2509
- const u = new S(n, n, a, o);
2527
+ const u = new G(o, o, a, n);
2510
2528
  u.translate(0, r + c + a / 2, 0), this.copy(T([i, l, u], !1));
2511
2529
  }
2512
2530
  }
2513
- class Ne extends E {
2514
- constructor(t = 0.4, n = 1.2, s = 0.2) {
2531
+ class Oe extends E {
2532
+ constructor(t = 0.4, o = 1.2, s = 0.2) {
2515
2533
  super();
2516
- const a = n * 0.6, o = new b(t / 2, a, s);
2517
- o.translate(0, a / 2, 0);
2534
+ const a = o * 0.6, n = new b(t / 2, a, s);
2535
+ n.translate(0, a / 2, 0);
2518
2536
  const r = t * 1.5, i = new b(r, t / 4, s);
2519
- i.translate(0, a * 0.75, 0), this.copy(T([o, i], !1)), this.computeVertexNormals();
2537
+ i.translate(0, a * 0.75, 0), this.copy(T([n, i], !1)), this.computeVertexNormals();
2520
2538
  }
2521
2539
  }
2522
- class Oe extends E {
2540
+ class _e extends E {
2523
2541
  constructor() {
2524
2542
  super();
2525
2543
  const t = new b(5, 1, 5);
2526
2544
  t.translate(0, 0.5, 0);
2527
- const n = new b(4, 3, 4);
2528
- n.translate(0, 2.5, 0);
2545
+ const o = new b(4, 3, 4);
2546
+ o.translate(0, 2.5, 0);
2529
2547
  const s = [
2530
2548
  [-1.8, 2.3, -2.2],
2531
2549
  [1.8, 2.3, -2.2],
@@ -2533,23 +2551,23 @@ class Oe extends E {
2533
2551
  [1.8, 2.3, 2.2]
2534
2552
  ], a = [];
2535
2553
  s.forEach((l) => {
2536
- const u = new S(0.2, 0.2, 3.5, 16);
2554
+ const u = new G(0.2, 0.2, 3.5, 16);
2537
2555
  u.translate(l[0], l[1], l[2]), a.push(u);
2538
2556
  });
2539
- const o = new K(3.5, 2, 4);
2540
- o.rotateY(Math.PI / 4), o.translate(0, 5, 0);
2541
- const r = new $();
2557
+ const n = new J(3.5, 2, 4);
2558
+ n.rotateY(Math.PI / 4), n.translate(0, 5, 0);
2559
+ const r = new Z();
2542
2560
  r.moveTo(-1, 0), r.lineTo(-1, 2), r.absarc(0, 2, 1, Math.PI, 0, !0), r.lineTo(1, 0);
2543
2561
  const i = {
2544
2562
  depth: 0.5,
2545
2563
  bevelEnabled: !1
2546
- }, c = new J(r, i);
2564
+ }, c = new j(r, i);
2547
2565
  c.translate(0, 0.5, 1.7), c.setIndex([...Array(c.attributes.position.count).keys()]), this.copy(
2548
2566
  T(
2549
2567
  [
2550
2568
  t,
2551
- T([n, ...a], !1),
2552
- o,
2569
+ T([o, ...a], !1),
2570
+ n,
2553
2571
  c
2554
2572
  ],
2555
2573
  !0
@@ -2557,75 +2575,75 @@ class Oe extends E {
2557
2575
  ), this.computeVertexNormals();
2558
2576
  }
2559
2577
  }
2560
- class _e extends E {
2561
- constructor(t = 1.75, n = 0.75) {
2578
+ class Ue extends E {
2579
+ constructor(t = 1.75, o = 0.75) {
2562
2580
  super();
2563
- const s = t * 0.05, a = t * 0.15, o = t * 0.15, r = t * 0.75;
2581
+ const s = t * 0.05, a = t * 0.15, n = t * 0.15, r = t * 0.75;
2564
2582
  let i = 0;
2565
- const c = new b(n, s, n);
2583
+ const c = new b(o, s, o);
2566
2584
  c.translate(0, i + s / 2, 0), i += s;
2567
- const l = new b(n * 0.8, a, n * 0.8);
2585
+ const l = new b(o * 0.8, a, o * 0.8);
2568
2586
  l.translate(0, i + a / 2, 0), i += a;
2569
- const u = new b(n * 0.6, o, n * 0.6);
2570
- u.translate(0, i + o / 2, 0), i += o;
2571
- const m = new b(n * 0.4, r, n * 0.4);
2587
+ const u = new b(o * 0.6, n, o * 0.6);
2588
+ u.translate(0, i + n / 2, 0), i += n;
2589
+ const m = new b(o * 0.4, r, o * 0.4);
2572
2590
  m.translate(0, i + r / 2, 0), i += r;
2573
- const h = new K(n * 0.4 / Math.sqrt(2), 0.1, 4, 1, !1, Math.PI / 4);
2591
+ const h = new J(o * 0.4 / Math.sqrt(2), 0.1, 4, 1, !1, Math.PI / 4);
2574
2592
  h.translate(0, i + 0.1 / 2, 0), this.copy(T([c, l, u, m, h], !1)), this.computeVertexNormals();
2575
2593
  }
2576
2594
  }
2577
- class Ue extends E {
2578
- constructor(t = 0.6, n = 1, s = 0.2, a = 0.6) {
2595
+ class ze extends E {
2596
+ constructor(t = 0.6, o = 1, s = 0.2, a = 0.6) {
2579
2597
  super();
2580
- const o = n - a / 2, r = new b(t, o, s);
2581
- r.translate(0, o / 2, 0);
2582
- const i = new S(a / 2, a / 2, s, 16, 1, !1, 0, Math.PI);
2583
- i.rotateY(Math.PI / 2), i.rotateX(Math.PI / 2), i.translate(0, o, 0), this.copy(T([r, i], !1)), this.computeVertexNormals();
2598
+ const n = o - a / 2, r = new b(t, n, s);
2599
+ r.translate(0, n / 2, 0);
2600
+ const i = new G(a / 2, a / 2, s, 16, 1, !1, 0, Math.PI);
2601
+ i.rotateY(Math.PI / 2), i.rotateX(Math.PI / 2), i.translate(0, n, 0), this.copy(T([r, i], !1)), this.computeVertexNormals();
2584
2602
  }
2585
2603
  }
2586
2604
  class Fe extends E {
2587
- constructor(t = 0.5, n = 0.8, s = 0.15) {
2605
+ constructor(t = 0.5, o = 0.8, s = 0.15) {
2588
2606
  super();
2589
- const a = new b(t, n, s);
2590
- a.translate(0, n / 2, 0), this.copy(a);
2607
+ const a = new b(t, o, s);
2608
+ a.translate(0, o / 2, 0), this.copy(a);
2591
2609
  }
2592
2610
  }
2593
- class ze extends E {
2611
+ class Le extends E {
2594
2612
  constructor({ height: t = 2.25 } = {}) {
2595
2613
  super();
2596
- const n = new b(1.2, 0.5, 1.2);
2597
- n.translate(0, 0.25, 0);
2614
+ const o = new b(1.2, 0.5, 1.2);
2615
+ o.translate(0, 0.25, 0);
2598
2616
  const s = new b(1, t, 1);
2599
2617
  s.translate(0, 0.5 + t / 2, 0);
2600
2618
  const a = new b(1.4, 0.3, 1.4);
2601
- a.translate(0, 0.5 + t + 0.15, 0), this.copy(T([n, s, a], !1));
2619
+ a.translate(0, 0.5 + t + 0.15, 0), this.copy(T([o, s, a], !1));
2602
2620
  }
2603
2621
  }
2604
2622
  class It extends E {
2605
2623
  constructor({
2606
2624
  barHeight: t = 2,
2607
2625
  //
2608
- barRadius: n = 0.05,
2626
+ barRadius: o = 0.05,
2609
2627
  spikeHeight: s = 0.3,
2610
2628
  spikeRadius: a = 0.075,
2611
- spikeScaleZ: o = 1,
2629
+ spikeScaleZ: n = 1,
2612
2630
  radialSegments: r = 8
2613
2631
  } = {}) {
2614
2632
  super();
2615
- const i = new S(n, n, t, r);
2633
+ const i = new G(o, o, t, r);
2616
2634
  i.translate(0, t / 2, 0);
2617
- const c = new K(a, s, r);
2618
- c.translate(0, t + s / 2, 0), c.scale(1, 1, o), this.copy(T([i, c], !1));
2635
+ const c = new J(a, s, r);
2636
+ c.translate(0, t + s / 2, 0), c.scale(1, 1, n), this.copy(T([i, c], !1));
2619
2637
  }
2620
2638
  }
2621
- class Le extends E {
2639
+ class De extends E {
2622
2640
  constructor({
2623
2641
  count: t = 20,
2624
2642
  //
2625
- spacing: n = 0.4,
2643
+ spacing: o = 0.4,
2626
2644
  barHeight: s = 2,
2627
2645
  barRadius: a = 0.05,
2628
- spikeHeight: o = 0.3,
2646
+ spikeHeight: n = 0.3,
2629
2647
  spikeRadius: r = 0.075,
2630
2648
  spikeScaleZ: i = 1,
2631
2649
  railHeight: c = 0.1,
@@ -2634,42 +2652,42 @@ class Le extends E {
2634
2652
  radialSegments: m = 8
2635
2653
  } = {}) {
2636
2654
  super();
2637
- const h = [], f = new It({ barHeight: s, barRadius: a, spikeHeight: o, spikeRadius: r, spikeScaleZ: i, radialSegments: m }), p = new b(t * n, c, l);
2655
+ const h = [], f = new It({ barHeight: s, barRadius: a, spikeHeight: n, spikeRadius: r, spikeScaleZ: i, radialSegments: m }), p = new b(t * o, c, l);
2638
2656
  for (let g = 0; g < t; g++) {
2639
2657
  const v = f.clone();
2640
- v.translate(g * n, 0, 0), h.push(v);
2658
+ v.translate(g * o, 0, 0), h.push(v);
2641
2659
  }
2642
2660
  const d = p.clone();
2643
- d.translate(n * (t - 1) / 2, s - u - c / 2, 0), h.push(d);
2661
+ d.translate(o * (t - 1) / 2, s - u - c / 2, 0), h.push(d);
2644
2662
  const y = p.clone();
2645
- y.translate(n * (t - 1) / 2, c / 2, 0), h.push(y), this.copy(T(h));
2663
+ y.translate(o * (t - 1) / 2, c / 2, 0), h.push(y), this.copy(T(h));
2646
2664
  }
2647
2665
  }
2648
- class De extends E {
2666
+ class ke extends E {
2649
2667
  constructor({
2650
2668
  width: t = 5,
2651
2669
  //
2652
- height: n = 8,
2670
+ height: o = 8,
2653
2671
  depth: s = 1,
2654
2672
  shelves: a = 4,
2655
- frameThickness: o = 0.1,
2673
+ frameThickness: n = 0.1,
2656
2674
  open: r = !1
2657
2675
  } = {}) {
2658
2676
  super();
2659
- const i = n, c = t, l = s, u = new b(o, i, l), m = new b(c - 2 * o, o, l), h = u.clone();
2660
- h.translate(-c / 2 + o / 2, i / 2, 0);
2677
+ const i = o, c = t, l = s, u = new b(n, i, l), m = new b(c - 2 * n, n, l), h = u.clone();
2678
+ h.translate(-c / 2 + n / 2, i / 2, 0);
2661
2679
  const f = u.clone();
2662
- f.translate(c / 2 - o / 2, i / 2, 0);
2680
+ f.translate(c / 2 - n / 2, i / 2, 0);
2663
2681
  const p = m.clone();
2664
- p.translate(0, i - o / 2, 0);
2682
+ p.translate(0, i - n / 2, 0);
2665
2683
  const d = m.clone();
2666
- d.translate(0, o / 2, 0);
2667
- const y = new b(c, i, o);
2668
- y.translate(0, i / 2, -l / 2 + o / 2);
2669
- const g = [], v = (i - o) / (a + 1);
2670
- for (let N = 1; N <= a; N++) {
2671
- const P = m.clone();
2672
- P.translate(0, o / 2 + N * v, 0), g.push(P);
2684
+ d.translate(0, n / 2, 0);
2685
+ const y = new b(c, i, n);
2686
+ y.translate(0, i / 2, -l / 2 + n / 2);
2687
+ const g = [], v = (i - n) / (a + 1);
2688
+ for (let C = 1; C <= a; C++) {
2689
+ const S = m.clone();
2690
+ S.translate(0, n / 2 + C * v, 0), g.push(S);
2673
2691
  }
2674
2692
  this.copy(T([
2675
2693
  h,
@@ -2682,18 +2700,18 @@ class De extends E {
2682
2700
  ], !1));
2683
2701
  }
2684
2702
  }
2685
- class ke extends E {
2703
+ class Ve extends E {
2686
2704
  constructor() {
2687
2705
  super();
2688
2706
  const t = new b(5, 0.3, 3);
2689
2707
  t.translate(0, 3.15, 0);
2690
- const n = [
2708
+ const o = [
2691
2709
  new A(0.2, 0),
2692
2710
  //
2693
2711
  new A(0.25, 0.5),
2694
2712
  new A(0.15, 1.5),
2695
2713
  new A(0.3, 3)
2696
- ], s = new q(n, 32), o = T(
2714
+ ], s = new q(o, 32), n = T(
2697
2715
  [
2698
2716
  [2.1, 0, 1.1],
2699
2717
  [-2.1, 0, 1.1],
@@ -2704,14 +2722,14 @@ class ke extends E {
2704
2722
  return i.translate(r[0], r[1], r[2]), i;
2705
2723
  })
2706
2724
  );
2707
- this.copy(T([t, o], !0));
2725
+ this.copy(T([t, n], !0));
2708
2726
  }
2709
2727
  }
2710
- class Et extends Se {
2711
- constructor({ height: t = 0.25, radius: n = 0.05, segmentsU: s = 16, segmentsV: a = 16 } = {}) {
2728
+ class Et extends Pe {
2729
+ constructor({ height: t = 0.25, radius: o = 0.05, segmentsU: s = 16, segmentsV: a = 16 } = {}) {
2712
2730
  super(
2713
- (o, r, i) => {
2714
- const c = o * Math.PI * 2, l = Math.sin(r * Math.PI), u = n * l * Math.cos(c), m = r * t, h = n * l * Math.sin(c);
2731
+ (n, r, i) => {
2732
+ const c = n * Math.PI * 2, l = Math.sin(r * Math.PI), u = o * l * Math.cos(c), m = r * t, h = o * l * Math.sin(c);
2715
2733
  i.set(u, m, -h);
2716
2734
  },
2717
2735
  s,
@@ -2719,32 +2737,32 @@ class Et extends Se {
2719
2737
  );
2720
2738
  }
2721
2739
  }
2722
- class Ve extends E {
2740
+ class qe extends E {
2723
2741
  constructor({
2724
2742
  radiusTop: t = 0.2,
2725
2743
  //
2726
- radiusBottom: n = 0.2,
2744
+ radiusBottom: o = 0.2,
2727
2745
  height: s = 1,
2728
2746
  flameHeight: a = 0.25,
2729
- flameRadius: o = 0.05,
2747
+ flameRadius: n = 0.05,
2730
2748
  segments: r = 16
2731
2749
  } = {}) {
2732
2750
  super();
2733
- const i = new S(t, n, s, r);
2751
+ const i = new G(t, o, s, r);
2734
2752
  i.translate(0, s / 2, 0);
2735
2753
  const c = new Et({
2736
2754
  segmentsU: r,
2737
2755
  segmentsV: r,
2738
2756
  height: a,
2739
- radius: o
2757
+ radius: n
2740
2758
  });
2741
2759
  c.translate(0, s, 0), this.copy(T([i, c], !0));
2742
2760
  }
2743
2761
  }
2744
- class so extends E {
2745
- constructor(t = 1, n = 2, s = 0.5, a = Math.PI / 4) {
2762
+ class an extends E {
2763
+ constructor(t = 1, o = 2, s = 0.5, a = Math.PI / 4) {
2746
2764
  super();
2747
- const o = n * Math.tan(a), r = t, i = n, c = s, l = [
2765
+ const n = o * Math.tan(a), r = t, i = o, c = s, l = [
2748
2766
  0,
2749
2767
  0,
2750
2768
  0,
@@ -2753,11 +2771,11 @@ class so extends E {
2753
2771
  0,
2754
2772
  0,
2755
2773
  // Front face, bottom right
2756
- r + o,
2774
+ r + n,
2757
2775
  i,
2758
2776
  0,
2759
2777
  // Front face, top right
2760
- o,
2778
+ n,
2761
2779
  i,
2762
2780
  0,
2763
2781
  // Front face, top left
@@ -2768,10 +2786,10 @@ class so extends E {
2768
2786
  0,
2769
2787
  0,
2770
2788
  -c,
2771
- o,
2789
+ n,
2772
2790
  i,
2773
2791
  -c,
2774
- r + o,
2792
+ r + n,
2775
2793
  i,
2776
2794
  -c,
2777
2795
  0,
@@ -2781,10 +2799,10 @@ class so extends E {
2781
2799
  0,
2782
2800
  0,
2783
2801
  0,
2784
- o,
2802
+ n,
2785
2803
  i,
2786
2804
  0,
2787
- o,
2805
+ n,
2788
2806
  i,
2789
2807
  -c,
2790
2808
  r,
@@ -2794,23 +2812,23 @@ class so extends E {
2794
2812
  r,
2795
2813
  0,
2796
2814
  -c,
2797
- r + o,
2815
+ r + n,
2798
2816
  i,
2799
2817
  -c,
2800
- r + o,
2818
+ r + n,
2801
2819
  i,
2802
2820
  0,
2803
- o,
2821
+ n,
2804
2822
  i,
2805
2823
  0,
2806
2824
  // Top face
2807
- r + o,
2825
+ r + n,
2808
2826
  i,
2809
2827
  0,
2810
- r + o,
2828
+ r + n,
2811
2829
  i,
2812
2830
  -c,
2813
- o,
2831
+ n,
2814
2832
  i,
2815
2833
  -c,
2816
2834
  0,
@@ -3004,71 +3022,71 @@ class so extends E {
3004
3022
  1
3005
3023
  // Bottom face
3006
3024
  ]), f = new Float32Array(l), p = new Float32Array(u), d = new Float32Array(h), y = new Uint16Array(m);
3007
- this.setAttribute("position", new O(f, 3)), this.setAttribute("normal", new O(p, 3)), this.setAttribute("uv", new O(d, 2)), this.setIndex(new O(y, 1)), this.center();
3025
+ this.setAttribute("position", new _(f, 3)), this.setAttribute("normal", new _(p, 3)), this.setAttribute("uv", new _(d, 2)), this.setIndex(new _(y, 1)), this.center();
3008
3026
  }
3009
3027
  }
3010
- class qe extends E {
3028
+ class Ye extends E {
3011
3029
  constructor() {
3012
3030
  super();
3013
- const t = [], n = [];
3031
+ const t = [], o = [];
3014
3032
  for (let s = 0; s < 5; s++) {
3015
- const a = 0.8 + Math.random() * 0.4, o = 0.8 + Math.random() * 0.4, r = 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 et(1, 0);
3016
- f.scale(a, o, r), f.rotateX(i), f.rotateY(c), f.rotateZ(l), f.translate(u, m, h), t.push(f);
3033
+ const a = 0.8 + Math.random() * 0.4, n = 0.8 + Math.random() * 0.4, r = 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 et(1, 0);
3034
+ f.scale(a, n, r), f.rotateX(i), f.rotateY(c), f.rotateZ(l), f.translate(u, m, h), t.push(f);
3017
3035
  const p = new et(1, 0);
3018
- p.scale(a * 0.9, o * 0.5, r * 0.9), p.rotateX(i), p.rotateY(c), p.rotateZ(l), p.translate(u, m + 0.3, h), n.push(p);
3036
+ p.scale(a * 0.9, n * 0.5, r * 0.9), p.rotateX(i), p.rotateY(c), p.rotateZ(l), p.translate(u, m + 0.3, h), o.push(p);
3019
3037
  }
3020
3038
  this.copy(
3021
3039
  T([
3022
3040
  T(t),
3023
- T(n)
3041
+ T(o)
3024
3042
  ], !0)
3025
3043
  );
3026
3044
  }
3027
3045
  }
3028
- function Ye(e, t = ft.XYZ, n = 0.5, s = 2) {
3029
- e.deleteAttribute("uv"), e.deleteAttribute("normal"), e = Te(e), e.computeVertexNormals();
3046
+ function He(e, t = ft.XYZ, o = 0.5, s = 2) {
3047
+ e.deleteAttribute("uv"), e.deleteAttribute("normal"), e = Se(e), e.computeVertexNormals();
3030
3048
  const a = e.getAttribute("position");
3031
- for (let o = 0; o < a.count; o++) {
3032
- const r = new M().fromBufferAttribute(a, o), i = Math.random() * (s - n) + n, c = t.clone().multiplyScalar(i);
3033
- r.add(c), a.setXYZ(o, r.x, r.y, r.z);
3049
+ for (let n = 0; n < a.count; n++) {
3050
+ const r = new M().fromBufferAttribute(a, n), i = Math.random() * (s - o) + o, c = t.clone().multiplyScalar(i);
3051
+ r.add(c), a.setXYZ(n, r.x, r.y, r.z);
3034
3052
  }
3035
3053
  return a.needsUpdate = !0, e.computeVertexNormals(), e;
3036
3054
  }
3037
- class He extends E {
3038
- constructor(t = 1, n = 4, s = 4) {
3055
+ class Xe extends E {
3056
+ constructor(t = 1, o = 4, s = 4) {
3039
3057
  super();
3040
- const a = new F(t, n, s);
3041
- this.copy(Ye(a, ft.XYZ, 0.5, 1)), this.computeVertexNormals(), this.center();
3058
+ const a = new z(t, o, s);
3059
+ this.copy(He(a, ft.XYZ, 0.5, 1)), this.computeVertexNormals(), this.center();
3042
3060
  }
3043
3061
  }
3044
- class Xe extends E {
3062
+ class Ze extends E {
3045
3063
  constructor() {
3046
3064
  super();
3047
3065
  const t = [];
3048
- for (let n = 0; n < 5; n++) {
3066
+ for (let o = 0; o < 5; o++) {
3049
3067
  const s = new et(1, 0);
3050
3068
  s.scale(0.8 + Math.random() * 0.4, 0.8 + Math.random() * 0.4, 0.8 + Math.random() * 0.4), s.rotateX(Math.random() * Math.PI), s.rotateY(Math.random() * Math.PI), s.rotateZ(Math.random() * Math.PI), s.translate((Math.random() - 0.5) * 4, 0, (Math.random() - 0.5) * 4), t.push(s);
3051
3069
  }
3052
3070
  this.copy(T(t));
3053
3071
  }
3054
3072
  }
3055
- class Ze extends E {
3056
- constructor(t = 0.1, n = 0.1, s = 0.4, a = 8) {
3073
+ class je extends E {
3074
+ constructor(t = 0.1, o = 0.1, s = 0.4, a = 8) {
3057
3075
  super();
3058
- const o = new S(t * 0.6, n * 0.6, s, a);
3059
- o.translate(0, 0, 0);
3060
- const r = new F(t, a, a), i = r.clone(), c = r.clone(), l = r.clone(), u = r.clone();
3061
- i.translate(0, s / 2 + t * 0.6, -t * 0.6), c.translate(0, s / 2 + t * 0.6, t * 0.6), l.translate(0, -s / 2 - n * 0.6, -n * 0.6), u.translate(0, -s / 2 - n * 0.6, n * 0.6), this.copy(T([o, i, c, l, u], !1));
3076
+ const n = new G(t * 0.6, o * 0.6, s, a);
3077
+ n.translate(0, 0, 0);
3078
+ const r = new z(t, a, a), i = r.clone(), c = r.clone(), l = r.clone(), u = r.clone();
3079
+ i.translate(0, s / 2 + t * 0.6, -t * 0.6), c.translate(0, s / 2 + t * 0.6, t * 0.6), l.translate(0, -s / 2 - o * 0.6, -o * 0.6), u.translate(0, -s / 2 - o * 0.6, o * 0.6), this.copy(T([n, i, c, l, u], !1));
3062
3080
  }
3063
3081
  }
3064
- class je extends E {
3082
+ class Qe extends E {
3065
3083
  constructor({
3066
3084
  flaskRadius: t = 1,
3067
3085
  //
3068
- neckRadius: n = 0.3,
3086
+ neckRadius: o = 0.3,
3069
3087
  height: s = 2.5,
3070
3088
  neckHeight: a = 1,
3071
- radialSegments: o = 16
3089
+ radialSegments: n = 16
3072
3090
  } = {}) {
3073
3091
  super();
3074
3092
  const r = [
@@ -3078,46 +3096,46 @@ class je extends E {
3078
3096
  // Flat base with minimum width
3079
3097
  new A(t, 0.1),
3080
3098
  // End of the rounded base
3081
- new A(n, s),
3099
+ new A(o, s),
3082
3100
  // Start of the straight neck
3083
- new A(n, s + a),
3101
+ new A(o, s + a),
3084
3102
  // End of the straight neck
3085
- new A(n * 1.1, s + a + 0.3)
3103
+ new A(o * 1.1, s + a + 0.3)
3086
3104
  // Slight outward lip at the top
3087
- ], i = new q(r, o);
3105
+ ], i = new q(r, n);
3088
3106
  this.copy(T([i], !1));
3089
3107
  }
3090
3108
  }
3091
- const ro = (e, t) => e / (1 - Math.cos(t)), bt = (e, t) => e / (2 * Math.sin(t)), Qe = (e, t) => e * (1 - Math.cos(t)), ao = (e, t) => 2 * e * Math.sin(t), yt = (e, t) => {
3092
- const n = 2 * t;
3093
- return Math.asin(n / (2 * e));
3094
- }, io = (e, t, n) => ({
3095
- x: e * Math.sin(n) * Math.cos(t),
3096
- y: e * Math.sin(n) * Math.sin(t),
3097
- z: e * Math.cos(n)
3098
- }), co = (e, t, n) => {
3099
- const s = Math.sqrt(e * e + t * t + n * n), a = Math.atan2(t, e), o = Math.acos(n / s);
3100
- return { radius: s, theta: a, phi: o };
3109
+ const cn = (e, t) => e / (1 - Math.cos(t)), bt = (e, t) => e / (2 * Math.sin(t)), Ke = (e, t) => e * (1 - Math.cos(t)), ln = (e, t) => 2 * e * Math.sin(t), yt = (e, t) => {
3110
+ const o = 2 * t;
3111
+ return Math.asin(o / (2 * e));
3112
+ }, un = (e, t, o) => ({
3113
+ x: e * Math.sin(o) * Math.cos(t),
3114
+ y: e * Math.sin(o) * Math.sin(t),
3115
+ z: e * Math.cos(o)
3116
+ }), mn = (e, t, o) => {
3117
+ const s = Math.sqrt(e * e + t * t + o * o), a = Math.atan2(t, e), n = Math.acos(o / s);
3118
+ return { radius: s, theta: a, phi: n };
3101
3119
  };
3102
- function Ke(e, t, n, s = 0, a = 0, o = 32) {
3120
+ function $e(e, t, o, s = 0, a = 0, n = 32) {
3103
3121
  const r = s ? yt(e, s) : 0, i = a ? Math.PI - yt(e, a) : Math.PI, c = [];
3104
- for (let l = 0; l <= o; l++) {
3105
- const u = i - (i - r) / o * l, m = e * Math.sin(u), h = t * Math.cos(u) + n;
3122
+ for (let l = 0; l <= n; l++) {
3123
+ const u = i - (i - r) / n * l, m = e * Math.sin(u), h = t * Math.cos(u) + o;
3106
3124
  c.push(new A(m, h));
3107
3125
  }
3108
3126
  return [...c];
3109
3127
  }
3110
- class $e extends E {
3128
+ class Je extends E {
3111
3129
  constructor() {
3112
3130
  super();
3113
3131
  const t = [
3114
- ...Ke(1, 1, 0.5, 0.2, 0, 32),
3132
+ ...$e(1, 1, 0.5, 0.2, 0, 32),
3115
3133
  new A(0.2, 3)
3116
- ], n = new q(t, 32);
3117
- this.copy(n);
3134
+ ], o = new q(t, 32);
3135
+ this.copy(o);
3118
3136
  }
3119
3137
  }
3120
- class Je extends E {
3138
+ class We extends E {
3121
3139
  constructor() {
3122
3140
  super();
3123
3141
  const t = [
@@ -3131,128 +3149,128 @@ class Je extends E {
3131
3149
  // Flared edge
3132
3150
  new A(0.8, 1.8)
3133
3151
  // Lip of the bowl
3134
- ], n = new q(t, 12), s = new Ct(1, 12);
3135
- s.rotateX(-Math.PI / 2), s.translate(0, 0, 0), this.copy(T([n, s], !1));
3152
+ ], o = new q(t, 12), s = new Rt(1, 12);
3153
+ s.rotateX(-Math.PI / 2), s.translate(0, 0, 0), this.copy(T([o, s], !1));
3136
3154
  }
3137
3155
  }
3138
- class We extends E {
3156
+ class to extends E {
3139
3157
  constructor({
3140
3158
  radius: t = 0.3,
3141
3159
  //
3142
- height: n = 0.4,
3160
+ height: o = 0.4,
3143
3161
  count: s = 3,
3144
3162
  thickness: a = 0.03,
3145
- radialSegments: o = 16
3163
+ radialSegments: n = 16
3146
3164
  } = {}) {
3147
3165
  super();
3148
- const r = new Mt(t, a, 8, o);
3149
- r.rotateX(Math.PI / 2), r.translate(0, n, 0);
3150
- const i = new S(a * 0.6, a * 0.6, n, o), c = [];
3166
+ const r = new Mt(t, a, 8, n);
3167
+ r.rotateX(Math.PI / 2), r.translate(0, o, 0);
3168
+ const i = new G(a * 0.6, a * 0.6, o, n), c = [];
3151
3169
  for (let l = 0; l < s; l++) {
3152
3170
  const u = l / s * Math.PI * 2, m = i.clone();
3153
- m.translate(Math.cos(u) * t, n / 2, Math.sin(u) * t), c.push(m);
3171
+ m.translate(Math.cos(u) * t, o / 2, Math.sin(u) * t), c.push(m);
3154
3172
  }
3155
3173
  this.copy(T([r, ...c], !1));
3156
3174
  }
3157
3175
  }
3158
- class tn extends E {
3176
+ class eo extends E {
3159
3177
  constructor() {
3160
3178
  super();
3161
- const t = new S(0.5, 0.6, 0.3, 16);
3179
+ const t = new G(0.5, 0.6, 0.3, 16);
3162
3180
  t.translate(0, 0.15, 0);
3163
- const n = new S(0.15, 0.15, 2, 12, 1, !0);
3164
- n.translate(0, 1.3, 0);
3165
- const s = new F(0.3, 16, 16);
3181
+ const o = new G(0.15, 0.15, 2, 12, 1, !0);
3182
+ o.translate(0, 1.3, 0);
3183
+ const s = new z(0.3, 16, 16);
3166
3184
  s.translate(0, 2.4, 0), this.copy(
3167
3185
  T(
3168
- [t, T([n, s])],
3186
+ [t, T([o, s])],
3169
3187
  !0
3170
3188
  )
3171
3189
  );
3172
3190
  }
3173
3191
  }
3174
- class lt extends E {
3175
- constructor(t = 0.2, n = 0.2, s = 3, a = 32, o = !0) {
3192
+ class ut extends E {
3193
+ constructor(t = 0.2, o = 0.2, s = 3, a = 32, n = !0) {
3176
3194
  super();
3177
- const r = new S(t, n, s, a, 1, o), i = new F(n, a, a / 2, 0, Math.PI * 2, Math.PI / 2, Math.PI / 2);
3195
+ const r = new G(t, o, s, a, 1, n), i = new z(o, a, a / 2, 0, Math.PI * 2, Math.PI / 2, Math.PI / 2);
3178
3196
  i.translate(0, -(s / 2), 0), this.copy(T([r, i], !1));
3179
3197
  }
3180
3198
  }
3181
- class en extends E {
3199
+ class oo extends E {
3182
3200
  constructor({
3183
3201
  radius: t = 3,
3184
3202
  //
3185
- height: n = 0.6,
3203
+ height: o = 0.6,
3186
3204
  widthSegments: s = 64,
3187
3205
  heightSegments: a = 16,
3188
- phiStart: o = 0,
3206
+ phiStart: n = 0,
3189
3207
  phiLength: r = Math.PI * 2
3190
3208
  } = {}) {
3191
- super(), this.copy(new F(t, s, a, o, r, 0, Math.PI / 2)), this.scale(1, n / t, 1);
3209
+ super(), this.copy(new z(t, s, a, n, r, 0, Math.PI / 2)), this.scale(1, o / t, 1);
3192
3210
  }
3193
3211
  }
3194
- class nn extends E {
3212
+ class no extends E {
3195
3213
  constructor({
3196
3214
  radius: t = bt(5, Math.PI / 10),
3197
3215
  //
3198
- widthSegments: n = 64,
3216
+ widthSegments: o = 64,
3199
3217
  heightSegments: s = 32,
3200
3218
  phiStart: a = 0,
3201
- phiLength: o = Math.PI * 2,
3219
+ phiLength: n = Math.PI * 2,
3202
3220
  thetaLength: r = Math.PI / 10
3203
3221
  } = {}) {
3204
- super(), this.copy(new F(t, n, s, a, o, 0, r));
3205
- const i = Qe(t, r);
3222
+ super(), this.copy(new z(t, o, s, a, n, 0, r));
3223
+ const i = Ke(t, r);
3206
3224
  this.translate(0, -t + i, 0);
3207
3225
  }
3208
3226
  }
3209
- class on extends E {
3227
+ class so extends E {
3210
3228
  constructor({
3211
3229
  trunkRadiusTop: t = 0.25,
3212
- trunkRadiusBottom: n = 0.4,
3230
+ trunkRadiusBottom: o = 0.4,
3213
3231
  trunkHeight: s = 2.5,
3214
3232
  trunkSegments: a = 14,
3215
- leafSize: o = 0.8,
3233
+ leafSize: n = 0.8,
3216
3234
  leafCount: r = 6,
3217
3235
  leafDetail: i = 0,
3218
3236
  leafSpreadRadius: c = 1.5
3219
3237
  } = {}) {
3220
3238
  super();
3221
- const l = new S(t, n, s, a);
3239
+ const l = new G(t, o, s, a);
3222
3240
  l.translate(0, s / 2, 0);
3223
3241
  const u = [];
3224
3242
  for (let m = 0; m < r; m++) {
3225
- const h = new et(o, i);
3243
+ const h = new et(n, i);
3226
3244
  h.translate(
3227
3245
  (Math.random() - 0.5) * c,
3228
- (Math.random() - 0.5) * o + s,
3246
+ (Math.random() - 0.5) * n + s,
3229
3247
  (Math.random() - 0.5) * c
3230
3248
  ), u.push(h);
3231
3249
  }
3232
3250
  this.copy(T([l.toNonIndexed(), T(u, !1)], !0)), this.computeVertexNormals();
3233
3251
  }
3234
3252
  }
3235
- class lo extends x {
3253
+ class hn extends x {
3236
3254
  constructor({
3237
3255
  width: t = 5,
3238
- height: n = 3,
3256
+ height: o = 3,
3239
3257
  depth: s = 5,
3240
3258
  wallThickness: a = 0.05,
3241
- interiorColor: o = H.WHITE_SMOKE,
3259
+ interiorColor: n = H.WHITE_SMOKE,
3242
3260
  floorColor: r = H.RAW_SIENNA,
3243
3261
  exteriorColor: i = H.GRAY
3244
3262
  } = {}) {
3245
3263
  super(
3246
- new Pe({ width: t, height: n, depth: s, wallThickness: a }),
3264
+ new Ge({ width: t, height: o, depth: s, wallThickness: a }),
3247
3265
  [
3248
- new w({ color: o }),
3266
+ new w({ color: n }),
3249
3267
  new w({ color: r }),
3250
3268
  new w({ color: i })
3251
3269
  ]
3252
3270
  );
3253
3271
  }
3254
3272
  }
3255
- const sn = {
3273
+ const ro = {
3256
3274
  uniforms: {
3257
3275
  time: { value: 0 }
3258
3276
  },
@@ -3296,26 +3314,26 @@ const sn = {
3296
3314
  }
3297
3315
  `
3298
3316
  };
3299
- class uo extends x {
3317
+ class fn extends x {
3300
3318
  constructor() {
3301
3319
  super(
3302
- new F(5, 32, 32),
3303
- new ot(sn)
3320
+ new z(5, 32, 32),
3321
+ new st(ro)
3304
3322
  );
3305
3323
  }
3306
3324
  }
3307
- class mo extends x {
3325
+ class pn extends x {
3308
3326
  constructor({
3309
3327
  width: t = 1,
3310
- height: n = 1.5,
3328
+ height: o = 1.5,
3311
3329
  depth: s = 0.5,
3312
3330
  coverThickness: a = 0.05,
3313
- pageIndent: o = 0.05,
3331
+ pageIndent: n = 0.05,
3314
3332
  coverColor: r = H.DARK_RED,
3315
3333
  pageColor: i = H.TITANIUM_WHITE
3316
3334
  } = {}) {
3317
3335
  super(
3318
- new xt(t, n, s, a, o),
3336
+ new xt(t, o, s, a, n),
3319
3337
  [
3320
3338
  new w({ color: r, metalness: 0.1, roughness: 0.7, flatShading: !0 }),
3321
3339
  new w({ color: i, flatShading: !0 })
@@ -3323,9 +3341,9 @@ class mo extends x {
3323
3341
  );
3324
3342
  }
3325
3343
  }
3326
- class ho extends x {
3344
+ class dn extends x {
3327
3345
  constructor() {
3328
- super(new Ge(), [
3346
+ super(new Ce(), [
3329
3347
  new w({
3330
3348
  color: 8965290,
3331
3349
  transparent: !0,
@@ -3341,9 +3359,9 @@ class ho extends x {
3341
3359
  ]);
3342
3360
  }
3343
3361
  }
3344
- class fo extends x {
3362
+ class yn extends x {
3345
3363
  constructor() {
3346
- super(new Re(), [
3364
+ super(new Be(), [
3347
3365
  new w({
3348
3366
  color: 8965375,
3349
3367
  transparent: !0,
@@ -3365,11 +3383,11 @@ class fo extends x {
3365
3383
  ]);
3366
3384
  }
3367
3385
  }
3368
- class po extends x {
3386
+ class wn extends x {
3369
3387
  constructor() {
3370
3388
  super(
3371
- new Be(),
3372
- new st({
3389
+ new Ne(),
3390
+ new rt({
3373
3391
  color: 5597999,
3374
3392
  roughness: 0.1,
3375
3393
  transmission: 0.9,
@@ -3381,22 +3399,22 @@ class po extends x {
3381
3399
  );
3382
3400
  }
3383
3401
  }
3384
- class yo extends x {
3402
+ class Mn extends x {
3385
3403
  constructor({
3386
3404
  width: t = 0.4,
3387
- height: n = 1.2,
3405
+ height: o = 1.2,
3388
3406
  depth: s = 0.2
3389
3407
  } = {}) {
3390
3408
  super(
3391
- new Ne(t, n, s),
3409
+ new Oe(t, o, s),
3392
3410
  new w({ color: 7829367, roughness: 0.8 })
3393
3411
  );
3394
3412
  }
3395
3413
  }
3396
- class wo extends x {
3414
+ class xn extends x {
3397
3415
  constructor() {
3398
3416
  super(
3399
- new Oe(),
3417
+ new _e(),
3400
3418
  [
3401
3419
  new w({ color: 8421504, flatShading: !0 }),
3402
3420
  // Base
@@ -3410,69 +3428,69 @@ class wo extends x {
3410
3428
  );
3411
3429
  }
3412
3430
  }
3413
- class Mo extends x {
3414
- constructor({ totalHeight: t = 1.75, baseWidth: n = 0.75 } = {}) {
3431
+ class vn extends x {
3432
+ constructor({ totalHeight: t = 1.75, baseWidth: o = 0.75 } = {}) {
3415
3433
  super(
3416
- new _e(t, n),
3434
+ new Ue(t, o),
3417
3435
  new w({ color: 7829367, roughness: 0.8 })
3418
3436
  );
3419
3437
  }
3420
3438
  }
3421
- class xo extends x {
3422
- constructor(t = 0.6, n = 1, s = 0.2, a = 0.6) {
3439
+ class gn extends x {
3440
+ constructor(t = 0.6, o = 1, s = 0.2, a = 0.6) {
3423
3441
  super(
3424
- new Ue(t, n, s, a),
3442
+ new ze(t, o, s, a),
3425
3443
  new w({ color: 7829367, roughness: 0.8 })
3426
3444
  );
3427
3445
  }
3428
3446
  }
3429
- class vo extends x {
3430
- constructor(t = 0.5, n = 0.8, s = 0.15) {
3447
+ class An extends x {
3448
+ constructor(t = 0.5, o = 0.8, s = 0.15) {
3431
3449
  super(
3432
- new Fe(t, n, s),
3450
+ new Fe(t, o, s),
3433
3451
  new w({ color: 7829367, roughness: 0.8 })
3434
3452
  );
3435
3453
  }
3436
3454
  }
3437
- class go extends x {
3455
+ class In extends x {
3438
3456
  constructor({ height: t = 2.25 } = {}) {
3439
3457
  super(
3440
- new ze({ height: t }),
3458
+ new Le({ height: t }),
3441
3459
  new w({ color: 9141627, flatShading: !0 })
3442
3460
  );
3443
3461
  }
3444
3462
  }
3445
- class Ao extends x {
3463
+ class En extends x {
3446
3464
  constructor({
3447
3465
  barHeight: t = 2,
3448
3466
  //
3449
- barRadius: n = 0.05,
3467
+ barRadius: o = 0.05,
3450
3468
  spikeHeight: s = 0.3,
3451
3469
  spikeRadius: a = 0.075,
3452
- spikeScaleZ: o = 1,
3470
+ spikeScaleZ: n = 1,
3453
3471
  radialSegments: r = 8
3454
3472
  } = {}) {
3455
3473
  super(
3456
3474
  new It({
3457
3475
  barHeight: t,
3458
- barRadius: n,
3476
+ barRadius: o,
3459
3477
  spikeHeight: s,
3460
3478
  spikeRadius: a,
3461
- spikeScaleZ: o,
3479
+ spikeScaleZ: n,
3462
3480
  radialSegments: r
3463
3481
  }),
3464
3482
  new w({ color: 3355443, metalness: 0.8, roughness: 0.4 })
3465
3483
  );
3466
3484
  }
3467
3485
  }
3468
- class Io extends x {
3486
+ class bn extends x {
3469
3487
  constructor({
3470
3488
  count: t = 20,
3471
3489
  //
3472
- spacing: n = 0.4,
3490
+ spacing: o = 0.4,
3473
3491
  barHeight: s = 2,
3474
3492
  barRadius: a = 0.05,
3475
- spikeHeight: o = 0.3,
3493
+ spikeHeight: n = 0.3,
3476
3494
  spikeRadius: r = 0.075,
3477
3495
  spikeScaleZ: i = 1,
3478
3496
  railHeight: c = 0.1,
@@ -3481,12 +3499,12 @@ class Io extends x {
3481
3499
  radialSegments: m = 8
3482
3500
  } = {}) {
3483
3501
  super(
3484
- new Le({
3502
+ new De({
3485
3503
  count: t,
3486
- spacing: n,
3504
+ spacing: o,
3487
3505
  barHeight: s,
3488
3506
  barRadius: a,
3489
- spikeHeight: o,
3507
+ spikeHeight: n,
3490
3508
  spikeRadius: r,
3491
3509
  spikeScaleZ: i,
3492
3510
  railHeight: c,
@@ -3498,25 +3516,25 @@ class Io extends x {
3498
3516
  );
3499
3517
  }
3500
3518
  }
3501
- class Eo extends x {
3519
+ class Tn extends x {
3502
3520
  constructor({
3503
3521
  width: t = 5,
3504
3522
  //
3505
- height: n = 8,
3523
+ height: o = 8,
3506
3524
  depth: s = 1,
3507
3525
  shelves: a = 4,
3508
- frameThickness: o = 0.1,
3526
+ frameThickness: n = 0.1,
3509
3527
  open: r = !1
3510
3528
  } = {}) {
3511
3529
  super(
3512
- new De({ width: t, height: n, depth: s, shelves: a, frameThickness: o, open: r }),
3530
+ new ke({ width: t, height: o, depth: s, shelves: a, frameThickness: n, open: r }),
3513
3531
  new w({ color: 9127187 })
3514
3532
  );
3515
3533
  }
3516
3534
  }
3517
- class bo extends x {
3535
+ class Sn extends x {
3518
3536
  constructor() {
3519
- super(new ke(), [
3537
+ super(new Ve(), [
3520
3538
  new w({ color: 9132587 }),
3521
3539
  // Desk surface
3522
3540
  new w({ color: 4929057 })
@@ -3524,23 +3542,23 @@ class bo extends x {
3524
3542
  ]);
3525
3543
  }
3526
3544
  }
3527
- class To extends x {
3545
+ class Pn extends x {
3528
3546
  constructor({
3529
3547
  radiusTop: t = 0.2,
3530
3548
  //
3531
- radiusBottom: n = 0.2,
3549
+ radiusBottom: o = 0.2,
3532
3550
  height: s = 1,
3533
3551
  flameHeight: a = 0.25,
3534
- flameRadius: o = 0.05,
3552
+ flameRadius: n = 0.05,
3535
3553
  segments: r = 16
3536
3554
  } = {}) {
3537
3555
  super(
3538
- new Ve({
3556
+ new qe({
3539
3557
  radiusTop: t,
3540
- radiusBottom: n,
3558
+ radiusBottom: o,
3541
3559
  height: s,
3542
3560
  flameHeight: a,
3543
- flameRadius: o,
3561
+ flameRadius: n,
3544
3562
  segments: r
3545
3563
  }),
3546
3564
  [
@@ -3550,66 +3568,66 @@ class To extends x {
3550
3568
  );
3551
3569
  }
3552
3570
  }
3553
- class So extends x {
3554
- constructor({ height: t = 0.25, radius: n = 0.05, segmentsU: s = 16, segmentsV: a = 16 } = {}) {
3571
+ class Gn extends x {
3572
+ constructor({ height: t = 0.25, radius: o = 0.05, segmentsU: s = 16, segmentsV: a = 16 } = {}) {
3555
3573
  super(
3556
- new Et({ segmentsU: s, segmentsV: a, height: t, radius: n }),
3574
+ new Et({ segmentsU: s, segmentsV: a, height: t, radius: o }),
3557
3575
  new w({ color: 16766720, emissive: 16753920, emissiveIntensity: 0.35 })
3558
3576
  );
3559
3577
  }
3560
3578
  }
3561
- class Po extends k {
3562
- constructor(t = 1.3, n = 0.5) {
3579
+ class Cn extends k {
3580
+ constructor(t = 1.3, o = 0.5) {
3563
3581
  super();
3564
- const s = new S(n, n, 0.2, 16), a = new w({ color: 9127187, flatShading: !0 }), o = new x(s, a);
3565
- o.position.set(0, 0, 0), this.add(o);
3566
- const r = new S(n * 0.9, n * 0.9, t), i = new w({ color: 16766720, flatShading: !0, transparent: !0, opacity: 0.6 }), c = new x(r, i);
3582
+ const s = new G(o, o, 0.2, 16), a = new w({ color: 9127187, flatShading: !0 }), n = new x(s, a);
3583
+ n.position.set(0, 0, 0), this.add(n);
3584
+ const r = new G(o * 0.9, o * 0.9, t), i = new w({ color: 16766720, flatShading: !0, transparent: !0, opacity: 0.6 }), c = new x(r, i);
3567
3585
  c.position.set(0, t / 2 + 0.1, 0), this.add(c);
3568
- const l = new K(n * 1.1, 0.5, 8), u = new w({ color: 9127187, flatShading: !0 }), m = new x(l, u);
3586
+ const l = new J(o * 1.1, 0.5, 8), u = new w({ color: 9127187, flatShading: !0 }), m = new x(l, u);
3569
3587
  m.position.set(0, t + 0.35, 0), this.add(m);
3570
- const h = new Mt(n * 0.8, 0.05, 8, 16), f = new w({ color: 9127187, flatShading: !0 }), p = new x(h, f);
3588
+ const h = new Mt(o * 0.8, 0.05, 8, 16), f = new w({ color: 9127187, flatShading: !0 }), p = new x(h, f);
3571
3589
  p.position.set(0, t + 0.85, 0), this.add(p);
3572
- const d = new Rt(16755200, 1.5, 15);
3590
+ const d = new Bt(16755200, 1.5, 15);
3573
3591
  d.position.set(0, t / 2 + 0.1, 0), d.castShadow = !0, this.add(d);
3574
3592
  }
3575
3593
  }
3576
- class Go extends x {
3594
+ class Rn extends x {
3577
3595
  constructor() {
3578
- super(new qe(), [
3596
+ super(new Ye(), [
3579
3597
  new w({ color: 8421504, flatShading: !0 }),
3580
3598
  new w({ color: 4950843, flatShading: !0, opacity: 0.8, transparent: !0 })
3581
3599
  ]);
3582
3600
  }
3583
3601
  }
3584
- class Co extends x {
3585
- constructor(t = 1, n = 4, s = 4) {
3602
+ class Bn extends x {
3603
+ constructor(t = 1, o = 4, s = 4) {
3586
3604
  super(
3587
- new He(t, n, s),
3605
+ new Xe(t, o, s),
3588
3606
  new w({ color: 8421504, flatShading: !0 })
3589
3607
  );
3590
3608
  }
3591
3609
  }
3592
- class Ro extends x {
3610
+ class Nn extends x {
3593
3611
  constructor() {
3594
- super(new Xe(), new w({ color: 8421504, flatShading: !0 }));
3612
+ super(new Ze(), new w({ color: 8421504, flatShading: !0 }));
3595
3613
  }
3596
3614
  }
3597
- class Bo extends k {
3615
+ class On extends k {
3598
3616
  constructor() {
3599
3617
  super();
3600
- const t = new S(0.3, 0.4, 0.1, 16), n = new w({
3618
+ const t = new G(0.3, 0.4, 0.1, 16), o = new w({
3601
3619
  color: 3355443,
3602
3620
  roughness: 0.6,
3603
3621
  metalness: 0.3
3604
- }), s = new x(t, n);
3622
+ }), s = new x(t, o);
3605
3623
  s.position.y = 0.05;
3606
- const a = new S(0.1, 0.1, 0.7, 16), o = new w({
3624
+ const a = new G(0.1, 0.1, 0.7, 16), n = new w({
3607
3625
  color: 5592405,
3608
3626
  roughness: 0.5,
3609
3627
  metalness: 0.4
3610
- }), r = new x(a, o);
3628
+ }), r = new x(a, n);
3611
3629
  r.position.y = 0.4;
3612
- const i = new K(0.075, 0.2, 16), c = new w({
3630
+ const i = new J(0.075, 0.2, 16), c = new w({
3613
3631
  color: 16733440,
3614
3632
  emissive: 16733440,
3615
3633
  emissiveIntensity: 0.6,
@@ -3619,10 +3637,10 @@ class Bo extends k {
3619
3637
  l.position.y = 0.8, this.add(s, r, l);
3620
3638
  }
3621
3639
  }
3622
- class No extends k {
3640
+ class _n extends k {
3623
3641
  constructor() {
3624
3642
  super();
3625
- const t = new b(3, 4, 0.1), n = new w({
3643
+ const t = new b(3, 4, 0.1), o = new w({
3626
3644
  color: 3026478,
3627
3645
  roughness: 0.8,
3628
3646
  metalness: 0.6
@@ -3630,18 +3648,18 @@ class No extends k {
3630
3648
  color: 11184810,
3631
3649
  roughness: 0.5,
3632
3650
  metalness: 0.7
3633
- }), o = new S(0.3, 0.3, 0.1, 16), r = new w({
3651
+ }), n = new G(0.3, 0.3, 0.1, 16), r = new w({
3634
3652
  color: 5592405,
3635
3653
  roughness: 0.7,
3636
3654
  metalness: 0.5
3637
- }), i = new x(t, n);
3655
+ }), i = new x(t, o);
3638
3656
  for (let y = -1; y <= 1; y++) {
3639
3657
  const g = new x(s, a);
3640
3658
  g.position.set(y, 1.5, 0.1), i.add(g);
3641
3659
  }
3642
- const c = new x(o, r);
3660
+ const c = new x(n, r);
3643
3661
  c.rotation.x = Math.PI / 2, c.position.set(0, 0.5, 0.15), i.add(c);
3644
- const l = new F(0.15, 8, 8), u = new w({
3662
+ const l = new z(0.15, 8, 8), u = new w({
3645
3663
  color: 16711680,
3646
3664
  emissive: 16711680,
3647
3665
  emissiveIntensity: 0.5
@@ -3656,18 +3674,18 @@ class No extends k {
3656
3674
  d();
3657
3675
  }
3658
3676
  }
3659
- class Oo extends x {
3677
+ class Un extends x {
3660
3678
  constructor({
3661
3679
  flaskRadius: t = 1,
3662
3680
  //
3663
- neckRadius: n = 0.3,
3681
+ neckRadius: o = 0.3,
3664
3682
  height: s = 2.5,
3665
3683
  neckHeight: a = 1,
3666
- radialSegments: o = 16
3684
+ radialSegments: n = 16
3667
3685
  } = {}) {
3668
3686
  super(
3669
- new je({ flaskRadius: t, neckRadius: n, height: s, neckHeight: a, radialSegments: o }),
3670
- new st({
3687
+ new Qe({ flaskRadius: t, neckRadius: o, height: s, neckHeight: a, radialSegments: n }),
3688
+ new rt({
3671
3689
  color: 8965375,
3672
3690
  transparent: !0,
3673
3691
  opacity: 0.4,
@@ -3680,11 +3698,11 @@ class Oo extends x {
3680
3698
  );
3681
3699
  }
3682
3700
  }
3683
- class _o extends x {
3701
+ class zn extends x {
3684
3702
  constructor() {
3685
3703
  super(
3686
- new $e(),
3687
- new st({
3704
+ new Je(),
3705
+ new rt({
3688
3706
  color: 8965375,
3689
3707
  transparent: !0,
3690
3708
  depthWrite: !1,
@@ -3698,14 +3716,14 @@ class _o extends x {
3698
3716
  );
3699
3717
  }
3700
3718
  }
3701
- class Uo extends k {
3719
+ class Fn extends k {
3702
3720
  constructor() {
3703
3721
  super();
3704
- const t = new b(2, 3, 0.1), n = new w({
3722
+ const t = new b(2, 3, 0.1), o = new w({
3705
3723
  color: 3355443,
3706
3724
  roughness: 0.8,
3707
3725
  metalness: 0.5
3708
- }), s = new x(t, n), a = new S(0.1, 0.1, 0.2, 8), o = new S(0.05, 0.05, 1, 8), r = new w({
3726
+ }), s = new x(t, o), a = new G(0.1, 0.1, 0.2, 8), n = new G(0.05, 0.05, 1, 8), r = new w({
3709
3727
  color: 11184810,
3710
3728
  roughness: 0.5,
3711
3729
  metalness: 0.7
@@ -3713,24 +3731,24 @@ class Uo extends k {
3713
3731
  for (let i = -0.5; i <= 0.5; i += 0.5) {
3714
3732
  const c = new x(a, r);
3715
3733
  c.position.set(i, 1, 0.1);
3716
- const l = new x(o, r);
3734
+ const l = new x(n, r);
3717
3735
  l.position.y = 0.5, c.add(l), this.add(c);
3718
3736
  }
3719
3737
  this.add(s);
3720
3738
  }
3721
3739
  }
3722
- class Fo extends k {
3740
+ class Ln extends k {
3723
3741
  constructor() {
3724
3742
  super();
3725
- const t = new b(1, 0.2, 0.5), n = new w({
3743
+ const t = new b(1, 0.2, 0.5), o = new w({
3726
3744
  color: 4473924,
3727
3745
  roughness: 0.6,
3728
3746
  metalness: 0.3
3729
- }), s = new x(t, n);
3747
+ }), s = new x(t, o);
3730
3748
  s.position.y = 0.1;
3731
- const a = new b(0.2, 1, 0.2), o = new x(a, n);
3732
- o.position.set(0, 0.6, -0.2);
3733
- const r = new S(0.1, 0.1, 0.4, 8), i = new w({
3749
+ const a = new b(0.2, 1, 0.2), n = new x(a, o);
3750
+ n.position.set(0, 0.6, -0.2);
3751
+ const r = new G(0.1, 0.1, 0.4, 8), i = new w({
3734
3752
  color: 3355443,
3735
3753
  roughness: 0.5,
3736
3754
  metalness: 0.6
@@ -3741,14 +3759,14 @@ class Fo extends k {
3741
3759
  roughness: 0.8,
3742
3760
  metalness: 0.2
3743
3761
  }), m = new x(l, u);
3744
- m.position.set(0, 0.6, 0), this.add(s, o, c, m);
3762
+ m.position.set(0, 0.6, 0), this.add(s, n, c, m);
3745
3763
  }
3746
3764
  }
3747
- class zo extends k {
3765
+ class Dn extends k {
3748
3766
  constructor() {
3749
3767
  super();
3750
- const t = new Je(), n = new S(0.2, 0.3, 1.5, 8);
3751
- n.translate(0, 0.75, 0);
3768
+ const t = new We(), o = new G(0.2, 0.3, 1.5, 8);
3769
+ o.translate(0, 0.75, 0);
3752
3770
  const s = new w({
3753
3771
  color: 6045747,
3754
3772
  // Dark earthy tone
@@ -3761,66 +3779,66 @@ class zo extends k {
3761
3779
  // Slightly lighter earthy color
3762
3780
  roughness: 0.8,
3763
3781
  metalness: 0.1
3764
- }), o = new x(t, s);
3765
- o.castShadow = !0;
3766
- const r = new x(n, a);
3767
- r.castShadow = !0, r.position.set(0.3, 1.3, 0), r.rotation.z = Math.PI / 4, this.add(o, r);
3782
+ }), n = new x(t, s);
3783
+ n.castShadow = !0;
3784
+ const r = new x(o, a);
3785
+ r.castShadow = !0, r.position.set(0.3, 1.3, 0), r.rotation.z = Math.PI / 4, this.add(n, r);
3768
3786
  }
3769
3787
  }
3770
- class Lo extends x {
3771
- constructor({ width: n = 3, height: s = 4, depth: a = 0.1 } = {}) {
3788
+ class kn extends x {
3789
+ constructor({ width: o = 3, height: s = 4, depth: a = 0.1 } = {}) {
3772
3790
  super();
3773
3791
  I(this, "geometry");
3774
3792
  I(this, "material");
3775
- this.geometry = new b(n, s, a), this.material = new w({
3793
+ this.geometry = new b(o, s, a), this.material = new w({
3776
3794
  color: 3026478,
3777
3795
  roughness: 0.8,
3778
3796
  metalness: 0.6
3779
3797
  });
3780
3798
  }
3781
3799
  }
3782
- class Do extends x {
3800
+ class Vn extends x {
3783
3801
  constructor({
3784
- radius: n = 0.15,
3802
+ radius: o = 0.15,
3785
3803
  //
3786
3804
  color: s = 16762823,
3787
3805
  emissive: a = 16711680,
3788
- emissiveIntensity: o = 0.5
3806
+ emissiveIntensity: n = 0.5
3789
3807
  } = {}) {
3790
3808
  super();
3791
3809
  I(this, "geometry");
3792
3810
  I(this, "material");
3793
- this.geometry = new F(n, 8, 8), this.material = new w({
3811
+ this.geometry = new z(o, 8, 8), this.material = new w({
3794
3812
  color: s,
3795
3813
  emissive: a,
3796
- emissiveIntensity: o
3814
+ emissiveIntensity: n
3797
3815
  });
3798
3816
  }
3799
3817
  }
3800
- class ko extends k {
3818
+ class qn extends k {
3801
3819
  constructor() {
3802
3820
  super();
3803
- const t = 100, n = 0.05, s = new Bt(
3821
+ const t = 100, o = 0.05, s = new Nt(
3804
3822
  Array.from({ length: t }, (l, u) => {
3805
3823
  const m = u * 0.2;
3806
3824
  return new M(
3807
3825
  Math.cos(m) * 0.4,
3808
- u * n,
3826
+ u * o,
3809
3827
  // Gradual height increase
3810
3828
  Math.sin(m) * 0.4
3811
3829
  );
3812
3830
  })
3813
- ), a = new Nt(s, 200, 0.1, 8, !1), o = new w({
3831
+ ), a = new Ot(s, 200, 0.1, 8, !1), n = new w({
3814
3832
  color: 8965375,
3815
3833
  transparent: !0,
3816
3834
  opacity: 0.3,
3817
3835
  roughness: 0.1,
3818
3836
  metalness: 0.2,
3819
3837
  emissive: 8965375
3820
- }), r = new x(a, o);
3838
+ }), r = new x(a, n);
3821
3839
  this.add(r);
3822
3840
  function i() {
3823
- o.emissiveIntensity = 0.2 + Math.sin(Date.now() * 5e-3) * 0.1;
3841
+ n.emissiveIntensity = 0.2 + Math.sin(Date.now() * 5e-3) * 0.1;
3824
3842
  }
3825
3843
  function c() {
3826
3844
  requestAnimationFrame(c), i();
@@ -3828,17 +3846,17 @@ class ko extends k {
3828
3846
  c();
3829
3847
  }
3830
3848
  }
3831
- class Vo extends x {
3849
+ class Yn extends x {
3832
3850
  constructor({
3833
3851
  radius: t = 0.3,
3834
3852
  //
3835
- height: n = 0.4,
3853
+ height: o = 0.4,
3836
3854
  count: s = 3,
3837
3855
  thickness: a = 0.03,
3838
- radialSegments: o = 16
3856
+ radialSegments: n = 16
3839
3857
  } = {}) {
3840
3858
  super(
3841
- new We({ radius: t, height: n, count: s, thickness: a, radialSegments: o }),
3859
+ new to({ radius: t, height: o, count: s, thickness: a, radialSegments: n }),
3842
3860
  new w({
3843
3861
  color: 8947848,
3844
3862
  roughness: 0.7,
@@ -3847,9 +3865,9 @@ class Vo extends x {
3847
3865
  );
3848
3866
  }
3849
3867
  }
3850
- class qo extends x {
3868
+ class Hn extends x {
3851
3869
  constructor() {
3852
- super(new tn(), [
3870
+ super(new eo(), [
3853
3871
  new w({
3854
3872
  color: 3355443,
3855
3873
  roughness: 0.6,
@@ -3864,11 +3882,11 @@ class qo extends x {
3864
3882
  ]);
3865
3883
  }
3866
3884
  }
3867
- class Yo extends x {
3868
- constructor(t = 0.2, n = 0.2, s = 3, a = 32) {
3885
+ class Xn extends x {
3886
+ constructor(t = 0.2, o = 0.2, s = 3, a = 32) {
3869
3887
  super(
3870
- new lt(t, n, s, a),
3871
- new st({
3888
+ new ut(t, o, s, a),
3889
+ new rt({
3872
3890
  color: 8965375,
3873
3891
  transparent: !0,
3874
3892
  opacity: 0.4,
@@ -3882,17 +3900,17 @@ class Yo extends x {
3882
3900
  );
3883
3901
  }
3884
3902
  }
3885
- class Ho extends k {
3886
- constructor(t = 3, n = [65450, 16711850, 11141375]) {
3903
+ class Zn extends k {
3904
+ constructor(t = 3, o = [65450, 16711850, 11141375]) {
3887
3905
  super();
3888
3906
  const s = new b(3, 0.2, 1), a = new w({
3889
3907
  color: 9127187,
3890
3908
  // Wooden color or change to metallic tone
3891
3909
  roughness: 0.7,
3892
3910
  metalness: 0.3
3893
- }), o = new x(s, a);
3894
- o.position.y = 0.5, o.castShadow = !0;
3895
- const r = new lt(0.1, 0.1, 1, 16), i = new w({
3911
+ }), n = new x(s, a);
3912
+ n.position.y = 0.5, n.castShadow = !0;
3913
+ const r = new ut(0.1, 0.1, 1, 16), i = new w({
3896
3914
  color: 11184810,
3897
3915
  transparent: !0,
3898
3916
  opacity: 0.4,
@@ -3904,34 +3922,34 @@ class Ho extends k {
3904
3922
  for (let c = 0; c < t; c++) {
3905
3923
  const l = new x(r, i), u = (c - (t - 1) / 2) * 0.8;
3906
3924
  l.position.set(u, 1, 0), l.castShadow = !0;
3907
- const m = new lt(0.099, 0.099, 0.5, 16, !1), h = n[c % n.length], f = new w({
3925
+ const m = new ut(0.099, 0.099, 0.5, 16, !1), h = o[c % o.length], f = new w({
3908
3926
  color: h,
3909
3927
  emissive: h,
3910
3928
  emissiveIntensity: 0.5,
3911
3929
  transparent: !0,
3912
3930
  opacity: 0.6
3913
3931
  }), p = new x(m, f);
3914
- p.position.set(0, -0.25, 0), l.add(p), o.add(l);
3932
+ p.position.set(0, -0.25, 0), l.add(p), n.add(l);
3915
3933
  }
3916
- this.add(o);
3934
+ this.add(n);
3917
3935
  }
3918
3936
  }
3919
- class rn extends $ {
3920
- constructor(t = 5, n = 0.5, s = 1) {
3937
+ class ao extends Z {
3938
+ constructor(t = 5, o = 0.5, s = 1) {
3921
3939
  super();
3922
- const a = Math.PI * 2 / t, o = a / 2, r = a / 4;
3940
+ const a = Math.PI * 2 / t, n = a / 2, r = a / 4;
3923
3941
  this.moveTo(Math.cos(0) * s, -Math.sin(0) * s);
3924
3942
  for (let i = 1; i <= t; ++i) {
3925
- let c = Math.cos(a * i - r * 3) * (n / Math.cos(r)), l = -Math.sin(a * i - r * 3) * (n / Math.cos(r)), u = Math.cos(a * i - o) * n, m = -Math.sin(a * i - o) * n;
3926
- this.quadraticCurveTo(c, l, u, m), c = Math.cos(a * i - r) * (n / Math.cos(r)), l = -Math.sin(a * i - r) * (n / Math.cos(r)), u = Math.cos(a * i) * s, m = -Math.sin(a * i) * s, this.quadraticCurveTo(c, l, u, m);
3943
+ let c = Math.cos(a * i - r * 3) * (o / Math.cos(r)), l = -Math.sin(a * i - r * 3) * (o / Math.cos(r)), u = Math.cos(a * i - n) * o, m = -Math.sin(a * i - n) * o;
3944
+ this.quadraticCurveTo(c, l, u, m), c = Math.cos(a * i - r) * (o / Math.cos(r)), l = -Math.sin(a * i - r) * (o / Math.cos(r)), u = Math.cos(a * i) * s, m = -Math.sin(a * i) * s, this.quadraticCurveTo(c, l, u, m);
3927
3945
  }
3928
3946
  this.closePath();
3929
3947
  }
3930
3948
  }
3931
- class Xo extends x {
3932
- constructor(t = 5, n = 0.5, s = 1, a = 0.25) {
3949
+ class jn extends x {
3950
+ constructor(t = 5, o = 0.5, s = 1, a = 0.25) {
3933
3951
  super();
3934
- const o = new rn(t, n, s), r = new J(o, {
3952
+ const n = new ao(t, o, s), r = new j(n, {
3935
3953
  depth: a,
3936
3954
  bevelEnabled: a > 0,
3937
3955
  bevelThickness: 0,
@@ -3947,26 +3965,26 @@ class Xo extends x {
3947
3965
  r.center(), this.geometry = r, this.material = i;
3948
3966
  }
3949
3967
  }
3950
- class an extends $ {
3951
- constructor(t = 5, n = 0.5, s = 1, a = 5, o = 0.25) {
3968
+ class io extends Z {
3969
+ constructor(t = 5, o = 0.5, s = 1, a = 5, n = 0.25) {
3952
3970
  super();
3953
3971
  const r = Math.PI * 2 / t, i = r / 4;
3954
3972
  this.moveTo(Math.cos(0) * s, -Math.sin(0) * s);
3955
3973
  for (let c = 1; c <= t; ++c)
3956
- this.lineTo(Math.cos(r * c - i * 3) * n, -Math.sin(r * c - i * 3) * n), this.lineTo(Math.cos(r * c - i * 2) * n, -Math.sin(r * c - i * 2) * n), this.lineTo(Math.cos(r * c - i) * s, -Math.sin(r * c - i) * s), this.lineTo(Math.cos(r * c) * s, -Math.sin(r * c) * s);
3957
- if (this.closePath(), o > 0 && a > 2) {
3958
- const c = new Ot(), l = Math.PI * 2 / a;
3959
- c.moveTo(Math.cos(0) * o, -Math.sin(0) * o);
3974
+ this.lineTo(Math.cos(r * c - i * 3) * o, -Math.sin(r * c - i * 3) * o), this.lineTo(Math.cos(r * c - i * 2) * o, -Math.sin(r * c - i * 2) * o), this.lineTo(Math.cos(r * c - i) * s, -Math.sin(r * c - i) * s), this.lineTo(Math.cos(r * c) * s, -Math.sin(r * c) * s);
3975
+ if (this.closePath(), n > 0 && a > 2) {
3976
+ const c = new _t(), l = Math.PI * 2 / a;
3977
+ c.moveTo(Math.cos(0) * n, -Math.sin(0) * n);
3960
3978
  for (let u = 1; u < a; ++u)
3961
- c.lineTo(Math.cos(l * u) * o, -Math.sin(l * u) * o);
3962
- c.lineTo(Math.cos(0) * o, -Math.sin(0) * o), this.holes.push(c);
3979
+ c.lineTo(Math.cos(l * u) * n, -Math.sin(l * u) * n);
3980
+ c.lineTo(Math.cos(0) * n, -Math.sin(0) * n), this.holes.push(c);
3963
3981
  }
3964
3982
  }
3965
3983
  }
3966
- class Zo extends x {
3967
- constructor(t = 5, n = 0.5, s = 1, a = 5, o = 0.25, r = 0.25) {
3984
+ class Qn extends x {
3985
+ constructor(t = 5, o = 0.5, s = 1, a = 5, n = 0.25, r = 0.25) {
3968
3986
  super();
3969
- const i = new an(t, n, s, a, o), c = new J(i, {
3987
+ const i = new io(t, o, s, a, n), c = new j(i, {
3970
3988
  depth: r,
3971
3989
  bevelEnabled: r > 0,
3972
3990
  bevelThickness: 0,
@@ -3979,23 +3997,23 @@ class Zo extends x {
3979
3997
  c.center(), this.geometry = c, this.material = l;
3980
3998
  }
3981
3999
  }
3982
- class cn extends $ {
3983
- constructor(t = 1, n = 2.1, s = 1.4, a = 1.6) {
4000
+ class co extends Z {
4001
+ constructor(t = 1, o = 2.1, s = 1.4, a = 1.6) {
3984
4002
  super(), this.moveTo(0, s * t / 3), this.bezierCurveTo(
3985
- -n * 0.375 * t,
4003
+ -o * 0.375 * t,
3986
4004
  s * t,
3987
4005
  // Control point 1 for the left lobe
3988
- -n * t,
4006
+ -o * t,
3989
4007
  s * t / 3,
3990
4008
  // Control point 2 for the left side of the heart
3991
4009
  0,
3992
4010
  -a * t
3993
4011
  // Bottom tip of the heart, controlled by `tipDepth`
3994
4012
  ), this.bezierCurveTo(
3995
- n * t,
4013
+ o * t,
3996
4014
  s * t / 3,
3997
4015
  // Control point 3 for the right side of the heart
3998
- n * 0.375 * t,
4016
+ o * 0.375 * t,
3999
4017
  s * t,
4000
4018
  // Control point 4 for the right lobe
4001
4019
  0,
@@ -4004,12 +4022,12 @@ class cn extends $ {
4004
4022
  );
4005
4023
  }
4006
4024
  }
4007
- class jo extends x {
4008
- constructor(t = 1, n = 1, s = 1, a = 10, o = 0.25) {
4025
+ class Kn extends x {
4026
+ constructor(t = 1, o = 1, s = 1, a = 10, n = 0.25) {
4009
4027
  super();
4010
- const r = new cn(t, n, s, a), i = new J(r, {
4011
- depth: o,
4012
- bevelEnabled: o > 0,
4028
+ const r = new co(t, o, s, a), i = new j(r, {
4029
+ depth: n,
4030
+ bevelEnabled: n > 0,
4013
4031
  bevelThickness: 0,
4014
4032
  bevelSize: 0
4015
4033
  }), c = new w({
@@ -4023,20 +4041,20 @@ class jo extends x {
4023
4041
  i.center(), this.geometry = i, this.material = c;
4024
4042
  }
4025
4043
  }
4026
- class ln extends $ {
4027
- constructor(t = 5, n = 0.5, s = 1) {
4044
+ class lo extends Z {
4045
+ constructor(t = 5, o = 0.5, s = 1) {
4028
4046
  super();
4029
- const a = Math.PI * 2 / t, o = a / 2;
4047
+ const a = Math.PI * 2 / t, n = a / 2;
4030
4048
  this.moveTo(Math.cos(0) * s, Math.sin(0) * s);
4031
4049
  for (let r = 1; r <= t; ++r)
4032
- this.lineTo(Math.cos(a * r - o) * n, Math.sin(a * r - o) * n), this.lineTo(Math.cos(a * r) * s, Math.sin(a * r) * s);
4050
+ this.lineTo(Math.cos(a * r - n) * o, Math.sin(a * r - n) * o), this.lineTo(Math.cos(a * r) * s, Math.sin(a * r) * s);
4033
4051
  this.closePath();
4034
4052
  }
4035
4053
  }
4036
- class Qo extends x {
4037
- constructor(t = 5, n = 0.5, s = 1, a = 0.25) {
4054
+ class $n extends x {
4055
+ constructor(t = 5, o = 0.5, s = 1, a = 0.25) {
4038
4056
  super();
4039
- const o = new ln(t, n, s), r = new J(o, {
4057
+ const n = new lo(t, o, s), r = new j(n, {
4040
4058
  depth: a,
4041
4059
  bevelEnabled: a > 0,
4042
4060
  bevelThickness: 0,
@@ -4052,18 +4070,18 @@ class Qo extends x {
4052
4070
  r.center(), this.geometry = r, this.material = i;
4053
4071
  }
4054
4072
  }
4055
- class Ko extends x {
4073
+ class Jn extends x {
4056
4074
  constructor() {
4057
- super(new Ze(), new w({ color: 16777215 }));
4075
+ super(new je(), new w({ color: 16777215 }));
4058
4076
  }
4059
4077
  }
4060
- class $o extends x {
4078
+ class Wn extends x {
4061
4079
  constructor({
4062
4080
  trunkRadiusTop: t = 0.25,
4063
- trunkRadiusBottom: n = 0.4,
4081
+ trunkRadiusBottom: o = 0.4,
4064
4082
  trunkHeight: s = 2.5,
4065
4083
  trunkSegments: a = 14,
4066
- trunkColor: o = 9127187,
4084
+ trunkColor: n = 9127187,
4067
4085
  leafSize: r = 0.8,
4068
4086
  leafCount: i = 6,
4069
4087
  leafDetail: c = 0,
@@ -4071,9 +4089,9 @@ class $o extends x {
4071
4089
  leafColor: u = 2263842
4072
4090
  } = {}) {
4073
4091
  super(
4074
- new on({
4092
+ new so({
4075
4093
  trunkRadiusTop: t,
4076
- trunkRadiusBottom: n,
4094
+ trunkRadiusBottom: o,
4077
4095
  trunkHeight: s,
4078
4096
  trunkSegments: a,
4079
4097
  leafSize: r,
@@ -4083,7 +4101,7 @@ class $o extends x {
4083
4101
  }),
4084
4102
  [
4085
4103
  new w({
4086
- color: o,
4104
+ color: n,
4087
4105
  roughness: 0.9,
4088
4106
  metalness: 0,
4089
4107
  flatShading: !0
@@ -4098,55 +4116,55 @@ class $o extends x {
4098
4116
  );
4099
4117
  }
4100
4118
  }
4101
- class Jo extends x {
4119
+ class ts extends x {
4102
4120
  constructor({
4103
4121
  radius: t = 3,
4104
4122
  //
4105
- height: n = 0.6,
4123
+ height: o = 0.6,
4106
4124
  widthSegments: s = 64,
4107
4125
  heightSegments: a = 16,
4108
- phiStart: o = 0,
4126
+ phiStart: n = 0,
4109
4127
  phiLength: r = Math.PI * 2
4110
4128
  } = {}) {
4111
4129
  super(
4112
- new en({
4130
+ new oo({
4113
4131
  radius: t,
4114
- height: n,
4132
+ height: o,
4115
4133
  widthSegments: s,
4116
4134
  heightSegments: a,
4117
- phiStart: o,
4135
+ phiStart: n,
4118
4136
  phiLength: r
4119
4137
  }),
4120
4138
  new w({ color: 65280, flatShading: !0 })
4121
4139
  );
4122
4140
  }
4123
4141
  }
4124
- class Wo extends x {
4142
+ class es extends x {
4125
4143
  constructor({
4126
4144
  radius: t = bt(5, Math.PI / 10),
4127
4145
  //
4128
- widthSegments: n = 64,
4146
+ widthSegments: o = 64,
4129
4147
  heightSegments: s = 32,
4130
4148
  phiStart: a = 0,
4131
- phiLength: o = Math.PI * 2,
4149
+ phiLength: n = Math.PI * 2,
4132
4150
  thetaLength: r = Math.PI / 10
4133
4151
  } = {}) {
4134
4152
  super(
4135
- new nn({
4153
+ new no({
4136
4154
  radius: t,
4137
- widthSegments: n,
4155
+ widthSegments: o,
4138
4156
  heightSegments: s,
4139
4157
  phiStart: a,
4140
- phiLength: o,
4158
+ phiLength: n,
4141
4159
  thetaLength: r
4142
4160
  }),
4143
4161
  new w({ color: 65280, flatShading: !0 })
4144
4162
  );
4145
4163
  }
4146
4164
  }
4147
- function ts(e, { time: t = 0, waveFrequency: n = 0.2, waveAmplitude: s = 0.5 } = {}) {
4165
+ function os(e, { time: t = 0, waveFrequency: o = 0.2, waveAmplitude: s = 0.5 } = {}) {
4148
4166
  e.onBeforeCompile = (a) => {
4149
- a.uniforms.time = { value: t }, a.uniforms.waveFrequency = { value: n }, a.uniforms.waveAmplitude = { value: s }, a.vertexShader = `
4167
+ a.uniforms.time = { value: t }, a.uniforms.waveFrequency = { value: o }, a.uniforms.waveAmplitude = { value: s }, a.vertexShader = `
4150
4168
  uniform float time;
4151
4169
  uniform float waveFrequency;
4152
4170
  uniform float waveAmplitude;
@@ -4168,12 +4186,12 @@ function ts(e, { time: t = 0, waveFrequency: n = 0.2, waveAmplitude: s = 0.5 } =
4168
4186
  ), e.userData.shader = a;
4169
4187
  };
4170
4188
  }
4171
- function es(e, t) {
4189
+ function ns(e, t) {
4172
4190
  e.userData.shader && (e.userData.shader.uniforms.time.value += t);
4173
4191
  }
4174
- function ns(e, { time: t = 0, intensity: n = 1, axis: s = ft.XYZ, scale: a = 10 } = {}) {
4175
- e.onBeforeCompile = (o) => {
4176
- o.uniforms.time = { value: t }, o.uniforms.axis = { value: s }, o.uniforms.intensity = { value: n }, o.uniforms.scale = { value: a }, o.vertexShader = `
4192
+ function ss(e, { time: t = 0, intensity: o = 1, axis: s = ft.XYZ, scale: a = 10 } = {}) {
4193
+ e.onBeforeCompile = (n) => {
4194
+ n.uniforms.time = { value: t }, n.uniforms.axis = { value: s }, n.uniforms.intensity = { value: o }, n.uniforms.scale = { value: a }, n.vertexShader = `
4177
4195
  uniform float time;
4178
4196
  uniform vec3 axis;
4179
4197
  uniform float intensity;
@@ -4204,7 +4222,7 @@ function ns(e, { time: t = 0, intensity: n = 1, axis: s = ft.XYZ, scale: a = 10
4204
4222
 
4205
4223
  return o4.y * d.y + o4.x * (1.0 - d.y);
4206
4224
  }
4207
- ` + o.vertexShader, o.vertexShader = o.vertexShader.replace(
4225
+ ` + n.vertexShader, n.vertexShader = n.vertexShader.replace(
4208
4226
  "#include <begin_vertex>",
4209
4227
  `
4210
4228
  vec3 transformed = vec3(position);
@@ -4212,13 +4230,13 @@ function ns(e, { time: t = 0, intensity: n = 1, axis: s = ft.XYZ, scale: a = 10
4212
4230
  transformed += normalize(axis) * n * intensity;
4213
4231
  vec3 transformedNormal = normal;
4214
4232
  `
4215
- ), e.userData.shader = o;
4233
+ ), e.userData.shader = n;
4216
4234
  };
4217
4235
  }
4218
- function os(e, t) {
4236
+ function rs(e, t) {
4219
4237
  e.userData.shader && (e.userData.shader.uniforms.time.value += t);
4220
4238
  }
4221
- const at = {
4239
+ const it = {
4222
4240
  uniforms: {
4223
4241
  turbidity: { value: 10 },
4224
4242
  rayleigh: { value: 2 },
@@ -4380,10 +4398,10 @@ const at = {
4380
4398
  #include <colorspace_fragment>
4381
4399
  }
4382
4400
  `
4383
- }, it = {
4401
+ }, ct = {
4384
4402
  uniforms: {
4385
- topColor: { value: new nt(0.5, 0.8, 1) },
4386
- bottomColor: { value: new nt(1, 1, 1) }
4403
+ topColor: { value: new ot(0.5, 0.8, 1) },
4404
+ bottomColor: { value: new ot(1, 1, 1) }
4387
4405
  },
4388
4406
  vertexShader: `
4389
4407
  varying vec3 vPosition;
@@ -4401,7 +4419,7 @@ const at = {
4401
4419
  gl_FragColor = vec4(mix(bottomColor, topColor, y), 1.0);
4402
4420
  }
4403
4421
  `
4404
- }, ss = {
4422
+ }, as = {
4405
4423
  uniforms: {
4406
4424
  tDiffuse: { value: null },
4407
4425
  opacity: { value: 1 }
@@ -4422,10 +4440,10 @@ const at = {
4422
4440
  gl_FragColor = opacity * texel;
4423
4441
  }
4424
4442
  `
4425
- }, ct = {
4443
+ }, lt = {
4426
4444
  uniforms: {
4427
- topColor: { value: new nt(51) },
4428
- bottomColor: { value: new nt(17) },
4445
+ topColor: { value: new ot(51) },
4446
+ bottomColor: { value: new ot(17) },
4429
4447
  offset: { value: 33 },
4430
4448
  exponent: { value: 0.6 }
4431
4449
  },
@@ -4449,19 +4467,19 @@ const at = {
4449
4467
  }
4450
4468
  `
4451
4469
  };
4452
- class rs extends x {
4470
+ class is extends x {
4453
4471
  constructor() {
4454
4472
  super();
4455
4473
  I(this, "geometry");
4456
4474
  I(this, "material");
4457
- this.geometry = new b(1, 1, 1), this.material = new ot({
4458
- uniforms: at.uniforms,
4459
- vertexShader: at.vertexShader,
4460
- fragmentShader: at.fragmentShader,
4475
+ this.geometry = new b(1, 1, 1), this.material = new st({
4476
+ uniforms: it.uniforms,
4477
+ vertexShader: it.vertexShader,
4478
+ fragmentShader: it.fragmentShader,
4461
4479
  depthWrite: !1,
4462
4480
  side: mt
4463
4481
  }), this.scale.setScalar(45e4);
4464
- const n = L.degToRad(89), s = L.degToRad(180), a = new M().setFromSphericalCoords(1, n, s);
4482
+ const o = L.degToRad(89), s = L.degToRad(180), a = new M().setFromSphericalCoords(1, o, s);
4465
4483
  this.material.uniforms.sunPosition.value = a;
4466
4484
  }
4467
4485
  /**
@@ -4477,174 +4495,178 @@ class rs extends x {
4477
4495
  * - Ranges from 0 to 2π radians (or 0 to 360 degrees).
4478
4496
  * - This is the horizontal angle in the xy-plane.
4479
4497
  */
4480
- sunPosition(n, s) {
4498
+ sunPosition(o, s) {
4481
4499
  const a = new M();
4482
- a.setFromSphericalCoords(1, n, s), this.material.uniforms.sunPosition.value = a;
4500
+ a.setFromSphericalCoords(1, o, s), this.material.uniforms.sunPosition.value = a;
4483
4501
  }
4484
4502
  }
4485
- class as extends x {
4486
- constructor(n = 1e3) {
4503
+ class cs extends x {
4504
+ constructor(o = 1e3) {
4487
4505
  super();
4488
4506
  I(this, "geometry");
4489
4507
  I(this, "material");
4490
- this.geometry = new b(n, n, n), this.material = new ot({
4491
- uniforms: it.uniforms,
4492
- vertexShader: it.vertexShader,
4493
- fragmentShader: it.fragmentShader,
4508
+ this.geometry = new b(o, o, o), this.material = new st({
4509
+ uniforms: ct.uniforms,
4510
+ vertexShader: ct.vertexShader,
4511
+ fragmentShader: ct.fragmentShader,
4494
4512
  side: mt
4495
4513
  });
4496
4514
  }
4497
4515
  }
4498
- class is extends x {
4499
- constructor(n = 1e3) {
4516
+ class ls extends x {
4517
+ constructor(o = 1e3) {
4500
4518
  super();
4501
4519
  I(this, "geometry");
4502
4520
  I(this, "material");
4503
- this.geometry = new F(n, 32, 15), this.material = new ot({
4504
- vertexShader: ct.vertexShader,
4505
- fragmentShader: ct.fragmentShader,
4506
- uniforms: ct.uniforms,
4521
+ this.geometry = new z(o, 32, 15), this.material = new st({
4522
+ vertexShader: lt.vertexShader,
4523
+ fragmentShader: lt.fragmentShader,
4524
+ uniforms: lt.uniforms,
4507
4525
  side: mt
4508
4526
  });
4509
4527
  }
4510
4528
  }
4511
- const cs = (e) => {
4529
+ const us = (e) => {
4512
4530
  const t = new Uint8Array(4 * e * e);
4513
4531
  for (let s = 0; s < e * e; s++) {
4514
- const a = s * 4, o = (s % e ^ Math.floor(s / e)) & 1 ? 255 : 0;
4515
- t[a] = o, t[a + 1] = o, t[a + 2] = o, t[a + 3] = 255;
4532
+ const a = s * 4, n = (s % e ^ Math.floor(s / e)) & 1 ? 255 : 0;
4533
+ t[a] = n, t[a + 1] = n, t[a + 2] = n, t[a + 3] = 255;
4516
4534
  }
4517
- const n = new _t(t, e, e, Ut, Ft);
4518
- return n.wrapS = pt, n.wrapT = pt, n.minFilter = zt, n.needsUpdate = !0, n;
4535
+ const o = new Ut(t, e, e, zt, Ft);
4536
+ return o.wrapS = pt, o.wrapT = pt, o.minFilter = Lt, o.needsUpdate = !0, o;
4519
4537
  };
4520
- function ls(e, t) {
4538
+ function ms(e, t) {
4521
4539
  if (e.length === 0)
4522
4540
  throw new Error("No objects provided for alignment.");
4523
- const n = new V(), s = new M(), a = e.map((r) => (n.setFromObject(r), r.getWorldPosition(s), {
4541
+ const o = new V(), s = new M(), a = e.map((r) => (o.setFromObject(r), r.getWorldPosition(s), {
4524
4542
  object: r,
4525
- boundingBox: n.clone(),
4543
+ boundingBox: o.clone(),
4526
4544
  // Clone to avoid overwriting
4527
4545
  worldPosition: s.clone()
4528
- })), o = a.reduce(
4546
+ })), n = a.reduce(
4529
4547
  (r, { boundingBox: i }) => {
4530
4548
  switch (t) {
4531
- case B.LEFT:
4549
+ case N.LEFT:
4532
4550
  return Math.min(r, i.min.x);
4533
- case B.RIGHT:
4551
+ case N.RIGHT:
4534
4552
  return Math.max(r, i.max.x);
4535
- case B.BOTTOM:
4553
+ case N.BOTTOM:
4536
4554
  return Math.min(r, i.min.y);
4537
- case B.TOP:
4555
+ case N.TOP:
4538
4556
  return Math.max(r, i.max.y);
4539
- case B.BACK:
4557
+ case N.BACK:
4540
4558
  return Math.min(r, i.min.z);
4541
- case B.FRONT:
4559
+ case N.FRONT:
4542
4560
  return Math.max(r, i.max.z);
4543
4561
  default:
4544
4562
  throw new Error(`Unsupported side type: ${t}`);
4545
4563
  }
4546
4564
  },
4547
- t === B.RIGHT || t === B.TOP || t === B.FRONT ? -1 / 0 : 1 / 0
4565
+ t === N.RIGHT || t === N.TOP || t === N.FRONT ? -1 / 0 : 1 / 0
4548
4566
  );
4549
4567
  a.forEach(({ object: r, boundingBox: i }) => {
4550
4568
  switch (t) {
4551
- case B.LEFT:
4552
- r.position.x += o - i.min.x;
4569
+ case N.LEFT:
4570
+ r.position.x += n - i.min.x;
4553
4571
  break;
4554
- case B.RIGHT:
4555
- r.position.x += o - i.max.x;
4572
+ case N.RIGHT:
4573
+ r.position.x += n - i.max.x;
4556
4574
  break;
4557
- case B.BOTTOM:
4558
- r.position.y += o - i.min.y;
4575
+ case N.BOTTOM:
4576
+ r.position.y += n - i.min.y;
4559
4577
  break;
4560
- case B.TOP:
4561
- r.position.y += o - i.max.y;
4578
+ case N.TOP:
4579
+ r.position.y += n - i.max.y;
4562
4580
  break;
4563
- case B.BACK:
4564
- r.position.z += o - i.min.z;
4581
+ case N.BACK:
4582
+ r.position.z += n - i.min.z;
4565
4583
  break;
4566
- case B.FRONT:
4567
- r.position.z += o - i.max.z;
4584
+ case N.FRONT:
4585
+ r.position.z += n - i.max.z;
4568
4586
  break;
4569
4587
  }
4570
4588
  });
4571
4589
  }
4572
- function us(e, t = W.RIGHT, n = 0) {
4590
+ function hs(e, t = W.RIGHT, o = 0) {
4573
4591
  const s = t.clone().normalize();
4574
4592
  let a = new M();
4575
- const o = new V();
4593
+ const n = new V();
4576
4594
  e.forEach((r) => {
4577
- o.setFromObject(r);
4595
+ n.setFromObject(r);
4578
4596
  const c = new M(
4579
- o.max.x - o.min.x,
4580
- o.max.y - o.min.y,
4581
- o.max.z - o.min.z
4597
+ n.max.x - n.min.x,
4598
+ n.max.y - n.min.y,
4599
+ n.max.z - n.min.z
4582
4600
  ).dot(s), l = new M();
4583
- o.getCenter(l);
4601
+ n.getCenter(l);
4584
4602
  const u = s.clone().multiplyScalar(c / 2);
4585
- r.position.copy(a.clone().add(u).sub(l).add(r.position)), a.add(s.clone().multiplyScalar(c + n));
4603
+ r.position.copy(a.clone().add(u).sub(l).add(r.position)), a.add(s.clone().multiplyScalar(c + o));
4586
4604
  });
4587
4605
  }
4588
- function ms(e, t, n = new M(0, 0, 0)) {
4606
+ function fs(e, t, o = new M(0, 0, 0)) {
4589
4607
  const s = new V().setFromObject(e);
4590
4608
  if (s.isEmpty())
4591
4609
  console.warn("The object has no geometry or is not visible.");
4592
4610
  else {
4593
- const a = s.min, o = new M((a.x + s.max.x) / 2, a.y, (a.z + s.max.z) / 2), r = t.clone().sub(o).add(n);
4594
- e.position.add(r);
4611
+ const a = s.min, n = new M((a.x + s.max.x) / 2, a.y, (a.z + s.max.z) / 2);
4612
+ e.localToWorld(n);
4613
+ const r = t.clone().sub(n).add(o), i = e.worldToLocal(r.clone());
4614
+ e.position.add(i);
4595
4615
  }
4596
4616
  }
4597
- function hs(e, t) {
4598
- const n = new V().setFromBufferAttribute(new z(e.attributes.position.array, 3));
4599
- if (n.isEmpty())
4617
+ function ps(e, t) {
4618
+ const o = new V().setFromBufferAttribute(new F(e.attributes.position.array, 3));
4619
+ if (o.isEmpty())
4600
4620
  console.warn("The geometry is empty or invalid.");
4601
4621
  else {
4602
- const s = n.min.y;
4622
+ const s = o.min.y;
4603
4623
  e.translate(0, t - s, 0);
4604
4624
  }
4605
4625
  }
4606
- function fs(e, t, n = new M(0, 0, 0)) {
4626
+ function ds(e, t, o = new M(0, 0, 0)) {
4607
4627
  const s = new V().setFromObject(e);
4608
4628
  if (s.isEmpty())
4609
4629
  console.warn("The InstancedMesh has no geometry or is not visible.");
4610
4630
  else {
4611
- const a = s.min.y, o = new M(0, t.y - a, 0).add(n);
4612
- e.position.add(o);
4631
+ const a = s.min.y, n = new M(0, t.y - a, 0).add(o), r = e.worldToLocal(n.clone());
4632
+ e.position.add(r);
4613
4633
  }
4614
4634
  }
4615
- function ps(e, t, n, s = new M(0, 0, 0)) {
4635
+ function ys(e, t, o, s = new M(0, 0, 0)) {
4616
4636
  const a = new V().setFromObject(e);
4617
4637
  if (a.isEmpty())
4618
4638
  console.warn("The instanced mesh has invalid geometry.");
4619
4639
  else {
4620
- const o = a.min.y, r = new X();
4621
- e.getMatrixAt(n, r);
4640
+ const n = a.min.y, r = new X();
4641
+ e.getMatrixAt(o, r);
4622
4642
  const i = new M(), c = new wt(), l = new M();
4623
- r.decompose(i, c, l), i.y = t.y - o + s.y, r.compose(i, c, l), e.setMatrixAt(n, r), e.instanceMatrix.needsUpdate = !0;
4643
+ r.decompose(i, c, l);
4644
+ const u = e.worldToLocal(t.clone());
4645
+ i.y = u.y - n + s.y, r.compose(i, c, l), e.setMatrixAt(o, r), e.instanceMatrix.needsUpdate = !0;
4624
4646
  }
4625
4647
  }
4626
- function un(e, t = new M(0, 0, 0), n = new M(0, 0, 0)) {
4627
- const a = new V().setFromObject(e).getCenter(new M()), o = new M().addVectors(t, n), r = new M().subVectors(o, a);
4648
+ function uo(e, t = new M(0, 0, 0), o = new M(0, 0, 0)) {
4649
+ const a = new V().setFromObject(e).getCenter(new M()), n = new M().addVectors(t, o), r = new M().subVectors(n, a);
4628
4650
  e.position.add(r);
4629
4651
  }
4630
- function mn(e, t = new M(0, 0, 0), n = new M(0, 0, 0)) {
4631
- const a = new V().setFromObject(e).getCenter(new M()), o = new M().addVectors(t, n);
4632
- e.translateX(o.x - a.x), e.translateY(o.y - a.y), e.translateZ(o.z - a.z), e.updateMatrixWorld(!0);
4652
+ function mo(e, t = new M(0, 0, 0), o = new M(0, 0, 0)) {
4653
+ const a = new V().setFromObject(e).getCenter(new M()), n = new M().addVectors(t, o);
4654
+ e.translateX(n.x - a.x), e.translateY(n.y - a.y), e.translateZ(n.z - a.z), e.updateMatrixWorld(!0);
4633
4655
  }
4634
- function hn(e, t = new M(0, 0, 0), n = new M(0, 0, 0)) {
4656
+ function ho(e, t = new M(0, 0, 0), o = new M(0, 0, 0)) {
4635
4657
  e.geometry.computeBoundingBox();
4636
4658
  const s = e.geometry.boundingBox;
4637
4659
  if (s) {
4638
- const a = s.getCenter(new M()), o = new M().addVectors(t, n), r = new M().subVectors(o, a);
4660
+ const a = s.getCenter(new M()), n = new M().addVectors(t, o), r = new M().subVectors(n, a);
4639
4661
  e.geometry.translate(r.x, r.y, r.z);
4640
4662
  }
4641
4663
  }
4642
- const ds = {
4643
- object: un,
4644
- objectGeometry: mn,
4645
- meshGeometry: hn
4664
+ const ws = {
4665
+ object: uo,
4666
+ objectGeometry: mo,
4667
+ meshGeometry: ho
4646
4668
  };
4647
- function ys(e) {
4669
+ function Ms(e) {
4648
4670
  const t = parseInt(e.slice(1), 16);
4649
4671
  return [
4650
4672
  t >> 16 & 255,
@@ -4655,457 +4677,471 @@ function ys(e) {
4655
4677
  // b
4656
4678
  ];
4657
4679
  }
4658
- function ws(e) {
4659
- const [t, n, s] = Q(e);
4660
- return pn(t, n, s);
4680
+ function xs(e) {
4681
+ const [t, o, s] = $(e);
4682
+ return po(t, o, s);
4661
4683
  }
4662
- function Q(e) {
4663
- const t = e >> 16 & 255, n = e >> 8 & 255, s = e & 255;
4664
- return [t, n, s];
4684
+ function $(e) {
4685
+ const t = e >> 16 & 255, o = e >> 8 & 255, s = e & 255;
4686
+ return [t, o, s];
4665
4687
  }
4666
- function Ms(e, t, n) {
4667
- t /= 100, n /= 100;
4688
+ function vs(e, t, o) {
4689
+ t /= 100, o /= 100;
4668
4690
  function s(c, l, u) {
4669
4691
  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;
4670
4692
  }
4671
- let a, o, r;
4693
+ let a, n, r;
4672
4694
  if (t === 0)
4673
- a = o = r = n;
4695
+ a = n = r = o;
4674
4696
  else {
4675
- const c = n < 0.5 ? n * (1 + t) : n + t - n * t, l = 2 * n - c;
4676
- a = s(l, c, e / 360 + 1 / 3), o = s(l, c, e / 360), r = s(l, c, e / 360 - 1 / 3);
4697
+ const c = o < 0.5 ? o * (1 + t) : o + t - o * t, l = 2 * o - c;
4698
+ a = s(l, c, e / 360 + 1 / 3), n = s(l, c, e / 360), r = s(l, c, e / 360 - 1 / 3);
4677
4699
  }
4678
4700
  const i = (c) => Math.round(c * 255);
4679
4701
  return [
4680
4702
  i(a),
4681
- i(o),
4703
+ i(n),
4682
4704
  i(r)
4683
4705
  ];
4684
4706
  }
4685
- function fn(e, t, n) {
4686
- t /= 100, n /= 100;
4687
- const s = (r) => (r + e / 30) % 12, a = t * Math.min(n, 1 - n), o = (r) => n - a * Math.max(-1, Math.min(s(r) - 3, Math.min(9 - s(r), 1)));
4688
- return [o(0) * 255, o(8) * 255, o(4) * 255];
4707
+ function fo(e, t, o) {
4708
+ t /= 100, o /= 100;
4709
+ const s = (r) => (r + e / 30) % 12, a = t * Math.min(o, 1 - o), n = (r) => o - a * Math.max(-1, Math.min(s(r) - 3, Math.min(9 - s(r), 1)));
4710
+ return [n(0) * 255, n(8) * 255, n(4) * 255];
4689
4711
  }
4690
- function xs(e, t, n) {
4691
- return [e / 255, t / 255, n / 255];
4712
+ function gs(e, t, o) {
4713
+ return [e / 255, t / 255, o / 255];
4692
4714
  }
4693
- function vs(e, t, n) {
4694
- return e = Math.round(e), t = Math.round(t), n = Math.round(n), (e << 16) + (t << 8) + n;
4715
+ function As(e, t, o) {
4716
+ return e = Math.round(e), t = Math.round(t), o = Math.round(o), (e << 16) + (t << 8) + o;
4695
4717
  }
4696
- function pn(e, t, n) {
4697
- e /= 255, t /= 255, n /= 255;
4698
- const s = Math.max(e, t, n), a = Math.min(e, t, n), o = s - a;
4718
+ function po(e, t, o) {
4719
+ e /= 255, t /= 255, o /= 255;
4720
+ const s = Math.max(e, t, o), a = Math.min(e, t, o), n = s - a;
4699
4721
  let r = 0, i = 0;
4700
4722
  const c = (s + a) / 2;
4701
- o !== 0 && (s === e ? r = ((t - n) / o + (t < n ? 6 : 0)) * 60 : s === t ? r = ((n - e) / o + 2) * 60 : s === n && (r = ((e - t) / o + 4) * 60)), o !== 0 && (i = o / (1 - Math.abs(2 * c - 1))), r = Math.round(r), i = Math.round(i * 100);
4723
+ n !== 0 && (s === e ? r = ((t - o) / n + (t < o ? 6 : 0)) * 60 : s === t ? r = ((o - e) / n + 2) * 60 : s === o && (r = ((e - t) / n + 4) * 60)), n !== 0 && (i = n / (1 - Math.abs(2 * c - 1))), r = Math.round(r), i = Math.round(i * 100);
4702
4724
  const l = Math.round(c * 100);
4703
4725
  return [r, i, l];
4704
4726
  }
4705
- function dn(e, t) {
4727
+ function yo(e, t) {
4706
4728
  return Math.sqrt(
4707
4729
  Math.pow(e[0] - t[0], 2) + Math.pow(e[1] - t[1], 2) + Math.pow(e[2] - t[2], 2)
4708
4730
  );
4709
4731
  }
4710
- function yn(e, t) {
4732
+ function wo(e, t) {
4711
4733
  return Math.abs(e[0] - t[0]) + //
4712
4734
  Math.abs(e[1] - t[1]) + Math.abs(e[2] - t[2]);
4713
4735
  }
4714
- function gs(e, t) {
4715
- const n = Q(e);
4736
+ function Is(e, t) {
4737
+ const o = $(e);
4716
4738
  let s = null, a = 1 / 0;
4717
- for (const o of t) {
4718
- const r = Q(o), i = dn(n, r);
4719
- i < a && (a = i, s = o);
4739
+ for (const n of t) {
4740
+ const r = $(n), i = yo(o, r);
4741
+ i < a && (a = i, s = n);
4720
4742
  }
4721
4743
  return s;
4722
4744
  }
4723
- function As(e, t) {
4724
- const n = Q(e);
4745
+ function Es(e, t) {
4746
+ const o = $(e);
4725
4747
  let s = null, a = 1 / 0;
4726
- for (const o of t) {
4727
- const r = Q(o), i = yn(n, r);
4728
- i < a && (a = i, s = o);
4748
+ for (const n of t) {
4749
+ const r = $(n), i = wo(o, r);
4750
+ i < a && (a = i, s = n);
4729
4751
  }
4730
4752
  return s;
4731
4753
  }
4732
- function Is(e) {
4733
- const t = (e + Math.floor(-30 + Math.random() * 61)) % 360, n = Math.floor(60 + Math.random() * 21), s = Math.floor(50 + Math.random() * 21);
4734
- return fn(t, n, s);
4754
+ function bs(e) {
4755
+ const t = (e + Math.floor(-30 + Math.random() * 61)) % 360, o = Math.floor(60 + Math.random() * 21), s = Math.floor(50 + Math.random() * 21);
4756
+ return fo(t, o, s);
4757
+ }
4758
+ function Ts(e, t) {
4759
+ if (!t.geometry.isBufferGeometry)
4760
+ throw new Error("Mesh must have a BufferGeometry.");
4761
+ const s = t.geometry.getAttribute("position"), a = new M(), n = new M();
4762
+ let r = 1 / 0;
4763
+ for (let i = 0; i < s.count; i++) {
4764
+ n.fromBufferAttribute(s, i);
4765
+ const c = n.distanceTo(e);
4766
+ c < r && (r = c, a.copy(n));
4767
+ }
4768
+ return t.localToWorld(a), a;
4735
4769
  }
4736
- function wn(e, t, n) {
4737
- return Math.max(0, Math.min(1, (e - t) / (n - t)));
4770
+ function Mo(e, t, o) {
4771
+ return Math.max(0, Math.min(1, (e - t) / (o - t)));
4738
4772
  }
4739
- function Es(e, t, n, s, a, o = 20, r = 0, i = 1) {
4773
+ function Ss(e, t, o, s, a, n = 20, r = 0, i = 1) {
4740
4774
  const c = [];
4741
- for (let l = 0; l <= o; l++) {
4742
- const u = l / o, m = e(wn(u, r, i)), h = t + m * (n - t), f = s + u * (a - s);
4775
+ for (let l = 0; l <= n; l++) {
4776
+ const u = l / n, m = e(Mo(u, r, i)), h = t + m * (o - t), f = s + u * (a - s);
4743
4777
  c.push(new A(h, f));
4744
4778
  }
4745
4779
  return c;
4746
4780
  }
4747
- const Mn = (e, t, n, s, a = 24) => {
4748
- let o = [];
4781
+ const xo = (e, t, o, s, a = 24) => {
4782
+ let n = [];
4749
4783
  for (let r = 0; r <= a; r++) {
4750
- const i = r / a, c = D.CUBIC(i, e.x, t.x, n.x, s.x), l = D.CUBIC(i, e.y, t.y, n.y, s.y);
4751
- o.push(new A(c, l));
4784
+ const i = r / a, c = D.CUBIC(i, e.x, t.x, o.x, s.x), l = D.CUBIC(i, e.y, t.y, o.y, s.y);
4785
+ n.push(new A(c, l));
4752
4786
  }
4753
- return o;
4754
- }, xn = (e, t, n, s = 24) => {
4787
+ return n;
4788
+ }, vo = (e, t, o, s = 24) => {
4755
4789
  let a = [];
4756
- for (let o = 0; o <= s; o++) {
4757
- const r = o / s, i = D.DAMPED(r, n) * (t.x - e.x) + e.x, c = e.y + r * (t.y - e.y);
4790
+ for (let n = 0; n <= s; n++) {
4791
+ const r = n / s, i = D.DAMPED(r, o) * (t.x - e.x) + e.x, c = e.y + r * (t.y - e.y);
4758
4792
  a.push(new A(i, c));
4759
4793
  }
4760
4794
  return a;
4761
- }, vn = (e, t, n, s, a = 24) => {
4762
- let o = [];
4795
+ }, go = (e, t, o, s, a = 24) => {
4796
+ let n = [];
4763
4797
  for (let r = 0; r <= a; r++) {
4764
- const i = r / a, c = D.EXPONENTIAL(i, n, s) * (t.x - e.x) + e.x, l = e.y + i * (t.y - e.y);
4765
- o.push(new A(c, l));
4798
+ const i = r / a, c = D.EXPONENTIAL(i, o, s) * (t.x - e.x) + e.x, l = e.y + i * (t.y - e.y);
4799
+ n.push(new A(c, l));
4766
4800
  }
4767
- return o;
4768
- }, gn = (e, t, n, s, a = 24) => {
4769
- let o = [];
4801
+ return n;
4802
+ }, Ao = (e, t, o, s, a = 24) => {
4803
+ let n = [];
4770
4804
  for (let r = 0; r <= a; r++) {
4771
- const i = r / a, c = D.LOGARITHMIC(i, n, s) * (t.x - e.x) + e.x, l = e.y + i * (t.y - e.y);
4772
- o.push(new A(c, l));
4805
+ const i = r / a, c = D.LOGARITHMIC(i, o, s) * (t.x - e.x) + e.x, l = e.y + i * (t.y - e.y);
4806
+ n.push(new A(c, l));
4773
4807
  }
4774
- return o;
4775
- }, An = (e, t, n, s, a, o = 24) => {
4808
+ return n;
4809
+ }, Io = (e, t, o, s, a, n = 24) => {
4776
4810
  let r = [];
4777
- for (let i = 0; i <= o; i++) {
4778
- const c = i / o, l = n * c * c + s * c + a + e.x, u = e.y + c * (t.y - e.y);
4811
+ for (let i = 0; i <= n; i++) {
4812
+ const c = i / n, l = o * c * c + s * c + a + e.x, u = e.y + c * (t.y - e.y);
4779
4813
  r.push(new A(l, u));
4780
4814
  }
4781
4815
  return r;
4782
- }, In = (e, t, n, s = 24) => {
4816
+ }, Eo = (e, t, o, s = 24) => {
4783
4817
  let a = [];
4784
- for (let o = 0; o <= s; o++) {
4785
- const r = o / s, i = D.QUADRATIC(r, e.x, t.x, n.x), c = D.QUADRATIC(r, e.y, t.y, n.y);
4818
+ for (let n = 0; n <= s; n++) {
4819
+ const r = n / s, i = D.QUADRATIC(r, e.x, t.x, o.x), c = D.QUADRATIC(r, e.y, t.y, o.y);
4786
4820
  a.push(new A(i, c));
4787
4821
  }
4788
4822
  return a;
4789
- }, En = (e, t, n, s = 24) => {
4823
+ }, bo = (e, t, o, s = 24) => {
4790
4824
  let a = [];
4791
- for (let o = 0; o <= s; o++) {
4792
- const r = o / s, i = D.SIGMOID(r, n) * (t.x - e.x) + e.x, c = e.y + r * (t.y - e.y);
4825
+ for (let n = 0; n <= s; n++) {
4826
+ const r = n / s, i = D.SIGMOID(r, o) * (t.x - e.x) + e.x, c = e.y + r * (t.y - e.y);
4793
4827
  a.push(new A(i, c));
4794
4828
  }
4795
4829
  return a;
4796
- }, bs = {
4797
- createCubicCurvePoints: Mn,
4798
- createDampedCurvePoints: xn,
4799
- createExponentialCurvePoints: vn,
4800
- createLogarithmicCurvePoints: gn,
4801
- createParabolicCurvePoints: An,
4802
- createQuadraticCurvePoints: In,
4803
- createSigmoidCurvePoints: En
4830
+ }, Ps = {
4831
+ createCubicCurvePoints: xo,
4832
+ createDampedCurvePoints: vo,
4833
+ createExponentialCurvePoints: go,
4834
+ createLogarithmicCurvePoints: Ao,
4835
+ createParabolicCurvePoints: Io,
4836
+ createQuadraticCurvePoints: Eo,
4837
+ createSigmoidCurvePoints: bo
4804
4838
  };
4805
- function Ts(e, t, n, s, a, o = [0, 0], r = [1, 0], i = [0, 1], c = [1, 1]) {
4806
- const l = a || bn(e, t, n);
4839
+ function Gs(e, t, o, s, a, n = [0, 0], r = [1, 0], i = [0, 1], c = [1, 1]) {
4840
+ const l = a || To(e, t, o);
4807
4841
  return [
4808
4842
  // Triangle 1
4809
- { pos: e, norm: l, uv: o },
4843
+ { pos: e, norm: l, uv: n },
4810
4844
  { pos: t, norm: l, uv: r },
4811
4845
  { pos: s, norm: l, uv: c },
4812
4846
  // Triangle 2
4813
- { pos: e, norm: l, uv: o },
4847
+ { pos: e, norm: l, uv: n },
4814
4848
  { pos: s, norm: l, uv: c },
4815
- { pos: n, norm: l, uv: i }
4849
+ { pos: o, norm: l, uv: i }
4816
4850
  ];
4817
4851
  }
4818
- function bn(e, t, n) {
4852
+ function To(e, t, o) {
4819
4853
  const s = [
4820
4854
  t[0] - e[0],
4821
4855
  t[1] - e[1],
4822
4856
  t[2] - e[2]
4823
4857
  ], a = [
4824
- n[0] - e[0],
4825
- n[1] - e[1],
4826
- n[2] - e[2]
4827
- ], o = [
4858
+ o[0] - e[0],
4859
+ o[1] - e[1],
4860
+ o[2] - e[2]
4861
+ ], n = [
4828
4862
  s[1] * a[2] - s[2] * a[1],
4829
4863
  s[2] * a[0] - s[0] * a[2],
4830
4864
  s[0] * a[1] - s[1] * a[0]
4831
- ], r = Math.sqrt(o[0] ** 2 + o[1] ** 2 + o[2] ** 2);
4832
- return o.map((i) => i / r);
4865
+ ], r = Math.sqrt(n[0] ** 2 + n[1] ** 2 + n[2] ** 2);
4866
+ return n.map((i) => i / r);
4833
4867
  }
4834
- function Ss(e, t) {
4835
- return e.map(([n, s, a]) => {
4868
+ function Cs(e, t) {
4869
+ return e.map(([o, s, a]) => {
4836
4870
  switch (t) {
4837
4871
  case "x":
4838
4872
  return [s, a];
4839
4873
  case "y":
4840
- return [n, a];
4874
+ return [o, a];
4841
4875
  case "z":
4842
- return [n, s];
4876
+ return [o, s];
4843
4877
  default:
4844
4878
  throw new Error(`Invalid axis: ${t}`);
4845
4879
  }
4846
4880
  });
4847
4881
  }
4848
- function Tn(e) {
4849
- const [t, n, s] = e, a = Math.abs(t), o = Math.abs(n), r = Math.abs(s);
4850
- return a >= o && a >= r ? [s > 0 ? s : -s, n] : o >= a && o >= r ? [t, s > 0 ? s : -s] : [t, n];
4882
+ function So(e) {
4883
+ const [t, o, s] = e, a = Math.abs(t), n = Math.abs(o), r = Math.abs(s);
4884
+ return a >= n && a >= r ? [s > 0 ? s : -s, o] : n >= a && n >= r ? [t, s > 0 ? s : -s] : [t, o];
4851
4885
  }
4852
- function Ps(e) {
4853
- return e.map((t) => Tn(t));
4886
+ function Rs(e) {
4887
+ return e.map((t) => So(t));
4854
4888
  }
4855
- function Gs(e) {
4856
- return e.map(([t, n, s]) => {
4857
- const a = Math.atan2(s, t), o = Math.acos(n / Math.sqrt(t ** 2 + n ** 2 + s ** 2)), r = a / (2 * Math.PI) + 0.5, i = 1 - o / Math.PI;
4889
+ function Bs(e) {
4890
+ return e.map(([t, o, s]) => {
4891
+ const a = Math.atan2(s, t), n = Math.acos(o / Math.sqrt(t ** 2 + o ** 2 + s ** 2)), r = a / (2 * Math.PI) + 0.5, i = 1 - n / Math.PI;
4858
4892
  return [r, i];
4859
4893
  });
4860
4894
  }
4861
- function Cs(e) {
4862
- return e.map(([t, n, s]) => [Math.atan2(s, t) / (2 * Math.PI) + 0.5, n]);
4895
+ function Ns(e) {
4896
+ return e.map(([t, o, s]) => [Math.atan2(s, t) / (2 * Math.PI) + 0.5, o]);
4863
4897
  }
4864
- function Rs(e) {
4865
- return e.map(([t, n, s]) => {
4898
+ function Os(e) {
4899
+ return e.map(([t, o, s]) => {
4866
4900
  const a = Math.sqrt(t ** 2 + s ** 2);
4867
4901
  return [Math.atan2(s, t) / (2 * Math.PI) + 0.5, a];
4868
4902
  });
4869
4903
  }
4870
- function Sn(e, t, n, s, a) {
4904
+ function Po(e, t, o, s, a) {
4871
4905
  return [
4872
- (e[0] - t) / (n - t),
4906
+ (e[0] - t) / (o - t),
4873
4907
  (e[1] - s) / (a - s)
4874
4908
  ];
4875
4909
  }
4876
- function Bs(e, t, n) {
4877
- const [s, a] = t, [o, r] = n;
4878
- return e.map((i) => Sn(i, s, o, a, r));
4910
+ function _s(e, t, o) {
4911
+ const [s, a] = t, [n, r] = o;
4912
+ return e.map((i) => Po(i, s, n, a, r));
4879
4913
  }
4880
- function Ns(e) {
4881
- const t = Math.min(...e.map((o) => o[0])), n = Math.max(...e.map((o) => o[0])), s = Math.min(...e.map((o) => o[1])), a = Math.max(...e.map((o) => o[1]));
4914
+ function Us(e) {
4915
+ const t = Math.min(...e.map((n) => n[0])), o = Math.max(...e.map((n) => n[0])), s = Math.min(...e.map((n) => n[1])), a = Math.max(...e.map((n) => n[1]));
4882
4916
  return {
4883
4917
  minBounds: [t, s],
4884
- maxBounds: [n, a]
4918
+ maxBounds: [o, a]
4885
4919
  };
4886
4920
  }
4887
4921
  export {
4888
- rs as AtmosphericSkybox,
4922
+ is as AtmosphericSkybox,
4889
4923
  ft as Axis,
4890
- Wn as BifurcatedStaircaseGeometry,
4891
- Ko as Bone,
4892
- Ze as BoneGeometry,
4893
- mo as Book,
4924
+ en as BifurcatedStaircaseGeometry,
4925
+ Jn as Bone,
4926
+ je as BoneGeometry,
4927
+ pn as Book,
4894
4928
  xt as BookGeometry,
4895
- Eo as Bookshelf,
4896
- De as BookshelfGeometry,
4897
- B as BoxSide,
4898
- Qn as BubblingEffect,
4899
- Bo as BunsenBurner,
4900
- Xo as Burst,
4901
- rn as BurstShape,
4902
- To as Candle,
4903
- Ve as CandleGeometry,
4904
- ds as Center,
4929
+ Tn as Bookshelf,
4930
+ ke as BookshelfGeometry,
4931
+ N as BoxSide,
4932
+ Ko as BubblingEffect,
4933
+ On as BunsenBurner,
4934
+ jn as Burst,
4935
+ ao as BurstShape,
4936
+ Pn as Candle,
4937
+ qe as CandleGeometry,
4938
+ ws as Center,
4905
4939
  H as ColorPalette,
4906
- yo as CrossHeadstone,
4907
- Ne as CrossHeadstoneGeometry,
4908
- as as DaySkybox,
4909
- bo as Desk,
4910
- ke as DeskGeometry,
4911
- lo as Diorama,
4912
- Pe as DioramaGeometry,
4940
+ Mn as CrossHeadstone,
4941
+ Oe as CrossHeadstoneGeometry,
4942
+ cs as DaySkybox,
4943
+ Sn as Desk,
4944
+ Ve as DeskGeometry,
4945
+ hn as Diorama,
4946
+ Ge as DioramaGeometry,
4913
4947
  W as Direction,
4914
- jn as Easing,
4915
- No as ElectricPanel,
4916
- be as EllipticLeafGeometry,
4917
- Fn as EmissivePulseAnimation,
4918
- Oo as ErlenmeyerFlask,
4919
- je as ErlenmeyerFlaskGeometry,
4948
+ Qo as Easing,
4949
+ _n as ElectricPanel,
4950
+ Te as EllipticLeafGeometry,
4951
+ Fo as EmissivePulseAnimation,
4952
+ Un as ErlenmeyerFlask,
4953
+ Qe as ErlenmeyerFlaskGeometry,
4920
4954
  tt as Falloff,
4921
- So as Flame,
4955
+ Gn as Flame,
4922
4956
  Et as FlameGeometry,
4923
- _o as FlorenceFlask,
4924
- $e as FlorenceFlaskGeometry,
4925
- Zo as Gear,
4926
- an as GearShape,
4927
- jo as Heart,
4928
- cn as HeartShape,
4929
- Jo as Hill,
4930
- en as HillGeometry,
4931
- ho as Jar,
4932
- Ge as JarGeometry,
4933
- to as LShapedStaircaseGeometry,
4934
- Po as Lantern,
4935
- Kn as LeafEffect,
4936
- Uo as LeverPanel,
4937
- Ln as LightFlickerAnimation,
4938
- kn as LightningAnimation,
4939
- oo as LineEquations,
4940
- wo as Mausoleum,
4941
- Oe as MausoleumGeometry,
4942
- Fo as Microscope,
4943
- uo as Moon,
4944
- zo as MortarAndPestle,
4945
- Je as MortarGeometry,
4946
- Go as MossyRocks,
4947
- qe as MossyRocksGeometry,
4948
- Wo as Mound,
4949
- nn as MoundGeometry,
4950
- is as NightSkybox,
4951
- Mo as ObeliskHeadstone,
4952
- _e as ObeliskHeadstoneGeometry,
4953
- Lo as Panel,
4954
- Do as PanelLight,
4955
- so as ParallelogramBoxGeometry,
4957
+ zn as FlorenceFlask,
4958
+ Je as FlorenceFlaskGeometry,
4959
+ Qn as Gear,
4960
+ io as GearShape,
4961
+ Kn as Heart,
4962
+ co as HeartShape,
4963
+ ts as Hill,
4964
+ oo as HillGeometry,
4965
+ dn as Jar,
4966
+ Ce as JarGeometry,
4967
+ on as LShapedStaircaseGeometry,
4968
+ Cn as Lantern,
4969
+ $o as LeafEffect,
4970
+ Fn as LeverPanel,
4971
+ Do as LightFlickerAnimation,
4972
+ Vo as LightningAnimation,
4973
+ rn as LineEquations,
4974
+ xn as Mausoleum,
4975
+ _e as MausoleumGeometry,
4976
+ Ln as Microscope,
4977
+ fn as Moon,
4978
+ Dn as MortarAndPestle,
4979
+ We as MortarGeometry,
4980
+ Rn as MossyRocks,
4981
+ Ye as MossyRocksGeometry,
4982
+ es as Mound,
4983
+ no as MoundGeometry,
4984
+ ls as NightSkybox,
4985
+ vn as ObeliskHeadstone,
4986
+ Ue as ObeliskHeadstoneGeometry,
4987
+ kn as Panel,
4988
+ Vn as PanelLight,
4989
+ an as ParallelogramBoxGeometry,
4956
4990
  D as ParametricCurve,
4957
- bs as ParametricCurveUtils,
4958
- fo as PotionBottle,
4959
- Re as PotionBottleGeometry,
4960
- Co as Rock,
4961
- He as RockGeometry,
4962
- Ro as Rocks,
4963
- Xe as RocksGeometry,
4964
- xo as RoundedHeadstone,
4965
- Ue as RoundedHeadstoneGeometry,
4966
- eo as SpiralStaircaseGeometry,
4967
- ko as SpiralTube,
4968
- vo as SquareHeadstone,
4991
+ Ps as ParametricCurveUtils,
4992
+ yn as PotionBottle,
4993
+ Be as PotionBottleGeometry,
4994
+ Bn as Rock,
4995
+ Xe as RockGeometry,
4996
+ Nn as Rocks,
4997
+ Ze as RocksGeometry,
4998
+ gn as RoundedHeadstone,
4999
+ ze as RoundedHeadstoneGeometry,
5000
+ nn as SpiralStaircaseGeometry,
5001
+ qn as SpiralTube,
5002
+ An as SquareHeadstone,
4969
5003
  Fe as SquareHeadstoneGeometry,
4970
- no as StaircaseGeometry,
4971
- Vo as Stand,
4972
- We as StandGeometry,
4973
- Qo as Star,
4974
- ln as StarShape,
4975
- go as StoneFencePost,
4976
- ze as StoneFencePostGeometry,
4977
- qo as TeslaCoil,
4978
- tn as TeslaCoilGeometry,
4979
- Yo as TestTube,
4980
- lt as TestTubeGeometry,
4981
- Ho as TestTubeRack,
4982
- $o as Tree,
4983
- on as TreeGeometry,
4984
- po as WineBottle,
4985
- Be as WineBottleGeometry,
4986
- Ao as WroughtIronBar,
5004
+ sn as StaircaseGeometry,
5005
+ Yn as Stand,
5006
+ to as StandGeometry,
5007
+ $n as Star,
5008
+ lo as StarShape,
5009
+ In as StoneFencePost,
5010
+ Le as StoneFencePostGeometry,
5011
+ Hn as TeslaCoil,
5012
+ eo as TeslaCoilGeometry,
5013
+ Xn as TestTube,
5014
+ ut as TestTubeGeometry,
5015
+ Zn as TestTubeRack,
5016
+ Wn as Tree,
5017
+ so as TreeGeometry,
5018
+ wn as WineBottle,
5019
+ Ne as WineBottleGeometry,
5020
+ En as WroughtIronBar,
4987
5021
  It as WroughtIronBarGeometry,
4988
- Io as WroughtIronFence,
4989
- Le as WroughtIronFenceGeometry,
4990
- ns as addNoiseDisplacement,
4991
- ts as addWaterDisplacement,
4992
- hs as alignBufferGeometryToSurface,
4993
- ps as alignInstancedMeshIndexToSurface,
4994
- fs as alignInstancedMeshToSurface,
4995
- ms as alignObjectToSurface,
4996
- ls as alignToEdge,
4997
- us as alignToRow,
4998
- Ke as appendSphericalCurve,
4999
- at as atmosphericShader,
5000
- yn as calculateChannelDifference,
5001
- dn as calculateDistance,
5002
- bn as calculateNormal,
5003
- Ns as calculateUVBounds,
5022
+ bn as WroughtIronFence,
5023
+ De as WroughtIronFenceGeometry,
5024
+ ss as addNoiseDisplacement,
5025
+ os as addWaterDisplacement,
5026
+ ps as alignBufferGeometryToSurface,
5027
+ ys as alignInstancedMeshIndexToSurface,
5028
+ ds as alignInstancedMeshToSurface,
5029
+ fs as alignObjectToSurface,
5030
+ ms as alignToEdge,
5031
+ hs as alignToRow,
5032
+ $e as appendSphericalCurve,
5033
+ it as atmosphericShader,
5034
+ wo as calculateChannelDifference,
5035
+ yo as calculateDistance,
5036
+ To as calculateNormal,
5037
+ Us as calculateUVBounds,
5004
5038
  At as calculateXFromSlopeIntercept,
5005
- Ce as calculateYFromSlopeIntercept,
5006
- Cn as cameraDollyAnimation,
5007
- Rn as cameraFlythroughAnimation,
5008
- Bn as cameraOrbitAnimation,
5009
- Nn as cameraPendulumAnimation,
5010
- On as cameraSpiralAscensionAnimation,
5011
- _n as cameraWobbleAnimation,
5012
- Un as cameraZoomInAnimation,
5013
- Qe as capHeightFromRadius,
5014
- ao as capWidthFromRadius,
5015
- co as cartesianToSpherical,
5016
- hn as centerMeshGeometry,
5017
- un as centerObject,
5018
- mn as centerObjectGeometry,
5019
- cs as checkerboardTexture,
5020
- ae as circularEaseIn,
5021
- ce as circularEaseInOut,
5022
- ie as circularEaseOut,
5023
- me as concave,
5024
- he as convex,
5025
- Mn as createCubicCurvePoints,
5026
- xn as createDampedCurvePoints,
5027
- vn as createExponentialCurvePoints,
5028
- gn as createLogarithmicCurvePoints,
5029
- An as createParabolicCurvePoints,
5030
- Ts as createQuad,
5031
- In as createQuadraticCurvePoints,
5032
- En as createSigmoidCurvePoints,
5033
- we as cubicCurve,
5034
- jt as cubicEaseIn,
5035
- Kt as cubicEaseInOut,
5036
- Qt as cubicEaseOut,
5037
- Tn as cubicUVMapping,
5038
- Ps as cubicUVMappingBatch,
5039
- Cs as cylindricalUVMapping,
5040
- Me as dampedCurve,
5041
- it as daySkyShader,
5042
- Vn as displacementBrush,
5043
- xe as exponentialCurve,
5044
- oe as exponentialEaseIn,
5045
- re as exponentialEaseInOut,
5046
- se as exponentialEaseOut,
5047
- ss as fadeShader,
5048
- gs as findClosestColor,
5049
- As as findClosestColorChannelWise,
5050
- qn as flattenBrush,
5051
- ye as gaussian,
5052
- Is as getAnalogousColors,
5053
- ws as hexToHsl,
5054
- Q as hexToRgb,
5055
- Ms as hslToHex,
5056
- fn as hslToRgb,
5057
- Es as interpolateCurve,
5058
- de as inverse,
5059
- le as linear,
5060
- fe as logarithmic,
5061
- ve as logarithmicCurve,
5062
- Lt as logarithmicRandomMax,
5063
- Dt as logarithmicRandomMin,
5064
- sn as moonShader,
5065
- ct as nightSkyShader,
5066
- Yn as noiseBrush,
5067
- xs as normalizeRgb,
5068
- Sn as normalizeUV,
5069
- Bs as normalizeUVBatch,
5070
- ge as parabolicCurve,
5071
- ys as parseHexCode,
5072
- Ss as planarUVMapping,
5073
- Rs as polarUVMapping,
5074
- Ae as quadraticCurve,
5075
- Ht as quadraticEaseIn,
5076
- Zt as quadraticEaseInOut,
5077
- Xt as quadraticEaseOut,
5078
- $t as quarticEaseIn,
5079
- Wt as quarticEaseInOut,
5080
- Jt as quarticEaseOut,
5081
- te as quinticEaseIn,
5039
+ Re as calculateYFromSlopeIntercept,
5040
+ Ro as cameraDollyAnimation,
5041
+ Bo as cameraFlythroughAnimation,
5042
+ No as cameraOrbitAnimation,
5043
+ Oo as cameraPendulumAnimation,
5044
+ _o as cameraSpiralAscensionAnimation,
5045
+ Uo as cameraWobbleAnimation,
5046
+ zo as cameraZoomInAnimation,
5047
+ Ke as capHeightFromRadius,
5048
+ ln as capWidthFromRadius,
5049
+ mn as cartesianToSpherical,
5050
+ ho as centerMeshGeometry,
5051
+ uo as centerObject,
5052
+ mo as centerObjectGeometry,
5053
+ us as checkerboardTexture,
5054
+ ie as circularEaseIn,
5055
+ le as circularEaseInOut,
5056
+ ce as circularEaseOut,
5057
+ he as concave,
5058
+ fe as convex,
5059
+ xo as createCubicCurvePoints,
5060
+ vo as createDampedCurvePoints,
5061
+ go as createExponentialCurvePoints,
5062
+ tn as createHexagonalTile,
5063
+ Ao as createLogarithmicCurvePoints,
5064
+ Io as createParabolicCurvePoints,
5065
+ Gs as createQuad,
5066
+ Eo as createQuadraticCurvePoints,
5067
+ bo as createSigmoidCurvePoints,
5068
+ Me as cubicCurve,
5069
+ Qt as cubicEaseIn,
5070
+ $t as cubicEaseInOut,
5071
+ Kt as cubicEaseOut,
5072
+ So as cubicUVMapping,
5073
+ Rs as cubicUVMappingBatch,
5074
+ Ns as cylindricalUVMapping,
5075
+ xe as dampedCurve,
5076
+ ct as daySkyShader,
5077
+ qo as displacementBrush,
5078
+ ve as exponentialCurve,
5079
+ se as exponentialEaseIn,
5080
+ ae as exponentialEaseInOut,
5081
+ re as exponentialEaseOut,
5082
+ as as fadeShader,
5083
+ Is as findClosestColor,
5084
+ Es as findClosestColorChannelWise,
5085
+ Ts as findClosestPoint,
5086
+ Yo as flattenBrush,
5087
+ we as gaussian,
5088
+ bs as getAnalogousColors,
5089
+ xs as hexToHsl,
5090
+ $ as hexToRgb,
5091
+ vs as hslToHex,
5092
+ fo as hslToRgb,
5093
+ Ss as interpolateCurve,
5094
+ ye as inverse,
5095
+ ue as linear,
5096
+ pe as logarithmic,
5097
+ ge as logarithmicCurve,
5098
+ Dt as logarithmicRandomMax,
5099
+ kt as logarithmicRandomMin,
5100
+ ro as moonShader,
5101
+ lt as nightSkyShader,
5102
+ Ho as noiseBrush,
5103
+ gs as normalizeRgb,
5104
+ Po as normalizeUV,
5105
+ _s as normalizeUVBatch,
5106
+ Ae as parabolicCurve,
5107
+ Ms as parseHexCode,
5108
+ Cs as planarUVMapping,
5109
+ Os as polarUVMapping,
5110
+ Ie as quadraticCurve,
5111
+ Xt as quadraticEaseIn,
5112
+ jt as quadraticEaseInOut,
5113
+ Zt as quadraticEaseOut,
5114
+ Jt as quarticEaseIn,
5115
+ te as quarticEaseInOut,
5116
+ Wt as quarticEaseOut,
5117
+ ee as quinticEaseIn,
5082
5118
  ne as quinticEaseInOut,
5083
- ee as quinticEaseOut,
5084
- ro as radiusFromCapHeight,
5119
+ oe as quinticEaseOut,
5120
+ cn as radiusFromCapHeight,
5085
5121
  bt as radiusFromCapWidth,
5086
5122
  ht as randomFloat,
5087
- zn as randomInteger,
5088
- Ye as randomTransformVertices,
5089
- vs as rgbToHex,
5090
- pn as rgbToHsl,
5091
- $n as rowOfBooksByCount,
5092
- Jn as rowOfBooksByLength,
5123
+ Lo as randomInteger,
5124
+ He as randomTransformVertices,
5125
+ As as rgbToHex,
5126
+ po as rgbToHsl,
5127
+ Jo as rowOfBooksByCount,
5128
+ Wo as rowOfBooksByLength,
5093
5129
  gt as rowOfBooksByScales,
5094
- Dn as setRandomInterval,
5095
- kt as setRandomTimeout,
5096
- Ie as sigmoidCurve,
5097
- Vt as sineEaseIn,
5098
- Yt as sineEaseInOut,
5099
- qt as sineEaseOut,
5100
- Hn as smoothBrush,
5101
- ue as smoothstep,
5102
- io as sphericalToCartesian,
5103
- Gs as sphericalUVMapping,
5104
- Xn as spikeBrush,
5105
- pe as squareRoot,
5130
+ ko as setRandomInterval,
5131
+ Vt as setRandomTimeout,
5132
+ Ee as sigmoidCurve,
5133
+ qt as sineEaseIn,
5134
+ Ht as sineEaseInOut,
5135
+ Yt as sineEaseOut,
5136
+ Xo as smoothBrush,
5137
+ me as smoothstep,
5138
+ un as sphericalToCartesian,
5139
+ Bs as sphericalUVMapping,
5140
+ Zo as spikeBrush,
5141
+ de as squareRoot,
5106
5142
  yt as thetaLengthForRadius,
5107
- Zn as twistBrush,
5108
- os as updateNoiseDisplacementTime,
5109
- es as updateWaterDisplacementTime
5143
+ jo as twistBrush,
5144
+ rs as updateNoiseDisplacementTime,
5145
+ ns as updateWaterDisplacementTime
5110
5146
  };
5111
5147
  //# sourceMappingURL=index.es.js.map