three-low-poly 0.9.15 → 0.9.16

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