three-low-poly 0.9.16 → 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 It = Object.defineProperty;
2
- var Et = (e, t, o) => t in e ? It(e, t, { enumerable: !0, configurable: !0, writable: !0, value: o }) : e[t] = o;
3
- var g = (e, t, o) => Et(e, typeof t != "symbol" ? t + "" : t, o);
4
- import { Vector3 as b, MathUtils as z, Quaternion as At, InstancedMesh as at, SphereGeometry as U, MeshStandardMaterial as y, Matrix4 as H, BufferGeometry as A, Float32BufferAttribute as D, DoubleSide as k, Euler as St, BufferAttribute as L, BoxGeometry as E, ConeGeometry as Y, CylinderGeometry as S, Vector2 as I, LatheGeometry as Z, CircleGeometry as Pt, TorusGeometry as dt, DodecahedronGeometry as it, Mesh as M, ShaderMaterial as J, Group as B, Shape as j, ExtrudeGeometry as Q, MeshBasicMaterial as Tt, PointLight as pt, MeshPhysicalMaterial as W, CatmullRomCurve3 as Gt, TubeGeometry as Ct, Path as Bt, Color as $, BackSide as ct, DataTexture as Rt, RGBAFormat as Nt, UnsignedByteType as Ut, RepeatWrapping as ht, NearestFilter as _t, Box3 as lt } from "three";
5
- function mo(e, t, o, n) {
6
- const r = e.position.clone(), s = r.clone().add(e.getWorldDirection(new b()).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 mo(e, t, o, n) {
16
16
  }
17
17
  requestAnimationFrame(i);
18
18
  }
19
- function fo(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) {
@@ -26,12 +26,12 @@ function fo(e, t, o, n) {
26
26
  e.position.copy(t[t.length - 1]), n && n();
27
27
  return;
28
28
  }
29
- const u = l * r, h = Math.floor(u), m = u - h, f = t[h], d = t[h + 1];
30
- e.position.lerpVectors(f, d, m), e.lookAt(d), requestAnimationFrame(a);
29
+ const u = l * r, m = Math.floor(u), h = u - m, f = t[m], p = t[m + 1];
30
+ e.position.lerpVectors(f, p, h), e.lookAt(p), requestAnimationFrame(a);
31
31
  }
32
32
  requestAnimationFrame(a);
33
33
  }
34
- function po(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);
@@ -40,17 +40,17 @@ function po(e, t, o, n, r) {
40
40
  r && r();
41
41
  return;
42
42
  }
43
- const u = l * Math.PI * 2, h = t.x + o * Math.cos(u), m = t.z + o * Math.sin(u);
44
- e.position.set(h, e.position.y, m), e.lookAt(t), requestAnimationFrame(a);
43
+ const u = l * Math.PI * 2, m = t.x + o * Math.cos(u), h = t.z + o * Math.sin(u);
44
+ e.position.set(m, e.position.y, h), e.lookAt(t), requestAnimationFrame(a);
45
45
  }
46
46
  requestAnimationFrame(a);
47
47
  }
48
- function Mo(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);
52
- const u = l - a, h = n / r, m = u % h / h, f = Math.sin(m * Math.PI * 2) * Math.PI / 6, d = t.x + o * Math.sin(f), p = t.z + o * Math.cos(f);
53
- if (e.position.set(d, e.position.y, p), e.lookAt(t), u >= (i + 1) * h && i++, i >= r) {
52
+ const u = l - a, m = n / r, h = u % m / m, f = Math.sin(h * Math.PI * 2) * Math.PI / 6, p = t.x + o * Math.sin(f), d = t.z + o * Math.cos(f);
53
+ if (e.position.set(p, e.position.y, d), e.lookAt(t), u >= (i + 1) * m && i++, i >= r) {
54
54
  s && s();
55
55
  return;
56
56
  }
@@ -58,21 +58,21 @@ function Mo(e, t, o, n, r, s) {
58
58
  }
59
59
  requestAnimationFrame(c);
60
60
  }
61
- function yo(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);
65
- const h = (l - i) / s;
66
- if (h >= 1) {
65
+ const m = (l - i) / s;
66
+ if (m >= 1) {
67
67
  a && a();
68
68
  return;
69
69
  }
70
- const m = h * Math.PI * 2 * r, f = t.x + o * Math.cos(m), d = t.z + o * Math.sin(m), p = t.y + n * h;
71
- e.position.set(f, p, d), e.lookAt(t), requestAnimationFrame(c);
70
+ const h = m * Math.PI * 2 * r, f = t.x + o * Math.cos(h), p = t.z + o * Math.sin(h), d = t.y + n * m;
71
+ e.position.set(f, d, p), e.lookAt(t), requestAnimationFrame(c);
72
72
  }
73
73
  requestAnimationFrame(c);
74
74
  }
75
- function wo(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 wo(e, t, o, n) {
80
80
  e.position.copy(r), n && n();
81
81
  return;
82
82
  }
83
- const u = new b(
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,28 +89,112 @@ function wo(e, t, o, n) {
89
89
  }
90
90
  requestAnimationFrame(a);
91
91
  }
92
- function vo(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;
96
96
  function c(l) {
97
97
  i === null && (i = l);
98
- const h = (l - i) / r;
99
- if (h >= 1) {
98
+ const m = (l - i) / r;
99
+ if (m >= 1) {
100
100
  e.fov = n, e.updateProjectionMatrix(), e.lookAt(t), e.fov = a, e.updateProjectionMatrix(), s && s();
101
101
  return;
102
102
  }
103
- e.fov = z.lerp(o, n, h), e.updateProjectionMatrix(), e.lookAt(t), requestAnimationFrame(c);
103
+ e.fov = L.lerp(o, n, m), e.updateProjectionMatrix(), e.lookAt(t), requestAnimationFrame(c);
104
104
  }
105
105
  requestAnimationFrame(c);
106
106
  }
107
- const tt = {
108
- UP: new b(0, 1, 0),
109
- DOWN: new b(0, -1, 0),
110
- LEFT: new b(-1, 0, 0),
111
- RIGHT: new b(1, 0, 0),
112
- FORWARD: new b(0, 0, 1),
113
- BACKWARD: new b(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,94 +209,98 @@ 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
- }, xo = (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 b();
215
+ const c = new x();
132
216
  c.fromBufferAttribute(a, i);
133
217
  const l = c.distanceTo(t);
134
218
  if (l < o) {
135
- const h = s(l, o) * n;
136
- c.add(r.clone().multiplyScalar(h)), a.setXYZ(i, c.x, c.y, c.z);
219
+ const m = s(l, o) * n;
220
+ c.add(r.clone().multiplyScalar(m)), a.setXYZ(i, c.x, c.y, c.z);
137
221
  }
138
222
  }
139
223
  a.needsUpdate = !0;
140
- }, go = (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 b();
227
+ const l = new x();
144
228
  l.fromBufferAttribute(i, c);
145
229
  const u = l.distanceTo(t);
146
230
  if (u < o) {
147
- const m = a(u, o) * r, f = l.dot(s.normalize()), d = n - f;
148
- l.add(s.clone().multiplyScalar(d * m)), i.setXYZ(c, l.x, l.y, l.z);
231
+ const h = a(u, o) * r, f = l.dot(s.normalize()), p = n - f;
232
+ l.add(s.clone().multiplyScalar(p * h)), i.setXYZ(c, l.x, l.y, l.z);
149
233
  }
150
234
  }
151
235
  i.needsUpdate = !0;
152
- }, bo = (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 b();
239
+ const c = new x();
156
240
  c.fromBufferAttribute(a, i);
157
241
  const l = c.distanceTo(t);
158
242
  if (l < o) {
159
- const u = s(l, o), h = n * u, m = r.clone().normalize();
160
- c.x += z.randFloatSpread(h) * m.x, c.y += z.randFloatSpread(h) * m.y, c.z += z.randFloatSpread(h) * m.z, a.setXYZ(i, c.x, c.y, c.z);
243
+ const u = s(l, o), m = n * u, h = r.clone().normalize();
244
+ c.x += L.randFloatSpread(m) * h.x, c.y += L.randFloatSpread(m) * h.y, c.z += L.randFloatSpread(m) * h.z, a.setXYZ(i, c.x, c.y, c.z);
161
245
  }
162
246
  }
163
247
  a.needsUpdate = !0;
164
- }, Io = (e, t, o, n) => {
165
- const r = e.attributes.position, s = new b();
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 b();
251
+ const i = new x();
168
252
  if (i.fromBufferAttribute(r, a), i.distanceTo(t) < o) {
169
- let l = new b(), u = 0;
170
- for (let h = 0; h < r.count; h++)
171
- s.fromBufferAttribute(r, h), s.distanceTo(i) < o && (l.add(s), u++);
253
+ let l = new x(), u = 0;
254
+ for (let m = 0; m < r.count; m++)
255
+ s.fromBufferAttribute(r, m), s.distanceTo(i) < o && (l.add(s), u++);
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
- }, Eo = (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 b();
263
+ const c = new x();
180
264
  c.fromBufferAttribute(a, i);
181
265
  const l = c.distanceTo(t);
182
266
  if (l < o) {
183
- const h = s(l, o) * n * (r ? -1 : 1), m = c.clone().sub(t).normalize();
184
- c.add(m.multiplyScalar(h)), a.setXYZ(i, c.x, c.y, c.z);
267
+ const m = s(l, o) * n * (r ? -1 : 1), h = c.clone().sub(t).normalize();
268
+ c.add(h.multiplyScalar(m)), a.setXYZ(i, c.x, c.y, c.z);
185
269
  }
186
270
  }
187
271
  a.needsUpdate = !0;
188
- }, Ao = (e, t, o, n, r = tt.UP, s = K.LINEAR) => {
189
- const a = e.attributes.position, i = new At();
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 b();
275
+ const l = new x();
192
276
  l.fromBufferAttribute(a, c);
193
277
  const u = l.distanceTo(t);
194
278
  if (u < o) {
195
- const m = s(u, o) * n;
196
- i.setFromAxisAngle(r, m), l.sub(t).applyQuaternion(i).add(t), a.setXYZ(c, l.x, l.y, l.z);
279
+ const h = s(u, o) * n;
280
+ i.setFromAxisAngle(r, h), l.sub(t).applyQuaternion(i).add(t), a.setXYZ(c, l.x, l.y, l.z);
197
281
  }
198
282
  }
199
283
  a.needsUpdate = !0;
