three-low-poly 0.9.16 → 0.9.17

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 At = Object.defineProperty;
2
+ var bt = (e, t, o) => t in e ? At(e, t, { enumerable: !0, configurable: !0, writable: !0, value: o }) : e[t] = o;
3
+ var E = (e, t, o) => bt(e, typeof t != "symbol" ? t + "" : t, o);
4
+ import { Vector3 as v, MathUtils as L, Quaternion as St, InstancedMesh as it, SphereGeometry as N, MeshStandardMaterial as y, Matrix4 as Y, BufferGeometry as A, Float32BufferAttribute as q, DoubleSide as k, Euler as Pt, BufferAttribute as F, BoxGeometry as b, Vector2 as g, LatheGeometry as D, CylinderGeometry as S, ConeGeometry as Z, Shape as j, ExtrudeGeometry as Q, CircleGeometry as Tt, TorusGeometry as pt, DodecahedronGeometry as ct, Mesh as M, ShaderMaterial as J, MeshPhysicalMaterial as W, Group as _, MeshBasicMaterial as Gt, PointLight as dt, CatmullRomCurve3 as Ct, TubeGeometry as Bt, Path as Rt, Color as $, BackSide as lt, DataTexture as Nt, RGBAFormat as _t, UnsignedByteType as Ut, RepeatWrapping as ht, NearestFilter as Ot, Box3 as ut } from "three";
5
+ function yo(e, t, o, n) {
6
+ const r = e.position.clone(), s = r.clone().add(e.getWorldDirection(new v()).multiplyScalar(-t));
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 wo(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 vo(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 xo(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 go(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 Io(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 v(
84
84
  (Math.random() - 0.5) * t,
85
85
  (Math.random() - 0.5) * t,
86
86
  (Math.random() - 0.5) * t
@@ -89,28 +89,28 @@ 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 Eo(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
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)
108
+ UP: new v(0, 1, 0),
109
+ DOWN: new v(0, -1, 0),
110
+ LEFT: new v(-1, 0, 0),
111
+ RIGHT: new v(1, 0, 0),
112
+ FORWARD: new v(0, 0, 1),
113
+ BACKWARD: new v(0, 0, -1)
114
114
  }, K = {
115
115
  LINEAR: (e, t) => 1 - e / t,
116
116
  QUADRATIC: (e, t) => Math.pow(1 - e / t, 2),
@@ -125,94 +125,98 @@ const tt = {
125
125
  const o = Math.max(0, Math.min(1, 1 - e / t));
126
126
  return o * o * (3 - 2 * o);
127
127
  }
128
- }, xo = (e, t, o, n, r = tt.UP, s = K.LINEAR) => {
128
+ }, Ao = (e, t, o, n, r = tt.UP, s = K.LINEAR) => {
129
129
  const a = e.attributes.position;
130
130
  for (let i = 0; i < a.count; i++) {
131
- const c = new b();
131
+ const c = new v();
132
132
  c.fromBufferAttribute(a, i);
133
133
  const l = c.distanceTo(t);
134
134
  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);
135
+ const m = s(l, o) * n;
136
+ c.add(r.clone().multiplyScalar(m)), a.setXYZ(i, c.x, c.y, c.z);
137
137
  }
138
138
  }
139
139
  a.needsUpdate = !0;
140
- }, go = (e, t, o, n, r, s = tt.UP, a = K.LINEAR) => {
140
+ }, bo = (e, t, o, n, r, s = tt.UP, a = K.LINEAR) => {
141
141
  const i = e.attributes.position;
142
142
  for (let c = 0; c < i.count; c++) {
143
- const l = new b();
143
+ const l = new v();
144
144
  l.fromBufferAttribute(i, c);
145
145
  const u = l.distanceTo(t);
146
146
  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);
147
+ const h = a(u, o) * r, f = l.dot(s.normalize()), p = n - f;
148
+ l.add(s.clone().multiplyScalar(p * h)), i.setXYZ(c, l.x, l.y, l.z);
149
149
  }
150
150
  }
151
151
  i.needsUpdate = !0;
152
- }, bo = (e, t, o, n, r = tt.UP, s = K.LINEAR) => {
152
+ }, So = (e, t, o, n, r = tt.UP, s = K.LINEAR) => {
153
153
  const a = e.attributes.position;
154
154
  for (let i = 0; i < a.count; i++) {
155
- const c = new b();
155
+ const c = new v();
156
156
  c.fromBufferAttribute(a, i);
157
157
  const l = c.distanceTo(t);
158
158
  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);
159
+ const u = s(l, o), m = n * u, h = r.clone().normalize();
160
+ c.x += L.randFloatSpread(m) * h.x, c.y += L.randFloatSpread(m) * h.y, c.z += L.randFloatSpread(m) * h.z, a.setXYZ(i, c.x, c.y, c.z);
161
161
  }
162
162
  }
163
163
  a.needsUpdate = !0;
164
- }, Io = (e, t, o, n) => {
165
- const r = e.attributes.position, s = new b();
164
+ }, Po = (e, t, o, n) => {
165
+ const r = e.attributes.position, s = new v();
166
166
  for (let a = 0; a < r.count; a++) {
167
- const i = new b();
167
+ const i = new v();
168
168
  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++);
169
+ let l = new v(), u = 0;
170
+ for (let m = 0; m < r.count; m++)
171
+ s.fromBufferAttribute(r, m), s.distanceTo(i) < o && (l.add(s), u++);
172
172
  u > 0 && (l.divideScalar(u), i.lerp(l, n), r.setXYZ(a, i.x, i.y, i.z));
173
173
  }
174
174
  }
175
175
  r.needsUpdate = !0;
176
- }, Eo = (e, t, o, n, r = !1, s = K.LINEAR) => {
176
+ }, To = (e, t, o, n, r = !1, s = K.LINEAR) => {
177
177
  const a = e.attributes.position;
178
178
  for (let i = 0; i < a.count; i++) {
179
- const c = new b();
179
+ const c = new v();
180
180
  c.fromBufferAttribute(a, i);
181
181
  const l = c.distanceTo(t);
182
182
  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);
183
+ const m = s(l, o) * n * (r ? -1 : 1), h = c.clone().sub(t).normalize();
184
+ c.add(h.multiplyScalar(m)), a.setXYZ(i, c.x, c.y, c.z);
185
185
  }
186
186
  }
187
187
  a.needsUpdate = !0;
188
- }, Ao = (e, t, o, n, r = tt.UP, s = K.LINEAR) => {
189
- const a = e.attributes.position, i = new At();
188
+ }, Go = (e, t, o, n, r = tt.UP, s = K.LINEAR) => {
189
+ const a = e.attributes.position, i = new St();
190
190
  for (let c = 0; c < a.count; c++) {
191
- const l = new b();
191
+ const l = new v();
192
192
  l.fromBufferAttribute(a, c);
193
193
  const u = l.distanceTo(t);
194
194
  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);
195
+ const h = s(u, o) * n;
196
+ i.setFromAxisAngle(r, h), l.sub(t).applyQuaternion(i).add(t), a.setXYZ(c, l.x, l.y, l.z);
197
197
  }
198
198
  }
199
199
  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
