three-low-poly 0.9.17 → 0.9.19

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