200
- }, ut = {
201
- X: new b(1, 0, 0),
202
- Y: new b(0, 1, 0),
203
- Z: new b(0, 0, 1),
204
- XY: new b(1, 1, 0).normalize(),
205
- XZ: new b(1, 0, 1).normalize(),
206
- YZ: new b(0, 1, 1).normalize(),
207
- XYZ: new b(1, 1, 1).normalize()
208
284
  }, mt = {
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
294
+ CADMIUM_RED: 15073318,
295
+ // Cadmium Red or Bright Red. Vivid, bold red shade with warm undertones.
210
296
  CARDINAL_RED: 12981270,
211
297
  // Bright Crimson or Cardinal Red. It’s a vivid, bold red shade with warm undertones.
212
298
  CHERRY_RED: 14165028,
213
299
  // Bold red with slightly warm undertones.
214
300
  CRIMSON: 12986408,
215
301
  // Crimson Red or Firebrick Red. It’s a bold, deep red with a slightly cool undertone.
302
+ ALIZARIN_CRIMSON: 11674146,
303
+ // Deep, rich red with cool undertones.
216
304
  RUST: 12731693,
217
305
  // Red clay or Brick Red. It’s a warm, earthy red-orange shade, often associated with weathered metal, autumn leaves, or natural clay tones.
218
306
  DARK_RED: 9109504,
@@ -222,11 +310,15 @@ const tt = {
222
310
  // Tangerine or Bright Orange-Red. It’s a vibrant, warm shade of orange with red undertones with a tropical feel.
223
311
  ORANGE_PEEL: 16737792,
224
312
  // Orange Peel or Bright Orange. It’s a vivid, energetic orange.
313
+ CADMIUM_ORANGE: 16744228,
314
+ // warm orange with strong red undertones, giving it a slightly richer and darker appearance.
225
315
  ORANGE: 16753920,
226
316
  // Bright, vibrant hue associated with sunsets, citrus fruits, and autumn tones.
227
317
  // Yellow
228
318
  AMBER: 16755200,
229
319
  // Bright Orange. It’s a warm, vibrant shade of orange with golden-yellow undertones, associated with autumn hues.
320
+ CADMIUM_YELLOW: 16766720,
321
+ // Bright golden yellow with warm undertones.
230
322
  GOLD: 16766720,
231
323
  // Rich, vibrant yellow with warm undertones, resembling the color of metallic gold.
232
324
  YELLOW: 16776960,
@@ -242,13 +334,19 @@ const tt = {
242
334
  // It's a natural, medium-dark green with slightly muted tones, resembling the lush greenery of ferns or foliage.
243
335
  FOREST_GREEN: 2263842,
244
336
  // Rich, deep green shade, often associated with dense woodland and nature.
337
+ SAP_GREEN: 5274922,
338
+ // Natural green with a muted tone.
245
339
  OLIVE_DRAB: 5597999,
246
340
  // Muted earthy green with brownish undertones.
341
+ VIRIDIAN_GREEN: 43115,
342
+ // Vibrant cool green.
247
343
  MINT_GREEN: 8965290,
248
344
  // Mint Green or Light Jade. It’s a soft, pastel green with subtle blue undertones.
249
345
  AQUAMARINE: 65450,
250
346
  // Aquamarine or Mint Green. It’s a bright, vibrant turquoise shade that blends green and blue.
251
347
  // Blue
348
+ PHTHALO_BLUE: 3977,
349
+ // Phthalo Blue or Bright Navy. Intense, rich blue with a slightly greenish cool undertone.
252
350
  SKY_BLUE: 8965375,
253
351
  // Sky Blue or Baby Blue. It’s a light, cheerful shade of blue with a slightly soft and pastel tone, evoking a sense of openness like a clear daytime sky.
254
352
  CERULEAN_BLUE: 6139362,
@@ -261,7 +359,13 @@ const tt = {
261
359
  // Royal Blue or Bright Indigo. It’s a vibrant medium blue shade with a slightly cool and saturated tone.
262
360
  MIDNIGHT_BLUE: 51,
263
361
  // A very deep, dark blue shade that evokes the feeling of a starless night sky or deep ocean depths, with subtle blue undertones.
362
+ ULTRAMARINE_BLUE: 4149685,
363
+ // Deep, rich blue with a slightly cool undertone.
264
364
  // Purple
365
+ COBALT_VIOLET: 6950317,
366
+ // Soft, purple tone.
367
+ DEEP_VIOLET: 11141375,
368
+ // Electric Purple or Deep Violet. It’s a bright, vibrant shade of purple with a strong blue undertone.
265
369
  CORAL_PINK: 16724838,
266
370
  // Bright Rose or Coral Pink. It’s a vivid, bold pinkish-red shade with warm undertones.
267
371
  VIVID_MAGENTA: 16720639,
@@ -274,11 +378,11 @@ const tt = {
274
378
  // Pink Sherbet or Light Pink. It’s a soft, playful pink shade with a hint of warmth.
275
379
  SOFT_PINK: 16762823,
276
380
  // Blush Pink or Soft Pink. It’s a pale, delicate pink with warm undertones.
277
- DEEP_VIOLET: 11141375,
278
- // Electric Purple or Deep Violet. It’s a bright, vibrant shade of purple with a strong blue undertone.
279
381
  // Brown
280
- TAUPE: 9141627,
281
- // Rosy Brown or Taupe Gray. It’s a muted, earthy tone with a mix of brown and gray.
382
+ BURNT_SIENNA: 15299665,
383
+ // warm, earthy brown with reddish undertones.
384
+ BURNT_UMBER: 9057060,
385
+ // Dark brown with red undertones.
282
386
  SIENNA: 9132587,
283
387
  // Dark Goldenrod Brown. It’s a warm, earthy brown with reddish and golden undertones, often associated with natural clay or autumn leaves.
284
388
  SADDLE_BROWN: 9127187,
@@ -287,6 +391,14 @@ const tt = {
287
391
  // Rich, earthy tone with hints of red and gray, resembling the color of natural wood or dark leather.
288
392
  DARK_UMBER: 4929057,
289
393
  // Coffee Brown or Dark Umber. It’s a deep, rich brown with warm, earthy undertones, often resembling dark wood or roasted coffee beans.
394
+ RAW_UMBER: 8545860,
395
+ // Cool, muted brown.
396
+ YELLOW_OCHRE: 12951919,
397
+ // Warm, muted yellow-brown
398
+ RAW_SIENNA: 13808780,
399
+ // Light, golden brown.
400
+ TAUPE: 9141627,
401
+ // Rosy Brown or Taupe Gray. It’s a muted, earthy tone with a mix of brown and gray.
290
402
  // Gray
291
403
  ONYX: 197379,
292
404
  // Extremely deep, almost black shade with a neutral tone.
@@ -298,10 +410,12 @@ const tt = {
298
410
  // Medium-dark shade of gray
299
411
  ASH_GRAY: 4473924,
300
412
  // Ash Gray or Dark Slate Gray.
413
+ GRAPHITE: 5263440,
414
+ // Medium-dark, neutral Graphite Gray or Smoky Gray shadowy muted depth.
301
415
  STEEL_GRAY: 5592405,
302
416
  // Medium Gray or Steel Gray.
303
- COOL_GRAY: 6710886,
304
- // It’s a medium-dark neutral gray.
417
+ DIM_GRAY: 6908265,
418
+ // Medium-dark neutral gray with a muted, balanced tone
305
419
  IRON: 7829367,
306
420
  // It’s a medium gray neutral.
307
421
  GRAY: 8421504,
@@ -310,83 +424,85 @@ const tt = {
310
424
  // It’s a medium-light neutral.
311
425
  SILVER: 11184810,
312
426
  // Light Gray. It’s a soft, pale gray shade with a slightly metallic undertone.
427
+ LIGHT_GRAY: 13421772,
428
+ // Light, neutral Gray, sits between medium grays and white.
313
429
  PALE_GRAY: 15658734,
314
430
  // Very Light Gray or Soft Gray. It’s a pale, almost white shade of gray.
315
431
  WHITE_SMOKE: 16119285,
316
432
  // White Smoke or Light Gray. It’s a soft, pale gray shade with a hint of warmth.
317
- WHITE: 16777215
433
+ TITANIUM_WHITE: 16777215
318
434
  // Pure white, the brightest color possible.
319
- }, Ot = (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), Lt = (e) => e * e, kt = (e) => 1 - Math.pow(1 - e, 2), Dt = (e) => e < 0.5 ? 2 * e * e : 1 - Math.pow(-2 * e + 2, 2) / 2, qt = (e) => e * e * e, Vt = (e) => 1 - Math.pow(1 - e, 3), Ht = (e) => e < 0.5 ? 4 * e * e * e : 1 - Math.pow(-2 * e + 2, 3) / 2, Xt = (e) => e * e * e * e, Yt = (e) => 1 - Math.pow(1 - e, 4), Zt = (e) => e < 0.5 ? 8 * e * e * e * e : 1 - Math.pow(-2 * e + 2, 4) / 2, jt = (e) => e * e * e * e * e, Qt = (e) => 1 - Math.pow(1 - e, 5), Kt = (e) => e < 0.5 ? 16 * e * e * e * e * e : 1 - Math.pow(-2 * e + 2, 5) / 2, $t = (e) => e === 0 ? 0 : Math.pow(2, 10 * e - 10), Jt = (e) => e === 1 ? 1 : 1 - Math.pow(2, -10 * e), Wt = (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, te = (e) => 1 - Math.sqrt(1 - Math.pow(e, 2)), ee = (e) => Math.sqrt(1 - Math.pow(e - 1, 2)), oe = (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, ne = (e) => e, se = (e) => e * e * (3 - 2 * e), re = (e) => 1 - Math.pow(1 - e, 0.3), ae = (e) => Math.pow(e, 0.3), ie = (e) => Math.log(Math.max(0.01, e)) / Math.log(2), ce = (e) => Math.sqrt(e), le = (e) => 1 - e, ue = (e) => Math.exp(-Math.pow(e - 0.5, 2) / (2 * 0.5)), So = {
320
- SINE_EASE_IN: Ot,
321
- SINE_EASE_OUT: zt,
322
- SINE_EASE_IN_OUT: Ft,
323
- QUADRATIC_EASE_IN: Lt,
324
- QUADRATIC_EASE_OUT: kt,
325
- QUADRATIC_EASE_IN_OUT: Dt,
326
- CUBIC_EASE_IN: qt,
327
- CUBIC_EASE_OUT: Vt,
328
- CUBIC_EASE_IN_OUT: Ht,
329
- QUARTIC_EASE_IN: Xt,
330
- QUARTIC_EASE_OUT: Yt,
331
- QUARTIC_EASE_IN_OUT: Zt,
332
- QUINTIC_EASE_IN: jt,
333
- QUINTIC_EASE_OUT: Qt,
334
- QUINTIC_EASE_IN_OUT: Kt,
335
- EXPONENTIAL_EASE_IN: $t,
336
- EXPONENTIAL_EASE_OUT: Jt,
337
- EXPONENTIAL_EASE_IN_OUT: Wt,
338
- CIRCULAR_EASE_IN: te,
339
- CIRCULAR_EASE_OUT: ee,
340
- CIRCULAR_EASE_IN_OUT: oe,
341
- LINEAR: ne,
342
- SMOOTHSTEP: se,
343
- CONCAVE: re,
344
- CONVEX: ae,
345
- LOGARITHMIC: ie,
346
- SQUARE_ROOT: ce,
347
- INVERSE: le,
348
- GAUSSIAN: ue
349
- }, 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) => {
350
466
  const s = Math.max(0, Math.min(1, e)), a = 1 - s;
351
467
  return a * a * a * t + 3 * a * a * s * o + 3 * a * s * s * n + s * s * s * r;
352
- }, me = (e, t = 1) => {
468
+ }, ye = (e, t = 1) => {
353
469
  const o = Math.max(1e-3, t);
354
470
  return (1 - Math.exp(-o * e)) / (1 - Math.exp(-o));
355
- }, fe = (e, t = 1, o = 1) => {
471
+ }, we = (e, t = 1, o = 1) => {
356
472
  const n = Math.max(0, Math.min(1, e));
357
473
  return t * Math.pow(n, o);
358
- }, de = (e, t = 1, o = 1) => {
474
+ }, ve = (e, t = 1, o = 1) => {
359
475
  const n = Math.max(1e-3, Math.min(1, e));
360
476
  return t * Math.log(o * n + 1);
361
- }, pe = (e, t = 1, o = 0, n = 0) => {
477
+ }, xe = (e, t = 1, o = 0, n = 0) => {
362
478
  const r = Math.max(0, Math.min(1, e));
363
479
  return t * r * r + o * r + n;
364
- }, Me = (e, t, o, n) => {
480
+ }, ge = (e, t, o, n) => {
365
481
  const r = Math.max(0, Math.min(1, e)), s = 1 - r;
366
482
  return s * s * t + 2 * s * r * o + r * r * n;
367
- }, ye = (e, t = 10) => {
483
+ }, Ie = (e, t = 10) => {
368
484
  const o = Math.max(0, Math.min(1, e));
369
485
  return 1 / (1 + Math.exp(-t * (o - 0.5)));
370
- }, we = (e) => Math.sin(e * Math.PI * 0.5), F = {
371
- CUBIC: he,
372
- DAMPED: me,
373
- EXPONENTIAL: fe,
374
- LOGARITHMIC: de,
375
- PARABOLIC: pe,
376
- QUADRATIC: Me,
377
- SIGMOID: ye,
378
- SINUSOIDAL: we
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
379
495
  };
380
- class Po extends at {
496
+ class ko extends ct {
381
497
  constructor(o = {}) {
382
498
  const {
383
499
  count: n = 20,
384
500
  width: r = 1.5,
385
501
  height: s = 3,
386
502
  depth: a = 1.5,
387
- geometry: i = new U(0.1, 6, 6),
503
+ geometry: i = new _(0.1, 6, 6),
388
504
  // Small spheres
389
- material: c = new y({
505
+ material: c = new M({
390
506
  color: 16777215,
391
507
  transparent: !0,
392
508
  opacity: 0.6,
@@ -395,14 +511,14 @@ class Po extends at {
395
511
  })
396
512
  } = o;
397
513
  super(i, c, n);
398
- g(this, "bubblePositions", []);
399
- g(this, "velocities", []);
400
- g(this, "width");
401
- g(this, "height");
402
- g(this, "depth");
514
+ A(this, "bubblePositions", []);
515
+ A(this, "velocities", []);
516
+ A(this, "width");
517
+ A(this, "height");
518
+ A(this, "depth");
403
519
  this.height = s, this.width = r, this.depth = a;
404
520
  for (let l = 0; l < this.count; l++) {
405
- const u = new b(
521
+ const u = new x(
406
522
  (Math.random() - 0.5) * r,
407
523
  Math.random() * (s - 1) + 0.5,
408
524
  (Math.random() - 0.5) * a
@@ -428,36 +544,7 @@ class Po extends at {
428
544
  }
429
545
  }
430
546
  }
431
- class To {
432
- constructor(t) {
433
- g(this, "speed");
434
- g(this, "maxIntensity");
435
- g(this, "minIntensity");
436
- g(this, "material");
437
- const {
438
- speed: o = 2,
439
- //
440
- maxIntensity: n = 0.8,
441
- minIntensity: r = 0.2
442
- } = t;
443
- this.speed = o, this.maxIntensity = n, this.minIntensity = r, this.material = t.material;
444
- }
445
- /**
446
- * Update the emissive intensity of the material.
447
- *
448
- * Use Three.Clock getElapsedTime()
449
- *
450
- * Example:
451
- * ```
452
- * const clock = new THREE.Clock();
453
- * effect.update(clock.getElapsedTime());
454
- * ```
455
- */
456
- update(t = 0) {
457
- this.material.emissiveIntensity = this.minIntensity + Math.abs(Math.sin(t * this.speed)) * (this.maxIntensity - this.minIntensity);
458
- }
459
- }
460
- class ve extends A {
547
+ class Ee extends E {
461
548
  constructor(t = 0.1) {
462
549
  super();
463
550
  const o = [], n = [], r = [
@@ -485,19 +572,19 @@ class ve extends A {
485
572
  for (let a = 1; a < r.length - 1; a++)
486
573
  n.push(0, a, a + 1);
487
574
  n.push(0, r.length - 1, 1);
488
- const s = new D(o, 3);
575
+ const s = new q(o, 3);
489
576
  this.setAttribute("position", s), this.setIndex(n), this.computeVertexNormals();
490
577
  }
491
578
  }
492
- class Go extends at {
579
+ class qo extends ct {
493
580
  constructor(o = {}) {
494
581
  const {
495
582
  count: n = 200,
496
583
  width: r = 20,
497
584
  height: s = 10,
498
585
  depth: a = 20,
499
- geometry: i = new ve(),
500
- material: c = new y({
586
+ geometry: i = new Ee(),
587
+ material: c = new M({
501
588
  color: 8956467,
502
589
  metalness: 0.1,
503
590
  roughness: 0.8,
@@ -506,16 +593,16 @@ class Go extends at {
506
593
  })
507
594
  } = o;
508
595
  super(i, c, n);
509
- g(this, "dummyMatrix");
510
- g(this, "velocities");
511
- g(this, "width");
512
- g(this, "height");
513
- g(this, "depth");
596
+ A(this, "dummyMatrix");
597
+ A(this, "velocities");
598
+ A(this, "width");
599
+ A(this, "height");
600
+ A(this, "depth");
514
601
  this.dummyMatrix = new H(), this.velocities = [], this.width = r, this.height = s, this.depth = a;
515
602
  for (let l = 0; l < n; l++) {
516
- const u = (Math.random() - 0.5) * r, h = Math.random() * (s - 1) + 0.5, m = (Math.random() - 0.5) * a, f = (Math.random() - 0.5) * Math.PI, d = (Math.random() - 0.5) * Math.PI, p = (Math.random() - 0.5) * Math.PI;
517
- this.dummyMatrix.makeRotationFromEuler(new St(f, d, p)), this.dummyMatrix.setPosition(u, h, m), this.setMatrixAt(l, this.dummyMatrix);
518
- const w = new b((Math.random() - 0.5) * 0.01, -5e-3, (Math.random() - 0.5) * 0.01);
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;
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);
519
606
  this.velocities.push(w);
520
607
  }
521
608
  this.instanceMatrix.needsUpdate = !0;
@@ -524,7 +611,7 @@ class Go extends at {
524
611
  for (let o = 0; o < this.count; o++) {
525
612
  const n = new H();
526
613
  this.getMatrixAt(o, n);
527
- const r = new b();
614
+ const r = new x();
528
615
  r.setFromMatrixPosition(n);
529
616
  const s = this.velocities[o];
530
617
  r.add(s), r.y < 0 && (r.set(
@@ -536,89 +623,34 @@ class Go extends at {
536
623
  this.instanceMatrix.needsUpdate = !0;
537
624
  }
538
625
  }
539
- function Mt(e = 0, t = 1) {
540
- return Math.random() * (t - e) + e;
541
- }
542
- function Co(e = 0, t = 1) {
543
- return Math.floor(Math.random() * (t - e + 1)) + e;
544
- }
545
- function xe(e = 0.5, t = 0, o = 1) {
546
- return t + (o - t) * Math.pow(Math.random(), e);
547
- }
548
- function ge(e = 0.5, t = 0, o = 1) {
549
- return t + (o - t) * Math.pow(1 - Math.random(), e);
550
- }
551
- function be(e, t, o) {
552
- const n = t + Math.random() * (o - t);
553
- return setTimeout(e, n);
554
- }
555
- function Bo(e, t, o) {
556
- let n;
557
- function r() {
558
- const s = t + Math.random() * (o - t);
559
- n = setTimeout(() => {
560
- e(), r();
561
- }, s);
562
- }
563
- return r(), () => clearTimeout(n);
564
- }
565
- class Ro {
566
- constructor({
567
- light: t,
568
- //
569
- minIntensity: o = 15,
570
- maxIntensity: n = 20,
571
- minDuration: r = 50,
572
- maxDuration: s = 250
573
- } = {}) {
574
- g(this, "light");
575
- g(this, "minIntensity");
576
- g(this, "maxIntensity");
577
- g(this, "minDuration");
578
- g(this, "maxDuration");
579
- this.light = t, this.minIntensity = o, this.maxIntensity = n, this.minDuration = r, this.maxDuration = s;
580
- }
581
- triggerLightning() {
582
- this.light && (this.light.intensity = Mt(this.minIntensity, this.maxIntensity)), be(
583
- () => {
584
- this.light && (this.light.intensity = 0);
585
- },
586
- this.minDuration,
587
- this.maxDuration
588
- );
589
- }
590
- update() {
591
- Math.random() > 0.98 && this.triggerLightning();
592
- }
593
- }
594
- const T = (e, t) => {
595
- 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();
596
628
  let l = 0;
597
- if (e.forEach((u, h) => {
598
- let m = 0;
629
+ if (e.forEach((u, m) => {
630
+ let h = 0;
599
631
  if (o !== (u.index !== null))
600
632
  return console.error(
601
- "THREE.BufferGeometryUtils: .mergeBufferGeometries() failed with geometry at index " + h + ". All geometries must have compatible attributes; make sure index attribute exists among all geometries, or in none of them."
633
+ "THREE.BufferGeometryUtils: .mergeBufferGeometries() failed with geometry at index " + m + ". All geometries must have compatible attributes; make sure index attribute exists among all geometries, or in none of them."
602
634
  ), null;
603
635
  for (let f in u.attributes) {
604
636
  if (!n.has(f))
605
637
  return console.error(
606
- "THREE.BufferGeometryUtils: .mergeBufferGeometries() failed with geometry at index " + h + '. All geometries must have compatible attributes; make sure "' + f + '" attribute exists among all geometries, or in none of them.'
638
+ "THREE.BufferGeometryUtils: .mergeBufferGeometries() failed with geometry at index " + m + '. All geometries must have compatible attributes; make sure "' + f + '" attribute exists among all geometries, or in none of them.'
607
639
  ), null;
608
- s[f] === void 0 && (s[f] = []), s[f].push(u.attributes[f]), m++;
640
+ s[f] === void 0 && (s[f] = []), s[f].push(u.attributes[f]), h++;
609
641
  }
610
- if (m !== n.size)
642
+ if (h !== n.size)
611
643
  return console.error(
612
- "THREE.BufferGeometryUtils: .mergeBufferGeometries() failed with geometry at index " + h + ". Make sure all geometries have the same number of attributes."
644
+ "THREE.BufferGeometryUtils: .mergeBufferGeometries() failed with geometry at index " + m + ". Make sure all geometries have the same number of attributes."
613
645
  ), null;
614
646
  if (i !== u.morphTargetsRelative)
615
647
  return console.error(
616
- "THREE.BufferGeometryUtils: .mergeBufferGeometries() failed with geometry at index " + h + ". .morphTargetsRelative must be consistent throughout all geometries."
648
+ "THREE.BufferGeometryUtils: .mergeBufferGeometries() failed with geometry at index " + m + ". .morphTargetsRelative must be consistent throughout all geometries."
617
649
  ), null;
618
650
  for (let f in u.morphAttributes) {
619
651
  if (!r.has(f))
620
652
  return console.error(
621
- "THREE.BufferGeometryUtils: .mergeBufferGeometries() failed with geometry at index " + h + ". .morphAttributes must be consistent throughout all geometries."
653
+ "THREE.BufferGeometryUtils: .mergeBufferGeometries() failed with geometry at index " + m + ". .morphAttributes must be consistent throughout all geometries."
622
654
  ), null;
623
655
  a[f] === void 0 && (a[f] = []), a[f].push(u.morphAttributes[f]);
624
656
  }
@@ -630,43 +662,43 @@ const T = (e, t) => {
630
662
  f = u.attributes.position.count;
631
663
  else
632
664
  return console.error(
633
- "THREE.BufferGeometryUtils: .mergeBufferGeometries() failed with geometry at index " + h + ". The geometry must have either an index or a position attribute"
665
+ "THREE.BufferGeometryUtils: .mergeBufferGeometries() failed with geometry at index " + m + ". The geometry must have either an index or a position attribute"
634
666
  ), null;
635
- c.addGroup(l, f, h), l += f;
667
+ c.addGroup(l, f, m), l += f;
636
668
  }
637
669
  }), o) {
638
670
  let u = 0;
639
- const h = [];
640
- e.forEach((m) => {
641
- const f = m.index;
642
- for (let d = 0; d < f.count; ++d)
643
- h.push(f.getX(d) + u);
644
- u += m.attributes.position.count;
645
- }), c.setIndex(h);
671
+ const m = [];
672
+ e.forEach((h) => {
673
+ const f = h.index;
674
+ for (let p = 0; p < f.count; ++p)
675
+ m.push(f.getX(p) + u);
676
+ u += h.attributes.position.count;
677
+ }), c.setIndex(m);
646
678
  }
647
679
  for (let u in s) {
648
- const h = ft(s[u]);
649
- if (!h)
680
+ const m = ft(s[u]);
681
+ if (!m)
650
682
  return console.error(
651
683
  "THREE.BufferGeometryUtils: .mergeBufferGeometries() failed while trying to merge the " + u + " attribute."
652
684
  ), null;
653
- c.setAttribute(u, h);
685
+ c.setAttribute(u, m);
654
686
  }
655
687
  for (let u in a) {
656
- const h = a[u][0].length;
657
- if (h === 0)
688
+ const m = a[u][0].length;
689
+ if (m === 0)
658
690
  break;
659
691
  c.morphAttributes = c.morphAttributes || {}, c.morphAttributes[u] = [];
660
- for (let m = 0; m < h; ++m) {
692
+ for (let h = 0; h < m; ++h) {
661
693
  const f = [];
662
- for (let p = 0; p < a[u].length; ++p)
663
- f.push(a[u][p][m]);
664
- const d = ft(f);
665
- if (!d)
694
+ for (let d = 0; d < a[u].length; ++d)
695
+ f.push(a[u][d][h]);
696
+ const p = ft(f);
697
+ if (!p)
666
698
  return console.error(
667
699
  "THREE.BufferGeometryUtils: .mergeBufferGeometries() failed while trying to merge the " + u + " morphAttribute."
668
700
  ), null;
669
- c.morphAttributes[u].push(d);
701
+ c.morphAttributes[u].push(p);
670
702
  }
671
703
  }
672
704
  return c;
@@ -691,59 +723,59 @@ const T = (e, t) => {
691
723
  let a = 0;
692
724
  return e.forEach((i) => {
693
725
  s.set(i.array, a), a += i.array.length;
694
- }), new L(s, o, n);
726
+ }), new z(s, o, n);
695
727
  }
696
728
  };
697
- function Ie(e, t = 1e-4) {
729
+ function be(e, t = 1e-4) {
698
730
  t = Math.max(t, Number.EPSILON);
699
731
  const o = {}, n = e.getIndex(), r = e.getAttribute("position"), s = n ? n.count : r.count;
700
732
  let a = 0;
701
- const i = Object.keys(e.attributes), c = {}, l = {}, u = [], h = ["getX", "getY", "getZ", "getW"];
702
- for (let p = 0, w = i.length; p < w; p++) {
703
- const v = i[p];
704
- c[v] = [];
705
- const x = e.morphAttributes[v];
706
- x && (l[v] = new Array(x.length).fill(0).map(() => []));
707
- }
708
- const m = Math.log10(1 / t), f = Math.pow(10, m);
709
- for (let p = 0; p < s; p++) {
710
- const w = n ? n.getX(p) : p;
711
- let v = "";
712
- for (let x = 0, R = i.length; x < R; x++) {
713
- const N = i[x], P = e.getAttribute(N), G = P.itemSize;
714
- for (let _ = 0; _ < G; _++)
715
- v += `${~~(P[h[_]](w) * f)},`;
733
+ const i = Object.keys(e.attributes), c = {}, l = {}, u = [], m = ["getX", "getY", "getZ", "getW"];
734
+ for (let d = 0, w = i.length; d < w; d++) {
735
+ const g = i[d];
736
+ c[g] = [];
737
+ const I = e.morphAttributes[g];
738
+ I && (l[g] = new Array(I.length).fill(0).map(() => []));
739
+ }
740
+ const h = Math.log10(1 / t), f = Math.pow(10, h);
741
+ for (let d = 0; d < s; d++) {
742
+ const w = n ? n.getX(d) : d;
743
+ let g = "";
744
+ for (let I = 0, R = i.length; I < R; I++) {
745
+ const B = i[I], T = e.getAttribute(B), G = T.itemSize;
746
+ for (let N = 0; N < G; N++)
747
+ g += `${~~(T[m[N]](w) * f)},`;
716
748
  }
717
- if (v in o)
718
- u.push(o[v]);
749
+ if (g in o)
750
+ u.push(o[g]);
719
751
  else {
720
- for (let x = 0, R = i.length; x < R; x++) {
721
- const N = i[x], P = e.getAttribute(N), G = e.morphAttributes[N], _ = P.itemSize, O = c[N], et = l[N];
722
- for (let q = 0; q < _; q++) {
723
- const V = h[q];
724
- if (O.push(P[V](w)), G)
725
- for (let C = 0, bt = G.length; C < bt; C++)
726
- et[C].push(G[C][V](w));
752
+ for (let I = 0, R = i.length; I < R; I++) {
753
+ const B = i[I], T = e.getAttribute(B), G = e.morphAttributes[B], N = T.itemSize, U = c[B], ot = l[B];
754
+ for (let V = 0; V < N; V++) {
755
+ const Y = m[V];
756
+ if (U.push(T[Y](w)), G)
757
+ for (let C = 0, Et = G.length; C < Et; C++)
758
+ ot[C].push(G[C][Y](w));
727
759
  }
728
760
  }
729
- o[v] = a, u.push(a), a++;
761
+ o[g] = a, u.push(a), a++;
730
762
  }
731
763
  }
732
- const d = e.clone();
733
- for (let p = 0, w = i.length; p < w; p++) {
734
- const v = i[p], x = e.getAttribute(v), R = new x.array.constructor(c[v]), N = new L(R, x.itemSize, x.normalized);
735
- if (d.setAttribute(v, N), v in l)
736
- for (let P = 0; P < l[v].length; P++) {
737
- const G = e.morphAttributes[v][P], _ = new G.array.constructor(l[v][P]), O = new L(_, G.itemSize, G.normalized);
738
- d.morphAttributes[v][P] = O;
764
+ const p = e.clone();
765
+ for (let d = 0, w = i.length; d < w; d++) {
766
+ const g = i[d], I = e.getAttribute(g), R = new I.array.constructor(c[g]), B = new z(R, I.itemSize, I.normalized);
767
+ if (p.setAttribute(g, B), g in l)
768
+ for (let T = 0; T < l[g].length; T++) {
769
+ const G = e.morphAttributes[g][T], N = new G.array.constructor(l[g][T]), U = new z(N, G.itemSize, G.normalized);
770
+ p.morphAttributes[g][T] = U;
739
771
  }
740
772
  }
741
- return d.setIndex(u), d;
773
+ return p.setIndex(u), p;
742
774
  }
743
- class yt extends A {
775
+ class wt extends E {
744
776
  constructor(t = 1, o = 1.5, n = 0.5, r = 0.05, s = 0.05) {
745
777
  super();
746
- const a = t, i = o, c = n, l = r, u = s, h = [
778
+ const a = t, i = o, c = n, l = r, u = s, m = [
747
779
  // Front cover
748
780
  0,
749
781
  0,
@@ -926,7 +958,7 @@ class yt extends A {
926
958
  a,
927
959
  0,
928
960
  -c + l
929
- ], m = [
961
+ ], h = [
930
962
  0,
931
963
  0,
932
964
  1,
@@ -1109,14 +1141,14 @@ class yt extends A {
1109
1141
  0,
1110
1142
  0
1111
1143
  // Back cover edge
1112
- ], f = t / (t * 2 + n), d = (t + n) / (t * 2 + n), p = [
1113
- d,
1144
+ ], f = t / (t * 2 + n), p = (t + n) / (t * 2 + n), d = [
1145
+ p,
1114
1146
  0,
1115
1147
  1,
1116
1148
  0,
1117
1149
  1,
1118
1150
  1,
1119
- d,
1151
+ p,
1120
1152
  1,
1121
1153
  // Front cover
1122
1154
  0,
@@ -1130,18 +1162,18 @@ class yt extends A {
1130
1162
  // Back cover
1131
1163
  f,
1132
1164
  0,
1133
- d,
1165
+ p,
1134
1166
  0,
1135
- d,
1167
+ p,
1136
1168
  1,
1137
1169
  f,
1138
1170
  1,
1139
1171
  // Spine
1140
1172
  1,
1141
1173
  0,
1142
- d,
1174
+ p,
1143
1175
  0,
1144
- d,
1176
+ p,
1145
1177
  1,
1146
1178
  1,
1147
1179
  1,
@@ -1155,22 +1187,22 @@ class yt extends A {
1155
1187
  f,
1156
1188
  1,
1157
1189
  // Inside back cover
1158
- d,
1190
+ p,
1159
1191
  0,
1160
1192
  f,
1161
1193
  0,
1162
1194
  f,
1163
1195
  1,
1164
- d,
1196
+ p,
1165
1197
  1,
1166
1198
  // Inside spine
1167
- d,
1199
+ p,
1168
1200
  0,
1169
1201
  1,
1170
1202
  0,
1171
1203
  1,
1172
1204
  1,
1173
- d,
1205
+ p,
1174
1206
  1,
1175
1207
  // Front cover top
1176
1208
  0,
@@ -1335,13 +1367,13 @@ class yt extends A {
1335
1367
  54,
1336
1368
  55
1337
1369
  // Back cover edge
1338
- ], v = new Float32Array(h), x = new Float32Array(m), R = new Float32Array(p), N = new Uint16Array(w), P = new A();
1339
- P.setAttribute("position", new L(v, 3)), P.setAttribute("normal", new L(x, 3)), P.setAttribute("uv", new L(R, 2)), P.setIndex(new L(N, 1));
1340
- const G = new E(t - l - u, i - u * 2, c - l * 2);
1341
- G.translate((t - l - u) / 2 + l, i / 2, -c / 2), this.copy(T([P, G], !0));
1370
+ ], g = new Float32Array(m), I = new Float32Array(h), R = new Float32Array(d), B = new Uint16Array(w), T = new E();
1371
+ T.setAttribute("position", new z(g, 3)), T.setAttribute("normal", new z(I, 3)), T.setAttribute("uv", new z(R, 2)), T.setIndex(new z(B, 1));
1372
+ const G = new b(t - l - u, i - u * 2, c - l * 2);
1373
+ G.translate((t - l - u) / 2 + l, i / 2, -c / 2), this.copy(S([T, G], !0));
1342
1374
  }
1343
1375
  }
1344
- function wt({
1376
+ function vt({
1345
1377
  scaleXMin: e = 0.4,
1346
1378
  scaleXMax: t = 0.7,
1347
1379
  scaleYMin: o = 0.3,
@@ -1349,18 +1381,18 @@ function wt({
1349
1381
  scaleZMin: r = 0.1,
1350
1382
  scaleZMax: s = 0.5
1351
1383
  } = {}) {
1352
- return new b(
1353
- Mt(e, t),
1354
- xe(0.25, o, n),
1355
- ge(0.8, r, s)
1384
+ return new x(
1385
+ yt(e, t),
1386
+ Ft(0.25, o, n),
1387
+ zt(0.8, r, s)
1356
1388
  );
1357
1389
  }
1358
- function vt({
1390
+ function xt({
1359
1391
  coverMaterial: e,
1360
1392
  pagesMaterial: t,
1361
1393
  scales: o
1362
1394
  }) {
1363
- const n = new yt(), r = new at(n, [e, t], o.length), s = new H();
1395
+ const n = new wt(), r = new ct(n, [e, t], o.length), s = new H();
1364
1396
  let a = 0;
1365
1397
  for (let i = 0; i < o.length; i++) {
1366
1398
  const c = o[i], l = new H();
@@ -1368,7 +1400,7 @@ function vt({
1368
1400
  }
1369
1401
  return r;
1370
1402
  }
1371
- function No({
1403
+ function Vo({
1372
1404
  coverMaterial: e,
1373
1405
  pagesMaterial: t,
1374
1406
  count: o = 10,
@@ -1381,11 +1413,11 @@ function No({
1381
1413
  }) {
1382
1414
  const l = Array.from(
1383
1415
  { length: o },
1384
- () => 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 })
1385
1417
  );
1386
- return vt({ coverMaterial: e, pagesMaterial: t, scales: l });
1418
+ return xt({ coverMaterial: e, pagesMaterial: t, scales: l });
1387
1419
  }
1388
- function Uo({
1420
+ function Yo({
1389
1421
  coverMaterial: e,
1390
1422
  pagesMaterial: t,
1391
1423
  length: o = 10,
@@ -1399,142 +1431,142 @@ function Uo({
1399
1431
  const l = [];
1400
1432
  let u = o;
1401
1433
  for (; u > 0; ) {
1402
- const h = wt({ scaleXMin: n, scaleXMax: r, scaleYMin: s, scaleYMax: a, scaleZMin: i, scaleZMax: c });
1403
- h.z = Math.min(h.z, u), l.push(h), u -= h.z;
1434
+ const m = vt({ scaleXMin: n, scaleXMax: r, scaleYMin: s, scaleYMax: a, scaleZMin: i, scaleZMax: c });
1435
+ m.z = Math.min(m.z, u), l.push(m), u -= m.z;
1404
1436
  }
1405
- return vt({ coverMaterial: e, pagesMaterial: t, scales: l });
1437
+ return xt({ coverMaterial: e, pagesMaterial: t, scales: l });
1406
1438
  }
1407
- class _o extends A {
1439
+ class Ho extends E {
1408
1440
  constructor(t = 2, o = 0.3, n = 0.6, r = 5, s = 5, a = Math.PI / 4) {
1409
1441
  super();
1410
1442
  const i = [], c = [];
1411
1443
  for (let f = 0; f < r; f++) {
1412
- const d = f * o, p = d + o, w = f * n, v = w + n;
1444
+ const p = f * o, d = p + o, w = f * n, g = w + n;
1413
1445
  i.push(
1414
1446
  // Vertical riser
1415
1447
  -t / 2,
1416
- d,
1448
+ p,
1417
1449
  w,
1418
1450
  // Bottom-left
1419
1451
  t / 2,
1420
- d,
1452
+ p,
1421
1453
  w,
1422
1454
  // Bottom-right
1423
1455
  t / 2,
1424
- p,
1456
+ d,
1425
1457
  w,
1426
1458
  // Top-right
1427
1459
  -t / 2,
1428
- p,
1460
+ d,
1429
1461
  w,
1430
1462
  // Top-left
1431
1463
  // Horizontal tread
1432
1464
  -t / 2,
1433
- p,
1465
+ d,
1434
1466
  w,
1435
1467
  // Top-left
1436
1468
  t / 2,
1437
- p,
1469
+ d,
1438
1470
  w,
1439
1471
  // Top-right
1440
1472
  t / 2,
1441
- p,
1442
- v,
1473
+ d,
1474
+ g,
1443
1475
  // Back-right
1444
1476
  -t / 2,
1445
- p,
1446
- v
1477
+ d,
1478
+ g
1447
1479
  // Back-left
1448
1480
  );
1449
- const x = f * 8;
1481
+ const I = f * 8;
1450
1482
  c.push(
1451
- x,
1452
- x + 1,
1453
- x + 2,
1454
- x,
1455
- x + 2,
1456
- x + 3
1483
+ I,
1484
+ I + 1,
1485
+ I + 2,
1486
+ I,
1487
+ I + 2,
1488
+ I + 3
1457
1489
  ), c.push(
1458
- x + 4,
1459
- x + 5,
1460
- x + 6,
1461
- x + 4,
1462
- x + 6,
1463
- x + 7
1490
+ I + 4,
1491
+ I + 5,
1492
+ I + 6,
1493
+ I + 4,
1494
+ I + 6,
1495
+ I + 7
1464
1496
  );
1465
1497
  }
1466
- const l = r * o, u = r * n, h = t * 2;
1498
+ const l = r * o, u = r * n, m = t * 2;
1467
1499
  i.push(
1468
1500
  // Landing platform (4 vertices)
1469
- -h / 2,
1501
+ -m / 2,
1470
1502
  l,
1471
1503
  u,
1472
1504
  // Bottom-left
1473
- h / 2,
1505
+ m / 2,
1474
1506
  l,
1475
1507
  u,
1476
1508
  // Bottom-right
1477
- h / 2,
1509
+ m / 2,
1478
1510
  l,
1479
1511
  u + n,
1480
1512
  // Top-right
1481
- -h / 2,
1513
+ -m / 2,
1482
1514
  l,
1483
1515
  u + n
1484
1516
  // Top-left
1485
1517
  );
1486
- const m = r * 8;
1518
+ const h = r * 8;
1487
1519
  c.push(
1488
- m,
1489
- m + 1,
1490
- m + 2,
1520
+ h,
1521
+ h + 1,
1522
+ h + 2,
1491
1523
  // First triangle for landing
1492
- m,
1493
- m + 2,
1494
- m + 3
1524
+ h,
1525
+ h + 2,
1526
+ h + 3
1495
1527
  // Second triangle for landing
1496
1528
  );
1497
1529
  for (let f = 0; f < 2; f++) {
1498
- const d = f === 0 ? 1 : -1;
1499
- for (let p = 0; p < s; p++) {
1500
- const w = l + p * o, v = w + o, x = d * (h / 4), R = u + n, N = p * n * Math.cos(a), P = p * n * Math.sin(a), G = x + d * N - t / 2 * Math.cos(a), _ = x + d * N + t / 2 * Math.cos(a), O = R + P, et = G + d * n * Math.cos(a), q = _ + d * n * Math.cos(a), V = O + n * Math.sin(a);
1530
+ const p = f === 0 ? 1 : -1;
1531
+ for (let d = 0; d < s; d++) {
1532
+ const w = l + d * o, g = w + o, I = p * (m / 4), R = u + n, B = d * n * Math.cos(a), T = d * n * Math.sin(a), G = I + p * B - t / 2 * Math.cos(a), N = I + p * B + t / 2 * Math.cos(a), U = R + T, ot = G + p * n * Math.cos(a), V = N + p * n * Math.cos(a), Y = U + n * Math.sin(a);
1501
1533
  i.push(
1502
1534
  // Vertical riser
1503
1535
  G,
1504
1536
  w,
1505
- O,
1537
+ U,
1506
1538
  // Bottom-left
1507
- _,
1539
+ N,
1508
1540
  w,
1509
- O,
1541
+ U,
1510
1542
  // Bottom-right
1511
- _,
1512
- v,
1513
- O,
1543
+ N,
1544
+ g,
1545
+ U,
1514
1546
  // Top-right
1515
1547
  G,
1516
- v,
1517
- O,
1548
+ g,
1549
+ U,
1518
1550
  // Top-left
1519
1551
  // Horizontal tread
1520
1552
  G,
1521
- v,
1522
- O,
1553
+ g,
1554
+ U,
1523
1555
  // Top-left
1524
- _,
1525
- v,
1526
- O,
1556
+ N,
1557
+ g,
1558
+ U,
1527
1559
  // Top-right
1528
- q,
1529
- v,
1530
1560
  V,
1561
+ g,
1562
+ Y,
1531
1563
  // Back-right
1532
- et,
1533
- v,
1534
- V
1564
+ ot,
1565
+ g,
1566
+ Y
1535
1567
  // Back-left
1536
1568
  );
1537
- const C = m + 4 + f * s * 8 + p * 8;
1569
+ const C = h + 4 + f * s * 8 + d * 8;
1538
1570
  c.push(
1539
1571
  C,
1540
1572
  C + 1,
@@ -1552,10 +1584,10 @@ class _o extends A {
1552
1584
  );
1553
1585
  }
1554
1586
  }
1555
- this.setIndex(c), this.setAttribute("position", new D(i, 3)), this.computeVertexNormals();
1587
+ this.setIndex(c), this.setAttribute("position", new q(i, 3)), this.computeVertexNormals();
1556
1588
  }
1557
1589
  }
1558
- class Oo extends A {
1590
+ class Xo extends E {
1559
1591
  constructor(t = 5, o = 3, n = 5, r = 0.2) {
1560
1592
  super();
1561
1593
  const s = [
@@ -1633,52 +1665,52 @@ class Oo extends A {
1633
1665
  10,
1634
1666
  11
1635
1667
  ];
1636
- this.setIndex(a), this.setAttribute("position", new D(s, 3)), this.computeVertexNormals();
1668
+ this.setIndex(a), this.setAttribute("position", new q(s, 3)), this.computeVertexNormals();
1637
1669
  }
1638
1670
  }
1639
- class zo extends A {
1671
+ class Zo extends E {
1640
1672
  constructor(t = 2, o = 0.3, n = 0.5, r = 5, s = 2) {
1641
1673
  super();
1642
1674
  const a = [], i = [];
1643
- for (let h = 0; h < r; h++) {
1644
- const m = h * o, f = m + o, d = h * n, p = d + n;
1675
+ for (let m = 0; m < r; m++) {
1676
+ const h = m * o, f = h + o, p = m * n, d = p + n;
1645
1677
  a.push(
1646
1678
  // Vertical riser
1647
1679
  -t / 2,
1648
- m,
1649
- d,
1680
+ h,
1681
+ p,
1650
1682
  // Bottom-left
1651
1683
  t / 2,
1652
- m,
1653
- d,
1684
+ h,
1685
+ p,
1654
1686
  // Bottom-right
1655
1687
  t / 2,
1656
1688
  f,
1657
- d,
1689
+ p,
1658
1690
  // Top-right
1659
1691
  -t / 2,
1660
1692
  f,
1661
- d,
1693
+ p,
1662
1694
  // Top-left
1663
1695
  // Horizontal tread
1664
1696
  -t / 2,
1665
1697
  f,
1666
- d,
1698
+ p,
1667
1699
  // Top-left
1668
1700
  t / 2,
1669
1701
  f,
1670
- d,
1702
+ p,
1671
1703
  // Top-right
1672
1704
  t / 2,
1673
1705
  f,
1674
- p,
1706
+ d,
1675
1707
  // Back-right
1676
1708
  -t / 2,
1677
1709
  f,
1678
- p
1710
+ d
1679
1711
  // Back-left
1680
1712
  );
1681
- const w = h * 8;
1713
+ const w = m * 8;
1682
1714
  i.push(
1683
1715
  w,
1684
1716
  w + 1,
@@ -1726,45 +1758,45 @@ class zo extends A {
1726
1758
  u + 3
1727
1759
  // Second triangle for landing
1728
1760
  );
1729
- for (let h = 0; h < r; h++) {
1730
- const m = c + h * o, f = m + o, d = -t / 2 - h * n, p = d - n;
1761
+ for (let m = 0; m < r; m++) {
1762
+ const h = c + m * o, f = h + o, p = -t / 2 - m * n, d = p - n;
1731
1763
  a.push(
1732
1764
  // Vertical riser
1733
- d,
1734
- m,
1765
+ p,
1766
+ h,
1735
1767
  l + s,
1736
1768
  // Bottom-left
1737
- d,
1738
- m,
1769
+ p,
1770
+ h,
1739
1771
  l + s - t,
1740
1772
  // Bottom-right
1741
- d,
1773
+ p,
1742
1774
  f,
1743
1775
  l + s - t,
1744
1776
  // Top-right
1745
- d,
1777
+ p,
1746
1778
  f,
1747
1779
  l + s,
1748
1780
  // Top-left
1749
1781
  // Horizontal tread
1750
- d,
1782
+ p,
1751
1783
  f,
1752
1784
  l + s,
1753
1785
  // Top-left
1754
- d,
1786
+ p,
1755
1787
  f,
1756
1788
  l + s - t,
1757
1789
  // Top-right
1758
- p,
1790
+ d,
1759
1791
  f,
1760
1792
  l + s - t,
1761
1793
  // Back-right
1762
- p,
1794
+ d,
1763
1795
  f,
1764
1796
  l + s
1765
1797
  // Back-left
1766
1798
  );
1767
- const w = u + 4 + h * 8;
1799
+ const w = u + 4 + m * 8;
1768
1800
  i.push(
1769
1801
  w,
1770
1802
  w + 1,
@@ -1781,83 +1813,83 @@ class zo extends A {
1781
1813
  w + 7
1782
1814
  );
1783
1815
  }
1784
- this.setIndex(i), this.setAttribute("position", new D(a, 3)), this.computeVertexNormals();
1816
+ this.setIndex(i), this.setAttribute("position", new q(a, 3)), this.computeVertexNormals();
1785
1817
  }
1786
1818
  }
1787
- class Fo extends A {
1819
+ class jo extends E {
1788
1820
  constructor(t = 1, o = 0.4, n = 0.2, r = 20, s = 2, a = Math.PI / 8) {
1789
1821
  super();
1790
1822
  const i = [], c = [];
1791
1823
  let l = 0;
1792
1824
  for (let u = 0; u < r; u++) {
1793
- const h = s * Math.cos(l), m = s * Math.sin(l), f = u * n, d = f + n;
1825
+ const m = s * Math.cos(l), h = s * Math.sin(l), f = u * n, p = f + n;
1794
1826
  i.push(
1795
1827
  // Front face (vertical riser)
1796
- h - t / 2 * Math.cos(l),
1828
+ m - t / 2 * Math.cos(l),
1797
1829
  f,
1798
- m - t / 2 * Math.sin(l),
1830
+ h - t / 2 * Math.sin(l),
1799
1831
  // Bottom-left
1800
- h + t / 2 * Math.cos(l),
1832
+ m + t / 2 * Math.cos(l),
1801
1833
  f,
1802
- m + t / 2 * Math.sin(l),
1834
+ h + t / 2 * Math.sin(l),
1803
1835
  // Bottom-right
1804
- h + t / 2 * Math.cos(l),
1805
- d,
1806
- m + t / 2 * Math.sin(l),
1836
+ m + t / 2 * Math.cos(l),
1837
+ p,
1838
+ h + t / 2 * Math.sin(l),
1807
1839
  // Top-right
1808
- h - t / 2 * Math.cos(l),
1809
- d,
1810
- m - t / 2 * Math.sin(l)
1840
+ m - t / 2 * Math.cos(l),
1841
+ p,
1842
+ h - t / 2 * Math.sin(l)
1811
1843
  // Top-left
1812
1844
  ), i.push(
1813
1845
  // Top face (horizontal tread)
1814
- h - t / 2 * Math.cos(l),
1815
- d,
1816
- m - t / 2 * Math.sin(l),
1846
+ m - t / 2 * Math.cos(l),
1847
+ p,
1848
+ h - t / 2 * Math.sin(l),
1817
1849
  // Top-left-front
1818
- h + t / 2 * Math.cos(l),
1819
- d,
1820
- m + t / 2 * Math.sin(l),
1850
+ m + t / 2 * Math.cos(l),
1851
+ p,
1852
+ h + t / 2 * Math.sin(l),
1821
1853
  // Top-right-front
1822
- h + t / 2 * Math.cos(l) - o * Math.sin(l),
1823
- d,
1824
- m + t / 2 * Math.sin(l) + o * Math.cos(l),
1854
+ m + t / 2 * Math.cos(l) - o * Math.sin(l),
1855
+ p,
1856
+ h + t / 2 * Math.sin(l) + o * Math.cos(l),
1825
1857
  // Back-right
1826
- h - t / 2 * Math.cos(l) - o * Math.sin(l),
1827
- d,
1828
- m - t / 2 * Math.sin(l) + o * Math.cos(l)
1858
+ m - t / 2 * Math.cos(l) - o * Math.sin(l),
1859
+ p,
1860
+ h - t / 2 * Math.sin(l) + o * Math.cos(l)
1829
1861
  // Back-left
1830
1862
  );
1831
- const p = u * 8;
1863
+ const d = u * 8;
1832
1864
  c.push(
1833
- p,
1834
- p + 1,
1835
- p + 2,
1865
+ d,
1866
+ d + 1,
1867
+ d + 2,
1836
1868
  // First triangle for riser
1837
- p,
1838
- p + 2,
1839
- p + 3
1869
+ d,
1870
+ d + 2,
1871
+ d + 3
1840
1872
  // Second triangle for riser
1841
1873
  ), c.push(
1842
- p + 4,
1843
- p + 5,
1844
- p + 6,
1874
+ d + 4,
1875
+ d + 5,
1876
+ d + 6,
1845
1877
  // First triangle for tread
1846
- p + 4,
1847
- p + 6,
1848
- p + 7
1878
+ d + 4,
1879
+ d + 6,
1880
+ d + 7
1849
1881
  // Second triangle for tread
1850
1882
  ), l += a;
1851
1883
  }
1852
- this.setIndex(c), this.setAttribute("position", new D(i, 3)), this.computeVertexNormals();
1884
+ this.setIndex(c), this.setAttribute("position", new q(i, 3)), this.computeVertexNormals();
1853
1885
  }
1854
1886
  }
1855
- class Lo extends A {
1887
+ class Qo extends E {
1856
1888
  constructor(t = 2, o = 0.3, n = 0.5, r = 10) {
1857
1889
  super();
1858
1890
  const s = [], a = [];
1859
1891
  for (let i = 0; i < r; i++) {
1860
- const c = i * o, l = c + o, u = i * n, h = u + n;
1892
+ const c = i * o, l = c + o, u = i * n, m = u + n;
1861
1893
  s.push(
1862
1894
  // Bottom face of riser (front face)
1863
1895
  -t / 2,
@@ -1887,91 +1919,199 @@ class Lo extends A {
1887
1919
  // 5: Top-right-front (repeated)
1888
1920
  t / 2,
1889
1921
  l,
1890
- h,
1922
+ m,
1891
1923
  // 6: Top-right-back
1892
1924
  -t / 2,
1893
1925
  l,
1894
- h
1926
+ m
1895
1927
  // 7: Top-left-back
1896
1928
  );
1897
- const m = i * 8;
1929
+ const h = i * 8;
1898
1930
  a.push(
1899
- m,
1900
- m + 1,
1901
- m + 2,
1931
+ h,
1932
+ h + 1,
1933
+ h + 2,
1902
1934
  // First triangle for riser
1903
- m,
1904
- m + 2,
1905
- m + 3
1935
+ h,
1936
+ h + 2,
1937
+ h + 3
1906
1938
  // Second triangle for riser
1907
1939
  ), a.push(
1908
- m + 4,
1909
- m + 6,
1910
- m + 5,
1940
+ h + 4,
1941
+ h + 6,
1942
+ h + 5,
1911
1943
  // First triangle for tread
1912
- m + 4,
1913
- m + 7,
1914
- m + 6
1944
+ h + 4,
1945
+ h + 7,
1946
+ h + 6
1915
1947
  // Second triangle for tread
1916
1948
  );
1917
1949
  }
1918
- this.setIndex(a), this.setAttribute("position", new D(s, 3)), this.computeVertexNormals();
1950
+ this.setIndex(a), this.setAttribute("position", new q(s, 3)), this.computeVertexNormals();
1951
+ }
1952
+ }
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));
1919
1971
  }
1920
1972
  }
1921
- class Ee extends A {
1973
+ function gt(e, t, o, n, r) {
1974
+ const s = (n - t) / (o - e);
1975
+ return e + (r - t) / s;
1976
+ }
1977
+ function Pe(e, t, o, n, r) {
1978
+ const s = (n - t) / (o - e);
1979
+ return t + s * (r - e);
1980
+ }
1981
+ const Ko = {
1982
+ calculateXFromSlopeIntercept: gt,
1983
+ calculateYFromSlopeIntercept: Pe
1984
+ };
1985
+ class Te extends E {
1986
+ constructor() {
1987
+ super();
1988
+ const t = [
1989
+ new v(0, 0),
1990
+ // Origin
1991
+ new v(0.8, 0),
1992
+ // Base
1993
+ new v(1, 1.5),
1994
+ // Rounded body
1995
+ new v(0.5, 2.2),
1996
+ // Neck
1997
+ new v(0.6, 2.5),
1998
+ // Mouth
1999
+ new v(0.5, 2.5)
2000
+ // Cork
2001
+ ], o = new D(t, 10), n = new P(0.55, 0.45, 0.2, 10);
2002
+ n.translate(0, 2.5, 0);
2003
+ const r = [
2004
+ new v(0, 0),
2005
+ new v(0.8, 0),
2006
+ new v(gt(0.8, 0, 1, 1.5, 1), 1),
2007
+ new v(0, 1)
2008
+ ], s = new D(r, 10);
2009
+ s.translate(0, 0.1, 0), s.scale(0.9, 0.9, 0.9), this.copy(S([o, n, s], !0));
2010
+ }
2011
+ }
2012
+ class Ge extends E {
2013
+ constructor({ radius: t = 0.5, neckRadius: o = 0.2, height: n = 3, neckHeight: r = 1, segments: s = 16 } = {}) {
2014
+ super();
2015
+ const a = n - r, i = new P(t, t, a, s);
2016
+ i.translate(0, a / 2, 0);
2017
+ const c = 0.3, l = new P(o, t, c, s);
2018
+ l.translate(0, a + c / 2, 0);
2019
+ const u = new P(o, o, r, s);
2020
+ u.translate(0, a + c + r / 2, 0), this.copy(S([i, l, u], !1));
2021
+ }
2022
+ }
2023
+ class Ce extends E {
1922
2024
  constructor(t = 0.4, o = 1.2, n = 0.2) {
1923
2025
  super();
1924
- const r = o * 0.6, s = new E(t / 2, r, n);
2026
+ const r = o * 0.6, s = new b(t / 2, r, n);
1925
2027
  s.translate(0, r / 2, 0);
1926
- const a = t * 1.5, i = new E(a, t / 4, n);
1927
- i.translate(0, r * 0.75, 0), this.copy(T([s, i], !1)), this.computeVertexNormals();
2028
+ const a = t * 1.5, i = new b(a, t / 4, n);
2029
+ i.translate(0, r * 0.75, 0), this.copy(S([s, i], !1)), this.computeVertexNormals();
1928
2030
  }
1929
2031
  }
1930
- class Ae extends A {
2032
+ class Be extends E {
2033
+ constructor() {
2034
+ super();
2035
+ const t = new b(5, 1, 5);
2036
+ t.translate(0, 0.5, 0);
2037
+ const o = new b(4, 3, 4);
2038
+ o.translate(0, 2.5, 0);
2039
+ const n = [
2040
+ [-1.8, 2.3, -2.2],
2041
+ [1.8, 2.3, -2.2],
2042
+ [-1.8, 2.3, 2.2],
2043
+ [1.8, 2.3, 2.2]
2044
+ ], r = [];
2045
+ n.forEach((l) => {
2046
+ const u = new P(0.2, 0.2, 3.5, 16);
2047
+ u.translate(l[0], l[1], l[2]), r.push(u);
2048
+ });
2049
+ const s = new Z(3.5, 2, 4);
2050
+ s.rotateY(Math.PI / 4), s.translate(0, 5, 0);
2051
+ const a = new j();
2052
+ a.moveTo(-1, 0), a.lineTo(-1, 2), a.absarc(0, 2, 1, Math.PI, 0, !0), a.lineTo(1, 0);
2053
+ const i = {
2054
+ depth: 0.5,
2055
+ bevelEnabled: !1
2056
+ }, c = new Q(a, i);
2057
+ c.translate(0, 0.5, 1.7), c.setIndex([...Array(c.attributes.position.count).keys()]), this.copy(
2058
+ S(
2059
+ [
2060
+ t,
2061
+ S([o, ...r], !1),
2062
+ s,
2063
+ c
2064
+ ],
2065
+ !0
2066
+ )
2067
+ ), this.computeVertexNormals();
2068
+ }
2069
+ }
2070
+ class Re extends E {
1931
2071
  constructor(t = 1.75, o = 0.75) {
1932
2072
  super();
1933
2073
  const n = t * 0.05, r = t * 0.15, s = t * 0.15, a = t * 0.75;
1934
2074
  let i = 0;
1935
- const c = new E(o, n, o);
2075
+ const c = new b(o, n, o);
1936
2076
  c.translate(0, i + n / 2, 0), i += n;
1937
- const l = new E(o * 0.8, r, o * 0.8);
2077
+ const l = new b(o * 0.8, r, o * 0.8);
1938
2078
  l.translate(0, i + r / 2, 0), i += r;
1939
- const u = new E(o * 0.6, s, o * 0.6);
2079
+ const u = new b(o * 0.6, s, o * 0.6);
1940
2080
  u.translate(0, i + s / 2, 0), i += s;
1941
- const h = new E(o * 0.4, a, o * 0.4);
1942
- h.translate(0, i + a / 2, 0), i += a;
1943
- const m = new Y(o * 0.4 / Math.sqrt(2), 0.1, 4, 1, !1, Math.PI / 4);
1944
- m.translate(0, i + 0.1 / 2, 0), this.copy(T([c, l, u, h, m], !1)), this.computeVertexNormals();
2081
+ const m = new b(o * 0.4, a, o * 0.4);
2082
+ m.translate(0, i + a / 2, 0), i += a;
2083
+ const h = new Z(o * 0.4 / Math.sqrt(2), 0.1, 4, 1, !1, Math.PI / 4);
2084
+ h.translate(0, i + 0.1 / 2, 0), this.copy(S([c, l, u, m, h], !1)), this.computeVertexNormals();
1945
2085
  }
1946
2086
  }
1947
- class Se extends A {
2087
+ class Ne extends E {
1948
2088
  constructor(t = 0.6, o = 1, n = 0.2, r = 0.6) {
1949
2089
  super();
1950
- const s = o - r / 2, a = new E(t, s, n);
2090
+ const s = o - r / 2, a = new b(t, s, n);
1951
2091
  a.translate(0, s / 2, 0);
1952
- const i = new S(r / 2, r / 2, n, 16, 1, !1, 0, Math.PI);
1953
- i.rotateY(Math.PI / 2), i.rotateX(Math.PI / 2), i.translate(0, s, 0), this.copy(T([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();
1954
2094
  }
1955
2095
  }
1956
- class Pe extends A {
2096
+ class _e extends E {
1957
2097
  constructor(t = 0.5, o = 0.8, n = 0.15) {
1958
2098
  super();
1959
- const r = new E(t, o, n);
2099
+ const r = new b(t, o, n);
1960
2100
  r.translate(0, o / 2, 0), this.copy(r);
1961
2101
  }
1962
2102
  }
1963
- class Te extends A {
2103
+ class Ue extends E {
1964
2104
  constructor({ height: t = 2.25 } = {}) {
1965
2105
  super();
1966
- const o = new E(1.2, 0.5, 1.2);
2106
+ const o = new b(1.2, 0.5, 1.2);
1967
2107
  o.translate(0, 0.25, 0);
1968
- const n = new E(1, t, 1);
2108
+ const n = new b(1, t, 1);
1969
2109
  n.translate(0, 0.5 + t / 2, 0);
1970
- const r = new E(1.4, 0.3, 1.4);
1971
- r.translate(0, 0.5 + t + 0.15, 0), this.copy(T([o, n, r], !1));
2110
+ const r = new b(1.4, 0.3, 1.4);
2111
+ r.translate(0, 0.5 + t + 0.15, 0), this.copy(S([o, n, r], !1));
1972
2112
  }
1973
2113
  }
1974
- class xt extends A {
2114
+ class It extends E {
1975
2115
  constructor({
1976
2116
  barHeight: t = 2,
1977
2117
  //
@@ -1982,13 +2122,13 @@ class xt extends A {
1982
2122
  radialSegments: a = 8
1983
2123
  } = {}) {
1984
2124
  super();
1985
- const i = new S(o, o, t, a);
2125
+ const i = new P(o, o, t, a);
1986
2126
  i.translate(0, t / 2, 0);
1987
- const c = new Y(r, n, a);
1988
- c.translate(0, t + n / 2, 0), c.scale(1, 1, s), this.copy(T([i, c], !1));
2127
+ const c = new Z(r, n, a);
2128
+ c.translate(0, t + n / 2, 0), c.scale(1, 1, s), this.copy(S([i, c], !1));
1989
2129
  }
1990
2130
  }
1991
- class Ge extends A {
2131
+ class Oe extends E {
1992
2132
  constructor({
1993
2133
  count: t = 20,
1994
2134
  //
@@ -2001,21 +2141,21 @@ class Ge extends A {
2001
2141
  railHeight: c = 0.1,
2002
2142
  railDepth: l = 0.05,
2003
2143
  railOffset: u = 0,
2004
- radialSegments: h = 8
2144
+ radialSegments: m = 8
2005
2145
  } = {}) {
2006
2146
  super();
2007
- const m = [], f = new xt({ barHeight: n, barRadius: r, spikeHeight: s, spikeRadius: a, spikeScaleZ: i, radialSegments: h }), d = new E(t * o, c, l);
2008
- for (let v = 0; v < t; v++) {
2009
- const x = f.clone();
2010
- x.translate(v * o, 0, 0), m.push(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++) {
2149
+ const I = f.clone();
2150
+ I.translate(g * o, 0, 0), h.push(I);
2011
2151
  }
2012
- const p = d.clone();
2013
- p.translate(o * (t - 1) / 2, n - u - c / 2, 0), m.push(p);
2014
- const w = d.clone();
2015
- w.translate(o * (t - 1) / 2, c / 2, 0), m.push(w), this.copy(T(m));
2152
+ const d = p.clone();
2153
+ d.translate(o * (t - 1) / 2, n - u - c / 2, 0), h.push(d);
2154
+ const w = p.clone();
2155
+ w.translate(o * (t - 1) / 2, c / 2, 0), h.push(w), this.copy(S(h));
2016
2156
  }
2017
2157
  }
2018
- class Ce extends A {
2158
+ class Le extends E {
2019
2159
  constructor({
2020
2160
  width: t = 5,
2021
2161
  //
@@ -2026,44 +2166,44 @@ class Ce extends A {
2026
2166
  open: a = !1
2027
2167
  } = {}) {
2028
2168
  super();
2029
- const i = o, c = t, l = n, u = new E(s, i, l), h = new E(c - 2 * s, s, l), m = u.clone();
2030
- m.translate(-c / 2 + s / 2, i / 2, 0);
2169
+ const i = o, c = t, l = n, u = new b(s, i, l), m = new b(c - 2 * s, s, l), h = u.clone();
2170
+ h.translate(-c / 2 + s / 2, i / 2, 0);
2031
2171
  const f = u.clone();
2032
2172
  f.translate(c / 2 - s / 2, i / 2, 0);
2033
- const d = h.clone();
2034
- d.translate(0, i - s / 2, 0);
2035
- const p = h.clone();
2036
- p.translate(0, s / 2, 0);
2037
- const w = new E(c, i, s);
2173
+ const p = m.clone();
2174
+ p.translate(0, i - s / 2, 0);
2175
+ const d = m.clone();
2176
+ d.translate(0, s / 2, 0);
2177
+ const w = new b(c, i, s);
2038
2178
  w.translate(0, i / 2, -l / 2 + s / 2);
2039
- const v = [], x = (i - s) / (r + 1);
2179
+ const g = [], I = (i - s) / (r + 1);
2040
2180
  for (let R = 1; R <= r; R++) {
2041
- const N = h.clone();
2042
- N.translate(0, s / 2 + R * x, 0), v.push(N);
2181
+ const B = m.clone();
2182
+ B.translate(0, s / 2 + R * I, 0), g.push(B);
2043
2183
  }
2044
- this.copy(T([
2045
- m,
2184
+ this.copy(S([
2185
+ h,
2046
2186
  //
2047
2187
  f,
2048
- d,
2049
2188
  p,
2189
+ d,
2050
2190
  ...a ? [] : [w],
2051
- ...v
2191
+ ...g
2052
2192
  ], !1));
2053
2193
  }
2054
2194
  }
2055
- class Be extends A {
2195
+ class Fe extends E {
2056
2196
  constructor() {
2057
2197
  super();
2058
- const t = new E(5, 0.3, 3);
2198
+ const t = new b(5, 0.3, 3);
2059
2199
  t.translate(0, 3.15, 0);
2060
2200
  const o = [
2061
- new I(0.2, 0),
2201
+ new v(0.2, 0),
2062
2202
  //
2063
- new I(0.25, 0.5),
2064
- new I(0.15, 1.5),
2065
- new I(0.3, 3)
2066
- ], n = new Z(o, 32), s = T(
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(
2067
2207
  [
2068
2208
  [2.1, 0, 1.1],
2069
2209
  [-2.1, 0, 1.1],
@@ -2074,35 +2214,64 @@ class Be extends A {
2074
2214
  return i.translate(a[0], a[1], a[2]), i;
2075
2215
  })
2076
2216
  );
2077
- this.copy(T([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
+ );
2078
2236
  }
2079
2237
  }
2080
- function Re(e, t = ut.XYZ, o = 0.5, n = 2) {
2081
- e.deleteAttribute("uv"), e.deleteAttribute("normal"), e = Ie(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();
2082
2240
  const r = e.getAttribute("position");
2083
2241
  for (let s = 0; s < r.count; s++) {
2084
- const a = new b().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);
2085
2243
  a.add(c), r.setXYZ(s, a.x, a.y, a.z);
2086
2244
  }
2087
2245
  return r.needsUpdate = !0, e.computeVertexNormals(), e;
2088
2246
  }
2089
- class Ne extends A {
2247
+ class ke extends E {
2090
2248
  constructor(t = 1, o = 4, n = 4) {
2091
2249
  super();
2092
- const r = new U(t, o, n);
2093
- this.copy(Re(r, ut.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));
2094
2263
  }
2095
2264
  }
2096
- class Ue extends A {
2265
+ class Ve extends E {
2097
2266
  constructor(t = 0.1, o = 0.1, n = 0.4, r = 8) {
2098
2267
  super();
2099
- 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);
2100
2269
  s.translate(0, 0, 0);
2101
- const a = new U(t, r, r), i = a.clone(), c = a.clone(), l = a.clone(), u = a.clone();
2102
- 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(T([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));
2103
2272
  }
2104
2273
  }
2105
- class _e extends A {
2274
+ class Ye extends E {
2106
2275
  constructor({
2107
2276
  flaskRadius: t = 1,
2108
2277
  //
@@ -2113,48 +2282,70 @@ class _e extends A {
2113
2282
  } = {}) {
2114
2283
  super();
2115
2284
  const a = [
2116
- new I(0, 0),
2285
+ new v(0, 0),
2117
2286
  // Bottom of the flask
2118
- new I(t * 0.875, 0),
2287
+ new v(t * 0.875, 0),
2119
2288
  // Flat base with minimum width
2120
- new I(t, 0.1),
2289
+ new v(t, 0.1),
2121
2290
  // End of the rounded base
2122
- new I(o, n),
2291
+ new v(o, n),
2123
2292
  // Start of the straight neck
2124
- new I(o, n + r),
2293
+ new v(o, n + r),
2125
2294
  // End of the straight neck
2126
- new I(o * 1.1, n + r + 0.3)
2295
+ new v(o * 1.1, n + r + 0.3)
2127
2296
  // Slight outward lip at the top
2128
- ], i = new Z(a, s);
2129
- this.copy(T([i], !1));
2297
+ ], i = new D(a, s);
2298
+ this.copy(S([i], !1));
2130
2299
  }
2131
2300
  }
2132
- class Oe 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 {
2133
2321
  constructor() {
2134
2322
  super();
2135
- const t = new U(1, 16, 16), o = new S(0.2, 0.2, 2, 16, 1, !0);
2136
- o.translate(0, 1.5, 0), o.rotateX(Math.PI / 2), this.copy(T([t, o], !1));
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);
2137
2328
  }
2138
2329
  }
2139
- class ze extends A {
2330
+ class je extends E {
2140
2331
  constructor() {
2141
2332
  super();
2142
2333
  const t = [
2143
- new I(1, 0),
2334
+ new v(1, 0),
2144
2335
  // Bottom of the bowl
2145
- new I(1.2, 0.5),
2336
+ new v(1.2, 0.5),
2146
2337
  // Slight flare at the base
2147
- new I(1.4, 1.5),
2338
+ new v(1.4, 1.5),
2148
2339
  // Outer wall
2149
- new I(1.3, 1.8),
2340
+ new v(1.3, 1.8),
2150
2341
  // Flared edge
2151
- new I(0.8, 1.8)
2342
+ new v(0.8, 1.8)
2152
2343
  // Lip of the bowl
2153
- ], o = new Z(t, 12), n = new Pt(1, 12);
2154
- n.rotateX(-Math.PI / 2), n.translate(0, 0, 0), this.copy(T([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));
2155
2346
  }
2156
2347
  }
2157
- class Fe extends A {
2348
+ class Qe extends E {
2158
2349
  constructor({
2159
2350
  radius: t = 0.3,
2160
2351
  //
@@ -2166,33 +2357,38 @@ class Fe extends A {
2166
2357
  super();
2167
2358
  const a = new dt(t, r, 8, s);
2168
2359
  a.rotateX(Math.PI / 2), a.translate(0, o, 0);
2169
- 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 = [];
2170
2361
  for (let l = 0; l < n; l++) {
2171
- const u = l / n * Math.PI * 2, h = i.clone();
2172
- h.translate(Math.cos(u) * t, o / 2, Math.sin(u) * t), c.push(h);
2362
+ const u = l / n * Math.PI * 2, m = i.clone();
2363
+ m.translate(Math.cos(u) * t, o / 2, Math.sin(u) * t), c.push(m);
2173
2364
  }
2174
- this.copy(T([a, ...c], !1));
2365
+ this.copy(S([a, ...c], !1));
2175
2366
  }
2176
2367
  }
2177
- class rt extends A {
2178
- constructor(t = 0.2, o = 0.2, n = 3, r = 32, s = !0) {
2368
+ class Ke extends E {
2369
+ constructor() {
2179
2370
  super();
2180
- const a = new S(t, o, n, r, 1, s), i = new U(o, r, r / 2, 0, Math.PI * 2, Math.PI / 2, Math.PI / 2);
2181
- i.translate(0, -(n / 2), 0), this.copy(T([a, i], !1));
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
+ );
2182
2382
  }
2183
2383
  }
2184
- class Le extends A {
2185
- constructor({ radius: t = 0.5, neckRadius: o = 0.2, height: n = 3, neckHeight: r = 1, segments: s = 16 } = {}) {
2384
+ class it extends E {
2385
+ constructor(t = 0.2, o = 0.2, n = 3, r = 32, s = !0) {
2186
2386
  super();
2187
- const a = n - r, i = new S(t, t, a, s);
2188
- i.translate(0, a / 2, 0);
2189
- const c = 0.3, l = new S(o, t, c, s);
2190
- l.translate(0, a + c / 2, 0);
2191
- const u = new S(o, o, r, s);
2192
- u.translate(0, a + c + r / 2, 0), this.copy(T([i, l, u], !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));
2193
2389
  }
2194
2390
  }
2195
- class ke extends A {
2391
+ class Je extends E {
2196
2392
  constructor({
2197
2393
  radius: t = 3,
2198
2394
  //
@@ -2202,20 +2398,12 @@ class ke extends A {
2202
2398
  phiStart: s = 0,
2203
2399
  phiLength: a = Math.PI * 2
2204
2400
  } = {}) {
2205
- super(), this.copy(new U(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);
2206
2402
  }
2207
2403
  }
2208
- const ko = (e, t) => e / (1 - Math.cos(t)), gt = (e, t) => e / (2 * Math.sin(t)), De = (e, t) => e * (1 - Math.cos(t)), Do = (e, t) => 2 * e * Math.sin(t), qo = (e, t, o) => ({
2209
- x: e * Math.sin(o) * Math.cos(t),
2210
- y: e * Math.sin(o) * Math.sin(t),
2211
- z: e * Math.cos(o)
2212
- }), Vo = (e, t, o) => {
2213
- const n = Math.sqrt(e * e + t * t + o * o), r = Math.atan2(t, e), s = Math.acos(o / n);
2214
- return { radius: n, theta: r, phi: s };
2215
- };
2216
- class qe extends A {
2404
+ class $e extends E {
2217
2405
  constructor({
2218
- radius: t = gt(5, Math.PI / 10),
2406
+ radius: t = At(5, Math.PI / 10),
2219
2407
  //
2220
2408
  widthSegments: o = 64,
2221
2409
  heightSegments: n = 32,
@@ -2223,12 +2411,12 @@ class qe extends A {
2223
2411
  phiLength: s = Math.PI * 2,
2224
2412
  thetaLength: a = Math.PI / 10
2225
2413
  } = {}) {
2226
- super(), this.copy(new U(t, o, n, r, s, 0, a));
2227
- const i = De(t, a);
2414
+ super(), this.copy(new _(t, o, n, r, s, 0, a));
2415
+ const i = He(t, a);
2228
2416
  this.translate(0, -t + i, 0);
2229
2417
  }
2230
2418
  }
2231
- class Ve extends A {
2419
+ class We extends E {
2232
2420
  constructor({
2233
2421
  trunkRadiusTop: t = 0.25,
2234
2422
  trunkRadiusBottom: o = 0.4,
@@ -2240,21 +2428,21 @@ class Ve extends A {
2240
2428
  leafSpreadRadius: c = 1.5
2241
2429
  } = {}) {
2242
2430
  super();
2243
- const l = new S(t, o, n, r);
2431
+ const l = new P(t, o, n, r);
2244
2432
  l.translate(0, n / 2, 0);
2245
2433
  const u = [];
2246
- for (let h = 0; h < a; h++) {
2247
- const m = new it(s, i);
2248
- m.translate(
2434
+ for (let m = 0; m < a; m++) {
2435
+ const h = new J(s, i);
2436
+ h.translate(
2249
2437
  (Math.random() - 0.5) * c,
2250
2438
  (Math.random() - 0.5) * s + n,
2251
2439
  (Math.random() - 0.5) * c
2252
- ), u.push(m);
2440
+ ), u.push(h);
2253
2441
  }
2254
- this.copy(T([l.toNonIndexed(), T(u, !1)], !0)), this.computeVertexNormals();
2442
+ this.copy(S([l.toNonIndexed(), S(u, !1)], !0)), this.computeVertexNormals();
2255
2443
  }
2256
2444
  }
2257
- const He = {
2445
+ const to = {
2258
2446
  uniforms: {
2259
2447
  time: { value: 0 }
2260
2448
  },
@@ -2298,106 +2486,153 @@ const He = {
2298
2486
  }
2299
2487
  `
2300
2488
  };
2301
- class Ho extends M {
2489
+ class en extends y {
2302
2490
  constructor() {
2303
2491
  super(
2304
- new U(5, 32, 32),
2305
- new J(He)
2492
+ new _(5, 32, 32),
2493
+ new W(to)
2306
2494
  );
2307
2495
  }
2308
2496
  }
2309
- class Xo extends M {
2497
+ class on extends y {
2310
2498
  constructor({
2311
2499
  width: t = 1,
2312
2500
  height: o = 1.5,
2313
2501
  depth: n = 0.5,
2314
2502
  coverThickness: r = 0.05,
2315
2503
  pageIndent: s = 0.05,
2316
- coverColor: a = mt.DARK_RED,
2317
- pageColor: i = mt.WHITE
2504
+ coverColor: a = at.DARK_RED,
2505
+ pageColor: i = at.TITANIUM_WHITE
2318
2506
  } = {}) {
2319
2507
  super(
2320
- new yt(t, o, n, r, s),
2508
+ new wt(t, o, n, r, s),
2321
2509
  [
2322
- new y({ color: a, metalness: 0.1, roughness: 0.7, flatShading: !0 }),
2323
- 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 })
2324
2512
  ]
2325
2513
  );
2326
2514
  }
2327
2515
  }
2328
- class Yo extends M {
2516
+ class nn extends y {
2517
+ constructor() {
2518
+ super(new Se(), [
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({
2538
+ color: 8965375,
2539
+ transparent: !0,
2540
+ depthWrite: !1,
2541
+ opacity: 0.5,
2542
+ roughness: 0.1,
2543
+ metalness: 0.3
2544
+ }),
2545
+ new M({
2546
+ color: 9127187,
2547
+ roughness: 1
2548
+ }),
2549
+ new M({
2550
+ color: at.PINK_SHERBET,
2551
+ transparent: !0,
2552
+ depthWrite: !1,
2553
+ opacity: 0.5
2554
+ })
2555
+ ]);
2556
+ }
2557
+ }
2558
+ class rn extends y {
2559
+ constructor() {
2560
+ super(
2561
+ new Ge(),
2562
+ new tt({
2563
+ color: 5597999,
2564
+ roughness: 0.1,
2565
+ transmission: 0.9,
2566
+ thickness: 0.2,
2567
+ metalness: 0,
2568
+ clearcoat: 1,
2569
+ clearcoatRoughness: 0.1
2570
+ })
2571
+ );
2572
+ }
2573
+ }
2574
+ class an extends y {
2329
2575
  constructor({
2330
2576
  width: t = 0.4,
2331
2577
  height: o = 1.2,
2332
2578
  depth: n = 0.2
2333
2579
  } = {}) {
2334
2580
  super(
2335
- new Ee(t, o, n),
2336
- new y({ color: 7829367, roughness: 0.8 })
2581
+ new Ce(t, o, n),
2582
+ new M({ color: 7829367, roughness: 0.8 })
2337
2583
  );
2338
2584
  }
2339
2585
  }
2340
- class Zo extends B {
2586
+ class cn extends y {
2341
2587
  constructor() {
2342
- super();
2343
- const t = new E(5, 1, 5), o = new y({ color: 8421504, flatShading: !0 }), n = new M(t, o);
2344
- n.position.set(0, 0.5, 0), this.add(n);
2345
- const r = new E(4, 3, 4), s = new y({ color: 6908265, flatShading: !0 }), a = new M(r, s);
2346
- a.position.set(0, 2.5, 0), this.add(a);
2347
- const i = new Y(3.5, 2, 4), c = new y({ color: 5263440, flatShading: !0 }), l = new M(i, c);
2348
- l.rotation.y = Math.PI / 4, l.position.set(0, 5, 0), this.add(l);
2349
- const u = new S(0.2, 0.2, 3.5, 16), h = new y({ color: 6908265, flatShading: !0 });
2350
- [
2351
- [-1.8, 2.3, -2.2],
2352
- [1.8, 2.3, -2.2],
2353
- [-1.8, 2.3, 2.2],
2354
- [1.8, 2.3, 2.2]
2355
- ].forEach((x) => {
2356
- const R = new M(u, h);
2357
- R.position.set(x[0], x[1], x[2]), this.add(R);
2358
- });
2359
- const f = new j();
2360
- f.moveTo(-1, 0), f.lineTo(-1, 2), f.absarc(0, 2, 1, Math.PI, 0, !0), f.lineTo(1, 0);
2361
- const d = {
2362
- depth: 0.5,
2363
- bevelEnabled: !1
2364
- }, p = new Q(f, d), w = new y({ color: 4210752, flatShading: !0 }), v = new M(p, w);
2365
- v.position.set(0, 0.5, 1.7), this.add(v);
2588
+ super(
2589
+ new Be(),
2590
+ [
2591
+ new M({ color: 8421504, flatShading: !0 }),
2592
+ // Base
2593
+ new M({ color: 6908265, flatShading: !0 }),
2594
+ // Building
2595
+ new M({ color: 5263440, flatShading: !0 }),
2596
+ // Roof
2597
+ new M({ color: 4210752, flatShading: !0 })
2598
+ // Arched entrance
2599
+ ]
2600
+ );
2366
2601
  }
2367
2602
  }
2368
- class jo extends M {
2603
+ class ln extends y {
2369
2604
  constructor({ totalHeight: t = 1.75, baseWidth: o = 0.75 } = {}) {
2370
2605
  super(
2371
- new Ae(t, o),
2372
- new y({ color: 7829367, roughness: 0.8 })
2606
+ new Re(t, o),
2607
+ new M({ color: 7829367, roughness: 0.8 })
2373
2608
  );
2374
2609
  }
2375
2610
  }
2376
- class Qo extends M {
2611
+ class un extends y {
2377
2612
  constructor(t = 0.6, o = 1, n = 0.2, r = 0.6) {
2378
2613
  super(
2379
- new Se(t, o, n, r),
2380
- new y({ color: 7829367, roughness: 0.8 })
2614
+ new Ne(t, o, n, r),
2615
+ new M({ color: 7829367, roughness: 0.8 })
2381
2616
  );
2382
2617
  }
2383
2618
  }
2384
- class Ko extends M {
2619
+ class mn extends y {
2385
2620
  constructor(t = 0.5, o = 0.8, n = 0.15) {
2386
2621
  super(
2387
- new Pe(t, o, n),
2388
- new y({ color: 7829367, roughness: 0.8 })
2622
+ new _e(t, o, n),
2623
+ new M({ color: 7829367, roughness: 0.8 })
2389
2624
  );
2390
2625
  }
2391
2626
  }
2392
- class $o extends M {
2627
+ class hn extends y {
2393
2628
  constructor({ height: t = 2.25 } = {}) {
2394
2629
  super(
2395
- new Te({ height: t }),
2396
- new y({ color: 9141627, flatShading: !0 })
2630
+ new Ue({ height: t }),
2631
+ new M({ color: 9141627, flatShading: !0 })
2397
2632
  );
2398
2633
  }
2399
2634
  }
2400
- class Jo extends M {
2635
+ class fn extends y {
2401
2636
  constructor({
2402
2637
  barHeight: t = 2,
2403
2638
  //
@@ -2408,7 +2643,7 @@ class Jo extends M {
2408
2643
  radialSegments: a = 8
2409
2644
  } = {}) {
2410
2645
  super(
2411
- new xt({
2646
+ new It({
2412
2647
  barHeight: t,
2413
2648
  barRadius: o,
2414
2649
  spikeHeight: n,
@@ -2416,11 +2651,11 @@ class Jo extends M {
2416
2651
  spikeScaleZ: s,
2417
2652
  radialSegments: a
2418
2653
  }),
2419
- new y({ color: 3355443, metalness: 0.8, roughness: 0.4 })
2654
+ new M({ color: 3355443, metalness: 0.8, roughness: 0.4 })
2420
2655
  );
2421
2656
  }
2422
2657
  }
2423
- class Wo extends M {
2658
+ class pn extends y {
2424
2659
  constructor({
2425
2660
  count: t = 20,
2426
2661
  //
@@ -2433,10 +2668,10 @@ class Wo extends M {
2433
2668
  railHeight: c = 0.1,
2434
2669
  railDepth: l = 0.05,
2435
2670
  railOffset: u = 0,
2436
- radialSegments: h = 8
2671
+ radialSegments: m = 8
2437
2672
  } = {}) {
2438
2673
  super(
2439
- new Ge({
2674
+ new Oe({
2440
2675
  count: t,
2441
2676
  spacing: o,
2442
2677
  barHeight: n,
@@ -2447,13 +2682,13 @@ class Wo extends M {
2447
2682
  railHeight: c,
2448
2683
  railDepth: l,
2449
2684
  railOffset: u,
2450
- radialSegments: h
2685
+ radialSegments: m
2451
2686
  }),
2452
- new y({ color: 3355443, metalness: 0.8, roughness: 0.4 })
2687
+ new M({ color: 3355443, metalness: 0.8, roughness: 0.4 })
2453
2688
  );
2454
2689
  }
2455
2690
  }
2456
- class tn extends M {
2691
+ class dn extends y {
2457
2692
  constructor({
2458
2693
  width: t = 5,
2459
2694
  //
@@ -2463,35 +2698,35 @@ class tn extends M {
2463
2698
  frameThickness: s = 0.1,
2464
2699
  open: a = !1
2465
2700
  } = {}) {
2466
- super(), this.geometry = new Ce({ width: t, height: o, depth: n, shelves: r, frameThickness: s, open: a }), this.material = new y({ color: 9127187 });
2701
+ super(
2702
+ new Le({ width: t, height: o, depth: n, shelves: r, frameThickness: s, open: a }),
2703
+ new M({ color: 9127187 })
2704
+ );
2467
2705
  }
2468
2706
  }
2469
- class en extends M {
2707
+ class Mn extends y {
2470
2708
  constructor() {
2471
- super();
2472
- g(this, "geometry");
2473
- g(this, "material");
2474
- this.geometry = new Be(), this.material = [
2475
- new y({ color: 9132587 }),
2709
+ super(new Fe(), [
2710
+ new M({ color: 9132587 }),
2476
2711
  // Desk surface
2477
- new y({ color: 4929057 })
2712
+ new M({ color: 4929057 })
2478
2713
  // Desk legs
2479
- ];
2714
+ ]);
2480
2715
  }
2481
2716
  }
2482
- class on extends B {
2717
+ class yn extends O {
2483
2718
  constructor(o = 1, n = 0.2) {
2484
2719
  super();
2485
- g(this, "candle");
2486
- g(this, "flame");
2487
- g(this, "candleLight");
2488
- g(this, "height");
2489
- g(this, "radius");
2720
+ A(this, "candle");
2721
+ A(this, "flame");
2722
+ A(this, "candleLight");
2723
+ A(this, "height");
2724
+ A(this, "radius");
2490
2725
  this.height = o, this.radius = n;
2491
- const r = new S(this.radius, this.radius, this.height, 32), s = new y({ color: 16777215 });
2492
- this.candle = new M(r, s), this.candle.position.set(0, this.height / 2, 0), this.add(this.candle);
2493
- const a = new U(0.05, 16, 16), i = new Tt({ color: 16753920 });
2494
- this.flame = new M(a, i), this.flame.position.set(0, this.height + 0.05, 0), this.add(this.flame), this.candleLight = new pt(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();
2495
2730
  }
2496
2731
  animateFlicker() {
2497
2732
  const o = () => {
@@ -2500,147 +2735,105 @@ class on extends B {
2500
2735
  o();
2501
2736
  }
2502
2737
  }
2503
- class nn extends B {
2738
+ class wn extends O {
2504
2739
  constructor(t = 1.3, o = 0.5) {
2505
2740
  super();
2506
- 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);
2507
2742
  s.position.set(0, 0, 0), this.add(s);
2508
- 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);
2509
2744
  c.position.set(0, t / 2 + 0.1, 0), this.add(c);
2510
- const l = new Y(o * 1.1, 0.5, 8), u = new y({ color: 9127187, flatShading: !0 }), h = new M(l, u);
2511
- h.position.set(0, t + 0.35, 0), this.add(h);
2512
- const m = new dt(o * 0.8, 0.05, 8, 16), f = new y({ color: 9127187, flatShading: !0 }), d = new M(m, f);
2513
- d.position.set(0, t + 0.85, 0), this.add(d);
2514
- const p = new pt(16755200, 1.5, 15);
2515
- p.position.set(0, t / 2 + 0.1, 0), p.castShadow = !0, this.add(p);
2745
+ const l = new Z(o * 1.1, 0.5, 8), u = new M({ color: 9127187, flatShading: !0 }), m = new y(l, u);
2746
+ m.position.set(0, t + 0.35, 0), this.add(m);
2747
+ const h = new dt(o * 0.8, 0.05, 8, 16), f = new M({ color: 9127187, flatShading: !0 }), p = new y(h, f);
2748
+ p.position.set(0, t + 0.85, 0), this.add(p);
2749
+ const d = new Mt(16755200, 1.5, 15);
2750
+ d.position.set(0, t / 2 + 0.1, 0), d.castShadow = !0, this.add(d);
2516
2751
  }
2517
2752
  }
2518
- class sn extends B {
2753
+ class vn extends y {
2519
2754
  constructor() {
2520
- super();
2521
- const t = new it(1, 0), o = new y({ color: 8421504, flatShading: !0 }), n = new y({ color: 4950843, flatShading: !0, opacity: 0.8, transparent: !0 });
2522
- for (let r = 0; r < 5; r++) {
2523
- const s = new M(t, o);
2524
- 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);
2525
- const a = new M(t, n);
2526
- 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);
2527
- }
2755
+ super(new ze(), [
2756
+ new M({ color: 8421504, flatShading: !0 }),
2757
+ new M({ color: 4950843, flatShading: !0, opacity: 0.8, transparent: !0 })
2758
+ ]);
2528
2759
  }
2529
2760
  }
2530
- class rn extends M {
2761
+ class xn extends y {
2531
2762
  constructor(t = 1, o = 4, n = 4) {
2532
- super(), this.geometry = new Ne(t, o, n), this.material = new y({ color: 8421504, flatShading: !0 });
2533
- }
2534
- }
2535
- class an extends B {
2536
- constructor() {
2537
- super();
2538
- const t = new it(1, 0), o = new y({ color: 8421504, flatShading: !0 });
2539
- for (let n = 0; n < 5; n++) {
2540
- const r = new M(t, o);
2541
- 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);
2542
- }
2763
+ super(
2764
+ new ke(t, o, n),
2765
+ new M({ color: 8421504, flatShading: !0 })
2766
+ );
2543
2767
  }
2544
2768
  }
2545
- class cn extends B {
2769
+ class gn extends y {
2546
2770
  constructor() {
2547
- super();
2548
- const t = [
2549
- new I(0, 0),
2550
- // Bottom
2551
- new I(0.8, 0),
2552
- // Base
2553
- new I(1, 1.5),
2554
- // Rounded body
2555
- new I(0.5, 2.2),
2556
- // Neck
2557
- new I(0.6, 2.5)
2558
- // Mouth
2559
- ], o = new Z(t, 10), n = new S(0.3, 0.4, 0.2, 8), r = new y({
2560
- color: 8965375,
2561
- transparent: !0,
2562
- opacity: 0.5,
2563
- roughness: 0.1,
2564
- metalness: 0.3
2565
- }), s = new y({
2566
- color: 16724838,
2567
- // Vibrant potion color
2568
- transparent: !0,
2569
- opacity: 0.6
2570
- }), a = new y({
2571
- color: 9127187,
2572
- roughness: 1
2573
- }), i = new M(o, r);
2574
- i.castShadow = !0;
2575
- const c = new M(o, s), l = new M(n, a);
2576
- c.scale.set(0.8, 0.8, 0.8), c.position.y = 0.1, l.position.y = 2.5;
2577
- const u = new B();
2578
- u.add(i, c, l), this.add(u);
2771
+ super(new qe(), new M({ color: 8421504, flatShading: !0 }));
2579
2772
  }
2580
2773
  }
2581
- class ln extends B {
2774
+ class In extends O {
2582
2775
  constructor() {
2583
2776
  super();
2584
- 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({
2585
2778
  color: 3355443,
2586
2779
  roughness: 0.6,
2587
2780
  metalness: 0.3
2588
- }), n = new M(t, o);
2781
+ }), n = new y(t, o);
2589
2782
  n.position.y = 0.05;
2590
- 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({
2591
2784
  color: 5592405,
2592
2785
  roughness: 0.5,
2593
2786
  metalness: 0.4
2594
- }), a = new M(r, s);
2787
+ }), a = new y(r, s);
2595
2788
  a.position.y = 0.4;
2596
- const i = new Y(0.075, 0.2, 16), c = new y({
2789
+ const i = new Z(0.075, 0.2, 16), c = new M({
2597
2790
  color: 16733440,
2598
2791
  emissive: 16733440,
2599
2792
  emissiveIntensity: 0.6,
2600
2793
  transparent: !0,
2601
2794
  opacity: 0.8
2602
- }), l = new M(i, c);
2795
+ }), l = new y(i, c);
2603
2796
  l.position.y = 0.8, this.add(n, a, l);
2604
2797
  }
2605
2798
  }
2606
- class un extends B {
2799
+ class An extends O {
2607
2800
  constructor() {
2608
2801
  super();
2609
- const t = new E(3, 4, 0.1), o = new y({
2802
+ const t = new b(3, 4, 0.1), o = new M({
2610
2803
  color: 3026478,
2611
2804
  roughness: 0.8,
2612
2805
  metalness: 0.6
2613
- }), n = new E(0.2, 0.5, 0.2), r = new y({
2806
+ }), n = new b(0.2, 0.5, 0.2), r = new M({
2614
2807
  color: 11184810,
2615
2808
  roughness: 0.5,
2616
2809
  metalness: 0.7
2617
- }), 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({
2618
2811
  color: 5592405,
2619
2812
  roughness: 0.7,
2620
2813
  metalness: 0.5
2621
- }), i = new M(t, o);
2814
+ }), i = new y(t, o);
2622
2815
  for (let w = -1; w <= 1; w++) {
2623
- const v = new M(n, r);
2624
- v.position.set(w, 1.5, 0.1), i.add(v);
2816
+ const g = new y(n, r);
2817
+ g.position.set(w, 1.5, 0.1), i.add(g);
2625
2818
  }
2626
- const c = new M(s, a);
2819
+ const c = new y(s, a);
2627
2820
  c.rotation.x = Math.PI / 2, c.position.set(0, 0.5, 0.15), i.add(c);
2628
- const l = new U(0.15, 8, 8), u = new y({
2821
+ const l = new _(0.15, 8, 8), u = new M({
2629
2822
  color: 16711680,
2630
2823
  emissive: 16711680,
2631
2824
  emissiveIntensity: 0.5
2632
- }), h = new M(l, u);
2633
- h.position.set(0, -1, 0.1), i.add(h), this.add(i);
2634
- let m = 0.015, f = 0.8, d = 0.2;
2635
- function p() {
2636
- requestAnimationFrame(p);
2637
- const w = d + Math.abs(Math.sin(Date.now() * m)) * (f - d);
2638
- h.material.emissiveIntensity = w;
2825
+ }), m = new y(l, u);
2826
+ m.position.set(0, -1, 0.1), i.add(m), this.add(i);
2827
+ let h = 0.015, f = 0.8, p = 0.2;
2828
+ function d() {
2829
+ requestAnimationFrame(d);
2830
+ const w = p + Math.abs(Math.sin(Date.now() * h)) * (f - p);
2831
+ m.material.emissiveIntensity = w;
2639
2832
  }
2640
- p();
2833
+ d();
2641
2834
  }
2642
2835
  }
2643
- class hn extends M {
2836
+ class En extends y {
2644
2837
  constructor({
2645
2838
  flaskRadius: t = 1,
2646
2839
  //
@@ -2649,148 +2842,121 @@ class hn extends M {
2649
2842
  neckHeight: r = 1,
2650
2843
  radialSegments: s = 16
2651
2844
  } = {}) {
2652
- super(), this.geometry = new _e({ flaskRadius: t, neckRadius: o, height: n, neckHeight: r, radialSegments: s }), this.material = new W({
2653
- color: 8965375,
2654
- transparent: !0,
2655
- opacity: 0.4,
2656
- roughness: 0.1,
2657
- metalness: 0.1,
2658
- reflectivity: 0.8,
2659
- transmission: 0.9,
2660
- side: k,
2661
- wireframe: !1
2662
- });
2663
- }
2664
- }
2665
- class mn extends B {
2666
- constructor() {
2667
- super();
2668
- const t = [
2669
- new I(0, 0),
2670
- // Bottom of the flask
2671
- new I(1.2, 0),
2672
- // Base
2673
- new I(1.5, 1.5),
2674
- // Mid-body
2675
- new I(1, 3),
2676
- // Narrow neck
2677
- new I(0.6, 3.5)
2678
- // Mouth of the flask
2679
- ], o = new Z(t, 12), n = new S(0.6, 0.7, 0.3, 8), r = new y({
2680
- color: 8965290,
2681
- transparent: !0,
2682
- opacity: 0.4,
2683
- roughness: 0.1,
2684
- metalness: 0.5,
2685
- depthWrite: !1
2686
- }), s = new y({
2687
- color: 9127187,
2688
- roughness: 1
2689
- }), a = new M(o, r);
2690
- a.castShadow = !0;
2691
- const i = new M(n, s);
2692
- i.position.y = 3.5, this.add(a, i);
2845
+ super(
2846
+ new Ye({ flaskRadius: t, neckRadius: o, height: n, neckHeight: r, radialSegments: s }),
2847
+ new tt({
2848
+ color: 8965375,
2849
+ transparent: !0,
2850
+ opacity: 0.4,
2851
+ roughness: 0.1,
2852
+ metalness: 0.1,
2853
+ reflectivity: 0.8,
2854
+ transmission: 0.9,
2855
+ side: k
2856
+ })
2857
+ );
2693
2858
  }
2694
2859
  }
2695
- class fn extends M {
2860
+ class bn extends y {
2696
2861
  constructor() {
2697
- super();
2698
- g(this, "geometry");
2699
- g(this, "material");
2700
- this.geometry = new Oe(), this.material = new W({
2701
- color: 8965375,
2702
- transparent: !0,
2703
- opacity: 0.4,
2704
- roughness: 0.1,
2705
- metalness: 0.1,
2706
- reflectivity: 0.8,
2707
- transmission: 0.9,
2708
- side: k
2709
- }), this.rotation.x = -Math.PI / 2;
2862
+ super(
2863
+ new Ze(),
2864
+ new tt({
2865
+ color: 8965375,
2866
+ transparent: !0,
2867
+ depthWrite: !1,
2868
+ opacity: 0.4,
2869
+ roughness: 0.1,
2870
+ metalness: 0.1,
2871
+ reflectivity: 0.8,
2872
+ transmission: 0.9,
2873
+ side: k
2874
+ })
2875
+ );
2710
2876
  }
2711
2877
  }
2712
- class dn extends B {
2878
+ class Sn extends O {
2713
2879
  constructor() {
2714
2880
  super();
2715
- const t = new E(2, 3, 0.1), o = new y({
2881
+ const t = new b(2, 3, 0.1), o = new M({
2716
2882
  color: 3355443,
2717
2883
  roughness: 0.8,
2718
2884
  metalness: 0.5
2719
- }), 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({
2720
2886
  color: 11184810,
2721
2887
  roughness: 0.5,
2722
2888
  metalness: 0.7
2723
2889
  });
2724
2890
  for (let i = -0.5; i <= 0.5; i += 0.5) {
2725
- const c = new M(r, a);
2891
+ const c = new y(r, a);
2726
2892
  c.position.set(i, 1, 0.1);
2727
- const l = new M(s, a);
2893
+ const l = new y(s, a);
2728
2894
  l.position.y = 0.5, c.add(l), this.add(c);
2729
2895
  }
2730
2896
  this.add(n);
2731
2897
  }
2732
2898
  }
2733
- class pn extends B {
2899
+ class Pn extends O {
2734
2900
  constructor() {
2735
2901
  super();
2736
- const t = new E(1, 0.2, 0.5), o = new y({
2902
+ const t = new b(1, 0.2, 0.5), o = new M({
2737
2903
  color: 4473924,
2738
2904
  roughness: 0.6,
2739
2905
  metalness: 0.3
2740
- }), n = new M(t, o);
2906
+ }), n = new y(t, o);
2741
2907
  n.position.y = 0.1;
2742
- const r = new E(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);
2743
2909
  s.position.set(0, 0.6, -0.2);
2744
- 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({
2745
2911
  color: 3355443,
2746
2912
  roughness: 0.5,
2747
2913
  metalness: 0.6
2748
- }), c = new M(a, i);
2914
+ }), c = new y(a, i);
2749
2915
  c.position.set(0, 1.1, -0.35), c.rotation.x = -Math.PI / 4;
2750
- const l = new E(0.6, 0.1, 0.6), u = new y({
2916
+ const l = new b(0.6, 0.1, 0.6), u = new M({
2751
2917
  color: 5592405,
2752
2918
  roughness: 0.8,
2753
2919
  metalness: 0.2
2754
- }), h = new M(l, u);
2755
- h.position.set(0, 0.6, 0), this.add(n, s, c, h);
2920
+ }), m = new y(l, u);
2921
+ m.position.set(0, 0.6, 0), this.add(n, s, c, m);
2756
2922
  }
2757
2923
  }
2758
- class Mn extends B {
2924
+ class Tn extends O {
2759
2925
  constructor() {
2760
2926
  super();
2761
- const t = new ze(), 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);
2762
2928
  o.translate(0, 0.75, 0);
2763
- const n = new y({
2929
+ const n = new M({
2764
2930
  color: 6045747,
2765
2931
  // Dark earthy tone
2766
2932
  roughness: 1,
2767
2933
  metalness: 0,
2768
2934
  side: k
2769
2935
  // Render inside and outside
2770
- }), r = new y({
2936
+ }), r = new M({
2771
2937
  color: 9132587,
2772
2938
  // Slightly lighter earthy color
2773
2939
  roughness: 0.8,
2774
2940
  metalness: 0.1
2775
- }), s = new M(t, n);
2941
+ }), s = new y(t, n);
2776
2942
  s.castShadow = !0;
2777
- const a = new M(o, r);
2943
+ const a = new y(o, r);
2778
2944
  a.castShadow = !0, a.position.set(0.3, 1.3, 0), a.rotation.z = Math.PI / 4, this.add(s, a);
2779
2945
  }
2780
2946
  }
2781
- class yn extends M {
2947
+ class Gn extends y {
2782
2948
  constructor({ width: o = 3, height: n = 4, depth: r = 0.1 } = {}) {
2783
2949
  super();
2784
- g(this, "geometry");
2785
- g(this, "material");
2786
- this.geometry = new E(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({
2787
2953
  color: 3026478,
2788
2954
  roughness: 0.8,
2789
2955
  metalness: 0.6
2790
2956
  });
2791
2957
  }
2792
2958
  }
2793
- class wn extends M {
2959
+ class Cn extends y {
2794
2960
  constructor({
2795
2961
  radius: o = 0.15,
2796
2962
  //
@@ -2799,36 +2965,36 @@ class wn extends M {
2799
2965
  emissiveIntensity: s = 0.5
2800
2966
  } = {}) {
2801
2967
  super();
2802
- g(this, "geometry");
2803
- g(this, "material");
2804
- this.geometry = new U(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({
2805
2971
  color: n,
2806
2972
  emissive: r,
2807
2973
  emissiveIntensity: s
2808
2974
  });
2809
2975
  }
2810
2976
  }
2811
- class vn extends B {
2977
+ class Bn extends O {
2812
2978
  constructor() {
2813
2979
  super();
2814
- const t = 100, o = 0.05, n = new Gt(
2980
+ const t = 100, o = 0.05, n = new Bt(
2815
2981
  Array.from({ length: t }, (l, u) => {
2816
- const h = u * 0.2;
2817
- return new b(
2818
- Math.cos(h) * 0.4,
2982
+ const m = u * 0.2;
2983
+ return new x(
2984
+ Math.cos(m) * 0.4,
2819
2985
  u * o,
2820
2986
  // Gradual height increase
2821
- Math.sin(h) * 0.4
2987
+ Math.sin(m) * 0.4
2822
2988
  );
2823
2989
  })
2824
- ), r = new Ct(n, 200, 0.1, 8, !1), s = new y({
2990
+ ), r = new Rt(n, 200, 0.1, 8, !1), s = new M({
2825
2991
  color: 8965375,
2826
2992
  transparent: !0,
2827
2993
  opacity: 0.3,
2828
2994
  roughness: 0.1,
2829
2995
  metalness: 0.2,
2830
2996
  emissive: 8965375
2831
- }), a = new M(r, s);
2997
+ }), a = new y(r, s);
2832
2998
  this.add(a);
2833
2999
  function i() {
2834
3000
  s.emissiveIntensity = 0.2 + Math.sin(Date.now() * 5e-3) * 0.1;
@@ -2839,74 +3005,71 @@ class vn extends B {
2839
3005
  c();
2840
3006
  }
2841
3007
  }
2842
- class xn extends M {
3008
+ class Rn extends y {
2843
3009
  constructor({
2844
- radius: o = 0.3,
3010
+ radius: t = 0.3,
2845
3011
  //
2846
- height: n = 0.4,
2847
- count: r = 3,
2848
- thickness: s = 0.03,
2849
- radialSegments: a = 16
3012
+ height: o = 0.4,
3013
+ count: n = 3,
3014
+ thickness: r = 0.03,
3015
+ radialSegments: s = 16
2850
3016
  } = {}) {
2851
- super();
2852
- g(this, "geometry");
2853
- g(this, "material");
2854
- this.geometry = new Fe({ radius: o, height: n, count: r, thickness: s, radialSegments: a }), this.material = new y({
2855
- color: 8947848,
2856
- roughness: 0.7,
2857
- metalness: 0.3
2858
- });
3017
+ super(
3018
+ new Qe({ radius: t, height: o, count: n, thickness: r, radialSegments: s }),
3019
+ new M({
3020
+ color: 8947848,
3021
+ roughness: 0.7,
3022
+ metalness: 0.3
3023
+ })
3024
+ );
2859
3025
  }
2860
3026
  }
2861
- class gn extends B {
3027
+ class Nn extends y {
2862
3028
  constructor() {
2863
- super();
2864
- const t = new S(0.5, 0.6, 0.3, 16), o = new y({
2865
- color: 3355443,
2866
- roughness: 0.6,
2867
- metalness: 0.5
2868
- }), n = new M(t, o);
2869
- n.position.y = 0.15;
2870
- const r = new S(0.15, 0.15, 2, 12, 1, !0), s = new y({
2871
- color: 16737792,
2872
- roughness: 0.5,
2873
- metalness: 0.8,
2874
- side: k
2875
- }), a = new M(r, s);
2876
- a.position.y = 1.3;
2877
- const i = new U(0.3, 16, 16), c = new M(i, s);
2878
- 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
+ ]);
2879
3042
  }
2880
3043
  }
2881
- class bn extends B {
3044
+ class _n extends y {
2882
3045
  constructor(t = 0.2, o = 0.2, n = 3, r = 32) {
2883
- super();
2884
- const s = new rt(t, o, n, r), a = new W({
2885
- color: 8965375,
2886
- transparent: !0,
2887
- opacity: 0.4,
2888
- roughness: 0.1,
2889
- metalness: 0.1,
2890
- reflectivity: 0.8,
2891
- transmission: 0.9,
2892
- // For glass effect
2893
- depthWrite: !1,
2894
- side: k
2895
- }), i = new M(s, a);
2896
- this.add(i);
3046
+ super(
3047
+ new it(t, o, n, r),
3048
+ new tt({
3049
+ color: 8965375,
3050
+ transparent: !0,
3051
+ opacity: 0.4,
3052
+ roughness: 0.1,
3053
+ metalness: 0.1,
3054
+ reflectivity: 0.8,
3055
+ transmission: 0.9,
3056
+ depthWrite: !1,
3057
+ side: k
3058
+ })
3059
+ );
2897
3060
  }
2898
3061
  }
2899
- class In extends B {
3062
+ class Un extends O {
2900
3063
  constructor(t = 3, o = [65450, 16711850, 11141375]) {
2901
3064
  super();
2902
- const n = new E(3, 0.2, 1), r = new y({
3065
+ const n = new b(3, 0.2, 1), r = new M({
2903
3066
  color: 9127187,
2904
3067
  // Wooden color or change to metallic tone
2905
3068
  roughness: 0.7,
2906
3069
  metalness: 0.3
2907
- }), s = new M(n, r);
3070
+ }), s = new y(n, r);
2908
3071
  s.position.y = 0.5, s.castShadow = !0;
2909
- const a = new rt(0.1, 0.1, 1, 16), i = new y({
3072
+ const a = new it(0.1, 0.1, 1, 16), i = new M({
2910
3073
  color: 11184810,
2911
3074
  transparent: !0,
2912
3075
  opacity: 0.4,
@@ -2916,57 +3079,41 @@ class In extends B {
2916
3079
  side: k
2917
3080
  });
2918
3081
  for (let c = 0; c < t; c++) {
2919
- 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;
2920
3083
  l.position.set(u, 1, 0), l.castShadow = !0;
2921
- const h = new rt(0.099, 0.099, 0.5, 16, !1), m = o[c % o.length], f = new y({
2922
- color: m,
2923
- emissive: m,
3084
+ const m = new it(0.099, 0.099, 0.5, 16, !1), h = o[c % o.length], f = new M({
3085
+ color: h,
3086
+ emissive: h,
2924
3087
  emissiveIntensity: 0.5,
2925
3088
  transparent: !0,
2926
3089
  opacity: 0.6
2927
- }), d = new M(h, f);
2928
- d.position.set(0, -0.25, 0), l.add(d), s.add(l);
3090
+ }), p = new y(m, f);
3091
+ p.position.set(0, -0.25, 0), l.add(p), s.add(l);
2929
3092
  }
2930
3093
  this.add(s);
2931
3094
  }
2932
3095
  }
2933
- class En extends M {
2934
- constructor() {
2935
- super();
2936
- const t = new Le(), o = new W({
2937
- color: 5597999,
2938
- roughness: 0.1,
2939
- transmission: 0.9,
2940
- // Makes the material transparent
2941
- thickness: 0.2,
2942
- metalness: 0,
2943
- clearcoat: 1,
2944
- clearcoatRoughness: 0.1
2945
- });
2946
- this.geometry = t, this.material = o;
2947
- }
2948
- }
2949
- class Xe extends j {
3096
+ class eo extends j {
2950
3097
  constructor(t = 5, o = 0.5, n = 1) {
2951
3098
  super();
2952
3099
  const r = Math.PI * 2 / t, s = r / 2, a = r / 4;
2953
3100
  this.moveTo(Math.cos(0) * n, -Math.sin(0) * n);
2954
3101
  for (let i = 1; i <= t; ++i) {
2955
- let c = Math.cos(r * i - a * 3) * (o / Math.cos(a)), l = -Math.sin(r * i - a * 3) * (o / Math.cos(a)), u = Math.cos(r * i - s) * o, h = -Math.sin(r * i - s) * o;
2956
- this.quadraticCurveTo(c, l, u, h), c = Math.cos(r * i - a) * (o / Math.cos(a)), l = -Math.sin(r * i - a) * (o / Math.cos(a)), u = Math.cos(r * i) * n, h = -Math.sin(r * i) * n, this.quadraticCurveTo(c, l, u, h);
3102
+ let c = Math.cos(r * i - a * 3) * (o / Math.cos(a)), l = -Math.sin(r * i - a * 3) * (o / Math.cos(a)), u = Math.cos(r * i - s) * o, m = -Math.sin(r * i - s) * o;
3103
+ this.quadraticCurveTo(c, l, u, m), c = Math.cos(r * i - a) * (o / Math.cos(a)), l = -Math.sin(r * i - a) * (o / Math.cos(a)), u = Math.cos(r * i) * n, m = -Math.sin(r * i) * n, this.quadraticCurveTo(c, l, u, m);
2957
3104
  }
2958
3105
  this.closePath();
2959
3106
  }
2960
3107
  }
2961
- class An extends M {
3108
+ class On extends y {
2962
3109
  constructor(t = 5, o = 0.5, n = 1, r = 0.25) {
2963
3110
  super();
2964
- const s = new Xe(t, o, n), a = new Q(s, {
3111
+ const s = new eo(t, o, n), a = new Q(s, {
2965
3112
  depth: r,
2966
3113
  bevelEnabled: r > 0,
2967
3114
  bevelThickness: 0,
2968
3115
  bevelSize: 0
2969
- }), i = new y({
3116
+ }), i = new M({
2970
3117
  color: 16776960,
2971
3118
  emissive: 16766720,
2972
3119
  emissiveIntensity: 0.25,
@@ -2977,7 +3124,7 @@ class An extends M {
2977
3124
  a.center(), this.geometry = a, this.material = i;
2978
3125
  }
2979
3126
  }
2980
- class Ye extends j {
3127
+ class oo extends j {
2981
3128
  constructor(t = 5, o = 0.5, n = 1, r = 5, s = 0.25) {
2982
3129
  super();
2983
3130
  const a = Math.PI * 2 / t, i = a / 4;
@@ -2985,7 +3132,7 @@ class Ye extends j {
2985
3132
  for (let c = 1; c <= t; ++c)
2986
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);
2987
3134
  if (this.closePath(), s > 0 && r > 2) {
2988
- const c = new Bt(), l = Math.PI * 2 / r;
3135
+ const c = new Nt(), l = Math.PI * 2 / r;
2989
3136
  c.moveTo(Math.cos(0) * s, -Math.sin(0) * s);
2990
3137
  for (let u = 1; u < r; ++u)
2991
3138
  c.lineTo(Math.cos(l * u) * s, -Math.sin(l * u) * s);
@@ -2993,15 +3140,15 @@ class Ye extends j {
2993
3140
  }
2994
3141
  }
2995
3142
  }
2996
- class Sn extends M {
3143
+ class Ln extends y {
2997
3144
  constructor(t = 5, o = 0.5, n = 1, r = 5, s = 0.25, a = 0.25) {
2998
3145
  super();
2999
- const i = new Ye(t, o, n, r, s), c = new Q(i, {
3146
+ const i = new oo(t, o, n, r, s), c = new Q(i, {
3000
3147
  depth: a,
3001
3148
  bevelEnabled: a > 0,
3002
3149
  bevelThickness: 0,
3003
3150
  bevelSize: 0
3004
- }), l = new y({
3151
+ }), l = new M({
3005
3152
  color: 11184810,
3006
3153
  metalness: 0.8,
3007
3154
  roughness: 0.2
@@ -3009,7 +3156,7 @@ class Sn extends M {
3009
3156
  c.center(), this.geometry = c, this.material = l;
3010
3157
  }
3011
3158
  }
3012
- class Ze extends j {
3159
+ class no extends j {
3013
3160
  constructor(t = 1, o = 2.1, n = 1.4, r = 1.6) {
3014
3161
  super(), this.moveTo(0, n * t / 3), this.bezierCurveTo(
3015
3162
  -o * 0.375 * t,
@@ -3034,15 +3181,15 @@ class Ze extends j {
3034
3181
  );
3035
3182
  }
3036
3183
  }
3037
- class Pn extends M {
3184
+ class Fn extends y {
3038
3185
  constructor(t = 1, o = 1, n = 1, r = 10, s = 0.25) {
3039
3186
  super();
3040
- const a = new Ze(t, o, n, r), i = new Q(a, {
3187
+ const a = new no(t, o, n, r), i = new Q(a, {
3041
3188
  depth: s,
3042
3189
  bevelEnabled: s > 0,
3043
3190
  bevelThickness: 0,
3044
3191
  bevelSize: 0
3045
- }), c = new y({
3192
+ }), c = new M({
3046
3193
  color: 12986408,
3047
3194
  emissive: 12981270,
3048
3195
  emissiveIntensity: 0.25,
@@ -3053,7 +3200,7 @@ class Pn extends M {
3053
3200
  i.center(), this.geometry = i, this.material = c;
3054
3201
  }
3055
3202
  }
3056
- class je extends j {
3203
+ class so extends j {
3057
3204
  constructor(t = 5, o = 0.5, n = 1) {
3058
3205
  super();
3059
3206
  const r = Math.PI * 2 / t, s = r / 2;
@@ -3063,15 +3210,15 @@ class je extends j {
3063
3210
  this.closePath();
3064
3211
  }
3065
3212
  }
3066
- class Tn extends M {
3213
+ class zn extends y {
3067
3214
  constructor(t = 5, o = 0.5, n = 1, r = 0.25) {
3068
3215
  super();
3069
- const s = new je(t, o, n), a = new Q(s, {
3216
+ const s = new so(t, o, n), a = new Q(s, {
3070
3217
  depth: r,
3071
3218
  bevelEnabled: r > 0,
3072
3219
  bevelThickness: 0,
3073
3220
  bevelSize: 0
3074
- }), i = new y({
3221
+ }), i = new M({
3075
3222
  color: 16776960,
3076
3223
  emissive: 16766720,
3077
3224
  emissiveIntensity: 0.25,
@@ -3082,12 +3229,12 @@ class Tn extends M {
3082
3229
  a.center(), this.geometry = a, this.material = i;
3083
3230
  }
3084
3231
  }
3085
- class Gn extends M {
3232
+ class Dn extends y {
3086
3233
  constructor() {
3087
- super(), this.geometry = new Ue(), this.material = new y({ color: 16777215 });
3234
+ super(new Ve(), new M({ color: 16777215 }));
3088
3235
  }
3089
3236
  }
3090
- class Cn extends M {
3237
+ class kn extends y {
3091
3238
  constructor({
3092
3239
  trunkRadiusTop: t = 0.25,
3093
3240
  trunkRadiusBottom: o = 0.4,
@@ -3100,31 +3247,35 @@ class Cn extends M {
3100
3247
  leafSpreadRadius: l = 1.5,
3101
3248
  leafColor: u = 2263842
3102
3249
  } = {}) {
3103
- super();
3104
- const h = new Ve({
3105
- trunkRadiusTop: t,
3106
- trunkRadiusBottom: o,
3107
- trunkHeight: n,
3108
- trunkSegments: r,
3109
- leafSize: a,
3110
- leafCount: i,
3111
- leafDetail: c,
3112
- leafSpreadRadius: l
3113
- }), m = new y({
3114
- color: s,
3115
- roughness: 0.9,
3116
- metalness: 0,
3117
- flatShading: !0
3118
- }), f = new y({
3119
- color: u,
3120
- roughness: 0.8,
3121
- metalness: 0,
3122
- flatShading: !0
3123
- });
3124
- this.geometry = h, this.material = [m, f];
3250
+ super(
3251
+ new We({
3252
+ trunkRadiusTop: t,
3253
+ trunkRadiusBottom: o,
3254
+ trunkHeight: n,
3255
+ trunkSegments: r,
3256
+ leafSize: a,
3257
+ leafCount: i,
3258
+ leafDetail: c,
3259
+ leafSpreadRadius: l
3260
+ }),
3261
+ [
3262
+ new M({
3263
+ color: s,
3264
+ roughness: 0.9,
3265
+ metalness: 0,
3266
+ flatShading: !0
3267
+ }),
3268
+ new M({
3269
+ color: u,
3270
+ roughness: 0.8,
3271
+ metalness: 0,
3272
+ flatShading: !0
3273
+ })
3274
+ ]
3275
+ );
3125
3276
  }
3126
3277
  }
3127
- class Bn extends M {
3278
+ class qn extends y {
3128
3279
  constructor({
3129
3280
  radius: t = 3,
3130
3281
  //
@@ -3134,19 +3285,22 @@ class Bn extends M {
3134
3285
  phiStart: s = 0,
3135
3286
  phiLength: a = Math.PI * 2
3136
3287
  } = {}) {
3137
- super(), this.geometry = new ke({
3138
- radius: t,
3139
- height: o,
3140
- widthSegments: n,
3141
- heightSegments: r,
3142
- phiStart: s,
3143
- phiLength: a
3144
- }), 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
+ );
3145
3299
  }
3146
3300
  }
3147
- class Rn extends M {
3301
+ class Vn extends y {
3148
3302
  constructor({
3149
- radius: t = gt(5, Math.PI / 10),
3303
+ radius: t = At(5, Math.PI / 10),
3150
3304
  //
3151
3305
  widthSegments: o = 64,
3152
3306
  heightSegments: n = 32,
@@ -3154,17 +3308,20 @@ class Rn extends M {
3154
3308
  phiLength: s = Math.PI * 2,
3155
3309
  thetaLength: a = Math.PI / 10
3156
3310
  } = {}) {
3157
- super(), this.geometry = new qe({
3158
- radius: t,
3159
- widthSegments: o,
3160
- heightSegments: n,
3161
- phiStart: r,
3162
- phiLength: s,
3163
- thetaLength: a
3164
- }), 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
+ );
3165
3322
  }
3166
3323
  }
3167
- function Nn(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 } = {}) {
3168
3325
  e.onBeforeCompile = (r) => {
3169
3326
  r.uniforms.time = { value: t }, r.uniforms.waveFrequency = { value: o }, r.uniforms.waveAmplitude = { value: n }, r.vertexShader = `
3170
3327
  uniform float time;
@@ -3188,10 +3345,10 @@ function Nn(e, { time: t = 0, waveFrequency: o = 0.2, waveAmplitude: n = 0.5 } =
3188
3345
  ), e.userData.shader = r;
3189
3346
  };
3190
3347
  }
3191
- function Un(e, t) {
3348
+ function Hn(e, t) {
3192
3349
  e.userData.shader && (e.userData.shader.uniforms.time.value += t);
3193
3350
  }
3194
- function _n(e, { time: t = 0, intensity: o = 1, axis: n = ut.XYZ, scale: r = 10 } = {}) {
3351
+ function Xn(e, { time: t = 0, intensity: o = 1, axis: n = mt.XYZ, scale: r = 10 } = {}) {
3195
3352
  e.onBeforeCompile = (s) => {
3196
3353
  s.uniforms.time = { value: t }, s.uniforms.axis = { value: n }, s.uniforms.intensity = { value: o }, s.uniforms.scale = { value: r }, s.vertexShader = `
3197
3354
  uniform float time;
@@ -3235,17 +3392,17 @@ function _n(e, { time: t = 0, intensity: o = 1, axis: n = ut.XYZ, scale: r = 10
3235
3392
  ), e.userData.shader = s;
3236
3393
  };
3237
3394
  }
3238
- function On(e, t) {
3395
+ function Zn(e, t) {
3239
3396
  e.userData.shader && (e.userData.shader.uniforms.time.value += t);
3240
3397
  }
3241
- const ot = {
3398
+ const nt = {
3242
3399
  uniforms: {
3243
3400
  turbidity: { value: 10 },
3244
3401
  rayleigh: { value: 2 },
3245
3402
  mieCoefficient: { value: 5e-3 },
3246
3403
  mieDirectionalG: { value: 0.8 },
3247
- sunPosition: { value: new b().setFromSphericalCoords(1, z.degToRad(90), z.degToRad(180)) },
3248
- up: { value: new b(0, 1, 0) }
3404
+ sunPosition: { value: new x().setFromSphericalCoords(1, L.degToRad(90), L.degToRad(180)) },
3405
+ up: { value: new x(0, 1, 0) }
3249
3406
  },
3250
3407
  vertexShader: `
3251
3408
  uniform vec3 sunPosition;
@@ -3400,7 +3557,7 @@ const ot = {
3400
3557
  #include <colorspace_fragment>
3401
3558
  }
3402
3559
  `
3403
- }, nt = {
3560
+ }, st = {
3404
3561
  uniforms: {
3405
3562
  topColor: { value: new $(0.5, 0.8, 1) },
3406
3563
  bottomColor: { value: new $(1, 1, 1) }
@@ -3421,7 +3578,7 @@ const ot = {
3421
3578
  gl_FragColor = vec4(mix(bottomColor, topColor, y), 1.0);
3422
3579
  }
3423
3580
  `
3424
- }, zn = {
3581
+ }, jn = {
3425
3582
  uniforms: {
3426
3583
  tDiffuse: { value: null },
3427
3584
  opacity: { value: 1 }
@@ -3442,7 +3599,7 @@ const ot = {
3442
3599
  gl_FragColor = opacity * texel;
3443
3600
  }
3444
3601
  `
3445
- }, st = {
3602
+ }, rt = {
3446
3603
  uniforms: {
3447
3604
  topColor: { value: new $(51) },
3448
3605
  bottomColor: { value: new $(17) },
@@ -3469,19 +3626,19 @@ const ot = {
3469
3626
  }
3470
3627
  `
3471
3628
  };
3472
- class Fn extends M {
3629
+ class Qn extends y {
3473
3630
  constructor() {
3474
3631
  super();
3475
- g(this, "geometry");
3476
- g(this, "material");
3477
- this.geometry = new E(1, 1, 1), this.material = new J({
3478
- uniforms: ot.uniforms,
3479
- vertexShader: ot.vertexShader,
3480
- 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,
3481
3638
  depthWrite: !1,
3482
- side: ct
3639
+ side: lt
3483
3640
  }), this.scale.setScalar(45e4);
3484
- const o = z.degToRad(89), n = z.degToRad(180), r = new b().setFromSphericalCoords(1, o, n);
3641
+ const o = L.degToRad(89), n = L.degToRad(180), r = new x().setFromSphericalCoords(1, o, n);
3485
3642
  this.material.uniforms.sunPosition.value = r;
3486
3643
  }
3487
3644
  /**
@@ -3498,46 +3655,46 @@ class Fn extends M {
3498
3655
  * - This is the horizontal angle in the xy-plane.
3499
3656
  */
3500
3657
  sunPosition(o, n) {
3501
- const r = new b();
3658
+ const r = new x();
3502
3659
  r.setFromSphericalCoords(1, o, n), this.material.uniforms.sunPosition.value = r;
3503
3660
  }
3504
3661
  }
3505
- class Ln extends M {
3662
+ class Kn extends y {
3506
3663
  constructor(o = 1e3) {
3507
3664
  super();
3508
- g(this, "geometry");
3509
- g(this, "material");
3510
- this.geometry = new E(o, o, o), this.material = new J({
3511
- uniforms: nt.uniforms,
3512
- vertexShader: nt.vertexShader,
3513
- fragmentShader: nt.fragmentShader,
3514
- side: ct
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,
3671
+ side: lt
3515
3672
  });
3516
3673
  }
3517
3674
  }
3518
- class kn extends M {
3675
+ class Jn extends y {
3519
3676
  constructor(o = 1e3) {
3520
3677
  super();
3521
- g(this, "geometry");
3522
- g(this, "material");
3523
- this.geometry = new U(o, 32, 15), this.material = new J({
3524
- vertexShader: st.vertexShader,
3525
- fragmentShader: st.fragmentShader,
3526
- uniforms: st.uniforms,
3527
- side: ct
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,
3684
+ side: lt
3528
3685
  });
3529
3686
  }
3530
3687
  }
3531
- const Dn = (e) => {
3688
+ const $n = (e) => {
3532
3689
  const t = new Uint8Array(4 * e * e);
3533
3690
  for (let n = 0; n < e * e; n++) {
3534
3691
  const r = n * 4, s = (n % e ^ Math.floor(n / e)) & 1 ? 255 : 0;
3535
3692
  t[r] = s, t[r + 1] = s, t[r + 2] = s, t[r + 3] = 255;
3536
3693
  }
3537
- const o = new Rt(t, e, e, Nt, Ut);
3538
- return o.wrapS = ht, o.wrapT = ht, o.minFilter = _t, 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;
3539
3696
  };
3540
- function qn(e) {
3697
+ function Wn(e) {
3541
3698
  const t = parseInt(e.slice(1), 16);
3542
3699
  return [
3543
3700
  t >> 16 & 255,
@@ -3548,15 +3705,15 @@ function qn(e) {
3548
3705
  // b
3549
3706
  ];
3550
3707
  }
3551
- function Vn(e) {
3708
+ function ts(e) {
3552
3709
  const [t, o, n] = X(e);
3553
- return Ke(t, o, n);
3710
+ return ao(t, o, n);
3554
3711
  }
3555
3712
  function X(e) {
3556
3713
  const t = e >> 16 & 255, o = e >> 8 & 255, n = e & 255;
3557
3714
  return [t, o, n];
3558
3715
  }
3559
- function Hn(e, t, o) {
3716
+ function es(e, t, o) {
3560
3717
  t /= 100, o /= 100;
3561
3718
  function n(c, l, u) {
3562
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;
@@ -3575,18 +3732,18 @@ function Hn(e, t, o) {
3575
3732
  i(a)
3576
3733
  ];
3577
3734
  }
3578
- function Qe(e, t, o) {
3735
+ function ro(e, t, o) {
3579
3736
  t /= 100, o /= 100;
3580
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)));
3581
3738
  return [s(0) * 255, s(8) * 255, s(4) * 255];
3582
3739
  }
3583
- function Xn(e, t, o) {
3740
+ function os(e, t, o) {
3584
3741
  return [e / 255, t / 255, o / 255];
3585
3742
  }
3586
- function Yn(e, t, o) {
3743
+ function ns(e, t, o) {
3587
3744
  return e = Math.round(e), t = Math.round(t), o = Math.round(o), (e << 16) + (t << 8) + o;
3588
3745
  }
3589
- function Ke(e, t, o) {
3746
+ function ao(e, t, o) {
3590
3747
  e /= 255, t /= 255, o /= 255;
3591
3748
  const n = Math.max(e, t, o), r = Math.min(e, t, o), s = n - r;
3592
3749
  let a = 0, i = 0;
@@ -3595,138 +3752,138 @@ function Ke(e, t, o) {
3595
3752
  const l = Math.round(c * 100);
3596
3753
  return [a, i, l];
3597
3754
  }
3598
- function $e(e, t) {
3755
+ function io(e, t) {
3599
3756
  return Math.sqrt(
3600
3757
  Math.pow(e[0] - t[0], 2) + Math.pow(e[1] - t[1], 2) + Math.pow(e[2] - t[2], 2)
3601
3758
  );
3602
3759
  }
3603
- function Je(e, t) {
3760
+ function co(e, t) {
3604
3761
  return Math.abs(e[0] - t[0]) + //
3605
3762
  Math.abs(e[1] - t[1]) + Math.abs(e[2] - t[2]);
3606
3763
  }
3607
- function Zn(e, t) {
3764
+ function ss(e, t) {
3608
3765
  const o = X(e);
3609
3766
  let n = null, r = 1 / 0;
3610
3767
  for (const s of t) {
3611
- const a = X(s), i = $e(o, a);
3768
+ const a = X(s), i = io(o, a);
3612
3769
  i < r && (r = i, n = s);
3613
3770
  }
3614
3771
  return n;
3615
3772
  }
3616
- function jn(e, t) {
3773
+ function rs(e, t) {
3617
3774
  const o = X(e);
3618
3775
  let n = null, r = 1 / 0;
3619
3776
  for (const s of t) {
3620
- const a = X(s), i = Je(o, a);
3777
+ const a = X(s), i = co(o, a);
3621
3778
  i < r && (r = i, n = s);
3622
3779
  }
3623
3780
  return n;
3624
3781
  }
3625
- function Qn(e) {
3782
+ function as(e) {
3626
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);
3627
- return Qe(t, o, n);
3784
+ return ro(t, o, n);
3628
3785
  }
3629
- function Kn(e) {
3630
- const t = new lt().setFromObject(e), o = new b();
3786
+ function is(e) {
3787
+ const t = new ut().setFromObject(e), o = new x();
3631
3788
  t.getCenter(o), e.position.sub(o);
3632
3789
  }
3633
- function $n(e, t = new b(0, 0, 0)) {
3634
- const o = new lt().setFromObject(e), n = new b();
3790
+ function cs(e, t = new x(0, 0, 0)) {
3791
+ const o = new ut().setFromObject(e), n = new x();
3635
3792
  o.getCenter(n);
3636
- const r = new b().subVectors(t, n);
3793
+ const r = new x().subVectors(t, n);
3637
3794
  e.position.add(r);
3638
3795
  }
3639
- function Jn(e) {
3796
+ function ls(e) {
3640
3797
  e.computeBoundingBox();
3641
3798
  const t = e.boundingBox;
3642
3799
  if (t) {
3643
- const o = t.getCenter(new b());
3800
+ const o = t.getCenter(new x());
3644
3801
  e.translateX(-o.x), e.translateY(-o.y), e.translateZ(-o.z);
3645
3802
  }
3646
3803
  }
3647
- function We(e, t, o) {
3804
+ function lo(e, t, o) {
3648
3805
  return Math.max(0, Math.min(1, (e - t) / (o - t)));
3649
3806
  }
3650
- function Wn(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) {
3651
3808
  const c = [];
3652
3809
  for (let l = 0; l <= s; l++) {
3653
- const u = l / s, h = e(We(u, a, i)), m = t + h * (o - t), f = n + u * (r - n);
3654
- c.push(new I(m, 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));
3655
3812
  }
3656
3813
  return c;
3657
3814
  }
3658
- function ts(e) {
3659
- const o = new lt().setFromObject(e).getCenter(new b());
3815
+ function ms(e) {
3816
+ const o = new ut().setFromObject(e).getCenter(new x());
3660
3817
  e.translateX(-o.x), e.translateY(-o.y), e.translateZ(-o.z), e.updateMatrixWorld(!0);
3661
3818
  }
3662
- function es(e) {
3819
+ function hs(e) {
3663
3820
  e.geometry.computeBoundingBox();
3664
3821
  const t = e.geometry.boundingBox;
3665
3822
  if (t) {
3666
- const o = t.getCenter(new b());
3823
+ const o = t.getCenter(new x());
3667
3824
  e.geometry.translate(-o.x, -o.y, -o.z);
3668
3825
  }
3669
3826
  }
3670
- const to = (e, t, o, n, r = 24) => {
3827
+ const uo = (e, t, o, n, r = 24) => {
3671
3828
  let s = [];
3672
3829
  for (let a = 0; a <= r; a++) {
3673
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);
3674
- s.push(new I(c, l));
3831
+ s.push(new v(c, l));
3675
3832
  }
3676
3833
  return s;
3677
- }, eo = (e, t, o, n = 24) => {
3834
+ }, mo = (e, t, o, n = 24) => {
3678
3835
  let r = [];
3679
3836
  for (let s = 0; s <= n; s++) {
3680
3837
  const a = s / n, i = F.DAMPED(a, o) * (t.x - e.x) + e.x, c = e.y + a * (t.y - e.y);
3681
- r.push(new I(i, c));
3838
+ r.push(new v(i, c));
3682
3839
  }
3683
3840
  return r;
3684
- }, oo = (e, t, o, n, r = 24) => {
3841
+ }, ho = (e, t, o, n, r = 24) => {
3685
3842
  let s = [];
3686
3843
  for (let a = 0; a <= r; a++) {
3687
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);
3688
- s.push(new I(c, l));
3845
+ s.push(new v(c, l));
3689
3846
  }
3690
3847
  return s;
3691
- }, no = (e, t, o, n, r = 24) => {
3848
+ }, fo = (e, t, o, n, r = 24) => {
3692
3849
  let s = [];
3693
3850
  for (let a = 0; a <= r; a++) {
3694
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);
3695
- s.push(new I(c, l));
3852
+ s.push(new v(c, l));
3696
3853
  }
3697
3854
  return s;
3698
- }, so = (e, t, o, n, r, s = 24) => {
3855
+ }, po = (e, t, o, n, r, s = 24) => {
3699
3856
  let a = [];
3700
3857
  for (let i = 0; i <= s; i++) {
3701
3858
  const c = i / s, l = o * c * c + n * c + r + e.x, u = e.y + c * (t.y - e.y);
3702
- a.push(new I(l, u));
3859
+ a.push(new v(l, u));
3703
3860
  }
3704
3861
  return a;
3705
- }, ro = (e, t, o, n = 24) => {
3862
+ }, Mo = (e, t, o, n = 24) => {
3706
3863
  let r = [];
3707
3864
  for (let s = 0; s <= n; s++) {
3708
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);
3709
- r.push(new I(i, c));
3866
+ r.push(new v(i, c));
3710
3867
  }
3711
3868
  return r;
3712
- }, ao = (e, t, o, n = 24) => {
3869
+ }, yo = (e, t, o, n = 24) => {
3713
3870
  let r = [];
3714
3871
  for (let s = 0; s <= n; s++) {
3715
3872
  const a = s / n, i = F.SIGMOID(a, o) * (t.x - e.x) + e.x, c = e.y + a * (t.y - e.y);
3716
- r.push(new I(i, c));
3873
+ r.push(new v(i, c));
3717
3874
  }
3718
3875
  return r;
3719
- }, os = {
3720
- createCubicCurvePoints: to,
3721
- createDampedCurvePoints: eo,
3722
- createExponentialCurvePoints: oo,
3723
- createLogarithmicCurvePoints: no,
3724
- createParabolicCurvePoints: so,
3725
- createQuadraticCurvePoints: ro,
3726
- createSigmoidCurvePoints: ao
3876
+ }, fs = {
3877
+ createCubicCurvePoints: uo,
3878
+ createDampedCurvePoints: mo,
3879
+ createExponentialCurvePoints: ho,
3880
+ createLogarithmicCurvePoints: fo,
3881
+ createParabolicCurvePoints: po,
3882
+ createQuadraticCurvePoints: Mo,
3883
+ createSigmoidCurvePoints: yo
3727
3884
  };
3728
- function ns(e, t, o, n, r, s = [0, 0], a = [1, 0], i = [0, 1], c = [1, 1]) {
3729
- const l = r || io(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);
3730
3887
  return [
3731
3888
  // Triangle 1
3732
3889
  { pos: e, norm: l, uv: s },
@@ -3738,7 +3895,7 @@ function ns(e, t, o, n, r, s = [0, 0], a = [1, 0], i = [0, 1], c = [1, 1]) {
3738
3895
  { pos: o, norm: l, uv: i }
3739
3896
  ];
3740
3897
  }
3741
- function io(e, t, o) {
3898
+ function wo(e, t, o) {
3742
3899
  const n = [
3743
3900
  t[0] - e[0],
3744
3901
  t[1] - e[1],
@@ -3754,7 +3911,7 @@ function io(e, t, o) {
3754
3911
  ], a = Math.sqrt(s[0] ** 2 + s[1] ** 2 + s[2] ** 2);
3755
3912
  return s.map((i) => i / a);
3756
3913
  }
3757
- function ss(e, t) {
3914
+ function ds(e, t) {
3758
3915
  return e.map(([o, n, r]) => {
3759
3916
  switch (t) {
3760
3917
  case "x":
@@ -3768,39 +3925,39 @@ function ss(e, t) {
3768
3925
  }
3769
3926
  });
3770
3927
  }
3771
- function co(e) {
3928
+ function vo(e) {
3772
3929
  const [t, o, n] = e, r = Math.abs(t), s = Math.abs(o), a = Math.abs(n);
3773
3930
  return r >= s && r >= a ? [n > 0 ? n : -n, o] : s >= r && s >= a ? [t, n > 0 ? n : -n] : [t, o];
3774
3931
  }
3775
- function rs(e) {
3776
- return e.map((t) => co(t));
3932
+ function Ms(e) {
3933
+ return e.map((t) => vo(t));
3777
3934
  }
3778
- function as(e) {
3935
+ function ys(e) {
3779
3936
  return e.map(([t, o, n]) => {
3780
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;
3781
3938
  return [a, i];
3782
3939
  });
3783
3940
  }
3784
- function is(e) {
3941
+ function ws(e) {
3785
3942
  return e.map(([t, o, n]) => [Math.atan2(n, t) / (2 * Math.PI) + 0.5, o]);
3786
3943
  }
3787
- function cs(e) {
3944
+ function vs(e) {
3788
3945
  return e.map(([t, o, n]) => {
3789
3946
  const r = Math.sqrt(t ** 2 + n ** 2);
3790
3947
  return [Math.atan2(n, t) / (2 * Math.PI) + 0.5, r];
3791
3948
  });
3792
3949
  }
3793
- function lo(e, t, o, n, r) {
3950
+ function xo(e, t, o, n, r) {
3794
3951
  return [
3795
3952
  (e[0] - t) / (o - t),
3796
3953
  (e[1] - n) / (r - n)
3797
3954
  ];
3798
3955
  }
3799
- function ls(e, t, o) {
3956
+ function xs(e, t, o) {
3800
3957
  const [n, r] = t, [s, a] = o;
3801
- return e.map((i) => lo(i, n, s, r, a));
3958
+ return e.map((i) => xo(i, n, s, r, a));
3802
3959
  }
3803
- function us(e) {
3960
+ function gs(e) {
3804
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]));
3805
3962
  return {
3806
3963
  minBounds: [t, n],
@@ -3808,204 +3965,215 @@ function us(e) {
3808
3965
  };
3809
3966
  }
3810
3967
  export {
3811
- Fn as AtmosphericSkybox,
3812
- ut as Axis,
3813
- _o as BifurcatedStaircaseGeometry,
3814
- Gn as Bone,
3815
- Ue as BoneGeometry,
3816
- Xo as Book,
3817
- yt as BookGeometry,
3818
- tn as Bookshelf,
3819
- Ce as BookshelfGeometry,
3820
- cn as Bottle,
3821
- Po as BubblingEffect,
3822
- ln as BunsenBurner,
3823
- An as Burst,
3824
- Xe as BurstShape,
3825
- on as Candle,
3826
- mt as ColorPalette,
3827
- Yo as CrossHeadstone,
3828
- Ee as CrossHeadstoneGeometry,
3829
- Ln as DaySkybox,
3830
- en as Desk,
3831
- Be as DeskGeometry,
3832
- Oo as DioramaGeometry,
3833
- tt as Direction,
3834
- So as Easing,
3835
- un as ElectricPanel,
3836
- ve as EllipticLeafGeometry,
3837
- To as EmissivePulseEffect,
3838
- hn as ErlenmeyerFlask,
3839
- _e as ErlenmeyerFlaskGeometry,
3968
+ Qn as AtmosphericSkybox,
3969
+ mt as Axis,
3970
+ Ho as BifurcatedStaircaseGeometry,
3971
+ Dn as Bone,
3972
+ Ve as BoneGeometry,
3973
+ on as Book,
3974
+ wt as BookGeometry,
3975
+ dn as Bookshelf,
3976
+ Le as BookshelfGeometry,
3977
+ ko as BubblingEffect,
3978
+ In as BunsenBurner,
3979
+ On as Burst,
3980
+ eo as BurstShape,
3981
+ yn as Candle,
3982
+ at as ColorPalette,
3983
+ an as CrossHeadstone,
3984
+ Ce as CrossHeadstoneGeometry,
3985
+ Kn as DaySkybox,
3986
+ Mn as Desk,
3987
+ Fe as DeskGeometry,
3988
+ Xo as DioramaGeometry,
3989
+ et as Direction,
3990
+ Do as Easing,
3991
+ An as ElectricPanel,
3992
+ Ee as EllipticLeafGeometry,
3993
+ Co as EmissivePulseAnimation,
3994
+ En as ErlenmeyerFlask,
3995
+ Ye as ErlenmeyerFlaskGeometry,
3840
3996
  K as Falloff,
3841
- $o as FenceColumn,
3842
- Te as FenceColumnGeometry,
3843
- mn as Flask,
3844
- fn as FlorenceFlask,
3845
- Oe as FlorenceFlaskGeometry,
3846
- Sn as Gear,
3847
- Ye as GearShape,
3848
- Pn as Heart,
3849
- Ze as HeartShape,
3850
- Bn as Hill,
3851
- ke as HillGeometry,
3852
- zo as LShapedStaircaseGeometry,
3853
- nn as Lantern,
3854
- Go as LeafEffect,
3855
- dn as LeverPanel,
3856
- Ro as LightningEffect,
3857
- Zo as Mausoleum,
3858
- pn as Microscope,
3859
- Ho as Moon,
3860
- Mn as MortarAndPestle,
3861
- ze as MortarGeometry,
3862
- sn as MossyRocks,
3863
- Rn as Mound,
3864
- qe as MoundGeometry,
3865
- kn as NightSkybox,
3866
- jo as ObeliskHeadstone,
3867
- Ae as ObeliskHeadstoneGeometry,
3868
- yn as Panel,
3869
- wn as PanelLight,
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,
3870
4028
  F as ParametricCurve,
3871
- os as ParametricCurveUtils,
3872
- rn as Rock,
3873
- Ne as RockGeometry,
3874
- an as Rocks,
3875
- Qo as RoundedHeadstone,
3876
- Se as RoundedHeadstoneGeometry,
3877
- Fo as SpiralStaircaseGeometry,
3878
- vn as SpiralTube,
3879
- Ko as SquareHeadstone,
3880
- Pe as SquareHeadstoneGeometry,
3881
- Lo as StaircaseGeometry,
3882
- xn as Stand,
3883
- Fe as StandGeometry,
3884
- Tn as Star,
3885
- je as StarShape,
3886
- gn as TeslaCoil,
3887
- bn as TestTube,
3888
- rt as TestTubeGeometry,
3889
- In as TestTubeRack,
3890
- Cn as Tree,
3891
- Ve as TreeGeometry,
3892
- En as WineBottle,
3893
- Le as WineBottleGeometry,
3894
- Jo as WroughtIronBar,
3895
- xt as WroughtIronBarGeometry,
3896
- Wo as WroughtIronFence,
3897
- Ge as WroughtIronFenceGeometry,
3898
- _n as addNoiseDisplacement,
3899
- Nn as addWaterDisplacement,
3900
- ot as atmosphericShader,
3901
- Je as calculateChannelDifference,
3902
- $e as calculateDistance,
3903
- io as calculateNormal,
3904
- us as calculateUVBounds,
3905
- De as capHeightFromRadius,
3906
- Do as capWidthFromRadius,
3907
- Vo as cartesianToSpherical,
3908
- Kn as centerGroup,
3909
- $n as centerGroupAtTarget,
3910
- Jn as centerInstancedMesh,
3911
- ts as centerMesh,
3912
- es as centerMeshGeometry,
3913
- Dn as checkerboardTexture,
3914
- te as circularEaseIn,
3915
- oe as circularEaseInOut,
3916
- ee as circularEaseOut,
3917
- re as concave,
3918
- ae as convex,
3919
- to as createCubicCurvePoints,
3920
- eo as createDampedCurvePoints,
3921
- oo as createExponentialCurvePoints,
3922
- no as createLogarithmicCurvePoints,
3923
- so as createParabolicCurvePoints,
3924
- ns as createQuad,
3925
- ro as createQuadraticCurvePoints,
3926
- ao as createSigmoidCurvePoints,
3927
- he as cubicCurve,
3928
- qt as cubicEaseIn,
3929
- Ht as cubicEaseInOut,
3930
- Vt as cubicEaseOut,
3931
- co as cubicUVMapping,
3932
- rs as cubicUVMappingBatch,
3933
- is as cylindricalUVMapping,
3934
- me as dampedCurve,
3935
- nt as daySkyShader,
3936
- xo as displacementBrush,
3937
- mo as dollyAnimation,
3938
- fe as exponentialCurve,
3939
- $t as exponentialEaseIn,
3940
- Wt as exponentialEaseInOut,
3941
- Jt as exponentialEaseOut,
3942
- zn as fadeShader,
3943
- Zn as findClosestColor,
3944
- jn as findClosestColorChannelWise,
3945
- go as flattenBrush,
3946
- fo as flythroughAnimation,
3947
- ue as gaussian,
3948
- Qn as getAnalogousColors,
3949
- Vn as hexToHsl,
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,
3950
4122
  X as hexToRgb,
3951
- Hn as hslToHex,
3952
- Qe as hslToRgb,
3953
- Wn as interpolateCurve,
3954
- le as inverse,
3955
- ne as linear,
3956
- ie as logarithmic,
3957
- de as logarithmicCurve,
3958
- xe as logarithmicRandomMax,
3959
- ge as logarithmicRandomMin,
3960
- He as moonShader,
3961
- st as nightSkyShader,
3962
- bo as noiseBrush,
3963
- Xn as normalizeRgb,
3964
- lo as normalizeUV,
3965
- ls as normalizeUVBatch,
3966
- po as orbitAnimation,
3967
- pe as parabolicCurve,
3968
- qn as parseHexCode,
3969
- Mo as pendulumAnimation,
3970
- ss as planarUVMapping,
3971
- cs as polarUVMapping,
3972
- Me as quadraticCurve,
3973
- Lt as quadraticEaseIn,
3974
- Dt as quadraticEaseInOut,
3975
- kt as quadraticEaseOut,
3976
- Xt as quarticEaseIn,
3977
- Zt as quarticEaseInOut,
3978
- Yt as quarticEaseOut,
3979
- jt as quinticEaseIn,
3980
- Kt as quinticEaseInOut,
3981
- Qt as quinticEaseOut,
3982
- ko as radiusFromCapHeight,
3983
- gt as radiusFromCapWidth,
3984
- Mt as randomFloat,
3985
- Co as randomInteger,
3986
- Re as randomTransformVertices,
3987
- Yn as rgbToHex,
3988
- Ke as rgbToHsl,
3989
- No as rowOfBooksByCount,
3990
- Uo as rowOfBooksByLength,
3991
- vt as rowOfBooksByScales,
3992
- Bo as setRandomInterval,
3993
- be as setRandomTimeout,
3994
- ye as sigmoidCurve,
3995
- Ot as sineEaseIn,
3996
- Ft as sineEaseInOut,
3997
- zt as sineEaseOut,
3998
- Io as smoothBrush,
3999
- se as smoothstep,
4000
- qo as sphericalToCartesian,
4001
- as as sphericalUVMapping,
4002
- Eo as spikeBrush,
4003
- yo as spiralAscensionAnimation,
4004
- ce as squareRoot,
4005
- Ao as twistBrush,
4006
- On as updateNoiseDisplacementTime,
4007
- Un as updateWaterDisplacementTime,
4008
- wo as wobbleAnimation,
4009
- vo 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
4010
4178
  };
4011
4179
  //# sourceMappingURL=index.es.js.map