three-low-poly 0.9.17 → 0.9.18

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,9 +1,9 @@
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 L, Quaternion as Pt, InstancedMesh as ct, SphereGeometry as _, MeshStandardMaterial as M, Matrix4 as H, BufferGeometry as E, Float32BufferAttribute as q, DoubleSide as k, Euler as Tt, BufferAttribute as z, BoxGeometry as b, Vector2 as v, LatheGeometry as D, CylinderGeometry as P, ConeGeometry as Z, Shape as j, ExtrudeGeometry as Q, DodecahedronGeometry as J, CircleGeometry as Gt, TorusGeometry as dt, Mesh as y, ShaderMaterial as W, MeshPhysicalMaterial as tt, Group as O, MeshBasicMaterial as Ct, PointLight as Mt, CatmullRomCurve3 as Bt, TubeGeometry as Rt, Path as Nt, Color as $, BackSide as lt, DataTexture as _t, RGBAFormat as Ut, UnsignedByteType as Ot, RepeatWrapping as ht, NearestFilter as Lt, Box3 as ut } from "three";
5
+ function Ao(e, t, o, n) {
6
+ const r = e.position.clone(), s = r.clone().add(e.getWorldDirection(new x()).multiplyScalar(-t));
7
7
  let a = null;
8
8
  function i(c) {
9
9
  a === null && (a = c);
@@ -16,7 +16,7 @@ function yo(e, t, o, n) {
16
16
  }
17
17
  requestAnimationFrame(i);
18
18
  }
19
- function wo(e, t, o, n) {
19
+ function Eo(e, t, o, n) {
20
20
  const r = t.length - 1;
21
21
  let s = null;
22
22
  function a(i) {
@@ -31,7 +31,7 @@ function wo(e, t, o, n) {
31
31
  }
32
32
  requestAnimationFrame(a);
33
33
  }
34
- function vo(e, t, o, n, r) {
34
+ function bo(e, t, o, n, r) {
35
35
  let s = null;
36
36
  function a(i) {
37
37
  s || (s = i);
@@ -45,7 +45,7 @@ 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 So(e, t, o, n, r, s) {
49
49
  let a = null, i = 0;
50
50
  function c(l) {
51
51
  a === null && (a = l);
@@ -58,7 +58,7 @@ function xo(e, t, o, n, r, s) {
58
58
  }
59
59
  requestAnimationFrame(c);
60
60
  }
61
- function go(e, t, o, n, r, s, a) {
61
+ function Po(e, t, o, n, r, s, a) {
62
62
  let i = null;
63
63
  function c(l) {
64
64
  i === null && (i = l);
@@ -72,7 +72,7 @@ function go(e, t, o, n, r, s, a) {
72
72
  }
73
73
  requestAnimationFrame(c);
74
74
  }
75
- function Io(e, t, o, n) {
75
+ function To(e, t, o, n) {
76
76
  const r = e.position.clone();
77
77
  let s = null;
78
78
  function a(i) {
@@ -80,7 +80,7 @@ function Io(e, t, o, n) {
80
80
  e.position.copy(r), 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
@@ -89,7 +89,7 @@ function Io(e, t, o, n) {
89
89
  }
90
90
  requestAnimationFrame(a);
91
91
  }
92
- function Eo(e, t, o, n, r, s) {
92
+ function Go(e, t, o, n, r, s) {
93
93
  const a = e.fov;
94
94
  e.fov = o, e.updateProjectionMatrix();
95
95
  let i = null;
@@ -104,13 +104,97 @@ function Eo(e, t, o, n, r, s) {
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 Co {
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: r = 0.2
118
+ } = t;
119
+ this.speed = o, this.maxIntensity = n, this.minIntensity = r, 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 yt(e = 0, t = 1) {
137
+ return Math.random() * (t - e) + e;
138
+ }
139
+ function Bo(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 zt(e = 0.5, t = 0, o = 1) {
146
+ return t + (o - t) * Math.pow(1 - Math.random(), e);
147
+ }
148
+ function Dt(e, t, o) {
149
+ const n = t + Math.random() * (o - t);
150
+ return setTimeout(e, n);
151
+ }
152
+ function Ro(e, t, o) {
153
+ let n;
154
+ function r() {
155
+ const s = t + Math.random() * (o - t);
156
+ n = setTimeout(() => {
157
+ e(), r();
158
+ }, s);
159
+ }
160
+ return r(), () => clearTimeout(n);
161
+ }
162
+ class No {
163
+ constructor({
164
+ light: t,
165
+ //
166
+ minIntensity: o = 15,
167
+ maxIntensity: n = 20,
168
+ minDuration: r = 50,
169
+ maxDuration: s = 250
170
+ } = {}) {
171
+ A(this, "light");
172
+ A(this, "minIntensity");
173
+ A(this, "maxIntensity");
174
+ A(this, "minDuration");
175
+ A(this, "maxDuration");
176
+ this.light = t, this.minIntensity = o, this.maxIntensity = n, this.minDuration = r, this.maxDuration = s;
177
+ }
178
+ triggerLightning() {
179
+ this.light && (this.light.intensity = yt(this.minIntensity, this.maxIntensity)), Dt(
180
+ () => {
181
+ this.light && (this.light.intensity = 0);
182
+ },
183
+ this.minDuration,
184
+ this.maxDuration
185
+ );
186
+ }
187
+ update() {
188
+ Math.random() > 0.98 && this.triggerLightning();
189
+ }
190
+ }
191
+ const et = {
192
+ UP: new x(0, 1, 0),
193
+ DOWN: new x(0, -1, 0),
194
+ LEFT: new x(-1, 0, 0),
195
+ RIGHT: new x(1, 0, 0),
196
+ FORWARD: new x(0, 0, 1),
197
+ BACKWARD: new x(0, 0, -1)
114
198
  }, K = {
115
199
  LINEAR: (e, t) => 1 - e / t,
116
200
  QUADRATIC: (e, t) => Math.pow(1 - e / t, 2),
@@ -125,10 +209,10 @@ const tt = {
125
209
  const o = Math.max(0, Math.min(1, 1 - e / t));
126
210
  return o * o * (3 - 2 * o);
127
211
  }
128
- }, Ao = (e, t, o, n, r = tt.UP, s = K.LINEAR) => {
212
+ }, _o = (e, t, o, n, r = et.UP, s = K.LINEAR) => {
129
213
  const a = e.attributes.position;
130
214
  for (let i = 0; i < a.count; i++) {
131
- const c = new v();
215
+ const c = new x();
132
216
  c.fromBufferAttribute(a, i);
133
217
  const l = c.distanceTo(t);
134
218
  if (l < o) {
@@ -137,10 +221,10 @@ const tt = {
137
221
  }
138
222
  }
139
223
  a.needsUpdate = !0;
140
- }, bo = (e, t, o, n, r, s = tt.UP, a = K.LINEAR) => {
224
+ }, Uo = (e, t, o, n, r, s = et.UP, a = K.LINEAR) => {
141
225
  const i = e.attributes.position;
142
226
  for (let c = 0; c < i.count; c++) {
143
- const l = new v();
227
+ const l = new x();
144
228
  l.fromBufferAttribute(i, c);
145
229
  const u = l.distanceTo(t);
146
230
  if (u < o) {
@@ -149,10 +233,10 @@ const tt = {
149
233
  }
150
234
  }
151
235
  i.needsUpdate = !0;
152
- }, So = (e, t, o, n, r = tt.UP, s = K.LINEAR) => {
236
+ }, Oo = (e, t, o, n, r = et.UP, s = K.LINEAR) => {
153
237
  const a = e.attributes.position;
154
238
  for (let i = 0; i < a.count; i++) {
155
- const c = new v();
239
+ const c = new x();
156
240
  c.fromBufferAttribute(a, i);
157
241
  const l = c.distanceTo(t);
158
242
  if (l < o) {
@@ -161,22 +245,22 @@ const tt = {
161
245
  }
162
246
  }
163
247
  a.needsUpdate = !0;
164
- }, Po = (e, t, o, n) => {
165
- const r = e.attributes.position, s = new v();
248
+ }, Lo = (e, t, o, n) => {
249
+ const r = e.attributes.position, s = new x();
166
250
  for (let a = 0; a < r.count; a++) {
167
- const i = new v();
251
+ const i = new x();
168
252
  if (i.fromBufferAttribute(r, a), i.distanceTo(t) < o) {
169
- let l = new v(), u = 0;
253
+ let l = new x(), u = 0;
170
254
  for (let m = 0; m < r.count; m++)
171
255
  s.fromBufferAttribute(r, m), s.distanceTo(i) < o && (l.add(s), u++);
172
256
  u > 0 && (l.divideScalar(u), i.lerp(l, n), r.setXYZ(a, i.x, i.y, i.z));
173
257
  }
174
258
  }
175
259
  r.needsUpdate = !0;
176
- }, To = (e, t, o, n, r = !1, s = K.LINEAR) => {
260
+ }, Fo = (e, t, o, n, r = !1, s = K.LINEAR) => {
177
261
  const a = e.attributes.position;
178
262
  for (let i = 0; i < a.count; i++) {
179
- const c = new v();
263
+ const c = new x();
180
264
  c.fromBufferAttribute(a, i);
181
265
  const l = c.distanceTo(t);
182
266
  if (l < o) {
@@ -185,10 +269,10 @@ const tt = {
185
269
  }
186
270
  }
187
271
  a.needsUpdate = !0;
188
- }, Go = (e, t, o, n, r = tt.UP, s = K.LINEAR) => {
189
- const a = e.attributes.position, i = new St();
272
+ }, zo = (e, t, o, n, r = et.UP, s = K.LINEAR) => {
273
+ const a = e.attributes.position, i = new Pt();
190
274
  for (let c = 0; c < a.count; c++) {
191
- const l = new v();
275
+ const l = new x();
192
276
  l.fromBufferAttribute(a, c);
193
277
  const u = l.distanceTo(t);
194
278
  if (u < o) {
@@ -198,14 +282,14 @@ const tt = {
198
282
  }
199
283
  a.needsUpdate = !0;
200
284
  }, 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 = {
285
+ X: new x(1, 0, 0),
286
+ Y: new x(0, 1, 0),
287
+ Z: new x(0, 0, 1),
288
+ XY: new x(1, 1, 0).normalize(),
289
+ XZ: new x(1, 0, 1).normalize(),
290
+ YZ: new x(0, 1, 1).normalize(),
291
+ XYZ: new x(1, 1, 1).normalize()
292
+ }, at = {
209
293
  // Red
210
294
  CADMIUM_RED: 15073318,
211
295
  // Cadmium Red or Bright Red. Vivid, bold red shade with warm undertones.
@@ -348,77 +432,77 @@ const tt = {
348
432
  // White Smoke or Light Gray. It’s a soft, pale gray shade with a hint of warmth.
349
433
  TITANIUM_WHITE: 16777215
350
434
  // 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) => {
435
+ }, kt = (e) => 1 - Math.cos(e * Math.PI / 2), qt = (e) => Math.sin(e * Math.PI / 2), Vt = (e) => -0.5 * (Math.cos(Math.PI * e) - 1), Yt = (e) => e * e, Ht = (e) => 1 - Math.pow(1 - e, 2), Xt = (e) => e < 0.5 ? 2 * e * e : 1 - Math.pow(-2 * e + 2, 2) / 2, Zt = (e) => e * e * e, jt = (e) => 1 - Math.pow(1 - e, 3), Qt = (e) => e < 0.5 ? 4 * e * e * e : 1 - Math.pow(-2 * e + 2, 3) / 2, Kt = (e) => e * e * e * e, Jt = (e) => 1 - Math.pow(1 - e, 4), $t = (e) => e < 0.5 ? 8 * e * e * e * e : 1 - Math.pow(-2 * e + 2, 4) / 2, Wt = (e) => e * e * e * e * e, te = (e) => 1 - Math.pow(1 - e, 5), ee = (e) => e < 0.5 ? 16 * e * e * e * e * e : 1 - Math.pow(-2 * e + 2, 5) / 2, oe = (e) => e === 0 ? 0 : Math.pow(2, 10 * e - 10), ne = (e) => e === 1 ? 1 : 1 - Math.pow(2, -10 * e), se = (e) => e === 0 ? 0 : e === 1 ? 1 : e < 0.5 ? Math.pow(2, 20 * e - 10) / 2 : (2 - Math.pow(2, -20 * e + 10)) / 2, re = (e) => 1 - Math.sqrt(1 - Math.pow(e, 2)), ae = (e) => Math.sqrt(1 - Math.pow(e - 1, 2)), ie = (e) => e < 0.5 ? (1 - Math.sqrt(1 - Math.pow(2 * e, 2))) / 2 : (Math.sqrt(1 - Math.pow(-2 * e + 2, 2)) + 1) / 2, ce = (e) => e, le = (e) => e * e * (3 - 2 * e), ue = (e) => 1 - Math.pow(1 - e, 0.3), me = (e) => Math.pow(e, 0.3), he = (e) => Math.log(Math.max(0.01, e)) / Math.log(2), fe = (e) => Math.sqrt(e), pe = (e) => 1 - e, de = (e) => Math.exp(-Math.pow(e - 0.5, 2) / (2 * 0.5)), Do = {
436
+ SINE_EASE_IN: kt,
437
+ SINE_EASE_OUT: qt,
438
+ SINE_EASE_IN_OUT: Vt,
439
+ QUADRATIC_EASE_IN: Yt,
440
+ QUADRATIC_EASE_OUT: Ht,
441
+ QUADRATIC_EASE_IN_OUT: Xt,
442
+ CUBIC_EASE_IN: Zt,
443
+ CUBIC_EASE_OUT: jt,
444
+ CUBIC_EASE_IN_OUT: Qt,
445
+ QUARTIC_EASE_IN: Kt,
446
+ QUARTIC_EASE_OUT: Jt,
447
+ QUARTIC_EASE_IN_OUT: $t,
448
+ QUINTIC_EASE_IN: Wt,
449
+ QUINTIC_EASE_OUT: te,
450
+ QUINTIC_EASE_IN_OUT: ee,
451
+ EXPONENTIAL_EASE_IN: oe,
452
+ EXPONENTIAL_EASE_OUT: ne,
453
+ EXPONENTIAL_EASE_IN_OUT: se,
454
+ CIRCULAR_EASE_IN: re,
455
+ CIRCULAR_EASE_OUT: ae,
456
+ CIRCULAR_EASE_IN_OUT: ie,
457
+ LINEAR: ce,
458
+ SMOOTHSTEP: le,
459
+ CONCAVE: ue,
460
+ CONVEX: me,
461
+ LOGARITHMIC: he,
462
+ SQUARE_ROOT: fe,
463
+ INVERSE: pe,
464
+ GAUSSIAN: de
465
+ }, Me = (e, t, o, n, r) => {
382
466
  const s = Math.max(0, Math.min(1, e)), a = 1 - s;
383
467
  return a * a * a * t + 3 * a * a * s * o + 3 * a * s * s * n + s * s * s * r;
384
- }, fe = (e, t = 1) => {
468
+ }, ye = (e, t = 1) => {
385
469
  const o = Math.max(1e-3, t);
386
470
  return (1 - Math.exp(-o * e)) / (1 - Math.exp(-o));
387
- }, pe = (e, t = 1, o = 1) => {
471
+ }, we = (e, t = 1, o = 1) => {
388
472
  const n = Math.max(0, Math.min(1, e));
389
473
  return t * Math.pow(n, o);
390
- }, de = (e, t = 1, o = 1) => {
474
+ }, ve = (e, t = 1, o = 1) => {
391
475
  const n = Math.max(1e-3, Math.min(1, e));
392
476
  return t * Math.log(o * n + 1);
393
- }, Me = (e, t = 1, o = 0, n = 0) => {
477
+ }, xe = (e, t = 1, o = 0, n = 0) => {
394
478
  const r = Math.max(0, Math.min(1, e));
395
479
  return t * r * r + o * r + n;
396
- }, ye = (e, t, o, n) => {
480
+ }, ge = (e, t, o, n) => {
397
481
  const r = Math.max(0, Math.min(1, e)), s = 1 - r;
398
482
  return s * s * t + 2 * s * r * o + r * r * n;
399
- }, we = (e, t = 10) => {
483
+ }, Ie = (e, t = 10) => {
400
484
  const o = Math.max(0, Math.min(1, e));
401
485
  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
486
+ }, Ae = (e) => Math.sin(e * Math.PI * 0.5), F = {
487
+ CUBIC: Me,
488
+ DAMPED: ye,
489
+ EXPONENTIAL: we,
490
+ LOGARITHMIC: ve,
491
+ PARABOLIC: xe,
492
+ QUADRATIC: ge,
493
+ SIGMOID: Ie,
494
+ SINUSOIDAL: Ae
411
495
  };
412
- class Bo extends it {
496
+ class ko extends ct {
413
497
  constructor(o = {}) {
414
498
  const {
415
499
  count: n = 20,
416
500
  width: r = 1.5,
417
501
  height: s = 3,
418
502
  depth: a = 1.5,
419
- geometry: i = new N(0.1, 6, 6),
503
+ geometry: i = new _(0.1, 6, 6),
420
504
  // Small spheres
421
- material: c = new y({
505
+ material: c = new M({
422
506
  color: 16777215,
423
507
  transparent: !0,
424
508
  opacity: 0.6,
@@ -427,14 +511,14 @@ class Bo extends it {
427
511
  })
428
512
  } = o;
429
513
  super(i, c, n);
430
- E(this, "bubblePositions", []);
431
- E(this, "velocities", []);
432
- E(this, "width");
433
- E(this, "height");
434
- E(this, "depth");
514
+ A(this, "bubblePositions", []);
515
+ A(this, "velocities", []);
516
+ A(this, "width");
517
+ A(this, "height");
518
+ A(this, "depth");
435
519
  this.height = s, this.width = r, this.depth = a;
436
520
  for (let l = 0; l < this.count; l++) {
437
- const u = new v(
521
+ const u = new x(
438
522
  (Math.random() - 0.5) * r,
439
523
  Math.random() * (s - 1) + 0.5,
440
524
  (Math.random() - 0.5) * a
@@ -446,7 +530,7 @@ class Bo extends it {
446
530
  * Updates the position of a specific bubble instance in the InstancedMesh.
447
531
  */
448
532
  updateInstanceMatrix(o) {
449
- const n = this.bubblePositions[o], r = new Y().setPosition(n);
533
+ const n = this.bubblePositions[o], r = new H().setPosition(n);
450
534
  this.setMatrixAt(o, r), this.instanceMatrix.needsUpdate = !0;
451
535
  }
452
536
  /**
@@ -460,36 +544,7 @@ class Bo extends it {
460
544
  }
461
545
  }
462
546
  }
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 {
547
+ class Ee extends E {
493
548
  constructor(t = 0.1) {
494
549
  super();
495
550
  const o = [], n = [], r = [
@@ -521,15 +576,15 @@ class xe extends A {
521
576
  this.setAttribute("position", s), this.setIndex(n), this.computeVertexNormals();
522
577
  }
523
578
  }
524
- class No extends it {
579
+ class qo extends ct {
525
580
  constructor(o = {}) {
526
581
  const {
527
582
  count: n = 200,
528
583
  width: r = 20,
529
584
  height: s = 10,
530
585
  depth: a = 20,
531
- geometry: i = new xe(),
532
- material: c = new y({
586
+ geometry: i = new Ee(),
587
+ material: c = new M({
533
588
  color: 8956467,
534
589
  metalness: 0.1,
535
590
  roughness: 0.8,
@@ -538,25 +593,25 @@ class No extends it {
538
593
  })
539
594
  } = o;
540
595
  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;
596
+ A(this, "dummyMatrix");
597
+ A(this, "velocities");
598
+ A(this, "width");
599
+ A(this, "height");
600
+ A(this, "depth");
601
+ this.dummyMatrix = new H(), this.velocities = [], this.width = r, this.height = s, this.depth = a;
547
602
  for (let l = 0; l < n; l++) {
548
603
  const u = (Math.random() - 0.5) * r, m = Math.random() * (s - 1) + 0.5, h = (Math.random() - 0.5) * a, f = (Math.random() - 0.5) * Math.PI, p = (Math.random() - 0.5) * Math.PI, d = (Math.random() - 0.5) * Math.PI;
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);
604
+ this.dummyMatrix.makeRotationFromEuler(new Tt(f, p, d)), this.dummyMatrix.setPosition(u, m, h), this.setMatrixAt(l, this.dummyMatrix);
605
+ const w = new x((Math.random() - 0.5) * 0.01, -5e-3, (Math.random() - 0.5) * 0.01);
551
606
  this.velocities.push(w);
552
607
  }
553
608
  this.instanceMatrix.needsUpdate = !0;
554
609
  }
555
610
  update() {
556
611
  for (let o = 0; o < this.count; o++) {
557
- const n = new Y();
612
+ const n = new H();
558
613
  this.getMatrixAt(o, n);
559
- const r = new v();
614
+ const r = new x();
560
615
  r.setFromMatrixPosition(n);
561
616
  const s = this.velocities[o];
562
617
  r.add(s), r.y < 0 && (r.set(
@@ -568,63 +623,8 @@ class No extends it {
568
623
  this.instanceMatrix.needsUpdate = !0;
569
624
  }
570
625
  }
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();
626
+ const S = (e, t) => {
627
+ const o = e[0].index !== null, n = new Set(Object.keys(e[0].attributes)), r = new Set(Object.keys(e[0].morphAttributes)), s = {}, a = {}, i = e[0].morphTargetsRelative, c = new E();
628
628
  let l = 0;
629
629
  if (e.forEach((u, m) => {
630
630
  let h = 0;
@@ -723,56 +723,56 @@ const P = (e, t) => {
723
723
  let a = 0;
724
724
  return e.forEach((i) => {
725
725
  s.set(i.array, a), a += i.array.length;
726
- }), new F(s, o, n);
726
+ }), new z(s, o, n);
727
727
  }
728
728
  };
729
- function Ae(e, t = 1e-4) {
729
+ function be(e, t = 1e-4) {
730
730
  t = Math.max(t, Number.EPSILON);
731
731
  const o = {}, n = e.getIndex(), r = e.getAttribute("position"), s = n ? n.count : r.count;
732
732
  let a = 0;
733
733
  const i = Object.keys(e.attributes), c = {}, l = {}, u = [], m = ["getX", "getY", "getZ", "getW"];
734
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(() => []));
735
+ const g = i[d];
736
+ c[g] = [];
737
+ const I = e.morphAttributes[g];
738
+ I && (l[g] = new Array(I.length).fill(0).map(() => []));
739
739
  }
740
740
  const h = Math.log10(1 / t), f = Math.pow(10, h);
741
741
  for (let d = 0; d < s; d++) {
742
742
  const w = n ? n.getX(d) : d;
743
- let x = "";
743
+ let g = "";
744
744
  for (let I = 0, R = i.length; I < R; I++) {
745
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)},`;
746
+ for (let N = 0; N < G; N++)
747
+ g += `${~~(T[m[N]](w) * f)},`;
748
748
  }
749
- if (x in o)
750
- u.push(o[x]);
749
+ if (g in o)
750
+ u.push(o[g]);
751
751
  else {
752
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)
753
+ const B = i[I], T = e.getAttribute(B), G = e.morphAttributes[B], N = T.itemSize, U = c[B], ot = l[B];
754
+ for (let V = 0; V < N; V++) {
755
+ const Y = m[V];
756
+ if (U.push(T[Y](w)), G)
757
757
  for (let C = 0, Et = G.length; C < Et; C++)
758
- et[C].push(G[C][H](w));
758
+ ot[C].push(G[C][Y](w));
759
759
  }
760
760
  }
761
- o[x] = a, u.push(a), a++;
761
+ o[g] = a, u.push(a), a++;
762
762
  }
763
763
  }
764
764
  const p = e.clone();
765
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;
766
+ const g = i[d], I = e.getAttribute(g), R = new I.array.constructor(c[g]), B = new z(R, I.itemSize, I.normalized);
767
+ if (p.setAttribute(g, B), g in l)
768
+ for (let T = 0; T < l[g].length; T++) {
769
+ const G = e.morphAttributes[g][T], N = new G.array.constructor(l[g][T]), U = new z(N, G.itemSize, G.normalized);
770
+ p.morphAttributes[g][T] = U;
771
771
  }
772
772
  }
773
773
  return p.setIndex(u), p;
774
774
  }
775
- class yt extends A {
775
+ class wt extends E {
776
776
  constructor(t = 1, o = 1.5, n = 0.5, r = 0.05, s = 0.05) {
777
777
  super();
778
778
  const a = t, i = o, c = n, l = r, u = s, m = [
@@ -1367,13 +1367,13 @@ class yt extends A {
1367
1367
  54,
1368
1368
  55
1369
1369
  // 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));
1370
+ ], g = new Float32Array(m), I = new Float32Array(h), R = new Float32Array(d), B = new Uint16Array(w), T = new E();
1371
+ T.setAttribute("position", new z(g, 3)), T.setAttribute("normal", new z(I, 3)), T.setAttribute("uv", new z(R, 2)), T.setIndex(new z(B, 1));
1372
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));
1373
+ G.translate((t - l - u) / 2 + l, i / 2, -c / 2), this.copy(S([T, G], !0));
1374
1374
  }
1375
1375
  }
1376
- function wt({
1376
+ function vt({
1377
1377
  scaleXMin: e = 0.4,
1378
1378
  scaleXMax: t = 0.7,
1379
1379
  scaleYMin: o = 0.3,
@@ -1381,26 +1381,26 @@ function wt({
1381
1381
  scaleZMin: r = 0.1,
1382
1382
  scaleZMax: s = 0.5
1383
1383
  } = {}) {
1384
- return new v(
1385
- Mt(e, t),
1386
- ge(0.25, o, n),
1387
- Ie(0.8, r, s)
1384
+ return new x(
1385
+ yt(e, t),
1386
+ Ft(0.25, o, n),
1387
+ zt(0.8, r, s)
1388
1388
  );
1389
1389
  }
1390
- function vt({
1390
+ function xt({
1391
1391
  coverMaterial: e,
1392
1392
  pagesMaterial: t,
1393
1393
  scales: o
1394
1394
  }) {
1395
- const n = new yt(), r = new it(n, [e, t], o.length), s = new Y();
1395
+ const n = new wt(), r = new ct(n, [e, t], o.length), s = new H();
1396
1396
  let a = 0;
1397
1397
  for (let i = 0; i < o.length; i++) {
1398
- const c = o[i], l = new Y();
1398
+ const c = o[i], l = new H();
1399
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;
1400
1400
  }
1401
1401
  return r;
1402
1402
  }
1403
- function Lo({
1403
+ function Vo({
1404
1404
  coverMaterial: e,
1405
1405
  pagesMaterial: t,
1406
1406
  count: o = 10,
@@ -1413,11 +1413,11 @@ function Lo({
1413
1413
  }) {
1414
1414
  const l = Array.from(
1415
1415
  { length: o },
1416
- () => wt({ scaleXMin: n, scaleXMax: r, scaleYMin: s, scaleYMax: a, scaleZMin: i, scaleZMax: c })
1416
+ () => vt({ scaleXMin: n, scaleXMax: r, scaleYMin: s, scaleYMax: a, scaleZMin: i, scaleZMax: c })
1417
1417
  );
1418
- return vt({ coverMaterial: e, pagesMaterial: t, scales: l });
1418
+ return xt({ coverMaterial: e, pagesMaterial: t, scales: l });
1419
1419
  }
1420
- function zo({
1420
+ function Yo({
1421
1421
  coverMaterial: e,
1422
1422
  pagesMaterial: t,
1423
1423
  length: o = 10,
@@ -1431,17 +1431,17 @@ function zo({
1431
1431
  const l = [];
1432
1432
  let u = o;
1433
1433
  for (; u > 0; ) {
1434
- const m = wt({ scaleXMin: n, scaleXMax: r, scaleYMin: s, scaleYMax: a, scaleZMin: i, scaleZMax: c });
1434
+ const m = vt({ scaleXMin: n, scaleXMax: r, scaleYMin: s, scaleYMax: a, scaleZMin: i, scaleZMax: c });
1435
1435
  m.z = Math.min(m.z, u), l.push(m), u -= m.z;
1436
1436
  }
1437
- return vt({ coverMaterial: e, pagesMaterial: t, scales: l });
1437
+ return xt({ coverMaterial: e, pagesMaterial: t, scales: l });
1438
1438
  }
1439
- class Fo extends A {
1439
+ class Ho extends E {
1440
1440
  constructor(t = 2, o = 0.3, n = 0.6, r = 5, s = 5, a = Math.PI / 4) {
1441
1441
  super();
1442
1442
  const i = [], c = [];
1443
1443
  for (let f = 0; f < r; f++) {
1444
- const p = f * o, d = p + o, w = f * n, x = w + n;
1444
+ const p = f * o, d = p + o, w = f * n, g = w + n;
1445
1445
  i.push(
1446
1446
  // Vertical riser
1447
1447
  -t / 2,
@@ -1471,11 +1471,11 @@ class Fo extends A {
1471
1471
  // Top-right
1472
1472
  t / 2,
1473
1473
  d,
1474
- x,
1474
+ g,
1475
1475
  // Back-right
1476
1476
  -t / 2,
1477
1477
  d,
1478
- x
1478
+ g
1479
1479
  // Back-left
1480
1480
  );
1481
1481
  const I = f * 8;
@@ -1529,41 +1529,41 @@ class Fo extends A {
1529
1529
  for (let f = 0; f < 2; f++) {
1530
1530
  const p = f === 0 ? 1 : -1;
1531
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);
1532
+ const w = l + d * o, g = w + o, I = p * (m / 4), R = u + n, B = d * n * Math.cos(a), T = d * n * Math.sin(a), G = I + p * B - t / 2 * Math.cos(a), N = I + p * B + t / 2 * Math.cos(a), U = R + T, ot = G + p * n * Math.cos(a), V = N + p * n * Math.cos(a), Y = U + n * Math.sin(a);
1533
1533
  i.push(
1534
1534
  // Vertical riser
1535
1535
  G,
1536
1536
  w,
1537
- O,
1538
- // Bottom-left
1539
1537
  U,
1538
+ // Bottom-left
1539
+ N,
1540
1540
  w,
1541
- O,
1541
+ U,
1542
1542
  // Bottom-right
1543
+ N,
1544
+ g,
1543
1545
  U,
1544
- x,
1545
- O,
1546
1546
  // Top-right
1547
1547
  G,
1548
- x,
1549
- O,
1548
+ g,
1549
+ U,
1550
1550
  // Top-left
1551
1551
  // Horizontal tread
1552
1552
  G,
1553
- x,
1554
- O,
1553
+ g,
1554
+ U,
1555
1555
  // Top-left
1556
+ N,
1557
+ g,
1556
1558
  U,
1557
- x,
1558
- O,
1559
1559
  // Top-right
1560
1560
  V,
1561
- x,
1562
- H,
1561
+ g,
1562
+ Y,
1563
1563
  // Back-right
1564
- et,
1565
- x,
1566
- H
1564
+ ot,
1565
+ g,
1566
+ Y
1567
1567
  // Back-left
1568
1568
  );
1569
1569
  const C = h + 4 + f * s * 8 + d * 8;
@@ -1587,7 +1587,7 @@ class Fo extends A {
1587
1587
  this.setIndex(c), this.setAttribute("position", new q(i, 3)), this.computeVertexNormals();
1588
1588
  }
1589
1589
  }
1590
- class ko extends A {
1590
+ class Xo extends E {
1591
1591
  constructor(t = 5, o = 3, n = 5, r = 0.2) {
1592
1592
  super();
1593
1593
  const s = [
@@ -1668,7 +1668,7 @@ class ko extends A {
1668
1668
  this.setIndex(a), this.setAttribute("position", new q(s, 3)), this.computeVertexNormals();
1669
1669
  }
1670
1670
  }
1671
- class Do extends A {
1671
+ class Zo extends E {
1672
1672
  constructor(t = 2, o = 0.3, n = 0.5, r = 5, s = 2) {
1673
1673
  super();
1674
1674
  const a = [], i = [];
@@ -1816,7 +1816,7 @@ class Do extends A {
1816
1816
  this.setIndex(i), this.setAttribute("position", new q(a, 3)), this.computeVertexNormals();
1817
1817
  }
1818
1818
  }
1819
- class qo extends A {
1819
+ class jo extends E {
1820
1820
  constructor(t = 1, o = 0.4, n = 0.2, r = 20, s = 2, a = Math.PI / 8) {
1821
1821
  super();
1822
1822
  const i = [], c = [];
@@ -1884,7 +1884,7 @@ class qo extends A {
1884
1884
  this.setIndex(c), this.setAttribute("position", new q(i, 3)), this.computeVertexNormals();
1885
1885
  }
1886
1886
  }
1887
- class Vo extends A {
1887
+ class Qo extends E {
1888
1888
  constructor(t = 2, o = 0.3, n = 0.5, r = 10) {
1889
1889
  super();
1890
1890
  const s = [], a = [];
@@ -1950,66 +1950,86 @@ class Vo extends A {
1950
1950
  this.setIndex(a), this.setAttribute("position", new q(s, 3)), this.computeVertexNormals();
1951
1951
  }
1952
1952
  }
1953
- function xt(e, t, o, n, r) {
1953
+ class Se extends E {
1954
+ constructor() {
1955
+ super();
1956
+ const t = [
1957
+ new v(0, 0),
1958
+ // Bottom of the jar
1959
+ new v(1.2, 0),
1960
+ // Base
1961
+ new v(1.5, 1.5),
1962
+ // Mid-body
1963
+ new v(1, 3),
1964
+ // Narrow neck
1965
+ new v(0.6, 3.5),
1966
+ // Mouth of the jar
1967
+ new v(0.5, 3.5)
1968
+ // Cork
1969
+ ], o = new D(t, 10), n = new P(0.6, 0.5, 0.3, 10);
1970
+ n.translate(0, 3.5, 0), this.copy(S([o, n], !0));
1971
+ }
1972
+ }
1973
+ function gt(e, t, o, n, r) {
1954
1974
  const s = (n - t) / (o - e);
1955
1975
  return e + (r - t) / s;
1956
1976
  }
1957
- function be(e, t, o, n, r) {
1977
+ function Pe(e, t, o, n, r) {
1958
1978
  const s = (n - t) / (o - e);
1959
1979
  return t + s * (r - e);
1960
1980
  }
1961
- const Ho = {
1962
- calculateXFromSlopeIntercept: xt,
1963
- calculateYFromSlopeIntercept: be
1981
+ const Ko = {
1982
+ calculateXFromSlopeIntercept: gt,
1983
+ calculateYFromSlopeIntercept: Pe
1964
1984
  };
1965
- class Se extends A {
1985
+ class Te extends E {
1966
1986
  constructor() {
1967
1987
  super();
1968
1988
  const t = [
1969
- new g(0, 0),
1989
+ new v(0, 0),
1970
1990
  // Origin
1971
- new g(0.8, 0),
1991
+ new v(0.8, 0),
1972
1992
  // Base
1973
- new g(1, 1.5),
1993
+ new v(1, 1.5),
1974
1994
  // Rounded body
1975
- new g(0.5, 2.2),
1995
+ new v(0.5, 2.2),
1976
1996
  // Neck
1977
- new g(0.6, 2.5),
1997
+ new v(0.6, 2.5),
1978
1998
  // Mouth
1979
- new g(0.5, 2.5)
1999
+ new v(0.5, 2.5)
1980
2000
  // Cork
1981
- ], o = new D(t, 10), n = new S(0.55, 0.45, 0.2, 10);
2001
+ ], o = new D(t, 10), n = new P(0.55, 0.45, 0.2, 10);
1982
2002
  n.translate(0, 2.5, 0);
1983
2003
  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)
2004
+ new v(0, 0),
2005
+ new v(0.8, 0),
2006
+ new v(gt(0.8, 0, 1, 1.5, 1), 1),
2007
+ new v(0, 1)
1988
2008
  ], 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));
2009
+ s.translate(0, 0.1, 0), s.scale(0.9, 0.9, 0.9), this.copy(S([o, n, s], !0));
1990
2010
  }
1991
2011
  }
1992
- class Pe extends A {
2012
+ class Ge extends E {
1993
2013
  constructor({ radius: t = 0.5, neckRadius: o = 0.2, height: n = 3, neckHeight: r = 1, segments: s = 16 } = {}) {
1994
2014
  super();
1995
- const a = n - r, i = new S(t, t, a, s);
2015
+ const a = n - r, i = new P(t, t, a, s);
1996
2016
  i.translate(0, a / 2, 0);
1997
- const c = 0.3, l = new S(o, t, c, s);
2017
+ const c = 0.3, l = new P(o, t, c, s);
1998
2018
  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));
2019
+ const u = new P(o, o, r, s);
2020
+ u.translate(0, a + c + r / 2, 0), this.copy(S([i, l, u], !1));
2001
2021
  }
2002
2022
  }
2003
- class Te extends A {
2023
+ class Ce extends E {
2004
2024
  constructor(t = 0.4, o = 1.2, n = 0.2) {
2005
2025
  super();
2006
2026
  const r = o * 0.6, s = new b(t / 2, r, n);
2007
2027
  s.translate(0, r / 2, 0);
2008
2028
  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();
2029
+ i.translate(0, r * 0.75, 0), this.copy(S([s, i], !1)), this.computeVertexNormals();
2010
2030
  }
2011
2031
  }
2012
- class Ge extends A {
2032
+ class Be extends E {
2013
2033
  constructor() {
2014
2034
  super();
2015
2035
  const t = new b(5, 1, 5);
@@ -2023,7 +2043,7 @@ class Ge extends A {
2023
2043
  [1.8, 2.3, 2.2]
2024
2044
  ], r = [];
2025
2045
  n.forEach((l) => {
2026
- const u = new S(0.2, 0.2, 3.5, 16);
2046
+ const u = new P(0.2, 0.2, 3.5, 16);
2027
2047
  u.translate(l[0], l[1], l[2]), r.push(u);
2028
2048
  });
2029
2049
  const s = new Z(3.5, 2, 4);
@@ -2035,10 +2055,10 @@ class Ge extends A {
2035
2055
  bevelEnabled: !1
2036
2056
  }, c = new Q(a, i);
2037
2057
  c.translate(0, 0.5, 1.7), c.setIndex([...Array(c.attributes.position.count).keys()]), this.copy(
2038
- P(
2058
+ S(
2039
2059
  [
2040
2060
  t,
2041
- P([o, ...r], !1),
2061
+ S([o, ...r], !1),
2042
2062
  s,
2043
2063
  c
2044
2064
  ],
@@ -2047,7 +2067,7 @@ class Ge extends A {
2047
2067
  ), this.computeVertexNormals();
2048
2068
  }
2049
2069
  }
2050
- class Ce extends A {
2070
+ class Re extends E {
2051
2071
  constructor(t = 1.75, o = 0.75) {
2052
2072
  super();
2053
2073
  const n = t * 0.05, r = t * 0.15, s = t * 0.15, a = t * 0.75;
@@ -2061,26 +2081,26 @@ class Ce extends A {
2061
2081
  const m = new b(o * 0.4, a, o * 0.4);
2062
2082
  m.translate(0, i + a / 2, 0), i += a;
2063
2083
  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();
2084
+ h.translate(0, i + 0.1 / 2, 0), this.copy(S([c, l, u, m, h], !1)), this.computeVertexNormals();
2065
2085
  }
2066
2086
  }
2067
- class Be extends A {
2087
+ class Ne extends E {
2068
2088
  constructor(t = 0.6, o = 1, n = 0.2, r = 0.6) {
2069
2089
  super();
2070
2090
  const s = o - r / 2, a = new b(t, s, n);
2071
2091
  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();
2092
+ const i = new P(r / 2, r / 2, n, 16, 1, !1, 0, Math.PI);
2093
+ i.rotateY(Math.PI / 2), i.rotateX(Math.PI / 2), i.translate(0, s, 0), this.copy(S([a, i], !1)), this.computeVertexNormals();
2074
2094
  }
2075
2095
  }
2076
- class Re extends A {
2096
+ class _e extends E {
2077
2097
  constructor(t = 0.5, o = 0.8, n = 0.15) {
2078
2098
  super();
2079
2099
  const r = new b(t, o, n);
2080
2100
  r.translate(0, o / 2, 0), this.copy(r);
2081
2101
  }
2082
2102
  }
2083
- class Ne extends A {
2103
+ class Ue extends E {
2084
2104
  constructor({ height: t = 2.25 } = {}) {
2085
2105
  super();
2086
2106
  const o = new b(1.2, 0.5, 1.2);
@@ -2088,10 +2108,10 @@ class Ne extends A {
2088
2108
  const n = new b(1, t, 1);
2089
2109
  n.translate(0, 0.5 + t / 2, 0);
2090
2110
  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));
2111
+ r.translate(0, 0.5 + t + 0.15, 0), this.copy(S([o, n, r], !1));
2092
2112
  }
2093
2113
  }
2094
- class gt extends A {
2114
+ class It extends E {
2095
2115
  constructor({
2096
2116
  barHeight: t = 2,
2097
2117
  //
@@ -2102,13 +2122,13 @@ class gt extends A {
2102
2122
  radialSegments: a = 8
2103
2123
  } = {}) {
2104
2124
  super();
2105
- const i = new S(o, o, t, a);
2125
+ const i = new P(o, o, t, a);
2106
2126
  i.translate(0, t / 2, 0);
2107
2127
  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));
2128
+ c.translate(0, t + n / 2, 0), c.scale(1, 1, s), this.copy(S([i, c], !1));
2109
2129
  }
2110
2130
  }
2111
- class _e extends A {
2131
+ class Oe extends E {
2112
2132
  constructor({
2113
2133
  count: t = 20,
2114
2134
  //
@@ -2124,18 +2144,18 @@ class _e extends A {
2124
2144
  radialSegments: m = 8
2125
2145
  } = {}) {
2126
2146
  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++) {
2147
+ const h = [], f = new It({ barHeight: n, barRadius: r, spikeHeight: s, spikeRadius: a, spikeScaleZ: i, radialSegments: m }), p = new b(t * o, c, l);
2148
+ for (let g = 0; g < t; g++) {
2129
2149
  const I = f.clone();
2130
- I.translate(x * o, 0, 0), h.push(I);
2150
+ I.translate(g * o, 0, 0), h.push(I);
2131
2151
  }
2132
2152
  const d = p.clone();
2133
2153
  d.translate(o * (t - 1) / 2, n - u - c / 2, 0), h.push(d);
2134
2154
  const w = p.clone();
2135
- w.translate(o * (t - 1) / 2, c / 2, 0), h.push(w), this.copy(P(h));
2155
+ w.translate(o * (t - 1) / 2, c / 2, 0), h.push(w), this.copy(S(h));
2136
2156
  }
2137
2157
  }
2138
- class Ue extends A {
2158
+ class Le extends E {
2139
2159
  constructor({
2140
2160
  width: t = 5,
2141
2161
  //
@@ -2156,34 +2176,34 @@ class Ue extends A {
2156
2176
  d.translate(0, s / 2, 0);
2157
2177
  const w = new b(c, i, s);
2158
2178
  w.translate(0, i / 2, -l / 2 + s / 2);
2159
- const x = [], I = (i - s) / (r + 1);
2179
+ const g = [], I = (i - s) / (r + 1);
2160
2180
  for (let R = 1; R <= r; R++) {
2161
2181
  const B = m.clone();
2162
- B.translate(0, s / 2 + R * I, 0), x.push(B);
2182
+ B.translate(0, s / 2 + R * I, 0), g.push(B);
2163
2183
  }
2164
- this.copy(P([
2184
+ this.copy(S([
2165
2185
  h,
2166
2186
  //
2167
2187
  f,
2168
2188
  p,
2169
2189
  d,
2170
2190
  ...a ? [] : [w],
2171
- ...x
2191
+ ...g
2172
2192
  ], !1));
2173
2193
  }
2174
2194
  }
2175
- class Oe extends A {
2195
+ class Fe extends E {
2176
2196
  constructor() {
2177
2197
  super();
2178
2198
  const t = new b(5, 0.3, 3);
2179
2199
  t.translate(0, 3.15, 0);
2180
2200
  const o = [
2181
- new g(0.2, 0),
2201
+ new v(0.2, 0),
2182
2202
  //
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(
2203
+ new v(0.25, 0.5),
2204
+ new v(0.15, 1.5),
2205
+ new v(0.3, 3)
2206
+ ], n = new D(o, 32), s = S(
2187
2207
  [
2188
2208
  [2.1, 0, 1.1],
2189
2209
  [-2.1, 0, 1.1],
@@ -2194,35 +2214,64 @@ class Oe extends A {
2194
2214
  return i.translate(a[0], a[1], a[2]), i;
2195
2215
  })
2196
2216
  );
2197
- this.copy(P([t, s], !0));
2217
+ this.copy(S([t, s], !0));
2218
+ }
2219
+ }
2220
+ class ze extends E {
2221
+ constructor() {
2222
+ super();
2223
+ const t = [], o = [];
2224
+ for (let n = 0; n < 5; n++) {
2225
+ const r = 0.8 + Math.random() * 0.4, s = 0.8 + Math.random() * 0.4, a = 0.8 + Math.random() * 0.4, i = Math.random() * Math.PI, c = Math.random() * Math.PI, l = Math.random() * Math.PI, u = (Math.random() - 0.5) * 4, m = 0, h = (Math.random() - 0.5) * 4, f = new J(1, 0);
2226
+ f.scale(r, s, a), f.rotateX(i), f.rotateY(c), f.rotateZ(l), f.translate(u, m, h), t.push(f);
2227
+ const p = new J(1, 0);
2228
+ p.scale(r * 0.9, s * 0.5, a * 0.9), p.rotateX(i), p.rotateY(c), p.rotateZ(l), p.translate(u, m + 0.3, h), o.push(p);
2229
+ }
2230
+ this.copy(
2231
+ S([
2232
+ S(t),
2233
+ S(o)
2234
+ ], !0)
2235
+ );
2198
2236
  }
2199
2237
  }
2200
- function Le(e, t = mt.XYZ, o = 0.5, n = 2) {
2201
- e.deleteAttribute("uv"), e.deleteAttribute("normal"), e = Ae(e), e.computeVertexNormals();
2238
+ function De(e, t = mt.XYZ, o = 0.5, n = 2) {
2239
+ e.deleteAttribute("uv"), e.deleteAttribute("normal"), e = be(e), e.computeVertexNormals();
2202
2240
  const r = e.getAttribute("position");
2203
2241
  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);
2242
+ const a = new x().fromBufferAttribute(r, s), i = Math.random() * (n - o) + o, c = t.clone().multiplyScalar(i);
2205
2243
  a.add(c), r.setXYZ(s, a.x, a.y, a.z);
2206
2244
  }
2207
2245
  return r.needsUpdate = !0, e.computeVertexNormals(), e;
2208
2246
  }
2209
- class ze extends A {
2247
+ class ke extends E {
2210
2248
  constructor(t = 1, o = 4, n = 4) {
2211
2249
  super();
2212
- const r = new N(t, o, n);
2213
- this.copy(Le(r, mt.XYZ, 0.5, 1)), this.computeVertexNormals(), this.center();
2250
+ const r = new _(t, o, n);
2251
+ this.copy(De(r, mt.XYZ, 0.5, 1)), this.computeVertexNormals(), this.center();
2252
+ }
2253
+ }
2254
+ class qe extends E {
2255
+ constructor() {
2256
+ super();
2257
+ const t = [];
2258
+ for (let o = 0; o < 5; o++) {
2259
+ const n = new J(1, 0);
2260
+ 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);
2261
+ }
2262
+ this.copy(S(t));
2214
2263
  }
2215
2264
  }
2216
- class Fe extends A {
2265
+ class Ve extends E {
2217
2266
  constructor(t = 0.1, o = 0.1, n = 0.4, r = 8) {
2218
2267
  super();
2219
- const s = new S(t * 0.6, o * 0.6, n, r);
2268
+ const s = new P(t * 0.6, o * 0.6, n, r);
2220
2269
  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));
2270
+ const a = new _(t, r, r), i = a.clone(), c = a.clone(), l = a.clone(), u = a.clone();
2271
+ i.translate(0, n / 2 + t * 0.6, -t * 0.6), c.translate(0, n / 2 + t * 0.6, t * 0.6), l.translate(0, -n / 2 - o * 0.6, -o * 0.6), u.translate(0, -n / 2 - o * 0.6, o * 0.6), this.copy(S([s, i, c, l, u], !1));
2223
2272
  }
2224
2273
  }
2225
- class ke extends A {
2274
+ class Ye extends E {
2226
2275
  constructor({
2227
2276
  flaskRadius: t = 1,
2228
2277
  //
@@ -2233,48 +2282,70 @@ class ke extends A {
2233
2282
  } = {}) {
2234
2283
  super();
2235
2284
  const a = [
2236
- new g(0, 0),
2285
+ new v(0, 0),
2237
2286
  // Bottom of the flask
2238
- new g(t * 0.875, 0),
2287
+ new v(t * 0.875, 0),
2239
2288
  // Flat base with minimum width
2240
- new g(t, 0.1),
2289
+ new v(t, 0.1),
2241
2290
  // End of the rounded base
2242
- new g(o, n),
2291
+ new v(o, n),
2243
2292
  // Start of the straight neck
2244
- new g(o, n + r),
2293
+ new v(o, n + r),
2245
2294
  // End of the straight neck
2246
- new g(o * 1.1, n + r + 0.3)
2295
+ new v(o * 1.1, n + r + 0.3)
2247
2296
  // Slight outward lip at the top
2248
2297
  ], i = new D(a, s);
2249
- this.copy(P([i], !1));
2298
+ this.copy(S([i], !1));
2250
2299
  }
2251
2300
  }
2252
- class De extends A {
2301
+ const Jo = (e, t) => e / (1 - Math.cos(t)), At = (e, t) => e / (2 * Math.sin(t)), He = (e, t) => e * (1 - Math.cos(t)), $o = (e, t) => 2 * e * Math.sin(t), pt = (e, t) => {
2302
+ const o = 2 * t;
2303
+ return Math.asin(o / (2 * e));
2304
+ }, Wo = (e, t, o) => ({
2305
+ x: e * Math.sin(o) * Math.cos(t),
2306
+ y: e * Math.sin(o) * Math.sin(t),
2307
+ z: e * Math.cos(o)
2308
+ }), tn = (e, t, o) => {
2309
+ const n = Math.sqrt(e * e + t * t + o * o), r = Math.atan2(t, e), s = Math.acos(o / n);
2310
+ return { radius: n, theta: r, phi: s };
2311
+ };
2312
+ function Xe(e, t, o, n = 0, r = 0, s = 32) {
2313
+ const a = n ? pt(e, n) : 0, i = r ? Math.PI - pt(e, r) : Math.PI, c = [];
2314
+ for (let l = 0; l <= s; l++) {
2315
+ const u = i - (i - a) / s * l, m = e * Math.sin(u), h = t * Math.cos(u) + o;
2316
+ c.push(new v(m, h));
2317
+ }
2318
+ return [...c];
2319
+ }
2320
+ class Ze extends E {
2253
2321
  constructor() {
2254
2322
  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);
2323
+ const t = [
2324
+ ...Xe(1, 1, 0.5, 0.2, 0, 32),
2325
+ new v(0.2, 3)
2326
+ ], o = new D(t, 32);
2327
+ this.copy(o);
2257
2328
  }
2258
2329
  }
2259
- class qe extends A {
2330
+ class je extends E {
2260
2331
  constructor() {
2261
2332
  super();
2262
2333
  const t = [
2263
- new g(1, 0),
2334
+ new v(1, 0),
2264
2335
  // Bottom of the bowl
2265
- new g(1.2, 0.5),
2336
+ new v(1.2, 0.5),
2266
2337
  // Slight flare at the base
2267
- new g(1.4, 1.5),
2338
+ new v(1.4, 1.5),
2268
2339
  // Outer wall
2269
- new g(1.3, 1.8),
2340
+ new v(1.3, 1.8),
2270
2341
  // Flared edge
2271
- new g(0.8, 1.8)
2342
+ new v(0.8, 1.8)
2272
2343
  // 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));
2344
+ ], o = new D(t, 12), n = new Gt(1, 12);
2345
+ n.rotateX(-Math.PI / 2), n.translate(0, 0, 0), this.copy(S([o, n], !1));
2275
2346
  }
2276
2347
  }
2277
- class Ve extends A {
2348
+ class Qe extends E {
2278
2349
  constructor({
2279
2350
  radius: t = 0.3,
2280
2351
  //
@@ -2284,24 +2355,40 @@ class Ve extends A {
2284
2355
  radialSegments: s = 16
2285
2356
  } = {}) {
2286
2357
  super();
2287
- const a = new pt(t, r, 8, s);
2358
+ const a = new dt(t, r, 8, s);
2288
2359
  a.rotateX(Math.PI / 2), a.translate(0, o, 0);
2289
- const i = new S(r * 0.6, r * 0.6, o, s), c = [];
2360
+ const i = new P(r * 0.6, r * 0.6, o, s), c = [];
2290
2361
  for (let l = 0; l < n; l++) {
2291
2362
  const u = l / n * Math.PI * 2, m = i.clone();
2292
2363
  m.translate(Math.cos(u) * t, o / 2, Math.sin(u) * t), c.push(m);
2293
2364
  }
2294
- this.copy(P([a, ...c], !1));
2365
+ this.copy(S([a, ...c], !1));
2295
2366
  }
2296
2367
  }
2297
- class at extends A {
2368
+ class Ke extends E {
2369
+ constructor() {
2370
+ super();
2371
+ const t = new P(0.5, 0.6, 0.3, 16);
2372
+ t.translate(0, 0.15, 0);
2373
+ const o = new P(0.15, 0.15, 2, 12, 1, !0);
2374
+ o.translate(0, 1.3, 0);
2375
+ const n = new _(0.3, 16, 16);
2376
+ n.translate(0, 2.4, 0), this.copy(
2377
+ S(
2378
+ [t, S([o, n])],
2379
+ !0
2380
+ )
2381
+ );
2382
+ }
2383
+ }
2384
+ class it extends E {
2298
2385
  constructor(t = 0.2, o = 0.2, n = 3, r = 32, s = !0) {
2299
2386
  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));
2387
+ const a = new P(t, o, n, r, 1, s), i = new _(o, r, r / 2, 0, Math.PI * 2, Math.PI / 2, Math.PI / 2);
2388
+ i.translate(0, -(n / 2), 0), this.copy(S([a, i], !1));
2302
2389
  }
2303
2390
  }
2304
- class He extends A {
2391
+ class Je extends E {
2305
2392
  constructor({
2306
2393
  radius: t = 3,
2307
2394
  //
@@ -2311,20 +2398,12 @@ class He extends A {
2311
2398
  phiStart: s = 0,
2312
2399
  phiLength: a = Math.PI * 2
2313
2400
  } = {}) {
2314
- super(), this.copy(new N(t, n, r, s, a, 0, Math.PI / 2)), this.scale(1, o / t, 1);
2401
+ super(), this.copy(new _(t, n, r, s, a, 0, Math.PI / 2)), this.scale(1, o / t, 1);
2315
2402
  }
2316
2403
  }
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 {
2404
+ class $e extends E {
2326
2405
  constructor({
2327
- radius: t = It(5, Math.PI / 10),
2406
+ radius: t = At(5, Math.PI / 10),
2328
2407
  //
2329
2408
  widthSegments: o = 64,
2330
2409
  heightSegments: n = 32,
@@ -2332,12 +2411,12 @@ class Xe extends A {
2332
2411
  phiLength: s = Math.PI * 2,
2333
2412
  thetaLength: a = Math.PI / 10
2334
2413
  } = {}) {
2335
- super(), this.copy(new N(t, o, n, r, s, 0, a));
2336
- const i = Ye(t, a);
2414
+ super(), this.copy(new _(t, o, n, r, s, 0, a));
2415
+ const i = He(t, a);
2337
2416
  this.translate(0, -t + i, 0);
2338
2417
  }
2339
2418
  }
2340
- class Ze extends A {
2419
+ class We extends E {
2341
2420
  constructor({
2342
2421
  trunkRadiusTop: t = 0.25,
2343
2422
  trunkRadiusBottom: o = 0.4,
@@ -2349,21 +2428,21 @@ class Ze extends A {
2349
2428
  leafSpreadRadius: c = 1.5
2350
2429
  } = {}) {
2351
2430
  super();
2352
- const l = new S(t, o, n, r);
2431
+ const l = new P(t, o, n, r);
2353
2432
  l.translate(0, n / 2, 0);
2354
2433
  const u = [];
2355
2434
  for (let m = 0; m < a; m++) {
2356
- const h = new ct(s, i);
2435
+ const h = new J(s, i);
2357
2436
  h.translate(
2358
2437
  (Math.random() - 0.5) * c,
2359
2438
  (Math.random() - 0.5) * s + n,
2360
2439
  (Math.random() - 0.5) * c
2361
2440
  ), u.push(h);
2362
2441
  }
2363
- this.copy(P([l.toNonIndexed(), P(u, !1)], !0)), this.computeVertexNormals();
2442
+ this.copy(S([l.toNonIndexed(), S(u, !1)], !0)), this.computeVertexNormals();
2364
2443
  }
2365
2444
  }
2366
- const je = {
2445
+ const to = {
2367
2446
  uniforms: {
2368
2447
  time: { value: 0 }
2369
2448
  },
@@ -2407,37 +2486,55 @@ const je = {
2407
2486
  }
2408
2487
  `
2409
2488
  };
2410
- class Qo extends M {
2489
+ class en extends y {
2411
2490
  constructor() {
2412
2491
  super(
2413
- new N(5, 32, 32),
2414
- new J(je)
2492
+ new _(5, 32, 32),
2493
+ new W(to)
2415
2494
  );
2416
2495
  }
2417
2496
  }
2418
- class Ko extends M {
2497
+ class on extends y {
2419
2498
  constructor({
2420
2499
  width: t = 1,
2421
2500
  height: o = 1.5,
2422
2501
  depth: n = 0.5,
2423
2502
  coverThickness: r = 0.05,
2424
2503
  pageIndent: s = 0.05,
2425
- coverColor: a = rt.DARK_RED,
2426
- pageColor: i = rt.TITANIUM_WHITE
2504
+ coverColor: a = at.DARK_RED,
2505
+ pageColor: i = at.TITANIUM_WHITE
2427
2506
  } = {}) {
2428
2507
  super(
2429
- new yt(t, o, n, r, s),
2508
+ new wt(t, o, n, r, s),
2430
2509
  [
2431
- new y({ color: a, metalness: 0.1, roughness: 0.7, flatShading: !0 }),
2432
- new y({ color: i, flatShading: !0 })
2510
+ new M({ color: a, metalness: 0.1, roughness: 0.7, flatShading: !0 }),
2511
+ new M({ color: i, flatShading: !0 })
2433
2512
  ]
2434
2513
  );
2435
2514
  }
2436
2515
  }
2437
- class $o extends M {
2516
+ class nn extends y {
2438
2517
  constructor() {
2439
2518
  super(new Se(), [
2440
- new y({
2519
+ new M({
2520
+ color: 8965290,
2521
+ transparent: !0,
2522
+ depthWrite: !1,
2523
+ opacity: 0.4,
2524
+ roughness: 0.1,
2525
+ metalness: 0.5
2526
+ }),
2527
+ new M({
2528
+ color: 9127187,
2529
+ roughness: 1
2530
+ })
2531
+ ]);
2532
+ }
2533
+ }
2534
+ class sn extends y {
2535
+ constructor() {
2536
+ super(new Te(), [
2537
+ new M({
2441
2538
  color: 8965375,
2442
2539
  transparent: !0,
2443
2540
  depthWrite: !1,
@@ -2445,12 +2542,12 @@ class $o extends M {
2445
2542
  roughness: 0.1,
2446
2543
  metalness: 0.3
2447
2544
  }),
2448
- new y({
2545
+ new M({
2449
2546
  color: 9127187,
2450
2547
  roughness: 1
2451
2548
  }),
2452
- new y({
2453
- color: rt.PINK_SHERBET,
2549
+ new M({
2550
+ color: at.PINK_SHERBET,
2454
2551
  transparent: !0,
2455
2552
  depthWrite: !1,
2456
2553
  opacity: 0.5
@@ -2458,15 +2555,14 @@ class $o extends M {
2458
2555
  ]);
2459
2556
  }
2460
2557
  }
2461
- class Jo extends M {
2558
+ class rn extends y {
2462
2559
  constructor() {
2463
2560
  super(
2464
- new Pe(),
2465
- new W({
2561
+ new Ge(),
2562
+ new tt({
2466
2563
  color: 5597999,
2467
2564
  roughness: 0.1,
2468
2565
  transmission: 0.9,
2469
- // Makes the material transparent
2470
2566
  thickness: 0.2,
2471
2567
  metalness: 0,
2472
2568
  clearcoat: 1,
@@ -2475,68 +2571,68 @@ class Jo extends M {
2475
2571
  );
2476
2572
  }
2477
2573
  }
2478
- class Wo extends M {
2574
+ class an extends y {
2479
2575
  constructor({
2480
2576
  width: t = 0.4,
2481
2577
  height: o = 1.2,
2482
2578
  depth: n = 0.2
2483
2579
  } = {}) {
2484
2580
  super(
2485
- new Te(t, o, n),
2486
- new y({ color: 7829367, roughness: 0.8 })
2581
+ new Ce(t, o, n),
2582
+ new M({ color: 7829367, roughness: 0.8 })
2487
2583
  );
2488
2584
  }
2489
2585
  }
2490
- class tn extends M {
2586
+ class cn extends y {
2491
2587
  constructor() {
2492
2588
  super(
2493
- new Ge(),
2589
+ new Be(),
2494
2590
  [
2495
- new y({ color: 8421504, flatShading: !0 }),
2591
+ new M({ color: 8421504, flatShading: !0 }),
2496
2592
  // Base
2497
- new y({ color: 6908265, flatShading: !0 }),
2593
+ new M({ color: 6908265, flatShading: !0 }),
2498
2594
  // Building
2499
- new y({ color: 5263440, flatShading: !0 }),
2595
+ new M({ color: 5263440, flatShading: !0 }),
2500
2596
  // Roof
2501
- new y({ color: 4210752, flatShading: !0 })
2597
+ new M({ color: 4210752, flatShading: !0 })
2502
2598
  // Arched entrance
2503
2599
  ]
2504
2600
  );
2505
2601
  }
2506
2602
  }
2507
- class en extends M {
2603
+ class ln extends y {
2508
2604
  constructor({ totalHeight: t = 1.75, baseWidth: o = 0.75 } = {}) {
2509
2605
  super(
2510
- new Ce(t, o),
2511
- new y({ color: 7829367, roughness: 0.8 })
2606
+ new Re(t, o),
2607
+ new M({ color: 7829367, roughness: 0.8 })
2512
2608
  );
2513
2609
  }
2514
2610
  }
2515
- class on extends M {
2611
+ class un extends y {
2516
2612
  constructor(t = 0.6, o = 1, n = 0.2, r = 0.6) {
2517
2613
  super(
2518
- new Be(t, o, n, r),
2519
- new y({ color: 7829367, roughness: 0.8 })
2614
+ new Ne(t, o, n, r),
2615
+ new M({ color: 7829367, roughness: 0.8 })
2520
2616
  );
2521
2617
  }
2522
2618
  }
2523
- class nn extends M {
2619
+ class mn extends y {
2524
2620
  constructor(t = 0.5, o = 0.8, n = 0.15) {
2525
2621
  super(
2526
- new Re(t, o, n),
2527
- new y({ color: 7829367, roughness: 0.8 })
2622
+ new _e(t, o, n),
2623
+ new M({ color: 7829367, roughness: 0.8 })
2528
2624
  );
2529
2625
  }
2530
2626
  }
2531
- class sn extends M {
2627
+ class hn extends y {
2532
2628
  constructor({ height: t = 2.25 } = {}) {
2533
2629
  super(
2534
- new Ne({ height: t }),
2535
- new y({ color: 9141627, flatShading: !0 })
2630
+ new Ue({ height: t }),
2631
+ new M({ color: 9141627, flatShading: !0 })
2536
2632
  );
2537
2633
  }
2538
2634
  }
2539
- class rn extends M {
2635
+ class fn extends y {
2540
2636
  constructor({
2541
2637
  barHeight: t = 2,
2542
2638
  //
@@ -2547,7 +2643,7 @@ class rn extends M {
2547
2643
  radialSegments: a = 8
2548
2644
  } = {}) {
2549
2645
  super(
2550
- new gt({
2646
+ new It({
2551
2647
  barHeight: t,
2552
2648
  barRadius: o,
2553
2649
  spikeHeight: n,
@@ -2555,11 +2651,11 @@ class rn extends M {
2555
2651
  spikeScaleZ: s,
2556
2652
  radialSegments: a
2557
2653
  }),
2558
- new y({ color: 3355443, metalness: 0.8, roughness: 0.4 })
2654
+ new M({ color: 3355443, metalness: 0.8, roughness: 0.4 })
2559
2655
  );
2560
2656
  }
2561
2657
  }
2562
- class an extends M {
2658
+ class pn extends y {
2563
2659
  constructor({
2564
2660
  count: t = 20,
2565
2661
  //
@@ -2575,7 +2671,7 @@ class an extends M {
2575
2671
  radialSegments: m = 8
2576
2672
  } = {}) {
2577
2673
  super(
2578
- new _e({
2674
+ new Oe({
2579
2675
  count: t,
2580
2676
  spacing: o,
2581
2677
  barHeight: n,
@@ -2588,11 +2684,11 @@ class an extends M {
2588
2684
  railOffset: u,
2589
2685
  radialSegments: m
2590
2686
  }),
2591
- new y({ color: 3355443, metalness: 0.8, roughness: 0.4 })
2687
+ new M({ color: 3355443, metalness: 0.8, roughness: 0.4 })
2592
2688
  );
2593
2689
  }
2594
2690
  }
2595
- class cn extends M {
2691
+ class dn extends y {
2596
2692
  constructor({
2597
2693
  width: t = 5,
2598
2694
  //
@@ -2603,34 +2699,34 @@ class cn extends M {
2603
2699
  open: a = !1
2604
2700
  } = {}) {
2605
2701
  super(
2606
- new Ue({ width: t, height: o, depth: n, shelves: r, frameThickness: s, open: a }),
2607
- new y({ color: 9127187 })
2702
+ new Le({ width: t, height: o, depth: n, shelves: r, frameThickness: s, open: a }),
2703
+ new M({ color: 9127187 })
2608
2704
  );
2609
2705
  }
2610
2706
  }
2611
- class ln extends M {
2707
+ class Mn extends y {
2612
2708
  constructor() {
2613
- super(new Oe(), [
2614
- new y({ color: 9132587 }),
2709
+ super(new Fe(), [
2710
+ new M({ color: 9132587 }),
2615
2711
  // Desk surface
2616
- new y({ color: 4929057 })
2712
+ new M({ color: 4929057 })
2617
2713
  // Desk legs
2618
2714
  ]);
2619
2715
  }
2620
2716
  }
2621
- class un extends _ {
2717
+ class yn extends O {
2622
2718
  constructor(o = 1, n = 0.2) {
2623
2719
  super();
2624
- E(this, "candle");
2625
- E(this, "flame");
2626
- E(this, "candleLight");
2627
- E(this, "height");
2628
- E(this, "radius");
2720
+ A(this, "candle");
2721
+ A(this, "flame");
2722
+ A(this, "candleLight");
2723
+ A(this, "height");
2724
+ A(this, "radius");
2629
2725
  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();
2726
+ const r = new P(this.radius, this.radius, this.height, 32), s = new M({ color: 16777215 });
2727
+ this.candle = new y(r, s), this.candle.position.set(0, this.height / 2, 0), this.add(this.candle);
2728
+ const a = new _(0.05, 16, 16), i = new Ct({ color: 16753920 });
2729
+ this.flame = new y(a, i), this.flame.position.set(0, this.height + 0.05, 0), this.add(this.flame), this.candleLight = new Mt(16753920, 1, 5), this.candleLight.position.set(0, this.height + 0.05, 0), this.candleLight.castShadow = !0, this.add(this.candleLight), this.animateFlicker();
2634
2730
  }
2635
2731
  animateFlicker() {
2636
2732
  const o = () => {
@@ -2639,103 +2735,94 @@ class un extends _ {
2639
2735
  o();
2640
2736
  }
2641
2737
  }
2642
- class mn extends _ {
2738
+ class wn extends O {
2643
2739
  constructor(t = 1.3, o = 0.5) {
2644
2740
  super();
2645
- const n = new S(o, o, 0.2, 16), r = new y({ color: 9127187, flatShading: !0 }), s = new M(n, r);
2741
+ const n = new P(o, o, 0.2, 16), r = new M({ color: 9127187, flatShading: !0 }), s = new y(n, r);
2646
2742
  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);
2743
+ const a = new P(o * 0.9, o * 0.9, t), i = new M({ color: 16766720, flatShading: !0, transparent: !0, opacity: 0.6 }), c = new y(a, i);
2648
2744
  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);
2745
+ const l = new Z(o * 1.1, 0.5, 8), u = new M({ color: 9127187, flatShading: !0 }), m = new y(l, u);
2650
2746
  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);
2747
+ const h = new dt(o * 0.8, 0.05, 8, 16), f = new M({ color: 9127187, flatShading: !0 }), p = new y(h, f);
2652
2748
  p.position.set(0, t + 0.85, 0), this.add(p);
2653
- const d = new dt(16755200, 1.5, 15);
2749
+ const d = new Mt(16755200, 1.5, 15);
2654
2750
  d.position.set(0, t / 2 + 0.1, 0), d.castShadow = !0, this.add(d);
2655
2751
  }
2656
2752
  }
2657
- class hn extends _ {
2753
+ class vn extends y {
2658
2754
  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
- }
2755
+ super(new ze(), [
2756
+ new M({ color: 8421504, flatShading: !0 }),
2757
+ new M({ color: 4950843, flatShading: !0, opacity: 0.8, transparent: !0 })
2758
+ ]);
2667
2759
  }
2668
2760
  }
2669
- class fn extends M {
2761
+ class xn extends y {
2670
2762
  constructor(t = 1, o = 4, n = 4) {
2671
2763
  super(
2672
- new ze(t, o, n),
2673
- new y({ color: 8421504, flatShading: !0 })
2764
+ new ke(t, o, n),
2765
+ new M({ color: 8421504, flatShading: !0 })
2674
2766
  );
2675
2767
  }
2676
2768
  }
2677
- class pn extends _ {
2769
+ class gn extends y {
2678
2770
  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
- }
2771
+ super(new qe(), new M({ color: 8421504, flatShading: !0 }));
2685
2772
  }
2686
2773
  }
2687
- class dn extends _ {
2774
+ class In extends O {
2688
2775
  constructor() {
2689
2776
  super();
2690
- const t = new S(0.3, 0.4, 0.1, 16), o = new y({
2777
+ const t = new P(0.3, 0.4, 0.1, 16), o = new M({
2691
2778
  color: 3355443,
2692
2779
  roughness: 0.6,
2693
2780
  metalness: 0.3
2694
- }), n = new M(t, o);
2781
+ }), n = new y(t, o);
2695
2782
  n.position.y = 0.05;
2696
- const r = new S(0.1, 0.1, 0.7, 16), s = new y({
2783
+ const r = new P(0.1, 0.1, 0.7, 16), s = new M({
2697
2784
  color: 5592405,
2698
2785
  roughness: 0.5,
2699
2786
  metalness: 0.4
2700
- }), a = new M(r, s);
2787
+ }), a = new y(r, s);
2701
2788
  a.position.y = 0.4;
2702
- const i = new Z(0.075, 0.2, 16), c = new y({
2789
+ const i = new Z(0.075, 0.2, 16), c = new M({
2703
2790
  color: 16733440,
2704
2791
  emissive: 16733440,
2705
2792
  emissiveIntensity: 0.6,
2706
2793
  transparent: !0,
2707
2794
  opacity: 0.8
2708
- }), l = new M(i, c);
2795
+ }), l = new y(i, c);
2709
2796
  l.position.y = 0.8, this.add(n, a, l);
2710
2797
  }
2711
2798
  }
2712
- class Mn extends _ {
2799
+ class An extends O {
2713
2800
  constructor() {
2714
2801
  super();
2715
- const t = new b(3, 4, 0.1), o = new y({
2802
+ const t = new b(3, 4, 0.1), o = new M({
2716
2803
  color: 3026478,
2717
2804
  roughness: 0.8,
2718
2805
  metalness: 0.6
2719
- }), n = new b(0.2, 0.5, 0.2), r = new y({
2806
+ }), n = new b(0.2, 0.5, 0.2), r = new M({
2720
2807
  color: 11184810,
2721
2808
  roughness: 0.5,
2722
2809
  metalness: 0.7
2723
- }), s = new S(0.3, 0.3, 0.1, 16), a = new y({
2810
+ }), s = new P(0.3, 0.3, 0.1, 16), a = new M({
2724
2811
  color: 5592405,
2725
2812
  roughness: 0.7,
2726
2813
  metalness: 0.5
2727
- }), i = new M(t, o);
2814
+ }), i = new y(t, o);
2728
2815
  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);
2816
+ const g = new y(n, r);
2817
+ g.position.set(w, 1.5, 0.1), i.add(g);
2731
2818
  }
2732
- const c = new M(s, a);
2819
+ const c = new y(s, a);
2733
2820
  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({
2821
+ const l = new _(0.15, 8, 8), u = new M({
2735
2822
  color: 16711680,
2736
2823
  emissive: 16711680,
2737
2824
  emissiveIntensity: 0.5
2738
- }), m = new M(l, u);
2825
+ }), m = new y(l, u);
2739
2826
  m.position.set(0, -1, 0.1), i.add(m), this.add(i);
2740
2827
  let h = 0.015, f = 0.8, p = 0.2;
2741
2828
  function d() {
@@ -2746,7 +2833,7 @@ class Mn extends _ {
2746
2833
  d();
2747
2834
  }
2748
2835
  }
2749
- class yn extends M {
2836
+ class En extends y {
2750
2837
  constructor({
2751
2838
  flaskRadius: t = 1,
2752
2839
  //
@@ -2756,8 +2843,8 @@ class yn extends M {
2756
2843
  radialSegments: s = 16
2757
2844
  } = {}) {
2758
2845
  super(
2759
- new ke({ flaskRadius: t, neckRadius: o, height: n, neckHeight: r, radialSegments: s }),
2760
- new W({
2846
+ new Ye({ flaskRadius: t, neckRadius: o, height: n, neckHeight: r, radialSegments: s }),
2847
+ new tt({
2761
2848
  color: 8965375,
2762
2849
  transparent: !0,
2763
2850
  opacity: 0.4,
@@ -2765,49 +2852,19 @@ class yn extends M {
2765
2852
  metalness: 0.1,
2766
2853
  reflectivity: 0.8,
2767
2854
  transmission: 0.9,
2768
- side: k,
2769
- wireframe: !1
2855
+ side: k
2770
2856
  })
2771
2857
  );
2772
2858
  }
2773
2859
  }
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 {
2860
+ class bn extends y {
2805
2861
  constructor() {
2806
2862
  super(
2807
- new De(),
2808
- new W({
2863
+ new Ze(),
2864
+ new tt({
2809
2865
  color: 8965375,
2810
2866
  transparent: !0,
2867
+ depthWrite: !1,
2811
2868
  opacity: 0.4,
2812
2869
  roughness: 0.1,
2813
2870
  metalness: 0.1,
@@ -2818,88 +2875,88 @@ class vn extends M {
2818
2875
  );
2819
2876
  }
2820
2877
  }
2821
- class xn extends _ {
2878
+ class Sn extends O {
2822
2879
  constructor() {
2823
2880
  super();
2824
- const t = new b(2, 3, 0.1), o = new y({
2881
+ const t = new b(2, 3, 0.1), o = new M({
2825
2882
  color: 3355443,
2826
2883
  roughness: 0.8,
2827
2884
  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({
2885
+ }), n = new y(t, o), r = new P(0.1, 0.1, 0.2, 8), s = new P(0.05, 0.05, 1, 8), a = new M({
2829
2886
  color: 11184810,
2830
2887
  roughness: 0.5,
2831
2888
  metalness: 0.7
2832
2889
  });
2833
2890
  for (let i = -0.5; i <= 0.5; i += 0.5) {
2834
- const c = new M(r, a);
2891
+ const c = new y(r, a);
2835
2892
  c.position.set(i, 1, 0.1);
2836
- const l = new M(s, a);
2893
+ const l = new y(s, a);
2837
2894
  l.position.y = 0.5, c.add(l), this.add(c);
2838
2895
  }
2839
2896
  this.add(n);
2840
2897
  }
2841
2898
  }
2842
- class gn extends _ {
2899
+ class Pn extends O {
2843
2900
  constructor() {
2844
2901
  super();
2845
- const t = new b(1, 0.2, 0.5), o = new y({
2902
+ const t = new b(1, 0.2, 0.5), o = new M({
2846
2903
  color: 4473924,
2847
2904
  roughness: 0.6,
2848
2905
  metalness: 0.3
2849
- }), n = new M(t, o);
2906
+ }), n = new y(t, o);
2850
2907
  n.position.y = 0.1;
2851
- const r = new b(0.2, 1, 0.2), s = new M(r, o);
2908
+ const r = new b(0.2, 1, 0.2), s = new y(r, o);
2852
2909
  s.position.set(0, 0.6, -0.2);
2853
- const a = new S(0.1, 0.1, 0.4, 8), i = new y({
2910
+ const a = new P(0.1, 0.1, 0.4, 8), i = new M({
2854
2911
  color: 3355443,
2855
2912
  roughness: 0.5,
2856
2913
  metalness: 0.6
2857
- }), c = new M(a, i);
2914
+ }), c = new y(a, i);
2858
2915
  c.position.set(0, 1.1, -0.35), c.rotation.x = -Math.PI / 4;
2859
- const l = new b(0.6, 0.1, 0.6), u = new y({
2916
+ const l = new b(0.6, 0.1, 0.6), u = new M({
2860
2917
  color: 5592405,
2861
2918
  roughness: 0.8,
2862
2919
  metalness: 0.2
2863
- }), m = new M(l, u);
2920
+ }), m = new y(l, u);
2864
2921
  m.position.set(0, 0.6, 0), this.add(n, s, c, m);
2865
2922
  }
2866
2923
  }
2867
- class In extends _ {
2924
+ class Tn extends O {
2868
2925
  constructor() {
2869
2926
  super();
2870
- const t = new qe(), o = new S(0.2, 0.3, 1.5, 8);
2927
+ const t = new je(), o = new P(0.2, 0.3, 1.5, 8);
2871
2928
  o.translate(0, 0.75, 0);
2872
- const n = new y({
2929
+ const n = new M({
2873
2930
  color: 6045747,
2874
2931
  // Dark earthy tone
2875
2932
  roughness: 1,
2876
2933
  metalness: 0,
2877
2934
  side: k
2878
2935
  // Render inside and outside
2879
- }), r = new y({
2936
+ }), r = new M({
2880
2937
  color: 9132587,
2881
2938
  // Slightly lighter earthy color
2882
2939
  roughness: 0.8,
2883
2940
  metalness: 0.1
2884
- }), s = new M(t, n);
2941
+ }), s = new y(t, n);
2885
2942
  s.castShadow = !0;
2886
- const a = new M(o, r);
2943
+ const a = new y(o, r);
2887
2944
  a.castShadow = !0, a.position.set(0.3, 1.3, 0), a.rotation.z = Math.PI / 4, this.add(s, a);
2888
2945
  }
2889
2946
  }
2890
- class En extends M {
2947
+ class Gn extends y {
2891
2948
  constructor({ width: o = 3, height: n = 4, depth: r = 0.1 } = {}) {
2892
2949
  super();
2893
- E(this, "geometry");
2894
- E(this, "material");
2895
- this.geometry = new b(o, n, r), this.material = new y({
2950
+ A(this, "geometry");
2951
+ A(this, "material");
2952
+ this.geometry = new b(o, n, r), this.material = new M({
2896
2953
  color: 3026478,
2897
2954
  roughness: 0.8,
2898
2955
  metalness: 0.6
2899
2956
  });
2900
2957
  }
2901
2958
  }
2902
- class An extends M {
2959
+ class Cn extends y {
2903
2960
  constructor({
2904
2961
  radius: o = 0.15,
2905
2962
  //
@@ -2908,36 +2965,36 @@ class An extends M {
2908
2965
  emissiveIntensity: s = 0.5
2909
2966
  } = {}) {
2910
2967
  super();
2911
- E(this, "geometry");
2912
- E(this, "material");
2913
- this.geometry = new N(o, 8, 8), this.material = new y({
2968
+ A(this, "geometry");
2969
+ A(this, "material");
2970
+ this.geometry = new _(o, 8, 8), this.material = new M({
2914
2971
  color: n,
2915
2972
  emissive: r,
2916
2973
  emissiveIntensity: s
2917
2974
  });
2918
2975
  }
2919
2976
  }
2920
- class bn extends _ {
2977
+ class Bn extends O {
2921
2978
  constructor() {
2922
2979
  super();
2923
- const t = 100, o = 0.05, n = new Ct(
2980
+ const t = 100, o = 0.05, n = new Bt(
2924
2981
  Array.from({ length: t }, (l, u) => {
2925
2982
  const m = u * 0.2;
2926
- return new v(
2983
+ return new x(
2927
2984
  Math.cos(m) * 0.4,
2928
2985
  u * o,
2929
2986
  // Gradual height increase
2930
2987
  Math.sin(m) * 0.4
2931
2988
  );
2932
2989
  })
2933
- ), r = new Bt(n, 200, 0.1, 8, !1), s = new y({
2990
+ ), r = new Rt(n, 200, 0.1, 8, !1), s = new M({
2934
2991
  color: 8965375,
2935
2992
  transparent: !0,
2936
2993
  opacity: 0.3,
2937
2994
  roughness: 0.1,
2938
2995
  metalness: 0.2,
2939
2996
  emissive: 8965375
2940
- }), a = new M(r, s);
2997
+ }), a = new y(r, s);
2941
2998
  this.add(a);
2942
2999
  function i() {
2943
3000
  s.emissiveIntensity = 0.2 + Math.sin(Date.now() * 5e-3) * 0.1;
@@ -2948,7 +3005,7 @@ class bn extends _ {
2948
3005
  c();
2949
3006
  }
2950
3007
  }
2951
- class Sn extends M {
3008
+ class Rn extends y {
2952
3009
  constructor({
2953
3010
  radius: t = 0.3,
2954
3011
  //
@@ -2958,8 +3015,8 @@ class Sn extends M {
2958
3015
  radialSegments: s = 16
2959
3016
  } = {}) {
2960
3017
  super(
2961
- new Ve({ radius: t, height: o, count: n, thickness: r, radialSegments: s }),
2962
- new y({
3018
+ new Qe({ radius: t, height: o, count: n, thickness: r, radialSegments: s }),
3019
+ new M({
2963
3020
  color: 8947848,
2964
3021
  roughness: 0.7,
2965
3022
  metalness: 0.3
@@ -2967,31 +3024,28 @@ class Sn extends M {
2967
3024
  );
2968
3025
  }
2969
3026
  }
2970
- class Pn extends _ {
3027
+ class Nn extends y {
2971
3028
  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);
3029
+ super(new Ke(), [
3030
+ new M({
3031
+ color: 3355443,
3032
+ roughness: 0.6,
3033
+ metalness: 0.5
3034
+ }),
3035
+ new M({
3036
+ color: 16737792,
3037
+ roughness: 0.5,
3038
+ metalness: 0.8,
3039
+ side: k
3040
+ })
3041
+ ]);
2988
3042
  }
2989
3043
  }
2990
- class Tn extends M {
3044
+ class _n extends y {
2991
3045
  constructor(t = 0.2, o = 0.2, n = 3, r = 32) {
2992
3046
  super(
2993
- new at(t, o, n, r),
2994
- new W({
3047
+ new it(t, o, n, r),
3048
+ new tt({
2995
3049
  color: 8965375,
2996
3050
  transparent: !0,
2997
3051
  opacity: 0.4,
@@ -3005,17 +3059,17 @@ class Tn extends M {
3005
3059
  );
3006
3060
  }
3007
3061
  }
3008
- class Gn extends _ {
3062
+ class Un extends O {
3009
3063
  constructor(t = 3, o = [65450, 16711850, 11141375]) {
3010
3064
  super();
3011
- const n = new b(3, 0.2, 1), r = new y({
3065
+ const n = new b(3, 0.2, 1), r = new M({
3012
3066
  color: 9127187,
3013
3067
  // Wooden color or change to metallic tone
3014
3068
  roughness: 0.7,
3015
3069
  metalness: 0.3
3016
- }), s = new M(n, r);
3070
+ }), s = new y(n, r);
3017
3071
  s.position.y = 0.5, s.castShadow = !0;
3018
- const a = new at(0.1, 0.1, 1, 16), i = new y({
3072
+ const a = new it(0.1, 0.1, 1, 16), i = new M({
3019
3073
  color: 11184810,
3020
3074
  transparent: !0,
3021
3075
  opacity: 0.4,
@@ -3025,21 +3079,21 @@ class Gn extends _ {
3025
3079
  side: k
3026
3080
  });
3027
3081
  for (let c = 0; c < t; c++) {
3028
- const l = new M(a, i), u = (c - (t - 1) / 2) * 0.8;
3082
+ const l = new y(a, i), u = (c - (t - 1) / 2) * 0.8;
3029
3083
  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({
3084
+ const m = new it(0.099, 0.099, 0.5, 16, !1), h = o[c % o.length], f = new M({
3031
3085
  color: h,
3032
3086
  emissive: h,
3033
3087
  emissiveIntensity: 0.5,
3034
3088
  transparent: !0,
3035
3089
  opacity: 0.6
3036
- }), p = new M(m, f);
3090
+ }), p = new y(m, f);
3037
3091
  p.position.set(0, -0.25, 0), l.add(p), s.add(l);
3038
3092
  }
3039
3093
  this.add(s);
3040
3094
  }
3041
3095
  }
3042
- class Qe extends j {
3096
+ class eo extends j {
3043
3097
  constructor(t = 5, o = 0.5, n = 1) {
3044
3098
  super();
3045
3099
  const r = Math.PI * 2 / t, s = r / 2, a = r / 4;
@@ -3051,15 +3105,15 @@ class Qe extends j {
3051
3105
  this.closePath();
3052
3106
  }
3053
3107
  }
3054
- class Cn extends M {
3108
+ class On extends y {
3055
3109
  constructor(t = 5, o = 0.5, n = 1, r = 0.25) {
3056
3110
  super();
3057
- const s = new Qe(t, o, n), a = new Q(s, {
3111
+ const s = new eo(t, o, n), a = new Q(s, {
3058
3112
  depth: r,
3059
3113
  bevelEnabled: r > 0,
3060
3114
  bevelThickness: 0,
3061
3115
  bevelSize: 0
3062
- }), i = new y({
3116
+ }), i = new M({
3063
3117
  color: 16776960,
3064
3118
  emissive: 16766720,
3065
3119
  emissiveIntensity: 0.25,
@@ -3070,7 +3124,7 @@ class Cn extends M {
3070
3124
  a.center(), this.geometry = a, this.material = i;
3071
3125
  }
3072
3126
  }
3073
- class Ke extends j {
3127
+ class oo extends j {
3074
3128
  constructor(t = 5, o = 0.5, n = 1, r = 5, s = 0.25) {
3075
3129
  super();
3076
3130
  const a = Math.PI * 2 / t, i = a / 4;
@@ -3078,7 +3132,7 @@ class Ke extends j {
3078
3132
  for (let c = 1; c <= t; ++c)
3079
3133
  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
3134
  if (this.closePath(), s > 0 && r > 2) {
3081
- const c = new Rt(), l = Math.PI * 2 / r;
3135
+ const c = new Nt(), l = Math.PI * 2 / r;
3082
3136
  c.moveTo(Math.cos(0) * s, -Math.sin(0) * s);
3083
3137
  for (let u = 1; u < r; ++u)
3084
3138
  c.lineTo(Math.cos(l * u) * s, -Math.sin(l * u) * s);
@@ -3086,15 +3140,15 @@ class Ke extends j {
3086
3140
  }
3087
3141
  }
3088
3142
  }
3089
- class Bn extends M {
3143
+ class Ln extends y {
3090
3144
  constructor(t = 5, o = 0.5, n = 1, r = 5, s = 0.25, a = 0.25) {
3091
3145
  super();
3092
- const i = new Ke(t, o, n, r, s), c = new Q(i, {
3146
+ const i = new oo(t, o, n, r, s), c = new Q(i, {
3093
3147
  depth: a,
3094
3148
  bevelEnabled: a > 0,
3095
3149
  bevelThickness: 0,
3096
3150
  bevelSize: 0
3097
- }), l = new y({
3151
+ }), l = new M({
3098
3152
  color: 11184810,
3099
3153
  metalness: 0.8,
3100
3154
  roughness: 0.2
@@ -3102,7 +3156,7 @@ class Bn extends M {
3102
3156
  c.center(), this.geometry = c, this.material = l;
3103
3157
  }
3104
3158
  }
3105
- class $e extends j {
3159
+ class no extends j {
3106
3160
  constructor(t = 1, o = 2.1, n = 1.4, r = 1.6) {
3107
3161
  super(), this.moveTo(0, n * t / 3), this.bezierCurveTo(
3108
3162
  -o * 0.375 * t,
@@ -3127,15 +3181,15 @@ class $e extends j {
3127
3181
  );
3128
3182
  }
3129
3183
  }
3130
- class Rn extends M {
3184
+ class Fn extends y {
3131
3185
  constructor(t = 1, o = 1, n = 1, r = 10, s = 0.25) {
3132
3186
  super();
3133
- const a = new $e(t, o, n, r), i = new Q(a, {
3187
+ const a = new no(t, o, n, r), i = new Q(a, {
3134
3188
  depth: s,
3135
3189
  bevelEnabled: s > 0,
3136
3190
  bevelThickness: 0,
3137
3191
  bevelSize: 0
3138
- }), c = new y({
3192
+ }), c = new M({
3139
3193
  color: 12986408,
3140
3194
  emissive: 12981270,
3141
3195
  emissiveIntensity: 0.25,
@@ -3146,7 +3200,7 @@ class Rn extends M {
3146
3200
  i.center(), this.geometry = i, this.material = c;
3147
3201
  }
3148
3202
  }
3149
- class Je extends j {
3203
+ class so extends j {
3150
3204
  constructor(t = 5, o = 0.5, n = 1) {
3151
3205
  super();
3152
3206
  const r = Math.PI * 2 / t, s = r / 2;
@@ -3156,15 +3210,15 @@ class Je extends j {
3156
3210
  this.closePath();
3157
3211
  }
3158
3212
  }
3159
- class Nn extends M {
3213
+ class zn extends y {
3160
3214
  constructor(t = 5, o = 0.5, n = 1, r = 0.25) {
3161
3215
  super();
3162
- const s = new Je(t, o, n), a = new Q(s, {
3216
+ const s = new so(t, o, n), a = new Q(s, {
3163
3217
  depth: r,
3164
3218
  bevelEnabled: r > 0,
3165
3219
  bevelThickness: 0,
3166
3220
  bevelSize: 0
3167
- }), i = new y({
3221
+ }), i = new M({
3168
3222
  color: 16776960,
3169
3223
  emissive: 16766720,
3170
3224
  emissiveIntensity: 0.25,
@@ -3175,12 +3229,12 @@ class Nn extends M {
3175
3229
  a.center(), this.geometry = a, this.material = i;
3176
3230
  }
3177
3231
  }
3178
- class _n extends M {
3232
+ class Dn extends y {
3179
3233
  constructor() {
3180
- super(new Fe(), new y({ color: 16777215 }));
3234
+ super(new Ve(), new M({ color: 16777215 }));
3181
3235
  }
3182
3236
  }
3183
- class Un extends M {
3237
+ class kn extends y {
3184
3238
  constructor({
3185
3239
  trunkRadiusTop: t = 0.25,
3186
3240
  trunkRadiusBottom: o = 0.4,
@@ -3194,7 +3248,7 @@ class Un extends M {
3194
3248
  leafColor: u = 2263842
3195
3249
  } = {}) {
3196
3250
  super(
3197
- new Ze({
3251
+ new We({
3198
3252
  trunkRadiusTop: t,
3199
3253
  trunkRadiusBottom: o,
3200
3254
  trunkHeight: n,
@@ -3205,13 +3259,13 @@ class Un extends M {
3205
3259
  leafSpreadRadius: l
3206
3260
  }),
3207
3261
  [
3208
- new y({
3262
+ new M({
3209
3263
  color: s,
3210
3264
  roughness: 0.9,
3211
3265
  metalness: 0,
3212
3266
  flatShading: !0
3213
3267
  }),
3214
- new y({
3268
+ new M({
3215
3269
  color: u,
3216
3270
  roughness: 0.8,
3217
3271
  metalness: 0,
@@ -3221,7 +3275,7 @@ class Un extends M {
3221
3275
  );
3222
3276
  }
3223
3277
  }
3224
- class On extends M {
3278
+ class qn extends y {
3225
3279
  constructor({
3226
3280
  radius: t = 3,
3227
3281
  //
@@ -3231,19 +3285,22 @@ class On extends M {
3231
3285
  phiStart: s = 0,
3232
3286
  phiLength: a = Math.PI * 2
3233
3287
  } = {}) {
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 });
3288
+ super(
3289
+ new Je({
3290
+ radius: t,
3291
+ height: o,
3292
+ widthSegments: n,
3293
+ heightSegments: r,
3294
+ phiStart: s,
3295
+ phiLength: a
3296
+ }),
3297
+ new M({ color: 65280, flatShading: !0 })
3298
+ );
3242
3299
  }
3243
3300
  }
3244
- class Ln extends M {
3301
+ class Vn extends y {
3245
3302
  constructor({
3246
- radius: t = It(5, Math.PI / 10),
3303
+ radius: t = At(5, Math.PI / 10),
3247
3304
  //
3248
3305
  widthSegments: o = 64,
3249
3306
  heightSegments: n = 32,
@@ -3251,17 +3308,20 @@ class Ln extends M {
3251
3308
  phiLength: s = Math.PI * 2,
3252
3309
  thetaLength: a = Math.PI / 10
3253
3310
  } = {}) {
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 });
3311
+ super(
3312
+ new $e({
3313
+ radius: t,
3314
+ widthSegments: o,
3315
+ heightSegments: n,
3316
+ phiStart: r,
3317
+ phiLength: s,
3318
+ thetaLength: a
3319
+ }),
3320
+ new M({ color: 65280, flatShading: !0 })
3321
+ );
3262
3322
  }
3263
3323
  }
3264
- function zn(e, { time: t = 0, waveFrequency: o = 0.2, waveAmplitude: n = 0.5 } = {}) {
3324
+ function Yn(e, { time: t = 0, waveFrequency: o = 0.2, waveAmplitude: n = 0.5 } = {}) {
3265
3325
  e.onBeforeCompile = (r) => {
3266
3326
  r.uniforms.time = { value: t }, r.uniforms.waveFrequency = { value: o }, r.uniforms.waveAmplitude = { value: n }, r.vertexShader = `
3267
3327
  uniform float time;
@@ -3285,10 +3345,10 @@ function zn(e, { time: t = 0, waveFrequency: o = 0.2, waveAmplitude: n = 0.5 } =
3285
3345
  ), e.userData.shader = r;
3286
3346
  };
3287
3347
  }
3288
- function Fn(e, t) {
3348
+ function Hn(e, t) {
3289
3349
  e.userData.shader && (e.userData.shader.uniforms.time.value += t);
3290
3350
  }
3291
- function kn(e, { time: t = 0, intensity: o = 1, axis: n = mt.XYZ, scale: r = 10 } = {}) {
3351
+ function Xn(e, { time: t = 0, intensity: o = 1, axis: n = mt.XYZ, scale: r = 10 } = {}) {
3292
3352
  e.onBeforeCompile = (s) => {
3293
3353
  s.uniforms.time = { value: t }, s.uniforms.axis = { value: n }, s.uniforms.intensity = { value: o }, s.uniforms.scale = { value: r }, s.vertexShader = `
3294
3354
  uniform float time;
@@ -3332,17 +3392,17 @@ function kn(e, { time: t = 0, intensity: o = 1, axis: n = mt.XYZ, scale: r = 10
3332
3392
  ), e.userData.shader = s;
3333
3393
  };
3334
3394
  }
3335
- function Dn(e, t) {
3395
+ function Zn(e, t) {
3336
3396
  e.userData.shader && (e.userData.shader.uniforms.time.value += t);
3337
3397
  }
3338
- const ot = {
3398
+ const nt = {
3339
3399
  uniforms: {
3340
3400
  turbidity: { value: 10 },
3341
3401
  rayleigh: { value: 2 },
3342
3402
  mieCoefficient: { value: 5e-3 },
3343
3403
  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) }
3404
+ sunPosition: { value: new x().setFromSphericalCoords(1, L.degToRad(90), L.degToRad(180)) },
3405
+ up: { value: new x(0, 1, 0) }
3346
3406
  },
3347
3407
  vertexShader: `
3348
3408
  uniform vec3 sunPosition;
@@ -3497,7 +3557,7 @@ const ot = {
3497
3557
  #include <colorspace_fragment>
3498
3558
  }
3499
3559
  `
3500
- }, nt = {
3560
+ }, st = {
3501
3561
  uniforms: {
3502
3562
  topColor: { value: new $(0.5, 0.8, 1) },
3503
3563
  bottomColor: { value: new $(1, 1, 1) }
@@ -3518,7 +3578,7 @@ const ot = {
3518
3578
  gl_FragColor = vec4(mix(bottomColor, topColor, y), 1.0);
3519
3579
  }
3520
3580
  `
3521
- }, qn = {
3581
+ }, jn = {
3522
3582
  uniforms: {
3523
3583
  tDiffuse: { value: null },
3524
3584
  opacity: { value: 1 }
@@ -3539,7 +3599,7 @@ const ot = {
3539
3599
  gl_FragColor = opacity * texel;
3540
3600
  }
3541
3601
  `
3542
- }, st = {
3602
+ }, rt = {
3543
3603
  uniforms: {
3544
3604
  topColor: { value: new $(51) },
3545
3605
  bottomColor: { value: new $(17) },
@@ -3566,19 +3626,19 @@ const ot = {
3566
3626
  }
3567
3627
  `
3568
3628
  };
3569
- class Vn extends M {
3629
+ class Qn extends y {
3570
3630
  constructor() {
3571
3631
  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,
3632
+ A(this, "geometry");
3633
+ A(this, "material");
3634
+ this.geometry = new b(1, 1, 1), this.material = new W({
3635
+ uniforms: nt.uniforms,
3636
+ vertexShader: nt.vertexShader,
3637
+ fragmentShader: nt.fragmentShader,
3578
3638
  depthWrite: !1,
3579
3639
  side: lt
3580
3640
  }), this.scale.setScalar(45e4);
3581
- const o = L.degToRad(89), n = L.degToRad(180), r = new v().setFromSphericalCoords(1, o, n);
3641
+ const o = L.degToRad(89), n = L.degToRad(180), r = new x().setFromSphericalCoords(1, o, n);
3582
3642
  this.material.uniforms.sunPosition.value = r;
3583
3643
  }
3584
3644
  /**
@@ -3595,46 +3655,46 @@ class Vn extends M {
3595
3655
  * - This is the horizontal angle in the xy-plane.
3596
3656
  */
3597
3657
  sunPosition(o, n) {
3598
- const r = new v();
3658
+ const r = new x();
3599
3659
  r.setFromSphericalCoords(1, o, n), this.material.uniforms.sunPosition.value = r;
3600
3660
  }
3601
3661
  }
3602
- class Hn extends M {
3662
+ class Kn extends y {
3603
3663
  constructor(o = 1e3) {
3604
3664
  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,
3665
+ A(this, "geometry");
3666
+ A(this, "material");
3667
+ this.geometry = new b(o, o, o), this.material = new W({
3668
+ uniforms: st.uniforms,
3669
+ vertexShader: st.vertexShader,
3670
+ fragmentShader: st.fragmentShader,
3611
3671
  side: lt
3612
3672
  });
3613
3673
  }
3614
3674
  }
3615
- class Yn extends M {
3675
+ class Jn extends y {
3616
3676
  constructor(o = 1e3) {
3617
3677
  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,
3678
+ A(this, "geometry");
3679
+ A(this, "material");
3680
+ this.geometry = new _(o, 32, 15), this.material = new W({
3681
+ vertexShader: rt.vertexShader,
3682
+ fragmentShader: rt.fragmentShader,
3683
+ uniforms: rt.uniforms,
3624
3684
  side: lt
3625
3685
  });
3626
3686
  }
3627
3687
  }
3628
- const Xn = (e) => {
3688
+ const $n = (e) => {
3629
3689
  const t = new Uint8Array(4 * e * e);
3630
3690
  for (let n = 0; n < e * e; n++) {
3631
3691
  const r = n * 4, s = (n % e ^ Math.floor(n / e)) & 1 ? 255 : 0;
3632
3692
  t[r] = s, t[r + 1] = s, t[r + 2] = s, t[r + 3] = 255;
3633
3693
  }
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;
3694
+ const o = new _t(t, e, e, Ut, Ot);
3695
+ return o.wrapS = ht, o.wrapT = ht, o.minFilter = Lt, o.needsUpdate = !0, o;
3636
3696
  };
3637
- function Zn(e) {
3697
+ function Wn(e) {
3638
3698
  const t = parseInt(e.slice(1), 16);
3639
3699
  return [
3640
3700
  t >> 16 & 255,
@@ -3645,15 +3705,15 @@ function Zn(e) {
3645
3705
  // b
3646
3706
  ];
3647
3707
  }
3648
- function jn(e) {
3708
+ function ts(e) {
3649
3709
  const [t, o, n] = X(e);
3650
- return to(t, o, n);
3710
+ return ao(t, o, n);
3651
3711
  }
3652
3712
  function X(e) {
3653
3713
  const t = e >> 16 & 255, o = e >> 8 & 255, n = e & 255;
3654
3714
  return [t, o, n];
3655
3715
  }
3656
- function Qn(e, t, o) {
3716
+ function es(e, t, o) {
3657
3717
  t /= 100, o /= 100;
3658
3718
  function n(c, l, u) {
3659
3719
  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;
@@ -3672,18 +3732,18 @@ function Qn(e, t, o) {
3672
3732
  i(a)
3673
3733
  ];
3674
3734
  }
3675
- function We(e, t, o) {
3735
+ function ro(e, t, o) {
3676
3736
  t /= 100, o /= 100;
3677
3737
  const n = (a) => (a + e / 30) % 12, r = t * Math.min(o, 1 - o), s = (a) => o - r * Math.max(-1, Math.min(n(a) - 3, Math.min(9 - n(a), 1)));
3678
3738
  return [s(0) * 255, s(8) * 255, s(4) * 255];
3679
3739
  }
3680
- function Kn(e, t, o) {
3740
+ function os(e, t, o) {
3681
3741
  return [e / 255, t / 255, o / 255];
3682
3742
  }
3683
- function $n(e, t, o) {
3743
+ function ns(e, t, o) {
3684
3744
  return e = Math.round(e), t = Math.round(t), o = Math.round(o), (e << 16) + (t << 8) + o;
3685
3745
  }
3686
- function to(e, t, o) {
3746
+ function ao(e, t, o) {
3687
3747
  e /= 255, t /= 255, o /= 255;
3688
3748
  const n = Math.max(e, t, o), r = Math.min(e, t, o), s = n - r;
3689
3749
  let a = 0, i = 0;
@@ -3692,138 +3752,138 @@ function to(e, t, o) {
3692
3752
  const l = Math.round(c * 100);
3693
3753
  return [a, i, l];
3694
3754
  }
3695
- function eo(e, t) {
3755
+ function io(e, t) {
3696
3756
  return Math.sqrt(
3697
3757
  Math.pow(e[0] - t[0], 2) + Math.pow(e[1] - t[1], 2) + Math.pow(e[2] - t[2], 2)
3698
3758
  );
3699
3759
  }
3700
- function oo(e, t) {
3760
+ function co(e, t) {
3701
3761
  return Math.abs(e[0] - t[0]) + //
3702
3762
  Math.abs(e[1] - t[1]) + Math.abs(e[2] - t[2]);
3703
3763
  }
3704
- function Jn(e, t) {
3764
+ function ss(e, t) {
3705
3765
  const o = X(e);
3706
3766
  let n = null, r = 1 / 0;
3707
3767
  for (const s of t) {
3708
- const a = X(s), i = eo(o, a);
3768
+ const a = X(s), i = io(o, a);
3709
3769
  i < r && (r = i, n = s);
3710
3770
  }
3711
3771
  return n;
3712
3772
  }
3713
- function Wn(e, t) {
3773
+ function rs(e, t) {
3714
3774
  const o = X(e);
3715
3775
  let n = null, r = 1 / 0;
3716
3776
  for (const s of t) {
3717
- const a = X(s), i = oo(o, a);
3777
+ const a = X(s), i = co(o, a);
3718
3778
  i < r && (r = i, n = s);
3719
3779
  }
3720
3780
  return n;
3721
3781
  }
3722
- function ts(e) {
3782
+ function as(e) {
3723
3783
  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);
3784
+ return ro(t, o, n);
3725
3785
  }
3726
- function es(e) {
3727
- const t = new ut().setFromObject(e), o = new v();
3786
+ function is(e) {
3787
+ const t = new ut().setFromObject(e), o = new x();
3728
3788
  t.getCenter(o), e.position.sub(o);
3729
3789
  }
3730
- function os(e, t = new v(0, 0, 0)) {
3731
- const o = new ut().setFromObject(e), n = new v();
3790
+ function cs(e, t = new x(0, 0, 0)) {
3791
+ const o = new ut().setFromObject(e), n = new x();
3732
3792
  o.getCenter(n);
3733
- const r = new v().subVectors(t, n);
3793
+ const r = new x().subVectors(t, n);
3734
3794
  e.position.add(r);
3735
3795
  }
3736
- function ns(e) {
3796
+ function ls(e) {
3737
3797
  e.computeBoundingBox();
3738
3798
  const t = e.boundingBox;
3739
3799
  if (t) {
3740
- const o = t.getCenter(new v());
3800
+ const o = t.getCenter(new x());
3741
3801
  e.translateX(-o.x), e.translateY(-o.y), e.translateZ(-o.z);
3742
3802
  }
3743
3803
  }
3744
- function no(e, t, o) {
3804
+ function lo(e, t, o) {
3745
3805
  return Math.max(0, Math.min(1, (e - t) / (o - t)));
3746
3806
  }
3747
- function ss(e, t, o, n, r, s = 20, a = 0, i = 1) {
3807
+ function us(e, t, o, n, r, s = 20, a = 0, i = 1) {
3748
3808
  const c = [];
3749
3809
  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));
3810
+ const u = l / s, m = e(lo(u, a, i)), h = t + m * (o - t), f = n + u * (r - n);
3811
+ c.push(new v(h, f));
3752
3812
  }
3753
3813
  return c;
3754
3814
  }
3755
- function rs(e) {
3756
- const o = new ut().setFromObject(e).getCenter(new v());
3815
+ function ms(e) {
3816
+ const o = new ut().setFromObject(e).getCenter(new x());
3757
3817
  e.translateX(-o.x), e.translateY(-o.y), e.translateZ(-o.z), e.updateMatrixWorld(!0);
3758
3818
  }
3759
- function as(e) {
3819
+ function hs(e) {
3760
3820
  e.geometry.computeBoundingBox();
3761
3821
  const t = e.geometry.boundingBox;
3762
3822
  if (t) {
3763
- const o = t.getCenter(new v());
3823
+ const o = t.getCenter(new x());
3764
3824
  e.geometry.translate(-o.x, -o.y, -o.z);
3765
3825
  }
3766
3826
  }
3767
- const so = (e, t, o, n, r = 24) => {
3827
+ const uo = (e, t, o, n, r = 24) => {
3768
3828
  let s = [];
3769
3829
  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));
3830
+ const i = a / r, c = F.CUBIC(i, e.x, t.x, o.x, n.x), l = F.CUBIC(i, e.y, t.y, o.y, n.y);
3831
+ s.push(new v(c, l));
3772
3832
  }
3773
3833
  return s;
3774
- }, ro = (e, t, o, n = 24) => {
3834
+ }, mo = (e, t, o, n = 24) => {
3775
3835
  let r = [];
3776
3836
  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));
3837
+ const a = s / n, i = F.DAMPED(a, o) * (t.x - e.x) + e.x, c = e.y + a * (t.y - e.y);
3838
+ r.push(new v(i, c));
3779
3839
  }
3780
3840
  return r;
3781
- }, ao = (e, t, o, n, r = 24) => {
3841
+ }, ho = (e, t, o, n, r = 24) => {
3782
3842
  let s = [];
3783
3843
  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));
3844
+ const i = a / r, c = F.EXPONENTIAL(i, o, n) * (t.x - e.x) + e.x, l = e.y + i * (t.y - e.y);
3845
+ s.push(new v(c, l));
3786
3846
  }
3787
3847
  return s;
3788
- }, io = (e, t, o, n, r = 24) => {
3848
+ }, fo = (e, t, o, n, r = 24) => {
3789
3849
  let s = [];
3790
3850
  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));
3851
+ const i = a / r, c = F.LOGARITHMIC(i, o, n) * (t.x - e.x) + e.x, l = e.y + i * (t.y - e.y);
3852
+ s.push(new v(c, l));
3793
3853
  }
3794
3854
  return s;
3795
- }, co = (e, t, o, n, r, s = 24) => {
3855
+ }, po = (e, t, o, n, r, s = 24) => {
3796
3856
  let a = [];
3797
3857
  for (let i = 0; i <= s; i++) {
3798
3858
  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));
3859
+ a.push(new v(l, u));
3800
3860
  }
3801
3861
  return a;
3802
- }, lo = (e, t, o, n = 24) => {
3862
+ }, Mo = (e, t, o, n = 24) => {
3803
3863
  let r = [];
3804
3864
  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));
3865
+ const a = s / n, i = F.QUADRATIC(a, e.x, t.x, o.x), c = F.QUADRATIC(a, e.y, t.y, o.y);
3866
+ r.push(new v(i, c));
3807
3867
  }
3808
3868
  return r;
3809
- }, uo = (e, t, o, n = 24) => {
3869
+ }, yo = (e, t, o, n = 24) => {
3810
3870
  let r = [];
3811
3871
  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));
3872
+ const a = s / n, i = F.SIGMOID(a, o) * (t.x - e.x) + e.x, c = e.y + a * (t.y - e.y);
3873
+ r.push(new v(i, c));
3814
3874
  }
3815
3875
  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
3876
+ }, fs = {
3877
+ createCubicCurvePoints: uo,
3878
+ createDampedCurvePoints: mo,
3879
+ createExponentialCurvePoints: ho,
3880
+ createLogarithmicCurvePoints: fo,
3881
+ createParabolicCurvePoints: po,
3882
+ createQuadraticCurvePoints: Mo,
3883
+ createSigmoidCurvePoints: yo
3824
3884
  };
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);
3885
+ function ps(e, t, o, n, r, s = [0, 0], a = [1, 0], i = [0, 1], c = [1, 1]) {
3886
+ const l = r || wo(e, t, o);
3827
3887
  return [
3828
3888
  // Triangle 1
3829
3889
  { pos: e, norm: l, uv: s },
@@ -3835,7 +3895,7 @@ function cs(e, t, o, n, r, s = [0, 0], a = [1, 0], i = [0, 1], c = [1, 1]) {
3835
3895
  { pos: o, norm: l, uv: i }
3836
3896
  ];
3837
3897
  }
3838
- function mo(e, t, o) {
3898
+ function wo(e, t, o) {
3839
3899
  const n = [
3840
3900
  t[0] - e[0],
3841
3901
  t[1] - e[1],
@@ -3851,7 +3911,7 @@ function mo(e, t, o) {
3851
3911
  ], a = Math.sqrt(s[0] ** 2 + s[1] ** 2 + s[2] ** 2);
3852
3912
  return s.map((i) => i / a);
3853
3913
  }
3854
- function ls(e, t) {
3914
+ function ds(e, t) {
3855
3915
  return e.map(([o, n, r]) => {
3856
3916
  switch (t) {
3857
3917
  case "x":
@@ -3865,39 +3925,39 @@ function ls(e, t) {
3865
3925
  }
3866
3926
  });
3867
3927
  }
3868
- function ho(e) {
3928
+ function vo(e) {
3869
3929
  const [t, o, n] = e, r = Math.abs(t), s = Math.abs(o), a = Math.abs(n);
3870
3930
  return r >= s && r >= a ? [n > 0 ? n : -n, o] : s >= r && s >= a ? [t, n > 0 ? n : -n] : [t, o];
3871
3931
  }
3872
- function us(e) {
3873
- return e.map((t) => ho(t));
3932
+ function Ms(e) {
3933
+ return e.map((t) => vo(t));
3874
3934
  }
3875
- function ms(e) {
3935
+ function ys(e) {
3876
3936
  return e.map(([t, o, n]) => {
3877
3937
  const r = Math.atan2(n, t), s = Math.acos(o / Math.sqrt(t ** 2 + o ** 2 + n ** 2)), a = r / (2 * Math.PI) + 0.5, i = 1 - s / Math.PI;
3878
3938
  return [a, i];
3879
3939
  });
3880
3940
  }
3881
- function hs(e) {
3941
+ function ws(e) {
3882
3942
  return e.map(([t, o, n]) => [Math.atan2(n, t) / (2 * Math.PI) + 0.5, o]);
3883
3943
  }
3884
- function fs(e) {
3944
+ function vs(e) {
3885
3945
  return e.map(([t, o, n]) => {
3886
3946
  const r = Math.sqrt(t ** 2 + n ** 2);
3887
3947
  return [Math.atan2(n, t) / (2 * Math.PI) + 0.5, r];
3888
3948
  });
3889
3949
  }
3890
- function fo(e, t, o, n, r) {
3950
+ function xo(e, t, o, n, r) {
3891
3951
  return [
3892
3952
  (e[0] - t) / (o - t),
3893
3953
  (e[1] - n) / (r - n)
3894
3954
  ];
3895
3955
  }
3896
- function ps(e, t, o) {
3956
+ function xs(e, t, o) {
3897
3957
  const [n, r] = t, [s, a] = o;
3898
- return e.map((i) => fo(i, n, s, r, a));
3958
+ return e.map((i) => xo(i, n, s, r, a));
3899
3959
  }
3900
- function ds(e) {
3960
+ function gs(e) {
3901
3961
  const t = Math.min(...e.map((s) => s[0])), o = Math.max(...e.map((s) => s[0])), n = Math.min(...e.map((s) => s[1])), r = Math.max(...e.map((s) => s[1]));
3902
3962
  return {
3903
3963
  minBounds: [t, n],
@@ -3905,209 +3965,215 @@ function ds(e) {
3905
3965
  };
3906
3966
  }
3907
3967
  export {
3908
- Vn as AtmosphericSkybox,
3968
+ Qn as AtmosphericSkybox,
3909
3969
  mt as Axis,
3910
- Fo as BifurcatedStaircaseGeometry,
3911
- _n as Bone,
3912
- Fe as BoneGeometry,
3913
- Ko as Book,
3914
- 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,
3970
+ Ho as BifurcatedStaircaseGeometry,
3971
+ Dn as Bone,
3972
+ Ve as BoneGeometry,
3973
+ on as Book,
3974
+ wt as BookGeometry,
3975
+ dn as Bookshelf,
3976
+ Le as BookshelfGeometry,
3977
+ ko as BubblingEffect,
3978
+ In as BunsenBurner,
3979
+ On as Burst,
3980
+ eo as BurstShape,
3981
+ yn as Candle,
3982
+ at as ColorPalette,
3983
+ an as CrossHeadstone,
3984
+ Ce as CrossHeadstoneGeometry,
3985
+ Kn as DaySkybox,
3986
+ Mn as Desk,
3987
+ Fe as DeskGeometry,
3988
+ Xo as DioramaGeometry,
3989
+ et as Direction,
3990
+ Do as Easing,
3991
+ An as ElectricPanel,
3992
+ Ee as EllipticLeafGeometry,
3993
+ Co as EmissivePulseAnimation,
3994
+ En as ErlenmeyerFlask,
3995
+ Ye as ErlenmeyerFlaskGeometry,
3936
3996
  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,
3995
- 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,
3997
+ bn as FlorenceFlask,
3998
+ Ze as FlorenceFlaskGeometry,
3999
+ Ln as Gear,
4000
+ oo as GearShape,
4001
+ Fn as Heart,
4002
+ no as HeartShape,
4003
+ qn as Hill,
4004
+ Je as HillGeometry,
4005
+ nn as Jar,
4006
+ Se as JarGeometry,
4007
+ Zo as LShapedStaircaseGeometry,
4008
+ wn as Lantern,
4009
+ qo as LeafEffect,
4010
+ Sn as LeverPanel,
4011
+ No as LightningAnimation,
4012
+ Ko as LineEquations,
4013
+ cn as Mausoleum,
4014
+ Be as MausoleumGeometry,
4015
+ Pn as Microscope,
4016
+ en as Moon,
4017
+ Tn as MortarAndPestle,
4018
+ je as MortarGeometry,
4019
+ vn as MossyRocks,
4020
+ ze as MossyRocksGeometry,
4021
+ Vn as Mound,
4022
+ $e as MoundGeometry,
4023
+ Jn as NightSkybox,
4024
+ ln as ObeliskHeadstone,
4025
+ Re as ObeliskHeadstoneGeometry,
4026
+ Gn as Panel,
4027
+ Cn as PanelLight,
4028
+ F as ParametricCurve,
4029
+ fs as ParametricCurveUtils,
4030
+ sn as PotionBottle,
4031
+ Te as PotionBottleGeometry,
4032
+ xn as Rock,
4033
+ ke as RockGeometry,
4034
+ gn as Rocks,
4035
+ qe as RocksGeometry,
4036
+ un as RoundedHeadstone,
4037
+ Ne as RoundedHeadstoneGeometry,
4038
+ jo as SpiralStaircaseGeometry,
4039
+ Bn as SpiralTube,
4040
+ mn as SquareHeadstone,
4041
+ _e as SquareHeadstoneGeometry,
4042
+ Qo as StaircaseGeometry,
4043
+ Rn as Stand,
4044
+ Qe as StandGeometry,
4045
+ zn as Star,
4046
+ so as StarShape,
4047
+ hn as StoneFencePost,
4048
+ Ue as StoneFencePostGeometry,
4049
+ Nn as TeslaCoil,
4050
+ Ke as TeslaCoilGeometry,
4051
+ _n as TestTube,
4052
+ it as TestTubeGeometry,
4053
+ Un as TestTubeRack,
4054
+ kn as Tree,
4055
+ We as TreeGeometry,
4056
+ rn as WineBottle,
4057
+ Ge as WineBottleGeometry,
4058
+ fn as WroughtIronBar,
4059
+ It as WroughtIronBarGeometry,
4060
+ pn as WroughtIronFence,
4061
+ Oe as WroughtIronFenceGeometry,
4062
+ Xn as addNoiseDisplacement,
4063
+ Yn as addWaterDisplacement,
4064
+ Xe as appendSphericalCurve,
4065
+ nt as atmosphericShader,
4066
+ co as calculateChannelDifference,
4067
+ io as calculateDistance,
4068
+ wo as calculateNormal,
4069
+ gs as calculateUVBounds,
4070
+ gt as calculateXFromSlopeIntercept,
4071
+ Pe as calculateYFromSlopeIntercept,
4072
+ Ao as cameraDollyAnimation,
4073
+ Eo as cameraFlythroughAnimation,
4074
+ bo as cameraOrbitAnimation,
4075
+ So as cameraPendulumAnimation,
4076
+ Po as cameraSpiralAscensionAnimation,
4077
+ To as cameraWobbleAnimation,
4078
+ Go as cameraZoomInAnimation,
4079
+ He as capHeightFromRadius,
4080
+ $o as capWidthFromRadius,
4081
+ tn as cartesianToSpherical,
4082
+ is as centerGroup,
4083
+ cs as centerGroupAtTarget,
4084
+ ls as centerInstancedMesh,
4085
+ ms as centerMesh,
4086
+ hs as centerMeshGeometry,
4087
+ $n as checkerboardTexture,
4088
+ re as circularEaseIn,
4089
+ ie as circularEaseInOut,
4090
+ ae as circularEaseOut,
4091
+ ue as concave,
4092
+ me as convex,
4093
+ uo as createCubicCurvePoints,
4094
+ mo as createDampedCurvePoints,
4095
+ ho as createExponentialCurvePoints,
4096
+ fo as createLogarithmicCurvePoints,
4097
+ po as createParabolicCurvePoints,
4098
+ ps as createQuad,
4099
+ Mo as createQuadraticCurvePoints,
4100
+ yo as createSigmoidCurvePoints,
4101
+ Me as cubicCurve,
4102
+ Zt as cubicEaseIn,
4103
+ Qt as cubicEaseInOut,
4104
+ jt as cubicEaseOut,
4105
+ vo as cubicUVMapping,
4106
+ Ms as cubicUVMappingBatch,
4107
+ ws as cylindricalUVMapping,
4108
+ ye as dampedCurve,
4109
+ st as daySkyShader,
4110
+ _o as displacementBrush,
4111
+ we as exponentialCurve,
4112
+ oe as exponentialEaseIn,
4113
+ se as exponentialEaseInOut,
4114
+ ne as exponentialEaseOut,
4115
+ jn as fadeShader,
4116
+ ss as findClosestColor,
4117
+ rs as findClosestColorChannelWise,
4118
+ Uo as flattenBrush,
4119
+ de as gaussian,
4120
+ as as getAnalogousColors,
4121
+ ts as hexToHsl,
4052
4122
  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,
4094
- 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
4123
+ es as hslToHex,
4124
+ ro as hslToRgb,
4125
+ us as interpolateCurve,
4126
+ pe as inverse,
4127
+ ce as linear,
4128
+ he as logarithmic,
4129
+ ve as logarithmicCurve,
4130
+ Ft as logarithmicRandomMax,
4131
+ zt as logarithmicRandomMin,
4132
+ to as moonShader,
4133
+ rt as nightSkyShader,
4134
+ Oo as noiseBrush,
4135
+ os as normalizeRgb,
4136
+ xo as normalizeUV,
4137
+ xs as normalizeUVBatch,
4138
+ xe as parabolicCurve,
4139
+ Wn as parseHexCode,
4140
+ ds as planarUVMapping,
4141
+ vs as polarUVMapping,
4142
+ ge as quadraticCurve,
4143
+ Yt as quadraticEaseIn,
4144
+ Xt as quadraticEaseInOut,
4145
+ Ht as quadraticEaseOut,
4146
+ Kt as quarticEaseIn,
4147
+ $t as quarticEaseInOut,
4148
+ Jt as quarticEaseOut,
4149
+ Wt as quinticEaseIn,
4150
+ ee as quinticEaseInOut,
4151
+ te as quinticEaseOut,
4152
+ Jo as radiusFromCapHeight,
4153
+ At as radiusFromCapWidth,
4154
+ yt as randomFloat,
4155
+ Bo as randomInteger,
4156
+ De as randomTransformVertices,
4157
+ ns as rgbToHex,
4158
+ ao as rgbToHsl,
4159
+ Vo as rowOfBooksByCount,
4160
+ Yo as rowOfBooksByLength,
4161
+ xt as rowOfBooksByScales,
4162
+ Ro as setRandomInterval,
4163
+ Dt as setRandomTimeout,
4164
+ Ie as sigmoidCurve,
4165
+ kt as sineEaseIn,
4166
+ Vt as sineEaseInOut,
4167
+ qt as sineEaseOut,
4168
+ Lo as smoothBrush,
4169
+ le as smoothstep,
4170
+ Wo as sphericalToCartesian,
4171
+ ys as sphericalUVMapping,
4172
+ Fo as spikeBrush,
4173
+ fe as squareRoot,
4174
+ pt as thetaLengthForRadius,
4175
+ zo as twistBrush,
4176
+ Zn as updateNoiseDisplacementTime,
4177
+ Hn as updateWaterDisplacementTime
4112
4178
  };
4113
4179
  //# sourceMappingURL=index.es.js.map