200
  }, mt = {
201
+ X: new v(1, 0, 0),
202
+ Y: new v(0, 1, 0),
203
+ Z: new v(0, 0, 1),
204
+ XY: new v(1, 1, 0).normalize(),
205
+ XZ: new v(1, 0, 1).normalize(),
206
+ YZ: new v(0, 1, 1).normalize(),
207
+ XYZ: new v(1, 1, 1).normalize()
208
+ }, rt = {
209
209
  // Red
210
+ CADMIUM_RED: 15073318,
211
+ // Cadmium Red or Bright Red. Vivid, bold red shade with warm undertones.
210
212
  CARDINAL_RED: 12981270,
211
213
  // Bright Crimson or Cardinal Red. It’s a vivid, bold red shade with warm undertones.
212
214
  CHERRY_RED: 14165028,
213
215
  // Bold red with slightly warm undertones.
214
216
  CRIMSON: 12986408,
215
217
  // Crimson Red or Firebrick Red. It’s a bold, deep red with a slightly cool undertone.
218
+ ALIZARIN_CRIMSON: 11674146,
219
+ // Deep, rich red with cool undertones.
216
220
  RUST: 12731693,
217
221
  // 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
222
  DARK_RED: 9109504,
@@ -222,11 +226,15 @@ const tt = {
222
226
  // Tangerine or Bright Orange-Red. It’s a vibrant, warm shade of orange with red undertones with a tropical feel.
223
227
  ORANGE_PEEL: 16737792,
224
228
  // Orange Peel or Bright Orange. It’s a vivid, energetic orange.
229
+ CADMIUM_ORANGE: 16744228,
230
+ // warm orange with strong red undertones, giving it a slightly richer and darker appearance.
225
231
  ORANGE: 16753920,
226
232
  // Bright, vibrant hue associated with sunsets, citrus fruits, and autumn tones.
227
233
  // Yellow
228
234
  AMBER: 16755200,
229
235
  // Bright Orange. It’s a warm, vibrant shade of orange with golden-yellow undertones, associated with autumn hues.
236
+ CADMIUM_YELLOW: 16766720,
237
+ // Bright golden yellow with warm undertones.
230
238
  GOLD: 16766720,
231
239
  // Rich, vibrant yellow with warm undertones, resembling the color of metallic gold.
232
240
  YELLOW: 16776960,
@@ -242,13 +250,19 @@ const tt = {
242
250
  // It's a natural, medium-dark green with slightly muted tones, resembling the lush greenery of ferns or foliage.
243
251
  FOREST_GREEN: 2263842,
244
252
  // Rich, deep green shade, often associated with dense woodland and nature.
253
+ SAP_GREEN: 5274922,
254
+ // Natural green with a muted tone.
245
255
  OLIVE_DRAB: 5597999,
246
256
  // Muted earthy green with brownish undertones.
257
+ VIRIDIAN_GREEN: 43115,
258
+ // Vibrant cool green.
247
259
  MINT_GREEN: 8965290,
248
260
  // Mint Green or Light Jade. It’s a soft, pastel green with subtle blue undertones.
249
261
  AQUAMARINE: 65450,
250
262
  // Aquamarine or Mint Green. It’s a bright, vibrant turquoise shade that blends green and blue.
251
263
  // Blue
264
+ PHTHALO_BLUE: 3977,
265
+ // Phthalo Blue or Bright Navy. Intense, rich blue with a slightly greenish cool undertone.
252
266
  SKY_BLUE: 8965375,
253
267
  // 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
268
  CERULEAN_BLUE: 6139362,
@@ -261,7 +275,13 @@ const tt = {
261
275
  // Royal Blue or Bright Indigo. It’s a vibrant medium blue shade with a slightly cool and saturated tone.
262
276
  MIDNIGHT_BLUE: 51,
263
277
  // A very deep, dark blue shade that evokes the feeling of a starless night sky or deep ocean depths, with subtle blue undertones.
278
+ ULTRAMARINE_BLUE: 4149685,
279
+ // Deep, rich blue with a slightly cool undertone.
264
280
  // Purple
281
+ COBALT_VIOLET: 6950317,
282
+ // Soft, purple tone.
283
+ DEEP_VIOLET: 11141375,
284
+ // Electric Purple or Deep Violet. It’s a bright, vibrant shade of purple with a strong blue undertone.
265
285
  CORAL_PINK: 16724838,
266
286
  // Bright Rose or Coral Pink. It’s a vivid, bold pinkish-red shade with warm undertones.
267
287
  VIVID_MAGENTA: 16720639,
@@ -274,11 +294,11 @@ const tt = {
274
294
  // Pink Sherbet or Light Pink. It’s a soft, playful pink shade with a hint of warmth.
275
295
  SOFT_PINK: 16762823,
276
296
  // 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
297
  // Brown
280
- TAUPE: 9141627,
281
- // Rosy Brown or Taupe Gray. It’s a muted, earthy tone with a mix of brown and gray.
298
+ BURNT_SIENNA: 15299665,
299
+ // warm, earthy brown with reddish undertones.
300
+ BURNT_UMBER: 9057060,
301
+ // Dark brown with red undertones.
282
302
  SIENNA: 9132587,
283
303
  // Dark Goldenrod Brown. It’s a warm, earthy brown with reddish and golden undertones, often associated with natural clay or autumn leaves.
284
304
  SADDLE_BROWN: 9127187,
@@ -287,6 +307,14 @@ const tt = {
287
307
  // Rich, earthy tone with hints of red and gray, resembling the color of natural wood or dark leather.
288
308
  DARK_UMBER: 4929057,
289
309
  // Coffee Brown or Dark Umber. It’s a deep, rich brown with warm, earthy undertones, often resembling dark wood or roasted coffee beans.
310
+ RAW_UMBER: 8545860,
311
+ // Cool, muted brown.
312
+ YELLOW_OCHRE: 12951919,
313
+ // Warm, muted yellow-brown
314
+ RAW_SIENNA: 13808780,
315
+ // Light, golden brown.
316
+ TAUPE: 9141627,
317
+ // Rosy Brown or Taupe Gray. It’s a muted, earthy tone with a mix of brown and gray.
290
318
  // Gray
291
319
  ONYX: 197379,
292
320
  // Extremely deep, almost black shade with a neutral tone.
@@ -298,10 +326,12 @@ const tt = {
298
326
  // Medium-dark shade of gray
299
327
  ASH_GRAY: 4473924,
300
328
  // Ash Gray or Dark Slate Gray.
329
+ GRAPHITE: 5263440,
330
+ // Medium-dark, neutral Graphite Gray or Smoky Gray shadowy muted depth.
301
331
  STEEL_GRAY: 5592405,
302
332
  // Medium Gray or Steel Gray.
303
- COOL_GRAY: 6710886,
304
- // It’s a medium-dark neutral gray.
333
+ DIM_GRAY: 6908265,
334
+ // Medium-dark neutral gray with a muted, balanced tone
305
335
  IRON: 7829367,
306
336
  // It’s a medium gray neutral.
307
337
  GRAY: 8421504,
@@ -310,81 +340,83 @@ const tt = {
310
340
  // It’s a medium-light neutral.
311
341
  SILVER: 11184810,
312
342
  // Light Gray. It’s a soft, pale gray shade with a slightly metallic undertone.
343
+ LIGHT_GRAY: 13421772,
344
+ // Light, neutral Gray, sits between medium grays and white.
313
345
  PALE_GRAY: 15658734,
314
346
  // Very Light Gray or Soft Gray. It’s a pale, almost white shade of gray.
315
347
  WHITE_SMOKE: 16119285,
316
348
  // White Smoke or Light Gray. It’s a soft, pale gray shade with a hint of warmth.
317
- WHITE: 16777215
349
+ TITANIUM_WHITE: 16777215
318
350
  // 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,
351
+ }, Lt = (e) => 1 - Math.cos(e * Math.PI / 2), zt = (e) => Math.sin(e * Math.PI / 2), Ft = (e) => -0.5 * (Math.cos(Math.PI * e) - 1), kt = (e) => e * e, Dt = (e) => 1 - Math.pow(1 - e, 2), qt = (e) => e < 0.5 ? 2 * e * e : 1 - Math.pow(-2 * e + 2, 2) / 2, Vt = (e) => e * e * e, Ht = (e) => 1 - Math.pow(1 - e, 3), Yt = (e) => e < 0.5 ? 4 * e * e * e : 1 - Math.pow(-2 * e + 2, 3) / 2, Xt = (e) => e * e * e * e, Zt = (e) => 1 - Math.pow(1 - e, 4), jt = (e) => e < 0.5 ? 8 * e * e * e * e : 1 - Math.pow(-2 * e + 2, 4) / 2, Qt = (e) => e * e * e * e * e, Kt = (e) => 1 - Math.pow(1 - e, 5), $t = (e) => e < 0.5 ? 16 * e * e * e * e * e : 1 - Math.pow(-2 * e + 2, 5) / 2, Jt = (e) => e === 0 ? 0 : Math.pow(2, 10 * e - 10), Wt = (e) => e === 1 ? 1 : 1 - Math.pow(2, -10 * e), te = (e) => e === 0 ? 0 : e === 1 ? 1 : e < 0.5 ? Math.pow(2, 20 * e - 10) / 2 : (2 - Math.pow(2, -20 * e + 10)) / 2, ee = (e) => 1 - Math.sqrt(1 - Math.pow(e, 2)), oe = (e) => Math.sqrt(1 - Math.pow(e - 1, 2)), ne = (e) => e < 0.5 ? (1 - Math.sqrt(1 - Math.pow(2 * e, 2))) / 2 : (Math.sqrt(1 - Math.pow(-2 * e + 2, 2)) + 1) / 2, se = (e) => e, re = (e) => e * e * (3 - 2 * e), ae = (e) => 1 - Math.pow(1 - e, 0.3), ie = (e) => Math.pow(e, 0.3), ce = (e) => Math.log(Math.max(0.01, e)) / Math.log(2), le = (e) => Math.sqrt(e), ue = (e) => 1 - e, me = (e) => Math.exp(-Math.pow(e - 0.5, 2) / (2 * 0.5)), Co = {
352
+ SINE_EASE_IN: Lt,
321
353
  SINE_EASE_OUT: zt,
322
354
  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,
355
+ QUADRATIC_EASE_IN: kt,
356
+ QUADRATIC_EASE_OUT: Dt,
357
+ QUADRATIC_EASE_IN_OUT: qt,
358
+ CUBIC_EASE_IN: Vt,
359
+ CUBIC_EASE_OUT: Ht,
360
+ CUBIC_EASE_IN_OUT: Yt,
329
361
  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
362
+ QUARTIC_EASE_OUT: Zt,
363
+ QUARTIC_EASE_IN_OUT: jt,
364
+ QUINTIC_EASE_IN: Qt,
365
+ QUINTIC_EASE_OUT: Kt,
366
+ QUINTIC_EASE_IN_OUT: $t,
367
+ EXPONENTIAL_EASE_IN: Jt,
368
+ EXPONENTIAL_EASE_OUT: Wt,
369
+ EXPONENTIAL_EASE_IN_OUT: te,
370
+ CIRCULAR_EASE_IN: ee,
371
+ CIRCULAR_EASE_OUT: oe,
372
+ CIRCULAR_EASE_IN_OUT: ne,
373
+ LINEAR: se,
374
+ SMOOTHSTEP: re,
375
+ CONCAVE: ae,
376
+ CONVEX: ie,
377
+ LOGARITHMIC: ce,
378
+ SQUARE_ROOT: le,
379
+ INVERSE: ue,
380
+ GAUSSIAN: me
349
381
  }, he = (e, t, o, n, r) => {
350
382
  const s = Math.max(0, Math.min(1, e)), a = 1 - s;
351
383
  return a * a * a * t + 3 * a * a * s * o + 3 * a * s * s * n + s * s * s * r;
352
- }, me = (e, t = 1) => {
384
+ }, fe = (e, t = 1) => {
353
385
  const o = Math.max(1e-3, t);
354
386
  return (1 - Math.exp(-o * e)) / (1 - Math.exp(-o));
355
- }, fe = (e, t = 1, o = 1) => {
387
+ }, pe = (e, t = 1, o = 1) => {
356
388
  const n = Math.max(0, Math.min(1, e));
357
389
  return t * Math.pow(n, o);
358
390
  }, de = (e, t = 1, o = 1) => {
359
391
  const n = Math.max(1e-3, Math.min(1, e));
360
392
  return t * Math.log(o * n + 1);
361
- }, pe = (e, t = 1, o = 0, n = 0) => {
393
+ }, Me = (e, t = 1, o = 0, n = 0) => {
362
394
  const r = Math.max(0, Math.min(1, e));
363
395
  return t * r * r + o * r + n;
364
- }, Me = (e, t, o, n) => {
396
+ }, ye = (e, t, o, n) => {
365
397
  const r = Math.max(0, Math.min(1, e)), s = 1 - r;
366
398
  return s * s * t + 2 * s * r * o + r * r * n;
367
- }, ye = (e, t = 10) => {
399
+ }, we = (e, t = 10) => {
368
400
  const o = Math.max(0, Math.min(1, e));
369
401
  return 1 / (1 + Math.exp(-t * (o - 0.5)));
370
- }, we = (e) => Math.sin(e * Math.PI * 0.5), F = {
402
+ }, ve = (e) => Math.sin(e * Math.PI * 0.5), z = {
371
403
  CUBIC: he,
372
- DAMPED: me,
373
- EXPONENTIAL: fe,
404
+ DAMPED: fe,
405
+ EXPONENTIAL: pe,
374
406
  LOGARITHMIC: de,
375
- PARABOLIC: pe,
376
- QUADRATIC: Me,
377
- SIGMOID: ye,
378
- SINUSOIDAL: we
407
+ PARABOLIC: Me,
408
+ QUADRATIC: ye,
409
+ SIGMOID: we,
410
+ SINUSOIDAL: ve
379
411
  };
380
- class Po extends at {
412
+ class Bo extends it {
381
413
  constructor(o = {}) {
382
414
  const {
383
415
  count: n = 20,
384
416
  width: r = 1.5,
385
417
  height: s = 3,
386
418
  depth: a = 1.5,
387
- geometry: i = new U(0.1, 6, 6),
419
+ geometry: i = new N(0.1, 6, 6),
388
420
  // Small spheres
389
421
  material: c = new y({
390
422
  color: 16777215,
@@ -395,14 +427,14 @@ class Po extends at {
395
427
  })
396
428
  } = o;
397
429
  super(i, c, n);
398
- g(this, "bubblePositions", []);
399
- g(this, "velocities", []);
400
- g(this, "width");
401
- g(this, "height");
402
- g(this, "depth");
430
+ E(this, "bubblePositions", []);
431
+ E(this, "velocities", []);
432
+ E(this, "width");
433
+ E(this, "height");
434
+ E(this, "depth");
403
435
  this.height = s, this.width = r, this.depth = a;
404
436
  for (let l = 0; l < this.count; l++) {
405
- const u = new b(
437
+ const u = new v(
406
438
  (Math.random() - 0.5) * r,
407
439
  Math.random() * (s - 1) + 0.5,
408
440
  (Math.random() - 0.5) * a
@@ -414,7 +446,7 @@ class Po extends at {
414
446
  * Updates the position of a specific bubble instance in the InstancedMesh.
415
447
  */
416
448
  updateInstanceMatrix(o) {
417
- const n = this.bubblePositions[o], r = new H().setPosition(n);
449
+ const n = this.bubblePositions[o], r = new Y().setPosition(n);
418
450
  this.setMatrixAt(o, r), this.instanceMatrix.needsUpdate = !0;
419
451
  }
420
452
  /**
@@ -428,12 +460,12 @@ class Po extends at {
428
460
  }
429
461
  }
430
462
  }
431
- class To {
463
+ class Ro {
432
464
  constructor(t) {
433
- g(this, "speed");
434
- g(this, "maxIntensity");
435
- g(this, "minIntensity");
436
- g(this, "material");
465
+ E(this, "speed");
466
+ E(this, "maxIntensity");
467
+ E(this, "minIntensity");
468
+ E(this, "material");
437
469
  const {
438
470
  speed: o = 2,
439
471
  //
@@ -457,7 +489,7 @@ class To {
457
489
  this.material.emissiveIntensity = this.minIntensity + Math.abs(Math.sin(t * this.speed)) * (this.maxIntensity - this.minIntensity);
458
490
  }
459
491
  }
460
- class ve extends A {
492
+ class xe extends A {
461
493
  constructor(t = 0.1) {
462
494
  super();
463
495
  const o = [], n = [], r = [
@@ -485,18 +517,18 @@ class ve extends A {
485
517
  for (let a = 1; a < r.length - 1; a++)
486
518
  n.push(0, a, a + 1);
487
519
  n.push(0, r.length - 1, 1);
488
- const s = new D(o, 3);
520
+ const s = new q(o, 3);
489
521
  this.setAttribute("position", s), this.setIndex(n), this.computeVertexNormals();
490
522
  }
491
523
  }
492
- class Go extends at {
524
+ class No extends it {
493
525
  constructor(o = {}) {
494
526
  const {
495
527
  count: n = 200,
496
528
  width: r = 20,
497
529
  height: s = 10,
498
530
  depth: a = 20,
499
- geometry: i = new ve(),
531
+ geometry: i = new xe(),
500
532
  material: c = new y({
501
533
  color: 8956467,
502
534
  metalness: 0.1,
@@ -506,25 +538,25 @@ class Go extends at {
506
538
  })
507
539
  } = o;
508
540
  super(i, c, n);
509
- g(this, "dummyMatrix");
510
- g(this, "velocities");
511
- g(this, "width");
512
- g(this, "height");
513
- g(this, "depth");
514
- this.dummyMatrix = new H(), this.velocities = [], this.width = r, this.height = s, this.depth = a;
541
+ E(this, "dummyMatrix");
542
+ E(this, "velocities");
543
+ E(this, "width");
544
+ E(this, "height");
545
+ E(this, "depth");
546
+ this.dummyMatrix = new Y(), this.velocities = [], this.width = r, this.height = s, this.depth = a;
515
547
  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);
548
+ const u = (Math.random() - 0.5) * r, m = Math.random() * (s - 1) + 0.5, h = (Math.random() - 0.5) * a, f = (Math.random() - 0.5) * Math.PI, p = (Math.random() - 0.5) * Math.PI, d = (Math.random() - 0.5) * Math.PI;
549
+ this.dummyMatrix.makeRotationFromEuler(new Pt(f, p, d)), this.dummyMatrix.setPosition(u, m, h), this.setMatrixAt(l, this.dummyMatrix);
550
+ const w = new v((Math.random() - 0.5) * 0.01, -5e-3, (Math.random() - 0.5) * 0.01);
519
551
  this.velocities.push(w);
520
552
  }
521
553
  this.instanceMatrix.needsUpdate = !0;
522
554
  }
523
555
  update() {
524
556
  for (let o = 0; o < this.count; o++) {
525
- const n = new H();
557
+ const n = new Y();
526
558
  this.getMatrixAt(o, n);
527
- const r = new b();
559
+ const r = new v();
528
560
  r.setFromMatrixPosition(n);
529
561
  const s = this.velocities[o];
530
562
  r.add(s), r.y < 0 && (r.set(
@@ -539,20 +571,20 @@ class Go extends at {
539
571
  function Mt(e = 0, t = 1) {
540
572
  return Math.random() * (t - e) + e;
541
573
  }
542
- function Co(e = 0, t = 1) {
574
+ function _o(e = 0, t = 1) {
543
575
  return Math.floor(Math.random() * (t - e + 1)) + e;
544
576
  }
545
- function xe(e = 0.5, t = 0, o = 1) {
577
+ function ge(e = 0.5, t = 0, o = 1) {
546
578
  return t + (o - t) * Math.pow(Math.random(), e);
547
579
  }
548
- function ge(e = 0.5, t = 0, o = 1) {
580
+ function Ie(e = 0.5, t = 0, o = 1) {
549
581
  return t + (o - t) * Math.pow(1 - Math.random(), e);
550
582
  }
551
- function be(e, t, o) {
583
+ function Ee(e, t, o) {
552
584
  const n = t + Math.random() * (o - t);
553
585
  return setTimeout(e, n);
554
586
  }
555
- function Bo(e, t, o) {
587
+ function Uo(e, t, o) {
556
588
  let n;
557
589
  function r() {
558
590
  const s = t + Math.random() * (o - t);
@@ -562,7 +594,7 @@ function Bo(e, t, o) {
562
594
  }
563
595
  return r(), () => clearTimeout(n);
564
596
  }
565
- class Ro {
597
+ class Oo {
566
598
  constructor({
567
599
  light: t,
568
600
  //
@@ -571,15 +603,15 @@ class Ro {
571
603
  minDuration: r = 50,
572
604
  maxDuration: s = 250
573
605
  } = {}) {
574
- g(this, "light");
575
- g(this, "minIntensity");
576
- g(this, "maxIntensity");
577
- g(this, "minDuration");
578
- g(this, "maxDuration");
606
+ E(this, "light");
607
+ E(this, "minIntensity");
608
+ E(this, "maxIntensity");
609
+ E(this, "minDuration");
610
+ E(this, "maxDuration");
579
611
  this.light = t, this.minIntensity = o, this.maxIntensity = n, this.minDuration = r, this.maxDuration = s;
580
612
  }
581
613
  triggerLightning() {
582
- this.light && (this.light.intensity = Mt(this.minIntensity, this.maxIntensity)), be(
614
+ this.light && (this.light.intensity = Mt(this.minIntensity, this.maxIntensity)), Ee(
583
615
  () => {
584
616
  this.light && (this.light.intensity = 0);
585
617
  },
@@ -591,34 +623,34 @@ class Ro {
591
623
  Math.random() > 0.98 && this.triggerLightning();
592
624
  }
593
625
  }
594
- const T = (e, t) => {
626
+ const P = (e, t) => {
595
627
  const o = e[0].index !== null, n = new Set(Object.keys(e[0].attributes)), r = new Set(Object.keys(e[0].morphAttributes)), s = {}, a = {}, i = e[0].morphTargetsRelative, c = new A();
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 F(s, o, n);
695
727
  }
696
728
  };
697
- function Ie(e, t = 1e-4) {
729
+ function Ae(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 x = i[d];
736
+ c[x] = [];
737
+ const I = e.morphAttributes[x];
738
+ I && (l[x] = 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 x = "";
744
+ for (let I = 0, R = i.length; I < R; I++) {
745
+ const B = i[I], T = e.getAttribute(B), G = T.itemSize;
746
+ for (let U = 0; U < G; U++)
747
+ x += `${~~(T[m[U]](w) * f)},`;
716
748
  }
717
- if (v in o)
718
- u.push(o[v]);
749
+ if (x in o)
750
+ u.push(o[x]);
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], U = T.itemSize, O = c[B], et = l[B];
754
+ for (let V = 0; V < U; V++) {
755
+ const H = m[V];
756
+ if (O.push(T[H](w)), G)
757
+ for (let C = 0, Et = G.length; C < Et; C++)
758
+ et[C].push(G[C][H](w));
727
759
  }
728
760
  }
729
- o[v] = a, u.push(a), a++;
761
+ o[x] = 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 x = i[d], I = e.getAttribute(x), R = new I.array.constructor(c[x]), B = new F(R, I.itemSize, I.normalized);
767
+ if (p.setAttribute(x, B), x in l)
768
+ for (let T = 0; T < l[x].length; T++) {
769
+ const G = e.morphAttributes[x][T], U = new G.array.constructor(l[x][T]), O = new F(U, G.itemSize, G.normalized);
770
+ p.morphAttributes[x][T] = O;
739
771
  }
740
772
  }
741
- return d.setIndex(u), d;
773
+ return p.setIndex(u), p;
742
774
  }
743
775
  class yt extends A {
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,10 +1367,10 @@ 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
+ ], x = new Float32Array(m), I = new Float32Array(h), R = new Float32Array(d), B = new Uint16Array(w), T = new A();
1371
+ T.setAttribute("position", new F(x, 3)), T.setAttribute("normal", new F(I, 3)), T.setAttribute("uv", new F(R, 2)), T.setIndex(new F(B, 1));
1372
+ const G = new b(t - l - u, i - u * 2, c - l * 2);
1373
+ G.translate((t - l - u) / 2 + l, i / 2, -c / 2), this.copy(P([T, G], !0));
1342
1374
  }
1343
1375
  }
1344
1376
  function wt({
@@ -1349,10 +1381,10 @@ function wt({
1349
1381
  scaleZMin: r = 0.1,
1350
1382
  scaleZMax: s = 0.5
1351
1383
  } = {}) {
1352
- return new b(
1384
+ return new v(
1353
1385
  Mt(e, t),
1354
- xe(0.25, o, n),
1355
- ge(0.8, r, s)
1386
+ ge(0.25, o, n),
1387
+ Ie(0.8, r, s)
1356
1388
  );
1357
1389
  }
1358
1390
  function vt({
@@ -1360,15 +1392,15 @@ function vt({
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 yt(), r = new it(n, [e, t], o.length), s = new Y();
1364
1396
  let a = 0;
1365
1397
  for (let i = 0; i < o.length; i++) {
1366
- const c = o[i], l = new H();
1398
+ const c = o[i], l = new Y();
1367
1399
  l.makeScale(c.x, c.y, c.z), s.identity(), s.multiply(l), s.setPosition(0.01 + Math.random() * 0.1, 0, a + c.z * 0.5), r.setMatrixAt(i, s), a += c.z * 0.5;
1368
1400
  }
1369
1401
  return r;
1370
1402
  }
1371
- function No({
1403
+ function Lo({
1372
1404
  coverMaterial: e,
1373
1405
  pagesMaterial: t,
1374
1406
  count: o = 10,
@@ -1385,7 +1417,7 @@ function No({
1385
1417
  );
1386
1418
  return vt({ coverMaterial: e, pagesMaterial: t, scales: l });
1387
1419
  }
1388
- function Uo({
1420
+ function zo({
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 = wt({ 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
1437
  return vt({ coverMaterial: e, pagesMaterial: t, scales: l });
1406
1438
  }
1407
- class _o extends A {
1439
+ class Fo extends A {
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, x = 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
+ x,
1443
1475
  // Back-right
1444
1476
  -t / 2,
1445
- p,
1446
- v
1477
+ d,
1478
+ x
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, x = w + o, I = p * (m / 4), R = u + n, B = d * n * Math.cos(a), T = d * n * Math.sin(a), G = I + p * B - t / 2 * Math.cos(a), U = I + p * B + t / 2 * Math.cos(a), O = R + T, et = G + p * n * Math.cos(a), V = U + p * n * Math.cos(a), H = O + n * Math.sin(a);
1501
1533
  i.push(
1502
1534
  // Vertical riser
1503
1535
  G,
1504
1536
  w,
1505
1537
  O,
1506
1538
  // Bottom-left
1507
- _,
1539
+ U,
1508
1540
  w,
1509
1541
  O,
1510
1542
  // Bottom-right
1511
- _,
1512
- v,
1543
+ U,
1544
+ x,
1513
1545
  O,
1514
1546
  // Top-right
1515
1547
  G,
1516
- v,
1548
+ x,
1517
1549
  O,
1518
1550
  // Top-left
1519
1551
  // Horizontal tread
1520
1552
  G,
1521
- v,
1553
+ x,
1522
1554
  O,
1523
1555
  // Top-left
1524
- _,
1525
- v,
1556
+ U,
1557
+ x,
1526
1558
  O,
1527
1559
  // Top-right
1528
- q,
1529
- v,
1530
1560
  V,
1561
+ x,
1562
+ H,
1531
1563
  // Back-right
1532
1564
  et,
1533
- v,
1534
- V
1565
+ x,
1566
+ H
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 ko extends A {
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 Do extends A {
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 qo extends A {
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 Vo extends A {
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,179 @@ 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
+ function xt(e, t, o, n, r) {
1954
+ const s = (n - t) / (o - e);
1955
+ return e + (r - t) / s;
1956
+ }
1957
+ function be(e, t, o, n, r) {
1958
+ const s = (n - t) / (o - e);
1959
+ return t + s * (r - e);
1960
+ }
1961
+ const Ho = {
1962
+ calculateXFromSlopeIntercept: xt,
1963
+ calculateYFromSlopeIntercept: be
1964
+ };
1965
+ class Se extends A {
1966
+ constructor() {
1967
+ super();
1968
+ const t = [
1969
+ new g(0, 0),
1970
+ // Origin
1971
+ new g(0.8, 0),
1972
+ // Base
1973
+ new g(1, 1.5),
1974
+ // Rounded body
1975
+ new g(0.5, 2.2),
1976
+ // Neck
1977
+ new g(0.6, 2.5),
1978
+ // Mouth
1979
+ new g(0.5, 2.5)
1980
+ // Cork
1981
+ ], o = new D(t, 10), n = new S(0.55, 0.45, 0.2, 10);
1982
+ n.translate(0, 2.5, 0);
1983
+ const r = [
1984
+ new g(0, 0),
1985
+ new g(0.8, 0),
1986
+ new g(xt(0.8, 0, 1, 1.5, 1), 1),
1987
+ new g(0, 1)
1988
+ ], s = new D(r, 10);
1989
+ s.translate(0, 0.1, 0), s.scale(0.9, 0.9, 0.9), this.copy(P([o, n, s], !0));
1990
+ }
1991
+ }
1992
+ class Pe extends A {
1993
+ constructor({ radius: t = 0.5, neckRadius: o = 0.2, height: n = 3, neckHeight: r = 1, segments: s = 16 } = {}) {
1994
+ super();
1995
+ const a = n - r, i = new S(t, t, a, s);
1996
+ i.translate(0, a / 2, 0);
1997
+ const c = 0.3, l = new S(o, t, c, s);
1998
+ l.translate(0, a + c / 2, 0);
1999
+ const u = new S(o, o, r, s);
2000
+ u.translate(0, a + c + r / 2, 0), this.copy(P([i, l, u], !1));
1919
2001
  }
1920
2002
  }
1921
- class Ee extends A {
2003
+ class Te extends A {
1922
2004
  constructor(t = 0.4, o = 1.2, n = 0.2) {
1923
2005
  super();
1924
- const r = o * 0.6, s = new E(t / 2, r, n);
2006
+ const r = o * 0.6, s = new b(t / 2, r, n);
1925
2007
  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();
2008
+ const a = t * 1.5, i = new b(a, t / 4, n);
2009
+ i.translate(0, r * 0.75, 0), this.copy(P([s, i], !1)), this.computeVertexNormals();
1928
2010
  }
1929
2011
  }
1930
- class Ae extends A {
2012
+ class Ge extends A {
2013
+ constructor() {
2014
+ super();
2015
+ const t = new b(5, 1, 5);
2016
+ t.translate(0, 0.5, 0);
2017
+ const o = new b(4, 3, 4);
2018
+ o.translate(0, 2.5, 0);
2019
+ const n = [
2020
+ [-1.8, 2.3, -2.2],
2021
+ [1.8, 2.3, -2.2],
2022
+ [-1.8, 2.3, 2.2],
2023
+ [1.8, 2.3, 2.2]
2024
+ ], r = [];
2025
+ n.forEach((l) => {
2026
+ const u = new S(0.2, 0.2, 3.5, 16);
2027
+ u.translate(l[0], l[1], l[2]), r.push(u);
2028
+ });
2029
+ const s = new Z(3.5, 2, 4);
2030
+ s.rotateY(Math.PI / 4), s.translate(0, 5, 0);
2031
+ const a = new j();
2032
+ a.moveTo(-1, 0), a.lineTo(-1, 2), a.absarc(0, 2, 1, Math.PI, 0, !0), a.lineTo(1, 0);
2033
+ const i = {
2034
+ depth: 0.5,
2035
+ bevelEnabled: !1
2036
+ }, c = new Q(a, i);
2037
+ c.translate(0, 0.5, 1.7), c.setIndex([...Array(c.attributes.position.count).keys()]), this.copy(
2038
+ P(
2039
+ [
2040
+ t,
2041
+ P([o, ...r], !1),
2042
+ s,
2043
+ c
2044
+ ],
2045
+ !0
2046
+ )
2047
+ ), this.computeVertexNormals();
2048
+ }
2049
+ }
2050
+ class Ce extends A {
1931
2051
  constructor(t = 1.75, o = 0.75) {
1932
2052
  super();
1933
2053
  const n = t * 0.05, r = t * 0.15, s = t * 0.15, a = t * 0.75;
1934
2054
  let i = 0;
1935
- const c = new E(o, n, o);
2055
+ const c = new b(o, n, o);
1936
2056
  c.translate(0, i + n / 2, 0), i += n;
1937
- const l = new E(o * 0.8, r, o * 0.8);
2057
+ const l = new b(o * 0.8, r, o * 0.8);
1938
2058
  l.translate(0, i + r / 2, 0), i += r;
1939
- const u = new E(o * 0.6, s, o * 0.6);
2059
+ const u = new b(o * 0.6, s, o * 0.6);
1940
2060
  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();
2061
+ const m = new b(o * 0.4, a, o * 0.4);
2062
+ m.translate(0, i + a / 2, 0), i += a;
2063
+ const h = new Z(o * 0.4 / Math.sqrt(2), 0.1, 4, 1, !1, Math.PI / 4);
2064
+ h.translate(0, i + 0.1 / 2, 0), this.copy(P([c, l, u, m, h], !1)), this.computeVertexNormals();
1945
2065
  }
1946
2066
  }
1947
- class Se extends A {
2067
+ class Be extends A {
1948
2068
  constructor(t = 0.6, o = 1, n = 0.2, r = 0.6) {
1949
2069
  super();
1950
- const s = o - r / 2, a = new E(t, s, n);
2070
+ const s = o - r / 2, a = new b(t, s, n);
1951
2071
  a.translate(0, s / 2, 0);
1952
2072
  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();
2073
+ i.rotateY(Math.PI / 2), i.rotateX(Math.PI / 2), i.translate(0, s, 0), this.copy(P([a, i], !1)), this.computeVertexNormals();
1954
2074
  }
1955
2075
  }
1956
- class Pe extends A {
2076
+ class Re extends A {
1957
2077
  constructor(t = 0.5, o = 0.8, n = 0.15) {
1958
2078
  super();
1959
- const r = new E(t, o, n);
2079
+ const r = new b(t, o, n);
1960
2080
  r.translate(0, o / 2, 0), this.copy(r);
1961
2081
  }
1962
2082
  }
1963
- class Te extends A {
2083
+ class Ne extends A {
1964
2084
  constructor({ height: t = 2.25 } = {}) {
1965
2085
  super();
1966
- const o = new E(1.2, 0.5, 1.2);
2086
+ const o = new b(1.2, 0.5, 1.2);
1967
2087
  o.translate(0, 0.25, 0);
1968
- const n = new E(1, t, 1);
2088
+ const n = new b(1, t, 1);
1969
2089
  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));
2090
+ const r = new b(1.4, 0.3, 1.4);
2091
+ r.translate(0, 0.5 + t + 0.15, 0), this.copy(P([o, n, r], !1));
1972
2092
  }
1973
2093
  }
1974
- class xt extends A {
2094
+ class gt extends A {
1975
2095
  constructor({
1976
2096
  barHeight: t = 2,
1977
2097
  //
@@ -1984,11 +2104,11 @@ class xt extends A {
1984
2104
  super();
1985
2105
  const i = new S(o, o, t, a);
1986
2106
  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));
2107
+ const c = new Z(r, n, a);
2108
+ c.translate(0, t + n / 2, 0), c.scale(1, 1, s), this.copy(P([i, c], !1));
1989
2109
  }
1990
2110
  }
1991
- class Ge extends A {
2111
+ class _e extends A {
1992
2112
  constructor({
1993
2113
  count: t = 20,
1994
2114
  //
@@ -2001,21 +2121,21 @@ class Ge extends A {
2001
2121
  railHeight: c = 0.1,
2002
2122
  railDepth: l = 0.05,
2003
2123
  railOffset: u = 0,
2004
- radialSegments: h = 8
2124
+ radialSegments: m = 8
2005
2125
  } = {}) {
2006
2126
  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);
2127
+ const h = [], f = new gt({ barHeight: n, barRadius: r, spikeHeight: s, spikeRadius: a, spikeScaleZ: i, radialSegments: m }), p = new b(t * o, c, l);
2128
+ for (let x = 0; x < t; x++) {
2129
+ const I = f.clone();
2130
+ I.translate(x * o, 0, 0), h.push(I);
2011
2131
  }
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));
2132
+ const d = p.clone();
2133
+ d.translate(o * (t - 1) / 2, n - u - c / 2, 0), h.push(d);
2134
+ const w = p.clone();
2135
+ w.translate(o * (t - 1) / 2, c / 2, 0), h.push(w), this.copy(P(h));
2016
2136
  }
2017
2137
  }
2018
- class Ce extends A {
2138
+ class Ue extends A {
2019
2139
  constructor({
2020
2140
  width: t = 5,
2021
2141
  //
@@ -2026,44 +2146,44 @@ class Ce extends A {
2026
2146
  open: a = !1
2027
2147
  } = {}) {
2028
2148
  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);
2149
+ const i = o, c = t, l = n, u = new b(s, i, l), m = new b(c - 2 * s, s, l), h = u.clone();
2150
+ h.translate(-c / 2 + s / 2, i / 2, 0);
2031
2151
  const f = u.clone();
2032
2152
  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);
2153
+ const p = m.clone();
2154
+ p.translate(0, i - s / 2, 0);
2155
+ const d = m.clone();
2156
+ d.translate(0, s / 2, 0);
2157
+ const w = new b(c, i, s);
2038
2158
  w.translate(0, i / 2, -l / 2 + s / 2);
2039
- const v = [], x = (i - s) / (r + 1);
2159
+ const x = [], I = (i - s) / (r + 1);
2040
2160
  for (let R = 1; R <= r; R++) {
2041
- const N = h.clone();
2042
- N.translate(0, s / 2 + R * x, 0), v.push(N);
2161
+ const B = m.clone();
2162
+ B.translate(0, s / 2 + R * I, 0), x.push(B);
2043
2163
  }
2044
- this.copy(T([
2045
- m,
2164
+ this.copy(P([
2165
+ h,
2046
2166
  //
2047
2167
  f,
2048
- d,
2049
2168
  p,
2169
+ d,
2050
2170
  ...a ? [] : [w],
2051
- ...v
2171
+ ...x
2052
2172
  ], !1));
2053
2173
  }
2054
2174
  }
2055
- class Be extends A {
2175
+ class Oe extends A {
2056
2176
  constructor() {
2057
2177
  super();
2058
- const t = new E(5, 0.3, 3);
2178
+ const t = new b(5, 0.3, 3);
2059
2179
  t.translate(0, 3.15, 0);
2060
2180
  const o = [
2061
- new I(0.2, 0),
2181
+ new g(0.2, 0),
2062
2182
  //
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(
2183
+ new g(0.25, 0.5),
2184
+ new g(0.15, 1.5),
2185
+ new g(0.3, 3)
2186
+ ], n = new D(o, 32), s = P(
2067
2187
  [
2068
2188
  [2.1, 0, 1.1],
2069
2189
  [-2.1, 0, 1.1],
@@ -2074,35 +2194,35 @@ class Be extends A {
2074
2194
  return i.translate(a[0], a[1], a[2]), i;
2075
2195
  })
2076
2196
  );
2077
- this.copy(T([t, s], !0));
2197
+ this.copy(P([t, s], !0));
2078
2198
  }
2079
2199
  }
2080
- function Re(e, t = ut.XYZ, o = 0.5, n = 2) {
2081
- e.deleteAttribute("uv"), e.deleteAttribute("normal"), e = Ie(e), e.computeVertexNormals();
2200
+ function Le(e, t = mt.XYZ, o = 0.5, n = 2) {
2201
+ e.deleteAttribute("uv"), e.deleteAttribute("normal"), e = Ae(e), e.computeVertexNormals();
2082
2202
  const r = e.getAttribute("position");
2083
2203
  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);
2204
+ const a = new v().fromBufferAttribute(r, s), i = Math.random() * (n - o) + o, c = t.clone().multiplyScalar(i);
2085
2205
  a.add(c), r.setXYZ(s, a.x, a.y, a.z);
2086
2206
  }
2087
2207
  return r.needsUpdate = !0, e.computeVertexNormals(), e;
2088
2208
  }
2089
- class Ne extends A {
2209
+ class ze extends A {
2090
2210
  constructor(t = 1, o = 4, n = 4) {
2091
2211
  super();
2092
- const r = new U(t, o, n);
2093
- this.copy(Re(r, ut.XYZ, 0.5, 1)), this.computeVertexNormals(), this.center();
2212
+ const r = new N(t, o, n);
2213
+ this.copy(Le(r, mt.XYZ, 0.5, 1)), this.computeVertexNormals(), this.center();
2094
2214
  }
2095
2215
  }
2096
- class Ue extends A {
2216
+ class Fe extends A {
2097
2217
  constructor(t = 0.1, o = 0.1, n = 0.4, r = 8) {
2098
2218
  super();
2099
2219
  const s = new S(t * 0.6, o * 0.6, n, r);
2100
2220
  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));
2221
+ const a = new N(t, r, r), i = a.clone(), c = a.clone(), l = a.clone(), u = a.clone();
2222
+ i.translate(0, n / 2 + t * 0.6, -t * 0.6), c.translate(0, n / 2 + t * 0.6, t * 0.6), l.translate(0, -n / 2 - o * 0.6, -o * 0.6), u.translate(0, -n / 2 - o * 0.6, o * 0.6), this.copy(P([s, i, c, l, u], !1));
2103
2223
  }
2104
2224
  }
2105
- class _e extends A {
2225
+ class ke extends A {
2106
2226
  constructor({
2107
2227
  flaskRadius: t = 1,
2108
2228
  //
@@ -2113,48 +2233,48 @@ class _e extends A {
2113
2233
  } = {}) {
2114
2234
  super();
2115
2235
  const a = [
2116
- new I(0, 0),
2236
+ new g(0, 0),
2117
2237
  // Bottom of the flask
2118
- new I(t * 0.875, 0),
2238
+ new g(t * 0.875, 0),
2119
2239
  // Flat base with minimum width
2120
- new I(t, 0.1),
2240
+ new g(t, 0.1),
2121
2241
  // End of the rounded base
2122
- new I(o, n),
2242
+ new g(o, n),
2123
2243
  // Start of the straight neck
2124
- new I(o, n + r),
2244
+ new g(o, n + r),
2125
2245
  // End of the straight neck
2126
- new I(o * 1.1, n + r + 0.3)
2246
+ new g(o * 1.1, n + r + 0.3)
2127
2247
  // Slight outward lip at the top
2128
- ], i = new Z(a, s);
2129
- this.copy(T([i], !1));
2248
+ ], i = new D(a, s);
2249
+ this.copy(P([i], !1));
2130
2250
  }
2131
2251
  }
2132
- class Oe extends A {
2252
+ class De extends A {
2133
2253
  constructor() {
2134
2254
  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));
2255
+ const t = new N(1, 16, 16), o = new S(0.2, 0.2, 2, 16, 1, !0);
2256
+ o.translate(0, 1.5, 0), o.rotateX(Math.PI / 2), this.copy(P([t, o], !1)), this.rotateX(-Math.PI / 2);
2137
2257
  }
2138
2258
  }
2139
- class ze extends A {
2259
+ class qe extends A {
2140
2260
  constructor() {
2141
2261
  super();
2142
2262
  const t = [
2143
- new I(1, 0),
2263
+ new g(1, 0),
2144
2264
  // Bottom of the bowl
2145
- new I(1.2, 0.5),
2265
+ new g(1.2, 0.5),
2146
2266
  // Slight flare at the base
2147
- new I(1.4, 1.5),
2267
+ new g(1.4, 1.5),
2148
2268
  // Outer wall
2149
- new I(1.3, 1.8),
2269
+ new g(1.3, 1.8),
2150
2270
  // Flared edge
2151
- new I(0.8, 1.8)
2271
+ new g(0.8, 1.8)
2152
2272
  // 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));
2273
+ ], o = new D(t, 12), n = new Tt(1, 12);
2274
+ n.rotateX(-Math.PI / 2), n.translate(0, 0, 0), this.copy(P([o, n], !1));
2155
2275
  }
2156
2276
  }
2157
- class Fe extends A {
2277
+ class Ve extends A {
2158
2278
  constructor({
2159
2279
  radius: t = 0.3,
2160
2280
  //
@@ -2164,35 +2284,24 @@ class Fe extends A {
2164
2284
  radialSegments: s = 16
2165
2285
  } = {}) {
2166
2286
  super();
2167
- const a = new dt(t, r, 8, s);
2287
+ const a = new pt(t, r, 8, s);
2168
2288
  a.rotateX(Math.PI / 2), a.translate(0, o, 0);
2169
2289
  const i = new S(r * 0.6, r * 0.6, o, s), c = [];
2170
2290
  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);
2291
+ const u = l / n * Math.PI * 2, m = i.clone();
2292
+ m.translate(Math.cos(u) * t, o / 2, Math.sin(u) * t), c.push(m);
2173
2293
  }
2174
- this.copy(T([a, ...c], !1));
2294
+ this.copy(P([a, ...c], !1));
2175
2295
  }
2176
2296
  }
2177
- class rt extends A {
2297
+ class at extends A {
2178
2298
  constructor(t = 0.2, o = 0.2, n = 3, r = 32, s = !0) {
2179
2299
  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));
2182
- }
2183
- }
2184
- class Le extends A {
2185
- constructor({ radius: t = 0.5, neckRadius: o = 0.2, height: n = 3, neckHeight: r = 1, segments: s = 16 } = {}) {
2186
- 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));
2300
+ const a = new S(t, o, n, r, 1, s), i = new N(o, r, r / 2, 0, Math.PI * 2, Math.PI / 2, Math.PI / 2);
2301
+ i.translate(0, -(n / 2), 0), this.copy(P([a, i], !1));
2193
2302
  }
2194
2303
  }
2195
- class ke extends A {
2304
+ class He extends A {
2196
2305
  constructor({
2197
2306
  radius: t = 3,
2198
2307
  //
@@ -2202,20 +2311,20 @@ class ke extends A {
2202
2311
  phiStart: s = 0,
2203
2312
  phiLength: a = Math.PI * 2
2204
2313
  } = {}) {
2205
- super(), this.copy(new U(t, n, r, s, a, 0, Math.PI / 2)), this.scale(1, o / t, 1);
2314
+ super(), this.copy(new N(t, n, r, s, a, 0, Math.PI / 2)), this.scale(1, o / t, 1);
2206
2315
  }
2207
2316
  }
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) => ({
2317
+ const Yo = (e, t) => e / (1 - Math.cos(t)), It = (e, t) => e / (2 * Math.sin(t)), Ye = (e, t) => e * (1 - Math.cos(t)), Xo = (e, t) => 2 * e * Math.sin(t), Zo = (e, t, o) => ({
2209
2318
  x: e * Math.sin(o) * Math.cos(t),
2210
2319
  y: e * Math.sin(o) * Math.sin(t),
2211
2320
  z: e * Math.cos(o)
2212
- }), Vo = (e, t, o) => {
2321
+ }), jo = (e, t, o) => {
2213
2322
  const n = Math.sqrt(e * e + t * t + o * o), r = Math.atan2(t, e), s = Math.acos(o / n);
2214
2323
  return { radius: n, theta: r, phi: s };
2215
2324
  };
2216
- class qe extends A {
2325
+ class Xe extends A {
2217
2326
  constructor({
2218
- radius: t = gt(5, Math.PI / 10),
2327
+ radius: t = It(5, Math.PI / 10),
2219
2328
  //
2220
2329
  widthSegments: o = 64,
2221
2330
  heightSegments: n = 32,
@@ -2223,12 +2332,12 @@ class qe extends A {
2223
2332
  phiLength: s = Math.PI * 2,
2224
2333
  thetaLength: a = Math.PI / 10
2225
2334
  } = {}) {
2226
- super(), this.copy(new U(t, o, n, r, s, 0, a));
2227
- const i = De(t, a);
2335
+ super(), this.copy(new N(t, o, n, r, s, 0, a));
2336
+ const i = Ye(t, a);
2228
2337
  this.translate(0, -t + i, 0);
2229
2338
  }
2230
2339
  }
2231
- class Ve extends A {
2340
+ class Ze extends A {
2232
2341
  constructor({
2233
2342
  trunkRadiusTop: t = 0.25,
2234
2343
  trunkRadiusBottom: o = 0.4,
@@ -2243,18 +2352,18 @@ class Ve extends A {
2243
2352
  const l = new S(t, o, n, r);
2244
2353
  l.translate(0, n / 2, 0);
2245
2354
  const u = [];
2246
- for (let h = 0; h < a; h++) {
2247
- const m = new it(s, i);
2248
- m.translate(
2355
+ for (let m = 0; m < a; m++) {
2356
+ const h = new ct(s, i);
2357
+ h.translate(
2249
2358
  (Math.random() - 0.5) * c,
2250
2359
  (Math.random() - 0.5) * s + n,
2251
2360
  (Math.random() - 0.5) * c
2252
- ), u.push(m);
2361
+ ), u.push(h);
2253
2362
  }
2254
- this.copy(T([l.toNonIndexed(), T(u, !1)], !0)), this.computeVertexNormals();
2363
+ this.copy(P([l.toNonIndexed(), P(u, !1)], !0)), this.computeVertexNormals();
2255
2364
  }
2256
2365
  }
2257
- const He = {
2366
+ const je = {
2258
2367
  uniforms: {
2259
2368
  time: { value: 0 }
2260
2369
  },
@@ -2298,23 +2407,23 @@ const He = {
2298
2407
  }
2299
2408
  `
2300
2409
  };
2301
- class Ho extends M {
2410
+ class Qo extends M {
2302
2411
  constructor() {
2303
2412
  super(
2304
- new U(5, 32, 32),
2305
- new J(He)
2413
+ new N(5, 32, 32),
2414
+ new J(je)
2306
2415
  );
2307
2416
  }
2308
2417
  }
2309
- class Xo extends M {
2418
+ class Ko extends M {
2310
2419
  constructor({
2311
2420
  width: t = 1,
2312
2421
  height: o = 1.5,
2313
2422
  depth: n = 0.5,
2314
2423
  coverThickness: r = 0.05,
2315
2424
  pageIndent: s = 0.05,
2316
- coverColor: a = mt.DARK_RED,
2317
- pageColor: i = mt.WHITE
2425
+ coverColor: a = rt.DARK_RED,
2426
+ pageColor: i = rt.TITANIUM_WHITE
2318
2427
  } = {}) {
2319
2428
  super(
2320
2429
  new yt(t, o, n, r, s),
@@ -2325,79 +2434,109 @@ class Xo extends M {
2325
2434
  );
2326
2435
  }
2327
2436
  }
2328
- class Yo extends M {
2437
+ class $o extends M {
2438
+ constructor() {
2439
+ super(new Se(), [
2440
+ new y({
2441
+ color: 8965375,
2442
+ transparent: !0,
2443
+ depthWrite: !1,
2444
+ opacity: 0.5,
2445
+ roughness: 0.1,
2446
+ metalness: 0.3
2447
+ }),
2448
+ new y({
2449
+ color: 9127187,
2450
+ roughness: 1
2451
+ }),
2452
+ new y({
2453
+ color: rt.PINK_SHERBET,
2454
+ transparent: !0,
2455
+ depthWrite: !1,
2456
+ opacity: 0.5
2457
+ })
2458
+ ]);
2459
+ }
2460
+ }
2461
+ class Jo extends M {
2462
+ constructor() {
2463
+ super(
2464
+ new Pe(),
2465
+ new W({
2466
+ color: 5597999,
2467
+ roughness: 0.1,
2468
+ transmission: 0.9,
2469
+ // Makes the material transparent
2470
+ thickness: 0.2,
2471
+ metalness: 0,
2472
+ clearcoat: 1,
2473
+ clearcoatRoughness: 0.1
2474
+ })
2475
+ );
2476
+ }
2477
+ }
2478
+ class Wo extends M {
2329
2479
  constructor({
2330
2480
  width: t = 0.4,
2331
2481
  height: o = 1.2,
2332
2482
  depth: n = 0.2
2333
2483
  } = {}) {
2334
2484
  super(
2335
- new Ee(t, o, n),
2485
+ new Te(t, o, n),
2336
2486
  new y({ color: 7829367, roughness: 0.8 })
2337
2487
  );
2338
2488
  }
2339
2489
  }
2340
- class Zo extends B {
2490
+ class tn extends M {
2341
2491
  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);
2492
+ super(
2493
+ new Ge(),
2494
+ [
2495
+ new y({ color: 8421504, flatShading: !0 }),
2496
+ // Base
2497
+ new y({ color: 6908265, flatShading: !0 }),
2498
+ // Building
2499
+ new y({ color: 5263440, flatShading: !0 }),
2500
+ // Roof
2501
+ new y({ color: 4210752, flatShading: !0 })
2502
+ // Arched entrance
2503
+ ]
2504
+ );
2366
2505
  }
2367
2506
  }
2368
- class jo extends M {
2507
+ class en extends M {
2369
2508
  constructor({ totalHeight: t = 1.75, baseWidth: o = 0.75 } = {}) {
2370
2509
  super(
2371
- new Ae(t, o),
2510
+ new Ce(t, o),
2372
2511
  new y({ color: 7829367, roughness: 0.8 })
2373
2512
  );
2374
2513
  }
2375
2514
  }
2376
- class Qo extends M {
2515
+ class on extends M {
2377
2516
  constructor(t = 0.6, o = 1, n = 0.2, r = 0.6) {
2378
2517
  super(
2379
- new Se(t, o, n, r),
2518
+ new Be(t, o, n, r),
2380
2519
  new y({ color: 7829367, roughness: 0.8 })
2381
2520
  );
2382
2521
  }
2383
2522
  }
2384
- class Ko extends M {
2523
+ class nn extends M {
2385
2524
  constructor(t = 0.5, o = 0.8, n = 0.15) {
2386
2525
  super(
2387
- new Pe(t, o, n),
2526
+ new Re(t, o, n),
2388
2527
  new y({ color: 7829367, roughness: 0.8 })
2389
2528
  );
2390
2529
  }
2391
2530
  }
2392
- class $o extends M {
2531
+ class sn extends M {
2393
2532
  constructor({ height: t = 2.25 } = {}) {
2394
2533
  super(
2395
- new Te({ height: t }),
2534
+ new Ne({ height: t }),
2396
2535
  new y({ color: 9141627, flatShading: !0 })
2397
2536
  );
2398
2537
  }
2399
2538
  }
2400
- class Jo extends M {
2539
+ class rn extends M {
2401
2540
  constructor({
2402
2541
  barHeight: t = 2,
2403
2542
  //
@@ -2408,7 +2547,7 @@ class Jo extends M {
2408
2547
  radialSegments: a = 8
2409
2548
  } = {}) {
2410
2549
  super(
2411
- new xt({
2550
+ new gt({
2412
2551
  barHeight: t,
2413
2552
  barRadius: o,
2414
2553
  spikeHeight: n,
@@ -2420,7 +2559,7 @@ class Jo extends M {
2420
2559
  );
2421
2560
  }
2422
2561
  }
2423
- class Wo extends M {
2562
+ class an extends M {
2424
2563
  constructor({
2425
2564
  count: t = 20,
2426
2565
  //
@@ -2433,10 +2572,10 @@ class Wo extends M {
2433
2572
  railHeight: c = 0.1,
2434
2573
  railDepth: l = 0.05,
2435
2574
  railOffset: u = 0,
2436
- radialSegments: h = 8
2575
+ radialSegments: m = 8
2437
2576
  } = {}) {
2438
2577
  super(
2439
- new Ge({
2578
+ new _e({
2440
2579
  count: t,
2441
2580
  spacing: o,
2442
2581
  barHeight: n,
@@ -2447,13 +2586,13 @@ class Wo extends M {
2447
2586
  railHeight: c,
2448
2587
  railDepth: l,
2449
2588
  railOffset: u,
2450
- radialSegments: h
2589
+ radialSegments: m
2451
2590
  }),
2452
2591
  new y({ color: 3355443, metalness: 0.8, roughness: 0.4 })
2453
2592
  );
2454
2593
  }
2455
2594
  }
2456
- class tn extends M {
2595
+ class cn extends M {
2457
2596
  constructor({
2458
2597
  width: t = 5,
2459
2598
  //
@@ -2463,35 +2602,35 @@ class tn extends M {
2463
2602
  frameThickness: s = 0.1,
2464
2603
  open: a = !1
2465
2604
  } = {}) {
2466
- super(), this.geometry = new Ce({ width: t, height: o, depth: n, shelves: r, frameThickness: s, open: a }), this.material = new y({ color: 9127187 });
2605
+ super(
2606
+ new Ue({ width: t, height: o, depth: n, shelves: r, frameThickness: s, open: a }),
2607
+ new y({ color: 9127187 })
2608
+ );
2467
2609
  }
2468
2610
  }
2469
- class en extends M {
2611
+ class ln extends M {
2470
2612
  constructor() {
2471
- super();
2472
- g(this, "geometry");
2473
- g(this, "material");
2474
- this.geometry = new Be(), this.material = [
2613
+ super(new Oe(), [
2475
2614
  new y({ color: 9132587 }),
2476
2615
  // Desk surface
2477
2616
  new y({ color: 4929057 })
2478
2617
  // Desk legs
2479
- ];
2618
+ ]);
2480
2619
  }
2481
2620
  }
2482
- class on extends B {
2621
+ class un extends _ {
2483
2622
  constructor(o = 1, n = 0.2) {
2484
2623
  super();
2485
- g(this, "candle");
2486
- g(this, "flame");
2487
- g(this, "candleLight");
2488
- g(this, "height");
2489
- g(this, "radius");
2624
+ E(this, "candle");
2625
+ E(this, "flame");
2626
+ E(this, "candleLight");
2627
+ E(this, "height");
2628
+ E(this, "radius");
2490
2629
  this.height = o, this.radius = n;
2491
2630
  const r = new S(this.radius, this.radius, this.height, 32), s = new y({ color: 16777215 });
2492
2631
  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();
2632
+ const a = new N(0.05, 16, 16), i = new Gt({ color: 16753920 });
2633
+ this.flame = new M(a, i), this.flame.position.set(0, this.height + 0.05, 0), this.add(this.flame), this.candleLight = new dt(16753920, 1, 5), this.candleLight.position.set(0, this.height + 0.05, 0), this.candleLight.castShadow = !0, this.add(this.candleLight), this.animateFlicker();
2495
2634
  }
2496
2635
  animateFlicker() {
2497
2636
  const o = () => {
@@ -2500,25 +2639,25 @@ class on extends B {
2500
2639
  o();
2501
2640
  }
2502
2641
  }
2503
- class nn extends B {
2642
+ class mn extends _ {
2504
2643
  constructor(t = 1.3, o = 0.5) {
2505
2644
  super();
2506
2645
  const n = new S(o, o, 0.2, 16), r = new y({ color: 9127187, flatShading: !0 }), s = new M(n, r);
2507
2646
  s.position.set(0, 0, 0), this.add(s);
2508
2647
  const a = new S(o * 0.9, o * 0.9, t), i = new y({ color: 16766720, flatShading: !0, transparent: !0, opacity: 0.6 }), c = new M(a, i);
2509
2648
  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);
2649
+ const l = new Z(o * 1.1, 0.5, 8), u = new y({ color: 9127187, flatShading: !0 }), m = new M(l, u);
2650
+ m.position.set(0, t + 0.35, 0), this.add(m);
2651
+ const h = new pt(o * 0.8, 0.05, 8, 16), f = new y({ color: 9127187, flatShading: !0 }), p = new M(h, f);
2652
+ p.position.set(0, t + 0.85, 0), this.add(p);
2653
+ const d = new dt(16755200, 1.5, 15);
2654
+ d.position.set(0, t / 2 + 0.1, 0), d.castShadow = !0, this.add(d);
2516
2655
  }
2517
2656
  }
2518
- class sn extends B {
2657
+ class hn extends _ {
2519
2658
  constructor() {
2520
2659
  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 });
2660
+ const t = new ct(1, 0), o = new y({ color: 8421504, flatShading: !0 }), n = new y({ color: 4950843, flatShading: !0, opacity: 0.8, transparent: !0 });
2522
2661
  for (let r = 0; r < 5; r++) {
2523
2662
  const s = new M(t, o);
2524
2663
  s.scale.set(0.8 + Math.random() * 0.4, 0.8 + Math.random() * 0.4, 0.8 + Math.random() * 0.4), s.rotation.set(Math.random() * Math.PI, Math.random() * Math.PI, Math.random() * Math.PI), s.position.set((Math.random() - 0.5) * 4, 0, (Math.random() - 0.5) * 4), this.add(s);
@@ -2527,58 +2666,25 @@ class sn extends B {
2527
2666
  }
2528
2667
  }
2529
2668
  }
2530
- class rn extends M {
2669
+ class fn extends M {
2531
2670
  constructor(t = 1, o = 4, n = 4) {
2532
- super(), this.geometry = new Ne(t, o, n), this.material = new y({ color: 8421504, flatShading: !0 });
2671
+ super(
2672
+ new ze(t, o, n),
2673
+ new y({ color: 8421504, flatShading: !0 })
2674
+ );
2533
2675
  }
2534
2676
  }
2535
- class an extends B {
2677
+ class pn extends _ {
2536
2678
  constructor() {
2537
2679
  super();
2538
- const t = new it(1, 0), o = new y({ color: 8421504, flatShading: !0 });
2680
+ const t = new ct(1, 0), o = new y({ color: 8421504, flatShading: !0 });
2539
2681
  for (let n = 0; n < 5; n++) {
2540
2682
  const r = new M(t, o);
2541
2683
  r.scale.set(0.8 + Math.random() * 0.4, 0.8 + Math.random() * 0.4, 0.8 + Math.random() * 0.4), r.rotation.set(Math.random() * Math.PI, Math.random() * Math.PI, Math.random() * Math.PI), r.position.set((Math.random() - 0.5) * 4, 0, (Math.random() - 0.5) * 4), this.add(r);
2542
2684
  }
2543
2685
  }
2544
2686
  }
2545
- class cn extends B {
2546
- 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);
2579
- }
2580
- }
2581
- class ln extends B {
2687
+ class dn extends _ {
2582
2688
  constructor() {
2583
2689
  super();
2584
2690
  const t = new S(0.3, 0.4, 0.1, 16), o = new y({
@@ -2593,7 +2699,7 @@ class ln extends B {
2593
2699
  metalness: 0.4
2594
2700
  }), a = new M(r, s);
2595
2701
  a.position.y = 0.4;
2596
- const i = new Y(0.075, 0.2, 16), c = new y({
2702
+ const i = new Z(0.075, 0.2, 16), c = new y({
2597
2703
  color: 16733440,
2598
2704
  emissive: 16733440,
2599
2705
  emissiveIntensity: 0.6,
@@ -2603,14 +2709,14 @@ class ln extends B {
2603
2709
  l.position.y = 0.8, this.add(n, a, l);
2604
2710
  }
2605
2711
  }
2606
- class un extends B {
2712
+ class Mn extends _ {
2607
2713
  constructor() {
2608
2714
  super();
2609
- const t = new E(3, 4, 0.1), o = new y({
2715
+ const t = new b(3, 4, 0.1), o = new y({
2610
2716
  color: 3026478,
2611
2717
  roughness: 0.8,
2612
2718
  metalness: 0.6
2613
- }), n = new E(0.2, 0.5, 0.2), r = new y({
2719
+ }), n = new b(0.2, 0.5, 0.2), r = new y({
2614
2720
  color: 11184810,
2615
2721
  roughness: 0.5,
2616
2722
  metalness: 0.7
@@ -2620,27 +2726,27 @@ class un extends B {
2620
2726
  metalness: 0.5
2621
2727
  }), i = new M(t, o);
2622
2728
  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);
2729
+ const x = new M(n, r);
2730
+ x.position.set(w, 1.5, 0.1), i.add(x);
2625
2731
  }
2626
2732
  const c = new M(s, a);
2627
2733
  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({
2734
+ const l = new N(0.15, 8, 8), u = new y({
2629
2735
  color: 16711680,
2630
2736
  emissive: 16711680,
2631
2737
  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;
2738
+ }), m = new M(l, u);
2739
+ m.position.set(0, -1, 0.1), i.add(m), this.add(i);
2740
+ let h = 0.015, f = 0.8, p = 0.2;
2741
+ function d() {
2742
+ requestAnimationFrame(d);
2743
+ const w = p + Math.abs(Math.sin(Date.now() * h)) * (f - p);
2744
+ m.material.emissiveIntensity = w;
2639
2745
  }
2640
- p();
2746
+ d();
2641
2747
  }
2642
2748
  }
2643
- class hn extends M {
2749
+ class yn extends M {
2644
2750
  constructor({
2645
2751
  flaskRadius: t = 1,
2646
2752
  //
@@ -2649,34 +2755,37 @@ class hn extends M {
2649
2755
  neckHeight: r = 1,
2650
2756
  radialSegments: s = 16
2651
2757
  } = {}) {
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
- });
2758
+ super(
2759
+ new ke({ flaskRadius: t, neckRadius: o, height: n, neckHeight: r, radialSegments: s }),
2760
+ new W({
2761
+ color: 8965375,
2762
+ transparent: !0,
2763
+ opacity: 0.4,
2764
+ roughness: 0.1,
2765
+ metalness: 0.1,
2766
+ reflectivity: 0.8,
2767
+ transmission: 0.9,
2768
+ side: k,
2769
+ wireframe: !1
2770
+ })
2771
+ );
2663
2772
  }
2664
2773
  }
2665
- class mn extends B {
2774
+ class wn extends _ {
2666
2775
  constructor() {
2667
2776
  super();
2668
2777
  const t = [
2669
- new I(0, 0),
2778
+ new g(0, 0),
2670
2779
  // Bottom of the flask
2671
- new I(1.2, 0),
2780
+ new g(1.2, 0),
2672
2781
  // Base
2673
- new I(1.5, 1.5),
2782
+ new g(1.5, 1.5),
2674
2783
  // Mid-body
2675
- new I(1, 3),
2784
+ new g(1, 3),
2676
2785
  // Narrow neck
2677
- new I(0.6, 3.5)
2786
+ new g(0.6, 3.5)
2678
2787
  // Mouth of the flask
2679
- ], o = new Z(t, 12), n = new S(0.6, 0.7, 0.3, 8), r = new y({
2788
+ ], o = new D(t, 12), n = new S(0.6, 0.7, 0.3, 8), r = new y({
2680
2789
  color: 8965290,
2681
2790
  transparent: !0,
2682
2791
  opacity: 0.4,
@@ -2692,27 +2801,27 @@ class mn extends B {
2692
2801
  i.position.y = 3.5, this.add(a, i);
2693
2802
  }
2694
2803
  }
2695
- class fn extends M {
2804
+ class vn extends M {
2696
2805
  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;
2806
+ super(
2807
+ new De(),
2808
+ new W({
2809
+ color: 8965375,
2810
+ transparent: !0,
2811
+ opacity: 0.4,
2812
+ roughness: 0.1,
2813
+ metalness: 0.1,
2814
+ reflectivity: 0.8,
2815
+ transmission: 0.9,
2816
+ side: k
2817
+ })
2818
+ );
2710
2819
  }
2711
2820
  }
2712
- class dn extends B {
2821
+ class xn extends _ {
2713
2822
  constructor() {
2714
2823
  super();
2715
- const t = new E(2, 3, 0.1), o = new y({
2824
+ const t = new b(2, 3, 0.1), o = new y({
2716
2825
  color: 3355443,
2717
2826
  roughness: 0.8,
2718
2827
  metalness: 0.5
@@ -2730,16 +2839,16 @@ class dn extends B {
2730
2839
  this.add(n);
2731
2840
  }
2732
2841
  }
2733
- class pn extends B {
2842
+ class gn extends _ {
2734
2843
  constructor() {
2735
2844
  super();
2736
- const t = new E(1, 0.2, 0.5), o = new y({
2845
+ const t = new b(1, 0.2, 0.5), o = new y({
2737
2846
  color: 4473924,
2738
2847
  roughness: 0.6,
2739
2848
  metalness: 0.3
2740
2849
  }), n = new M(t, o);
2741
2850
  n.position.y = 0.1;
2742
- const r = new E(0.2, 1, 0.2), s = new M(r, o);
2851
+ const r = new b(0.2, 1, 0.2), s = new M(r, o);
2743
2852
  s.position.set(0, 0.6, -0.2);
2744
2853
  const a = new S(0.1, 0.1, 0.4, 8), i = new y({
2745
2854
  color: 3355443,
@@ -2747,18 +2856,18 @@ class pn extends B {
2747
2856
  metalness: 0.6
2748
2857
  }), c = new M(a, i);
2749
2858
  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({
2859
+ const l = new b(0.6, 0.1, 0.6), u = new y({
2751
2860
  color: 5592405,
2752
2861
  roughness: 0.8,
2753
2862
  metalness: 0.2
2754
- }), h = new M(l, u);
2755
- h.position.set(0, 0.6, 0), this.add(n, s, c, h);
2863
+ }), m = new M(l, u);
2864
+ m.position.set(0, 0.6, 0), this.add(n, s, c, m);
2756
2865
  }
2757
2866
  }
2758
- class Mn extends B {
2867
+ class In extends _ {
2759
2868
  constructor() {
2760
2869
  super();
2761
- const t = new ze(), o = new S(0.2, 0.3, 1.5, 8);
2870
+ const t = new qe(), o = new S(0.2, 0.3, 1.5, 8);
2762
2871
  o.translate(0, 0.75, 0);
2763
2872
  const n = new y({
2764
2873
  color: 6045747,
@@ -2778,19 +2887,19 @@ class Mn extends B {
2778
2887
  a.castShadow = !0, a.position.set(0.3, 1.3, 0), a.rotation.z = Math.PI / 4, this.add(s, a);
2779
2888
  }
2780
2889
  }
2781
- class yn extends M {
2890
+ class En extends M {
2782
2891
  constructor({ width: o = 3, height: n = 4, depth: r = 0.1 } = {}) {
2783
2892
  super();
2784
- g(this, "geometry");
2785
- g(this, "material");
2786
- this.geometry = new E(o, n, r), this.material = new y({
2893
+ E(this, "geometry");
2894
+ E(this, "material");
2895
+ this.geometry = new b(o, n, r), this.material = new y({
2787
2896
  color: 3026478,
2788
2897
  roughness: 0.8,
2789
2898
  metalness: 0.6
2790
2899
  });
2791
2900
  }
2792
2901
  }
2793
- class wn extends M {
2902
+ class An extends M {
2794
2903
  constructor({
2795
2904
  radius: o = 0.15,
2796
2905
  //
@@ -2799,29 +2908,29 @@ class wn extends M {
2799
2908
  emissiveIntensity: s = 0.5
2800
2909
  } = {}) {
2801
2910
  super();
2802
- g(this, "geometry");
2803
- g(this, "material");
2804
- this.geometry = new U(o, 8, 8), this.material = new y({
2911
+ E(this, "geometry");
2912
+ E(this, "material");
2913
+ this.geometry = new N(o, 8, 8), this.material = new y({
2805
2914
  color: n,
2806
2915
  emissive: r,
2807
2916
  emissiveIntensity: s
2808
2917
  });
2809
2918
  }
2810
2919
  }
2811
- class vn extends B {
2920
+ class bn extends _ {
2812
2921
  constructor() {
2813
2922
  super();
2814
- const t = 100, o = 0.05, n = new Gt(
2923
+ const t = 100, o = 0.05, n = new Ct(
2815
2924
  Array.from({ length: t }, (l, u) => {
2816
- const h = u * 0.2;
2817
- return new b(
2818
- Math.cos(h) * 0.4,
2925
+ const m = u * 0.2;
2926
+ return new v(
2927
+ Math.cos(m) * 0.4,
2819
2928
  u * o,
2820
2929
  // Gradual height increase
2821
- Math.sin(h) * 0.4
2930
+ Math.sin(m) * 0.4
2822
2931
  );
2823
2932
  })
2824
- ), r = new Ct(n, 200, 0.1, 8, !1), s = new y({
2933
+ ), r = new Bt(n, 200, 0.1, 8, !1), s = new y({
2825
2934
  color: 8965375,
2826
2935
  transparent: !0,
2827
2936
  opacity: 0.3,
@@ -2839,26 +2948,26 @@ class vn extends B {
2839
2948
  c();
2840
2949
  }
2841
2950
  }
2842
- class xn extends M {
2951
+ class Sn extends M {
2843
2952
  constructor({
2844
- radius: o = 0.3,
2953
+ radius: t = 0.3,
2845
2954
  //
2846
- height: n = 0.4,
2847
- count: r = 3,
2848
- thickness: s = 0.03,
2849
- radialSegments: a = 16
2955
+ height: o = 0.4,
2956
+ count: n = 3,
2957
+ thickness: r = 0.03,
2958
+ radialSegments: s = 16
2850
2959
  } = {}) {
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
- });
2960
+ super(
2961
+ new Ve({ radius: t, height: o, count: n, thickness: r, radialSegments: s }),
2962
+ new y({
2963
+ color: 8947848,
2964
+ roughness: 0.7,
2965
+ metalness: 0.3
2966
+ })
2967
+ );
2859
2968
  }
2860
2969
  }
2861
- class gn extends B {
2970
+ class Pn extends _ {
2862
2971
  constructor() {
2863
2972
  super();
2864
2973
  const t = new S(0.5, 0.6, 0.3, 16), o = new y({
@@ -2874,39 +2983,39 @@ class gn extends B {
2874
2983
  side: k
2875
2984
  }), a = new M(r, s);
2876
2985
  a.position.y = 1.3;
2877
- const i = new U(0.3, 16, 16), c = new M(i, s);
2986
+ const i = new N(0.3, 16, 16), c = new M(i, s);
2878
2987
  c.position.y = 2.4, this.add(n, a, c);
2879
2988
  }
2880
2989
  }
2881
- class bn extends B {
2990
+ class Tn extends M {
2882
2991
  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);
2992
+ super(
2993
+ new at(t, o, n, r),
2994
+ new W({
2995
+ color: 8965375,
2996
+ transparent: !0,
2997
+ opacity: 0.4,
2998
+ roughness: 0.1,
2999
+ metalness: 0.1,
3000
+ reflectivity: 0.8,
3001
+ transmission: 0.9,
3002
+ depthWrite: !1,
3003
+ side: k
3004
+ })
3005
+ );
2897
3006
  }
2898
3007
  }
2899
- class In extends B {
3008
+ class Gn extends _ {
2900
3009
  constructor(t = 3, o = [65450, 16711850, 11141375]) {
2901
3010
  super();
2902
- const n = new E(3, 0.2, 1), r = new y({
3011
+ const n = new b(3, 0.2, 1), r = new y({
2903
3012
  color: 9127187,
2904
3013
  // Wooden color or change to metallic tone
2905
3014
  roughness: 0.7,
2906
3015
  metalness: 0.3
2907
3016
  }), s = new M(n, r);
2908
3017
  s.position.y = 0.5, s.castShadow = !0;
2909
- const a = new rt(0.1, 0.1, 1, 16), i = new y({
3018
+ const a = new at(0.1, 0.1, 1, 16), i = new y({
2910
3019
  color: 11184810,
2911
3020
  transparent: !0,
2912
3021
  opacity: 0.4,
@@ -2918,50 +3027,34 @@ class In extends B {
2918
3027
  for (let c = 0; c < t; c++) {
2919
3028
  const l = new M(a, i), u = (c - (t - 1) / 2) * 0.8;
2920
3029
  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,
3030
+ const m = new at(0.099, 0.099, 0.5, 16, !1), h = o[c % o.length], f = new y({
3031
+ color: h,
3032
+ emissive: h,
2924
3033
  emissiveIntensity: 0.5,
2925
3034
  transparent: !0,
2926
3035
  opacity: 0.6
2927
- }), d = new M(h, f);
2928
- d.position.set(0, -0.25, 0), l.add(d), s.add(l);
3036
+ }), p = new M(m, f);
3037
+ p.position.set(0, -0.25, 0), l.add(p), s.add(l);
2929
3038
  }
2930
3039
  this.add(s);
2931
3040
  }
2932
3041
  }
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 {
3042
+ class Qe extends j {
2950
3043
  constructor(t = 5, o = 0.5, n = 1) {
2951
3044
  super();
2952
3045
  const r = Math.PI * 2 / t, s = r / 2, a = r / 4;
2953
3046
  this.moveTo(Math.cos(0) * n, -Math.sin(0) * n);
2954
3047
  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);
3048
+ let c = Math.cos(r * i - a * 3) * (o / Math.cos(a)), l = -Math.sin(r * i - a * 3) * (o / Math.cos(a)), u = Math.cos(r * i - s) * o, m = -Math.sin(r * i - s) * o;
3049
+ this.quadraticCurveTo(c, l, u, m), c = Math.cos(r * i - a) * (o / Math.cos(a)), l = -Math.sin(r * i - a) * (o / Math.cos(a)), u = Math.cos(r * i) * n, m = -Math.sin(r * i) * n, this.quadraticCurveTo(c, l, u, m);
2957
3050
  }
2958
3051
  this.closePath();
2959
3052
  }
2960
3053
  }
2961
- class An extends M {
3054
+ class Cn extends M {
2962
3055
  constructor(t = 5, o = 0.5, n = 1, r = 0.25) {
2963
3056
  super();
2964
- const s = new Xe(t, o, n), a = new Q(s, {
3057
+ const s = new Qe(t, o, n), a = new Q(s, {
2965
3058
  depth: r,
2966
3059
  bevelEnabled: r > 0,
2967
3060
  bevelThickness: 0,
@@ -2977,7 +3070,7 @@ class An extends M {
2977
3070
  a.center(), this.geometry = a, this.material = i;
2978
3071
  }
2979
3072
  }
2980
- class Ye extends j {
3073
+ class Ke extends j {
2981
3074
  constructor(t = 5, o = 0.5, n = 1, r = 5, s = 0.25) {
2982
3075
  super();
2983
3076
  const a = Math.PI * 2 / t, i = a / 4;
@@ -2985,7 +3078,7 @@ class Ye extends j {
2985
3078
  for (let c = 1; c <= t; ++c)
2986
3079
  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
3080
  if (this.closePath(), s > 0 && r > 2) {
2988
- const c = new Bt(), l = Math.PI * 2 / r;
3081
+ const c = new Rt(), l = Math.PI * 2 / r;
2989
3082
  c.moveTo(Math.cos(0) * s, -Math.sin(0) * s);
2990
3083
  for (let u = 1; u < r; ++u)
2991
3084
  c.lineTo(Math.cos(l * u) * s, -Math.sin(l * u) * s);
@@ -2993,10 +3086,10 @@ class Ye extends j {
2993
3086
  }
2994
3087
  }
2995
3088
  }
2996
- class Sn extends M {
3089
+ class Bn extends M {
2997
3090
  constructor(t = 5, o = 0.5, n = 1, r = 5, s = 0.25, a = 0.25) {
2998
3091
  super();
2999
- const i = new Ye(t, o, n, r, s), c = new Q(i, {
3092
+ const i = new Ke(t, o, n, r, s), c = new Q(i, {
3000
3093
  depth: a,
3001
3094
  bevelEnabled: a > 0,
3002
3095
  bevelThickness: 0,
@@ -3009,7 +3102,7 @@ class Sn extends M {
3009
3102
  c.center(), this.geometry = c, this.material = l;
3010
3103
  }
3011
3104
  }
3012
- class Ze extends j {
3105
+ class $e extends j {
3013
3106
  constructor(t = 1, o = 2.1, n = 1.4, r = 1.6) {
3014
3107
  super(), this.moveTo(0, n * t / 3), this.bezierCurveTo(
3015
3108
  -o * 0.375 * t,
@@ -3034,10 +3127,10 @@ class Ze extends j {
3034
3127
  );
3035
3128
  }
3036
3129
  }
3037
- class Pn extends M {
3130
+ class Rn extends M {
3038
3131
  constructor(t = 1, o = 1, n = 1, r = 10, s = 0.25) {
3039
3132
  super();
3040
- const a = new Ze(t, o, n, r), i = new Q(a, {
3133
+ const a = new $e(t, o, n, r), i = new Q(a, {
3041
3134
  depth: s,
3042
3135
  bevelEnabled: s > 0,
3043
3136
  bevelThickness: 0,
@@ -3053,7 +3146,7 @@ class Pn extends M {
3053
3146
  i.center(), this.geometry = i, this.material = c;
3054
3147
  }
3055
3148
  }
3056
- class je extends j {
3149
+ class Je extends j {
3057
3150
  constructor(t = 5, o = 0.5, n = 1) {
3058
3151
  super();
3059
3152
  const r = Math.PI * 2 / t, s = r / 2;
@@ -3063,10 +3156,10 @@ class je extends j {
3063
3156
  this.closePath();
3064
3157
  }
3065
3158
  }
3066
- class Tn extends M {
3159
+ class Nn extends M {
3067
3160
  constructor(t = 5, o = 0.5, n = 1, r = 0.25) {
3068
3161
  super();
3069
- const s = new je(t, o, n), a = new Q(s, {
3162
+ const s = new Je(t, o, n), a = new Q(s, {
3070
3163
  depth: r,
3071
3164
  bevelEnabled: r > 0,
3072
3165
  bevelThickness: 0,
@@ -3082,12 +3175,12 @@ class Tn extends M {
3082
3175
  a.center(), this.geometry = a, this.material = i;
3083
3176
  }
3084
3177
  }
3085
- class Gn extends M {
3178
+ class _n extends M {
3086
3179
  constructor() {
3087
- super(), this.geometry = new Ue(), this.material = new y({ color: 16777215 });
3180
+ super(new Fe(), new y({ color: 16777215 }));
3088
3181
  }
3089
3182
  }
3090
- class Cn extends M {
3183
+ class Un extends M {
3091
3184
  constructor({
3092
3185
  trunkRadiusTop: t = 0.25,
3093
3186
  trunkRadiusBottom: o = 0.4,
@@ -3100,31 +3193,35 @@ class Cn extends M {
3100
3193
  leafSpreadRadius: l = 1.5,
3101
3194
  leafColor: u = 2263842
3102
3195
  } = {}) {
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];
3196
+ super(
3197
+ new Ze({
3198
+ trunkRadiusTop: t,
3199
+ trunkRadiusBottom: o,
3200
+ trunkHeight: n,
3201
+ trunkSegments: r,
3202
+ leafSize: a,
3203
+ leafCount: i,
3204
+ leafDetail: c,
3205
+ leafSpreadRadius: l
3206
+ }),
3207
+ [
3208
+ new y({
3209
+ color: s,
3210
+ roughness: 0.9,
3211
+ metalness: 0,
3212
+ flatShading: !0
3213
+ }),
3214
+ new y({
3215
+ color: u,
3216
+ roughness: 0.8,
3217
+ metalness: 0,
3218
+ flatShading: !0
3219
+ })
3220
+ ]
3221
+ );
3125
3222
  }
3126
3223
  }
3127
- class Bn extends M {
3224
+ class On extends M {
3128
3225
  constructor({
3129
3226
  radius: t = 3,
3130
3227
  //
@@ -3134,7 +3231,7 @@ class Bn extends M {
3134
3231
  phiStart: s = 0,
3135
3232
  phiLength: a = Math.PI * 2
3136
3233
  } = {}) {
3137
- super(), this.geometry = new ke({
3234
+ super(), this.geometry = new He({
3138
3235
  radius: t,
3139
3236
  height: o,
3140
3237
  widthSegments: n,
@@ -3144,9 +3241,9 @@ class Bn extends M {
3144
3241
  }), this.material = new y({ color: 65280, flatShading: !0 });
3145
3242
  }
3146
3243
  }
3147
- class Rn extends M {
3244
+ class Ln extends M {
3148
3245
  constructor({
3149
- radius: t = gt(5, Math.PI / 10),
3246
+ radius: t = It(5, Math.PI / 10),
3150
3247
  //
3151
3248
  widthSegments: o = 64,
3152
3249
  heightSegments: n = 32,
@@ -3154,7 +3251,7 @@ class Rn extends M {
3154
3251
  phiLength: s = Math.PI * 2,
3155
3252
  thetaLength: a = Math.PI / 10
3156
3253
  } = {}) {
3157
- super(), this.geometry = new qe({
3254
+ super(), this.geometry = new Xe({
3158
3255
  radius: t,
3159
3256
  widthSegments: o,
3160
3257
  heightSegments: n,
@@ -3164,7 +3261,7 @@ class Rn extends M {
3164
3261
  }), this.material = new y({ color: 65280, flatShading: !0 });
3165
3262
  }
3166
3263
  }
3167
- function Nn(e, { time: t = 0, waveFrequency: o = 0.2, waveAmplitude: n = 0.5 } = {}) {
3264
+ function zn(e, { time: t = 0, waveFrequency: o = 0.2, waveAmplitude: n = 0.5 } = {}) {
3168
3265
  e.onBeforeCompile = (r) => {
3169
3266
  r.uniforms.time = { value: t }, r.uniforms.waveFrequency = { value: o }, r.uniforms.waveAmplitude = { value: n }, r.vertexShader = `
3170
3267
  uniform float time;
@@ -3188,10 +3285,10 @@ function Nn(e, { time: t = 0, waveFrequency: o = 0.2, waveAmplitude: n = 0.5 } =
3188
3285
  ), e.userData.shader = r;
3189
3286
  };
3190
3287
  }
3191
- function Un(e, t) {
3288
+ function Fn(e, t) {
3192
3289
  e.userData.shader && (e.userData.shader.uniforms.time.value += t);
3193
3290
  }
3194
- function _n(e, { time: t = 0, intensity: o = 1, axis: n = ut.XYZ, scale: r = 10 } = {}) {
3291
+ function kn(e, { time: t = 0, intensity: o = 1, axis: n = mt.XYZ, scale: r = 10 } = {}) {
3195
3292
  e.onBeforeCompile = (s) => {
3196
3293
  s.uniforms.time = { value: t }, s.uniforms.axis = { value: n }, s.uniforms.intensity = { value: o }, s.uniforms.scale = { value: r }, s.vertexShader = `
3197
3294
  uniform float time;
@@ -3235,7 +3332,7 @@ function _n(e, { time: t = 0, intensity: o = 1, axis: n = ut.XYZ, scale: r = 10
3235
3332
  ), e.userData.shader = s;
3236
3333
  };
3237
3334
  }
3238
- function On(e, t) {
3335
+ function Dn(e, t) {
3239
3336
  e.userData.shader && (e.userData.shader.uniforms.time.value += t);
3240
3337
  }
3241
3338
  const ot = {
@@ -3244,8 +3341,8 @@ const ot = {
3244
3341
  rayleigh: { value: 2 },
3245
3342
  mieCoefficient: { value: 5e-3 },
3246
3343
  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) }
3344
+ sunPosition: { value: new v().setFromSphericalCoords(1, L.degToRad(90), L.degToRad(180)) },
3345
+ up: { value: new v(0, 1, 0) }
3249
3346
  },
3250
3347
  vertexShader: `
3251
3348
  uniform vec3 sunPosition;
@@ -3421,7 +3518,7 @@ const ot = {
3421
3518
  gl_FragColor = vec4(mix(bottomColor, topColor, y), 1.0);
3422
3519
  }
3423
3520
  `
3424
- }, zn = {
3521
+ }, qn = {
3425
3522
  uniforms: {
3426
3523
  tDiffuse: { value: null },
3427
3524
  opacity: { value: 1 }
@@ -3469,19 +3566,19 @@ const ot = {
3469
3566
  }
3470
3567
  `
3471
3568
  };
3472
- class Fn extends M {
3569
+ class Vn extends M {
3473
3570
  constructor() {
3474
3571
  super();
3475
- g(this, "geometry");
3476
- g(this, "material");
3477
- this.geometry = new E(1, 1, 1), this.material = new J({
3572
+ E(this, "geometry");
3573
+ E(this, "material");
3574
+ this.geometry = new b(1, 1, 1), this.material = new J({
3478
3575
  uniforms: ot.uniforms,
3479
3576
  vertexShader: ot.vertexShader,
3480
3577
  fragmentShader: ot.fragmentShader,
3481
3578
  depthWrite: !1,
3482
- side: ct
3579
+ side: lt
3483
3580
  }), this.scale.setScalar(45e4);
3484
- const o = z.degToRad(89), n = z.degToRad(180), r = new b().setFromSphericalCoords(1, o, n);
3581
+ const o = L.degToRad(89), n = L.degToRad(180), r = new v().setFromSphericalCoords(1, o, n);
3485
3582
  this.material.uniforms.sunPosition.value = r;
3486
3583
  }
3487
3584
  /**
@@ -3498,46 +3595,46 @@ class Fn extends M {
3498
3595
  * - This is the horizontal angle in the xy-plane.
3499
3596
  */
3500
3597
  sunPosition(o, n) {
3501
- const r = new b();
3598
+ const r = new v();
3502
3599
  r.setFromSphericalCoords(1, o, n), this.material.uniforms.sunPosition.value = r;
3503
3600
  }
3504
3601
  }
3505
- class Ln extends M {
3602
+ class Hn extends M {
3506
3603
  constructor(o = 1e3) {
3507
3604
  super();
3508
- g(this, "geometry");
3509
- g(this, "material");
3510
- this.geometry = new E(o, o, o), this.material = new J({
3605
+ E(this, "geometry");
3606
+ E(this, "material");
3607
+ this.geometry = new b(o, o, o), this.material = new J({
3511
3608
  uniforms: nt.uniforms,
3512
3609
  vertexShader: nt.vertexShader,
3513
3610
  fragmentShader: nt.fragmentShader,
3514
- side: ct
3611
+ side: lt
3515
3612
  });
3516
3613
  }
3517
3614
  }
3518
- class kn extends M {
3615
+ class Yn extends M {
3519
3616
  constructor(o = 1e3) {
3520
3617
  super();
3521
- g(this, "geometry");
3522
- g(this, "material");
3523
- this.geometry = new U(o, 32, 15), this.material = new J({
3618
+ E(this, "geometry");
3619
+ E(this, "material");
3620
+ this.geometry = new N(o, 32, 15), this.material = new J({
3524
3621
  vertexShader: st.vertexShader,
3525
3622
  fragmentShader: st.fragmentShader,
3526
3623
  uniforms: st.uniforms,
3527
- side: ct
3624
+ side: lt
3528
3625
  });
3529
3626
  }
3530
3627
  }
3531
- const Dn = (e) => {
3628
+ const Xn = (e) => {
3532
3629
  const t = new Uint8Array(4 * e * e);
3533
3630
  for (let n = 0; n < e * e; n++) {
3534
3631
  const r = n * 4, s = (n % e ^ Math.floor(n / e)) & 1 ? 255 : 0;
3535
3632
  t[r] = s, t[r + 1] = s, t[r + 2] = s, t[r + 3] = 255;
3536
3633
  }
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;
3634
+ const o = new Nt(t, e, e, _t, Ut);
3635
+ return o.wrapS = ht, o.wrapT = ht, o.minFilter = Ot, o.needsUpdate = !0, o;
3539
3636
  };
3540
- function qn(e) {
3637
+ function Zn(e) {
3541
3638
  const t = parseInt(e.slice(1), 16);
3542
3639
  return [
3543
3640
  t >> 16 & 255,
@@ -3548,15 +3645,15 @@ function qn(e) {
3548
3645
  // b
3549
3646
  ];
3550
3647
  }
3551
- function Vn(e) {
3648
+ function jn(e) {
3552
3649
  const [t, o, n] = X(e);
3553
- return Ke(t, o, n);
3650
+ return to(t, o, n);
3554
3651
  }
3555
3652
  function X(e) {
3556
3653
  const t = e >> 16 & 255, o = e >> 8 & 255, n = e & 255;
3557
3654
  return [t, o, n];
3558
3655
  }
3559
- function Hn(e, t, o) {
3656
+ function Qn(e, t, o) {
3560
3657
  t /= 100, o /= 100;
3561
3658
  function n(c, l, u) {
3562
3659
  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 +3672,18 @@ function Hn(e, t, o) {
3575
3672
  i(a)
3576
3673
  ];
3577
3674
  }
3578
- function Qe(e, t, o) {
3675
+ function We(e, t, o) {
3579
3676
  t /= 100, o /= 100;
3580
3677
  const n = (a) => (a + e / 30) % 12, r = t * Math.min(o, 1 - o), s = (a) => o - r * Math.max(-1, Math.min(n(a) - 3, Math.min(9 - n(a), 1)));
3581
3678
  return [s(0) * 255, s(8) * 255, s(4) * 255];
3582
3679
  }
3583
- function Xn(e, t, o) {
3680
+ function Kn(e, t, o) {
3584
3681
  return [e / 255, t / 255, o / 255];
3585
3682
  }
3586
- function Yn(e, t, o) {
3683
+ function $n(e, t, o) {
3587
3684
  return e = Math.round(e), t = Math.round(t), o = Math.round(o), (e << 16) + (t << 8) + o;
3588
3685
  }
3589
- function Ke(e, t, o) {
3686
+ function to(e, t, o) {
3590
3687
  e /= 255, t /= 255, o /= 255;
3591
3688
  const n = Math.max(e, t, o), r = Math.min(e, t, o), s = n - r;
3592
3689
  let a = 0, i = 0;
@@ -3595,138 +3692,138 @@ function Ke(e, t, o) {
3595
3692
  const l = Math.round(c * 100);
3596
3693
  return [a, i, l];
3597
3694
  }
3598
- function $e(e, t) {
3695
+ function eo(e, t) {
3599
3696
  return Math.sqrt(
3600
3697
  Math.pow(e[0] - t[0], 2) + Math.pow(e[1] - t[1], 2) + Math.pow(e[2] - t[2], 2)
3601
3698
  );
3602
3699
  }
3603
- function Je(e, t) {
3700
+ function oo(e, t) {
3604
3701
  return Math.abs(e[0] - t[0]) + //
3605
3702
  Math.abs(e[1] - t[1]) + Math.abs(e[2] - t[2]);
3606
3703
  }
3607
- function Zn(e, t) {
3704
+ function Jn(e, t) {
3608
3705
  const o = X(e);
3609
3706
  let n = null, r = 1 / 0;
3610
3707
  for (const s of t) {
3611
- const a = X(s), i = $e(o, a);
3708
+ const a = X(s), i = eo(o, a);
3612
3709
  i < r && (r = i, n = s);
3613
3710
  }
3614
3711
  return n;
3615
3712
  }
3616
- function jn(e, t) {
3713
+ function Wn(e, t) {
3617
3714
  const o = X(e);
3618
3715
  let n = null, r = 1 / 0;
3619
3716
  for (const s of t) {
3620
- const a = X(s), i = Je(o, a);
3717
+ const a = X(s), i = oo(o, a);
3621
3718
  i < r && (r = i, n = s);
3622
3719
  }
3623
3720
  return n;
3624
3721
  }
3625
- function Qn(e) {
3722
+ function ts(e) {
3626
3723
  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);
3724
+ return We(t, o, n);
3628
3725
  }
3629
- function Kn(e) {
3630
- const t = new lt().setFromObject(e), o = new b();
3726
+ function es(e) {
3727
+ const t = new ut().setFromObject(e), o = new v();
3631
3728
  t.getCenter(o), e.position.sub(o);
3632
3729
  }
3633
- function $n(e, t = new b(0, 0, 0)) {
3634
- const o = new lt().setFromObject(e), n = new b();
3730
+ function os(e, t = new v(0, 0, 0)) {
3731
+ const o = new ut().setFromObject(e), n = new v();
3635
3732
  o.getCenter(n);
3636
- const r = new b().subVectors(t, n);
3733
+ const r = new v().subVectors(t, n);
3637
3734
  e.position.add(r);
3638
3735
  }
3639
- function Jn(e) {
3736
+ function ns(e) {
3640
3737
  e.computeBoundingBox();
3641
3738
  const t = e.boundingBox;
3642
3739
  if (t) {
3643
- const o = t.getCenter(new b());
3740
+ const o = t.getCenter(new v());
3644
3741
  e.translateX(-o.x), e.translateY(-o.y), e.translateZ(-o.z);
3645
3742
  }
3646
3743
  }
3647
- function We(e, t, o) {
3744
+ function no(e, t, o) {
3648
3745
  return Math.max(0, Math.min(1, (e - t) / (o - t)));
3649
3746
  }
3650
- function Wn(e, t, o, n, r, s = 20, a = 0, i = 1) {
3747
+ function ss(e, t, o, n, r, s = 20, a = 0, i = 1) {
3651
3748
  const c = [];
3652
3749
  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));
3750
+ const u = l / s, m = e(no(u, a, i)), h = t + m * (o - t), f = n + u * (r - n);
3751
+ c.push(new g(h, f));
3655
3752
  }
3656
3753
  return c;
3657
3754
  }
3658
- function ts(e) {
3659
- const o = new lt().setFromObject(e).getCenter(new b());
3755
+ function rs(e) {
3756
+ const o = new ut().setFromObject(e).getCenter(new v());
3660
3757
  e.translateX(-o.x), e.translateY(-o.y), e.translateZ(-o.z), e.updateMatrixWorld(!0);
3661
3758
  }
3662
- function es(e) {
3759
+ function as(e) {
3663
3760
  e.geometry.computeBoundingBox();
3664
3761
  const t = e.geometry.boundingBox;
3665
3762
  if (t) {
3666
- const o = t.getCenter(new b());
3763
+ const o = t.getCenter(new v());
3667
3764
  e.geometry.translate(-o.x, -o.y, -o.z);
3668
3765
  }
3669
3766
  }
3670
- const to = (e, t, o, n, r = 24) => {
3767
+ const so = (e, t, o, n, r = 24) => {
3671
3768
  let s = [];
3672
3769
  for (let a = 0; a <= r; a++) {
3673
- 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));
3770
+ const i = a / r, c = z.CUBIC(i, e.x, t.x, o.x, n.x), l = z.CUBIC(i, e.y, t.y, o.y, n.y);
3771
+ s.push(new g(c, l));
3675
3772
  }
3676
3773
  return s;
3677
- }, eo = (e, t, o, n = 24) => {
3774
+ }, ro = (e, t, o, n = 24) => {
3678
3775
  let r = [];
3679
3776
  for (let s = 0; s <= n; s++) {
3680
- 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));
3777
+ const a = s / n, i = z.DAMPED(a, o) * (t.x - e.x) + e.x, c = e.y + a * (t.y - e.y);
3778
+ r.push(new g(i, c));
3682
3779
  }
3683
3780
  return r;
3684
- }, oo = (e, t, o, n, r = 24) => {
3781
+ }, ao = (e, t, o, n, r = 24) => {
3685
3782
  let s = [];
3686
3783
  for (let a = 0; a <= r; a++) {
3687
- 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));
3784
+ const i = a / r, c = z.EXPONENTIAL(i, o, n) * (t.x - e.x) + e.x, l = e.y + i * (t.y - e.y);
3785
+ s.push(new g(c, l));
3689
3786
  }
3690
3787
  return s;
3691
- }, no = (e, t, o, n, r = 24) => {
3788
+ }, io = (e, t, o, n, r = 24) => {
3692
3789
  let s = [];
3693
3790
  for (let a = 0; a <= r; a++) {
3694
- 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));
3791
+ const i = a / r, c = z.LOGARITHMIC(i, o, n) * (t.x - e.x) + e.x, l = e.y + i * (t.y - e.y);
3792
+ s.push(new g(c, l));
3696
3793
  }
3697
3794
  return s;
3698
- }, so = (e, t, o, n, r, s = 24) => {
3795
+ }, co = (e, t, o, n, r, s = 24) => {
3699
3796
  let a = [];
3700
3797
  for (let i = 0; i <= s; i++) {
3701
3798
  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));
3799
+ a.push(new g(l, u));
3703
3800
  }
3704
3801
  return a;
3705
- }, ro = (e, t, o, n = 24) => {
3802
+ }, lo = (e, t, o, n = 24) => {
3706
3803
  let r = [];
3707
3804
  for (let s = 0; s <= n; s++) {
3708
- 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));
3805
+ const a = s / n, i = z.QUADRATIC(a, e.x, t.x, o.x), c = z.QUADRATIC(a, e.y, t.y, o.y);
3806
+ r.push(new g(i, c));
3710
3807
  }
3711
3808
  return r;
3712
- }, ao = (e, t, o, n = 24) => {
3809
+ }, uo = (e, t, o, n = 24) => {
3713
3810
  let r = [];
3714
3811
  for (let s = 0; s <= n; s++) {
3715
- 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));
3812
+ const a = s / n, i = z.SIGMOID(a, o) * (t.x - e.x) + e.x, c = e.y + a * (t.y - e.y);
3813
+ r.push(new g(i, c));
3717
3814
  }
3718
3815
  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
3816
+ }, is = {
3817
+ createCubicCurvePoints: so,
3818
+ createDampedCurvePoints: ro,
3819
+ createExponentialCurvePoints: ao,
3820
+ createLogarithmicCurvePoints: io,
3821
+ createParabolicCurvePoints: co,
3822
+ createQuadraticCurvePoints: lo,
3823
+ createSigmoidCurvePoints: uo
3727
3824
  };
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);
3825
+ function cs(e, t, o, n, r, s = [0, 0], a = [1, 0], i = [0, 1], c = [1, 1]) {
3826
+ const l = r || mo(e, t, o);
3730
3827
  return [
3731
3828
  // Triangle 1
3732
3829
  { pos: e, norm: l, uv: s },
@@ -3738,7 +3835,7 @@ function ns(e, t, o, n, r, s = [0, 0], a = [1, 0], i = [0, 1], c = [1, 1]) {
3738
3835
  { pos: o, norm: l, uv: i }
3739
3836
  ];
3740
3837
  }
3741
- function io(e, t, o) {
3838
+ function mo(e, t, o) {
3742
3839
  const n = [
3743
3840
  t[0] - e[0],
3744
3841
  t[1] - e[1],
@@ -3754,7 +3851,7 @@ function io(e, t, o) {
3754
3851
  ], a = Math.sqrt(s[0] ** 2 + s[1] ** 2 + s[2] ** 2);
3755
3852
  return s.map((i) => i / a);
3756
3853
  }
3757
- function ss(e, t) {
3854
+ function ls(e, t) {
3758
3855
  return e.map(([o, n, r]) => {
3759
3856
  switch (t) {
3760
3857
  case "x":
@@ -3768,39 +3865,39 @@ function ss(e, t) {
3768
3865
  }
3769
3866
  });
3770
3867
  }
3771
- function co(e) {
3868
+ function ho(e) {
3772
3869
  const [t, o, n] = e, r = Math.abs(t), s = Math.abs(o), a = Math.abs(n);
3773
3870
  return r >= s && r >= a ? [n > 0 ? n : -n, o] : s >= r && s >= a ? [t, n > 0 ? n : -n] : [t, o];
3774
3871
  }
3775
- function rs(e) {
3776
- return e.map((t) => co(t));
3872
+ function us(e) {
3873
+ return e.map((t) => ho(t));
3777
3874
  }
3778
- function as(e) {
3875
+ function ms(e) {
3779
3876
  return e.map(([t, o, n]) => {
3780
3877
  const r = Math.atan2(n, t), s = Math.acos(o / Math.sqrt(t ** 2 + o ** 2 + n ** 2)), a = r / (2 * Math.PI) + 0.5, i = 1 - s / Math.PI;
3781
3878
  return [a, i];
3782
3879
  });
3783
3880
  }
3784
- function is(e) {
3881
+ function hs(e) {
3785
3882
  return e.map(([t, o, n]) => [Math.atan2(n, t) / (2 * Math.PI) + 0.5, o]);
3786
3883
  }
3787
- function cs(e) {
3884
+ function fs(e) {
3788
3885
  return e.map(([t, o, n]) => {
3789
3886
  const r = Math.sqrt(t ** 2 + n ** 2);
3790
3887
  return [Math.atan2(n, t) / (2 * Math.PI) + 0.5, r];
3791
3888
  });
3792
3889
  }
3793
- function lo(e, t, o, n, r) {
3890
+ function fo(e, t, o, n, r) {
3794
3891
  return [
3795
3892
  (e[0] - t) / (o - t),
3796
3893
  (e[1] - n) / (r - n)
3797
3894
  ];
3798
3895
  }
3799
- function ls(e, t, o) {
3896
+ function ps(e, t, o) {
3800
3897
  const [n, r] = t, [s, a] = o;
3801
- return e.map((i) => lo(i, n, s, r, a));
3898
+ return e.map((i) => fo(i, n, s, r, a));
3802
3899
  }
3803
- function us(e) {
3900
+ function ds(e) {
3804
3901
  const t = Math.min(...e.map((s) => s[0])), o = Math.max(...e.map((s) => s[0])), n = Math.min(...e.map((s) => s[1])), r = Math.max(...e.map((s) => s[1]));
3805
3902
  return {
3806
3903
  minBounds: [t, n],
@@ -3808,204 +3905,209 @@ function us(e) {
3808
3905
  };
3809
3906
  }
3810
3907
  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,
3908
+ Vn as AtmosphericSkybox,
3909
+ mt as Axis,
3910
+ Fo as BifurcatedStaircaseGeometry,
3911
+ _n as Bone,
3912
+ Fe as BoneGeometry,
3913
+ Ko as Book,
3817
3914
  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,
3915
+ cn as Bookshelf,
3916
+ Ue as BookshelfGeometry,
3917
+ Bo as BubblingEffect,
3918
+ dn as BunsenBurner,
3919
+ Cn as Burst,
3920
+ Qe as BurstShape,
3921
+ un as Candle,
3922
+ rt as ColorPalette,
3923
+ Wo as CrossHeadstone,
3924
+ Te as CrossHeadstoneGeometry,
3925
+ Hn as DaySkybox,
3926
+ ln as Desk,
3927
+ Oe as DeskGeometry,
3928
+ ko as DioramaGeometry,
3833
3929
  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,
3930
+ Co as Easing,
3931
+ Mn as ElectricPanel,
3932
+ xe as EllipticLeafGeometry,
3933
+ Ro as EmissivePulseEffect,
3934
+ yn as ErlenmeyerFlask,
3935
+ ke as ErlenmeyerFlaskGeometry,
3840
3936
  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,
3870
- 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,
3937
+ wn as Flask,
3938
+ vn as FlorenceFlask,
3939
+ De as FlorenceFlaskGeometry,
3940
+ Bn as Gear,
3941
+ Ke as GearShape,
3942
+ Rn as Heart,
3943
+ $e as HeartShape,
3944
+ On as Hill,
3945
+ He as HillGeometry,
3946
+ Do as LShapedStaircaseGeometry,
3947
+ mn as Lantern,
3948
+ No as LeafEffect,
3949
+ xn as LeverPanel,
3950
+ Oo as LightningEffect,
3951
+ Ho as LineEquations,
3952
+ tn as Mausoleum,
3953
+ Ge as MausoleumGeometry,
3954
+ gn as Microscope,
3955
+ Qo as Moon,
3956
+ In as MortarAndPestle,
3957
+ qe as MortarGeometry,
3958
+ hn as MossyRocks,
3959
+ Ln as Mound,
3960
+ Xe as MoundGeometry,
3961
+ Yn as NightSkybox,
3962
+ en as ObeliskHeadstone,
3963
+ Ce as ObeliskHeadstoneGeometry,
3964
+ En as Panel,
3965
+ An as PanelLight,
3966
+ z as ParametricCurve,
3967
+ is as ParametricCurveUtils,
3968
+ $o as PotionBottle,
3969
+ Se as PotionBottleGeometry,
3970
+ fn as Rock,
3971
+ ze as RockGeometry,
3972
+ pn as Rocks,
3973
+ on as RoundedHeadstone,
3974
+ Be as RoundedHeadstoneGeometry,
3975
+ qo as SpiralStaircaseGeometry,
3976
+ bn as SpiralTube,
3977
+ nn as SquareHeadstone,
3978
+ Re as SquareHeadstoneGeometry,
3979
+ Vo as StaircaseGeometry,
3980
+ Sn as Stand,
3981
+ Ve as StandGeometry,
3982
+ Nn as Star,
3983
+ Je as StarShape,
3984
+ sn as StoneFencePost,
3985
+ Ne as StoneFencePostGeometry,
3986
+ Pn as TeslaCoil,
3987
+ Tn as TestTube,
3988
+ at as TestTubeGeometry,
3989
+ Gn as TestTubeRack,
3990
+ Un as Tree,
3991
+ Ze as TreeGeometry,
3992
+ Jo as WineBottle,
3993
+ Pe as WineBottleGeometry,
3994
+ rn as WroughtIronBar,
3995
+ gt as WroughtIronBarGeometry,
3996
+ an as WroughtIronFence,
3997
+ _e as WroughtIronFenceGeometry,
3998
+ kn as addNoiseDisplacement,
3999
+ zn as addWaterDisplacement,
3900
4000
  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,
4001
+ oo as calculateChannelDifference,
4002
+ eo as calculateDistance,
4003
+ mo as calculateNormal,
4004
+ ds as calculateUVBounds,
4005
+ xt as calculateXFromSlopeIntercept,
4006
+ be as calculateYFromSlopeIntercept,
4007
+ Ye as capHeightFromRadius,
4008
+ Xo as capWidthFromRadius,
4009
+ jo as cartesianToSpherical,
4010
+ es as centerGroup,
4011
+ os as centerGroupAtTarget,
4012
+ ns as centerInstancedMesh,
4013
+ rs as centerMesh,
4014
+ as as centerMeshGeometry,
4015
+ Xn as checkerboardTexture,
4016
+ ee as circularEaseIn,
4017
+ ne as circularEaseInOut,
4018
+ oe as circularEaseOut,
4019
+ ae as concave,
4020
+ ie as convex,
4021
+ so as createCubicCurvePoints,
4022
+ ro as createDampedCurvePoints,
4023
+ ao as createExponentialCurvePoints,
4024
+ io as createLogarithmicCurvePoints,
4025
+ co as createParabolicCurvePoints,
4026
+ cs as createQuad,
4027
+ lo as createQuadraticCurvePoints,
4028
+ uo as createSigmoidCurvePoints,
3927
4029
  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,
4030
+ Vt as cubicEaseIn,
4031
+ Yt as cubicEaseInOut,
4032
+ Ht as cubicEaseOut,
4033
+ ho as cubicUVMapping,
4034
+ us as cubicUVMappingBatch,
4035
+ hs as cylindricalUVMapping,
4036
+ fe as dampedCurve,
3935
4037
  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,
4038
+ Ao as displacementBrush,
4039
+ yo as dollyAnimation,
4040
+ pe as exponentialCurve,
4041
+ Jt as exponentialEaseIn,
4042
+ te as exponentialEaseInOut,
4043
+ Wt as exponentialEaseOut,
4044
+ qn as fadeShader,
4045
+ Jn as findClosestColor,
4046
+ Wn as findClosestColorChannelWise,
4047
+ bo as flattenBrush,
4048
+ wo as flythroughAnimation,
4049
+ me as gaussian,
4050
+ ts as getAnalogousColors,
4051
+ jn as hexToHsl,
3950
4052
  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,
4053
+ Qn as hslToHex,
4054
+ We as hslToRgb,
4055
+ ss as interpolateCurve,
4056
+ ue as inverse,
4057
+ se as linear,
4058
+ ce as logarithmic,
3957
4059
  de as logarithmicCurve,
3958
- xe as logarithmicRandomMax,
3959
- ge as logarithmicRandomMin,
3960
- He as moonShader,
4060
+ ge as logarithmicRandomMax,
4061
+ Ie as logarithmicRandomMin,
4062
+ je as moonShader,
3961
4063
  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,
4064
+ So as noiseBrush,
4065
+ Kn as normalizeRgb,
4066
+ fo as normalizeUV,
4067
+ ps as normalizeUVBatch,
4068
+ vo as orbitAnimation,
4069
+ Me as parabolicCurve,
4070
+ Zn as parseHexCode,
4071
+ xo as pendulumAnimation,
4072
+ ls as planarUVMapping,
4073
+ fs as polarUVMapping,
4074
+ ye as quadraticCurve,
4075
+ kt as quadraticEaseIn,
4076
+ qt as quadraticEaseInOut,
4077
+ Dt as quadraticEaseOut,
3976
4078
  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,
4079
+ jt as quarticEaseInOut,
4080
+ Zt as quarticEaseOut,
4081
+ Qt as quinticEaseIn,
4082
+ $t as quinticEaseInOut,
4083
+ Kt as quinticEaseOut,
4084
+ Yo as radiusFromCapHeight,
4085
+ It as radiusFromCapWidth,
3984
4086
  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,
4087
+ _o as randomInteger,
4088
+ Le as randomTransformVertices,
4089
+ $n as rgbToHex,
4090
+ to as rgbToHsl,
4091
+ Lo as rowOfBooksByCount,
4092
+ zo as rowOfBooksByLength,
3991
4093
  vt as rowOfBooksByScales,
3992
- Bo as setRandomInterval,
3993
- be as setRandomTimeout,
3994
- ye as sigmoidCurve,
3995
- Ot as sineEaseIn,
4094
+ Uo as setRandomInterval,
4095
+ Ee as setRandomTimeout,
4096
+ we as sigmoidCurve,
4097
+ Lt as sineEaseIn,
3996
4098
  Ft as sineEaseInOut,
3997
4099
  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
4100
+ Po as smoothBrush,
4101
+ re as smoothstep,
4102
+ Zo as sphericalToCartesian,
4103
+ ms as sphericalUVMapping,
4104
+ To as spikeBrush,
4105
+ go as spiralAscensionAnimation,
4106
+ le as squareRoot,
4107
+ Go as twistBrush,
4108
+ Dn as updateNoiseDisplacementTime,
4109
+ Fn as updateWaterDisplacementTime,
4110
+ Io as wobbleAnimation,
4111
+ Eo as zoomInAnimation
4010
4112
  };
4011
4113
  //# sourceMappingURL=index.es.js.map