three-low-poly 0.9.11 → 0.9.12

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,10 +1,10 @@
1
- import { Vector3 as M, MathUtils as Q, Quaternion as pe, Group as P, SphereGeometry as T, MeshStandardMaterial as w, Mesh as f, BufferGeometry as v, BufferAttribute as Z, BoxGeometry as g, InstancedMesh as de, Matrix4 as W, Float32BufferAttribute as F, ConeGeometry as z, CylinderGeometry as S, Vector2 as b, LatheGeometry as q, CircleGeometry as we, TorusGeometry as se, DodecahedronGeometry as j, ShaderMaterial as K, Shape as L, ExtrudeGeometry as V, MeshBasicMaterial as ye, PointLight as ae, MeshPhysicalMaterial as Y, DoubleSide as O, CatmullRomCurve3 as xe, TubeGeometry as Me, LineBasicMaterial as ve, Line as ge, Path as be, Color as ee, BackSide as re, DataTexture as Se, RGBAFormat as Ie, UnsignedByteType as Ge, RepeatWrapping as te, NearestFilter as Pe, Box3 as J } from "three";
2
- import { mergeGeometries as A, mergeVertices as Ae } from "three/addons/utils/BufferGeometryUtils.js";
3
- import { Sky as Ee } from "three/addons/objects/Sky.js";
1
+ import { Vector3 as M, MathUtils as Q, Quaternion as de, Group as P, SphereGeometry as C, MeshStandardMaterial as w, Mesh as f, BufferGeometry as g, BufferAttribute as Z, BoxGeometry as I, InstancedMesh as we, Matrix4 as ee, Float32BufferAttribute as F, ConeGeometry as q, CylinderGeometry as b, Vector2 as v, LatheGeometry as L, CircleGeometry as xe, TorusGeometry as re, DodecahedronGeometry as K, ShaderMaterial as J, Shape as R, ExtrudeGeometry as X, MeshBasicMaterial as ye, PointLight as ae, MeshPhysicalMaterial as Y, DoubleSide as z, CatmullRomCurve3 as Me, TubeGeometry as ve, LineBasicMaterial as ge, Line as Ie, Path as be, Color as te, BackSide as ce, DataTexture as Se, RGBAFormat as Ge, UnsignedByteType as Pe, RepeatWrapping as oe, NearestFilter as Ae, Box3 as $ } from "three";
2
+ import { mergeGeometries as A, mergeVertices as Ee } from "three/addons/utils/BufferGeometryUtils.js";
3
+ import { Sky as Ce } from "three/addons/objects/Sky.js";
4
4
  import { EffectComposer as Te } from "three/addons/postprocessing/EffectComposer.js";
5
- import { RenderPass as oe } from "three/addons/postprocessing/RenderPass.js";
5
+ import { RenderPass as ne } from "three/addons/postprocessing/RenderPass.js";
6
6
  import { ShaderPass as Be } from "three/addons/postprocessing/ShaderPass.js";
7
- const U = {
7
+ const _ = {
8
8
  UP: new M(0, 1, 0),
9
9
  DOWN: new M(0, -1, 0),
10
10
  LEFT: new M(-1, 0, 0),
@@ -18,135 +18,164 @@ const U = {
18
18
  XZ: new M(1, 0, 1).normalize(),
19
19
  YZ: new M(0, 1, 1).normalize(),
20
20
  XYZ: new M(1, 1, 1).normalize()
21
- }, X = {
22
- LINEAR: (o, e) => 1 - o / e,
23
- QUADRATIC: (o, e) => Math.pow(1 - o / e, 2),
24
- SQUARE_ROOT: (o, e) => Math.pow(1 - o / e, 0.5),
25
- LOGARITHMIC: (o, e) => Math.log(1 + (e - o)) / Math.log(1 + e),
26
- SINE: (o, e) => Math.cos(o / e * Math.PI / 2),
27
- EXPONENTIAL: (o, e) => Math.exp(-o / e),
28
- CUBIC: (o, e) => Math.pow(1 - o / e, 3),
29
- GAUSSIAN: (o, e) => Math.exp(-Math.pow(o, 2) / (2 * Math.pow(e / 3, 2))),
30
- INVERSE: (o, e) => e / (e + o),
31
- SMOOTHSTEP: (o, e) => {
32
- const t = Math.max(0, Math.min(1, 1 - o / e));
33
- return t * t * (3 - 2 * t);
34
- }
35
- }, Lt = (o, e, t, n, a = U.UP, c = X.LINEAR) => {
36
- const s = o.attributes.position;
37
- for (let r = 0; r < s.count; r++) {
21
+ }, V = {
22
+ LINEAR: (t, e) => 1 - t / e,
23
+ QUADRATIC: (t, e) => Math.pow(1 - t / e, 2),
24
+ SQUARE_ROOT: (t, e) => Math.pow(1 - t / e, 0.5),
25
+ LOGARITHMIC: (t, e) => Math.log(1 + (e - t)) / Math.log(1 + e),
26
+ SINE: (t, e) => Math.cos(t / e * Math.PI / 2),
27
+ EXPONENTIAL: (t, e) => Math.exp(-t / e),
28
+ CUBIC: (t, e) => Math.pow(1 - t / e, 3),
29
+ GAUSSIAN: (t, e) => Math.exp(-Math.pow(t, 2) / (2 * Math.pow(e / 3, 2))),
30
+ INVERSE: (t, e) => e / (e + t),
31
+ SMOOTHSTEP: (t, e) => {
32
+ const o = Math.max(0, Math.min(1, 1 - t / e));
33
+ return o * o * (3 - 2 * o);
34
+ }
35
+ }, to = (t, e, o, n, r = _.UP, a = V.LINEAR) => {
36
+ const s = t.attributes.position;
37
+ for (let c = 0; c < s.count; c++) {
38
38
  const i = new M();
39
- i.fromBufferAttribute(s, r);
39
+ i.fromBufferAttribute(s, c);
40
40
  const l = i.distanceTo(e);
41
- if (l < t) {
42
- const m = c(l, t) * n;
43
- i.add(a.clone().multiplyScalar(m)), s.setXYZ(r, i.x, i.y, i.z);
41
+ if (l < o) {
42
+ const m = a(l, o) * n;
43
+ i.add(r.clone().multiplyScalar(m)), s.setXYZ(c, i.x, i.y, i.z);
44
44
  }
45
45
  }
46
46
  s.needsUpdate = !0;
47
- }, Vt = (o, e, t, n, a, c = U.UP, s = X.LINEAR) => {
48
- const r = o.attributes.position;
49
- for (let i = 0; i < r.count; i++) {
47
+ }, oo = (t, e, o, n, r, a = _.UP, s = V.LINEAR) => {
48
+ const c = t.attributes.position;
49
+ for (let i = 0; i < c.count; i++) {
50
50
  const l = new M();
51
- l.fromBufferAttribute(r, i);
51
+ l.fromBufferAttribute(c, i);
52
52
  const u = l.distanceTo(e);
53
- if (u < t) {
54
- const h = s(u, t) * a, d = l.dot(c.normalize()), p = n - d;
55
- l.add(c.clone().multiplyScalar(p * h)), r.setXYZ(i, l.x, l.y, l.z);
53
+ if (u < o) {
54
+ const h = s(u, o) * r, d = l.dot(a.normalize()), p = n - d;
55
+ l.add(a.clone().multiplyScalar(p * h)), c.setXYZ(i, l.x, l.y, l.z);
56
56
  }
57
57
  }
58
- r.needsUpdate = !0;
59
- }, Xt = (o, e, t, n, a = U.UP, c = X.LINEAR) => {
60
- const s = o.attributes.position;
61
- for (let r = 0; r < s.count; r++) {
58
+ c.needsUpdate = !0;
59
+ }, no = (t, e, o, n, r = _.UP, a = V.LINEAR) => {
60
+ const s = t.attributes.position;
61
+ for (let c = 0; c < s.count; c++) {
62
62
  const i = new M();
63
- i.fromBufferAttribute(s, r);
63
+ i.fromBufferAttribute(s, c);
64
64
  const l = i.distanceTo(e);
65
- if (l < t) {
66
- const u = c(l, t), m = n * u, h = a.clone().normalize();
67
- i.x += Q.randFloatSpread(m) * h.x, i.y += Q.randFloatSpread(m) * h.y, i.z += Q.randFloatSpread(m) * h.z, s.setXYZ(r, i.x, i.y, i.z);
65
+ if (l < o) {
66
+ const u = a(l, o), m = n * u, h = r.clone().normalize();
67
+ i.x += Q.randFloatSpread(m) * h.x, i.y += Q.randFloatSpread(m) * h.y, i.z += Q.randFloatSpread(m) * h.z, s.setXYZ(c, i.x, i.y, i.z);
68
68
  }
69
69
  }
70
70
  s.needsUpdate = !0;
71
- }, Rt = (o, e, t, n) => {
72
- const a = o.attributes.position, c = new M();
73
- for (let s = 0; s < a.count; s++) {
74
- const r = new M();
75
- if (r.fromBufferAttribute(a, s), r.distanceTo(e) < t) {
71
+ }, so = (t, e, o, n) => {
72
+ const r = t.attributes.position, a = new M();
73
+ for (let s = 0; s < r.count; s++) {
74
+ const c = new M();
75
+ if (c.fromBufferAttribute(r, s), c.distanceTo(e) < o) {
76
76
  let l = new M(), u = 0;
77
- for (let m = 0; m < a.count; m++)
78
- c.fromBufferAttribute(a, m), c.distanceTo(r) < t && (l.add(c), u++);
79
- u > 0 && (l.divideScalar(u), r.lerp(l, n), a.setXYZ(s, r.x, r.y, r.z));
77
+ for (let m = 0; m < r.count; m++)
78
+ a.fromBufferAttribute(r, m), a.distanceTo(c) < o && (l.add(a), u++);
79
+ u > 0 && (l.divideScalar(u), c.lerp(l, n), r.setXYZ(s, c.x, c.y, c.z));
80
80
  }
81
81
  }
82
- a.needsUpdate = !0;
83
- }, Zt = (o, e, t, n, a = !1, c = X.LINEAR) => {
84
- const s = o.attributes.position;
85
- for (let r = 0; r < s.count; r++) {
82
+ r.needsUpdate = !0;
83
+ }, ro = (t, e, o, n, r = !1, a = V.LINEAR) => {
84
+ const s = t.attributes.position;
85
+ for (let c = 0; c < s.count; c++) {
86
86
  const i = new M();
87
- i.fromBufferAttribute(s, r);
87
+ i.fromBufferAttribute(s, c);
88
88
  const l = i.distanceTo(e);
89
- if (l < t) {
90
- const m = c(l, t) * n * (a ? -1 : 1), h = i.clone().sub(e).normalize();
91
- i.add(h.multiplyScalar(m)), s.setXYZ(r, i.x, i.y, i.z);
89
+ if (l < o) {
90
+ const m = a(l, o) * n * (r ? -1 : 1), h = i.clone().sub(e).normalize();
91
+ i.add(h.multiplyScalar(m)), s.setXYZ(c, i.x, i.y, i.z);
92
92
  }
93
93
  }
94
94
  s.needsUpdate = !0;
95
- }, Yt = (o, e, t, n, a = U.UP, c = X.LINEAR) => {
96
- const s = o.attributes.position, r = new pe();
95
+ }, ao = (t, e, o, n, r = _.UP, a = V.LINEAR) => {
96
+ const s = t.attributes.position, c = new de();
97
97
  for (let i = 0; i < s.count; i++) {
98
98
  const l = new M();
99
99
  l.fromBufferAttribute(s, i);
100
100
  const u = l.distanceTo(e);
101
- if (u < t) {
102
- const h = c(u, t) * n;
103
- r.setFromAxisAngle(a, h), l.sub(e).applyQuaternion(r).add(e), s.setXYZ(i, l.x, l.y, l.z);
101
+ if (u < o) {
102
+ const h = a(u, o) * n;
103
+ c.setFromAxisAngle(r, h), l.sub(e).applyQuaternion(c).add(e), s.setXYZ(i, l.x, l.y, l.z);
104
104
  }
105
105
  }
106
106
  s.needsUpdate = !0;
107
- }, Ce = (o) => 1 - Math.cos(o * Math.PI / 2), ke = (o) => Math.sin(o * Math.PI / 2), Ne = (o) => -0.5 * (Math.cos(Math.PI * o) - 1), _e = (o) => o * o, Ue = (o) => 1 - Math.pow(1 - o, 2), Fe = (o) => o < 0.5 ? 2 * o * o : 1 - Math.pow(-2 * o + 2, 2) / 2, Oe = (o) => o * o * o, ze = (o) => 1 - Math.pow(1 - o, 3), qe = (o) => o < 0.5 ? 4 * o * o * o : 1 - Math.pow(-2 * o + 2, 3) / 2, Le = (o) => o * o * o * o, Ve = (o) => 1 - Math.pow(1 - o, 4), Xe = (o) => o < 0.5 ? 8 * o * o * o * o : 1 - Math.pow(-2 * o + 2, 4) / 2, Re = (o) => o * o * o * o * o, Ze = (o) => 1 - Math.pow(1 - o, 5), Ye = (o) => o < 0.5 ? 16 * o * o * o * o * o : 1 - Math.pow(-2 * o + 2, 5) / 2, Qe = (o) => o === 0 ? 0 : Math.pow(2, 10 * o - 10), De = (o) => o === 1 ? 1 : 1 - Math.pow(2, -10 * o), He = (o) => o === 0 ? 0 : o === 1 ? 1 : o < 0.5 ? Math.pow(2, 20 * o - 10) / 2 : (2 - Math.pow(2, -20 * o + 10)) / 2, je = (o) => 1 - Math.sqrt(1 - Math.pow(o, 2)), Ke = (o) => Math.sqrt(1 - Math.pow(o - 1, 2)), Je = (o) => o < 0.5 ? (1 - Math.sqrt(1 - Math.pow(2 * o, 2))) / 2 : (Math.sqrt(1 - Math.pow(-2 * o + 2, 2)) + 1) / 2, $e = (o) => o, We = (o) => o * o * (3 - 2 * o), et = (o) => 1 - Math.pow(1 - o, 0.3), tt = (o) => Math.pow(o, 0.3), ot = (o) => Math.log(Math.max(0.01, o)) / Math.log(2), nt = (o) => Math.sqrt(o), st = (o) => 1 - o, at = (o) => Math.exp(-Math.pow(o - 0.5, 2) / (2 * 0.5)), Qt = {
108
- SINE_EASE_IN: Ce,
109
- SINE_EASE_OUT: ke,
110
- SINE_EASE_IN_OUT: Ne,
111
- QUADRATIC_EASE_IN: _e,
112
- QUADRATIC_EASE_OUT: Ue,
107
+ }, ke = (t) => 1 - Math.cos(t * Math.PI / 2), Ne = (t) => Math.sin(t * Math.PI / 2), Ue = (t) => -0.5 * (Math.cos(Math.PI * t) - 1), Oe = (t) => t * t, _e = (t) => 1 - Math.pow(1 - t, 2), Fe = (t) => t < 0.5 ? 2 * t * t : 1 - Math.pow(-2 * t + 2, 2) / 2, ze = (t) => t * t * t, qe = (t) => 1 - Math.pow(1 - t, 3), Le = (t) => t < 0.5 ? 4 * t * t * t : 1 - Math.pow(-2 * t + 2, 3) / 2, Re = (t) => t * t * t * t, Xe = (t) => 1 - Math.pow(1 - t, 4), Ve = (t) => t < 0.5 ? 8 * t * t * t * t : 1 - Math.pow(-2 * t + 2, 4) / 2, De = (t) => t * t * t * t * t, Ze = (t) => 1 - Math.pow(1 - t, 5), Ye = (t) => t < 0.5 ? 16 * t * t * t * t * t : 1 - Math.pow(-2 * t + 2, 5) / 2, Qe = (t) => t === 0 ? 0 : Math.pow(2, 10 * t - 10), He = (t) => t === 1 ? 1 : 1 - Math.pow(2, -10 * t), je = (t) => t === 0 ? 0 : t === 1 ? 1 : t < 0.5 ? Math.pow(2, 20 * t - 10) / 2 : (2 - Math.pow(2, -20 * t + 10)) / 2, Ke = (t) => 1 - Math.sqrt(1 - Math.pow(t, 2)), Je = (t) => Math.sqrt(1 - Math.pow(t - 1, 2)), $e = (t) => t < 0.5 ? (1 - Math.sqrt(1 - Math.pow(2 * t, 2))) / 2 : (Math.sqrt(1 - Math.pow(-2 * t + 2, 2)) + 1) / 2, We = (t) => t, et = (t) => t * t * (3 - 2 * t), tt = (t) => 1 - Math.pow(1 - t, 0.3), ot = (t) => Math.pow(t, 0.3), nt = (t) => Math.log(Math.max(0.01, t)) / Math.log(2), st = (t) => Math.sqrt(t), rt = (t) => 1 - t, at = (t) => Math.exp(-Math.pow(t - 0.5, 2) / (2 * 0.5)), co = {
108
+ SINE_EASE_IN: ke,
109
+ SINE_EASE_OUT: Ne,
110
+ SINE_EASE_IN_OUT: Ue,
111
+ QUADRATIC_EASE_IN: Oe,
112
+ QUADRATIC_EASE_OUT: _e,
113
113
  QUADRATIC_EASE_IN_OUT: Fe,
114
- CUBIC_EASE_IN: Oe,
115
- CUBIC_EASE_OUT: ze,
116
- CUBIC_EASE_IN_OUT: qe,
117
- QUARTIC_EASE_IN: Le,
118
- QUARTIC_EASE_OUT: Ve,
119
- QUARTIC_EASE_IN_OUT: Xe,
120
- QUINTIC_EASE_IN: Re,
114
+ CUBIC_EASE_IN: ze,
115
+ CUBIC_EASE_OUT: qe,
116
+ CUBIC_EASE_IN_OUT: Le,
117
+ QUARTIC_EASE_IN: Re,
118
+ QUARTIC_EASE_OUT: Xe,
119
+ QUARTIC_EASE_IN_OUT: Ve,
120
+ QUINTIC_EASE_IN: De,
121
121
  QUINTIC_EASE_OUT: Ze,
122
122
  QUINTIC_EASE_IN_OUT: Ye,
123
123
  EXPONENTIAL_EASE_IN: Qe,
124
- EXPONENTIAL_EASE_OUT: De,
125
- EXPONENTIAL_EASE_IN_OUT: He,
126
- CIRCULAR_EASE_IN: je,
127
- CIRCULAR_EASE_OUT: Ke,
128
- CIRCULAR_EASE_IN_OUT: Je,
129
- LINEAR: $e,
130
- SMOOTHSTEP: We,
131
- CONCAVE: et,
132
- CONVEX: tt,
133
- LOGARITHMIC: ot,
134
- SQUARE_ROOT: nt,
135
- INVERSE: st,
124
+ EXPONENTIAL_EASE_OUT: He,
125
+ EXPONENTIAL_EASE_IN_OUT: je,
126
+ CIRCULAR_EASE_IN: Ke,
127
+ CIRCULAR_EASE_OUT: Je,
128
+ CIRCULAR_EASE_IN_OUT: $e,
129
+ LINEAR: We,
130
+ SMOOTHSTEP: et,
131
+ CONCAVE: tt,
132
+ CONVEX: ot,
133
+ LOGARITHMIC: nt,
134
+ SQUARE_ROOT: st,
135
+ INVERSE: rt,
136
136
  GAUSSIAN: at
137
+ }, ct = (t, e = 1, o = 0, n = 0) => {
138
+ const r = Math.max(0, Math.min(1, t));
139
+ return e * r * r + o * r + n;
140
+ }, it = (t, e = 1) => {
141
+ const o = Math.max(1e-3, e);
142
+ return (1 - Math.exp(-o * t)) / (1 - Math.exp(-o));
143
+ }, lt = (t, e, o, n) => {
144
+ const r = Math.max(0, Math.min(1, t)), a = 1 - r;
145
+ return a * a * e + 2 * a * r * o + r * r * n;
146
+ }, ut = (t, e, o, n, r) => {
147
+ const a = Math.max(0, Math.min(1, t)), s = 1 - a;
148
+ return s * s * s * e + 3 * s * s * a * o + 3 * s * a * a * n + a * a * a * r;
149
+ }, mt = (t, e = 1, o = 1) => {
150
+ const n = Math.max(0, Math.min(1, t));
151
+ return e * Math.pow(n, o);
152
+ }, ht = (t, e = 1, o = 1) => {
153
+ const n = Math.max(1e-3, Math.min(1, t));
154
+ return e * Math.log(o * n + 1);
155
+ }, ft = (t, e = 10) => {
156
+ const o = Math.max(0, Math.min(1, t));
157
+ return 1 / (1 + Math.exp(-e * (o - 0.5)));
158
+ }, B = {
159
+ PARABOLIC: ct,
160
+ DAMPED: it,
161
+ QUADRATIC: lt,
162
+ CUBIC: ut,
163
+ EXPONENTIAL: mt,
164
+ LOGARITHMIC: ht,
165
+ SIGMOID: ft
137
166
  };
138
- class Dt extends P {
167
+ class io extends P {
139
168
  constructor() {
140
169
  super();
141
- const e = [], t = 20, n = new T(0.1, 6, 6), a = new w({
170
+ const e = [], o = 20, n = new C(0.1, 6, 6), r = new w({
142
171
  color: 16777215,
143
172
  transparent: !0,
144
173
  opacity: 0.6,
145
174
  roughness: 0.3,
146
175
  metalness: 0.3
147
176
  });
148
- for (let r = 0; r < t; r++) {
149
- const i = new f(n, a);
177
+ for (let c = 0; c < o; c++) {
178
+ const i = new f(n, r);
150
179
  i.position.set(
151
180
  (Math.random() - 0.5) * 1.5,
152
181
  // Random x position within flask
@@ -156,21 +185,21 @@ class Dt extends P {
156
185
  // Random z position within flask
157
186
  ), e.push(i), this.add(i);
158
187
  }
159
- function c() {
160
- e.forEach((r) => {
161
- r.position.y += 0.02, r.position.y > 3 && (r.position.y = 0, r.position.x = (Math.random() - 0.5) * 1.5, r.position.z = (Math.random() - 0.5) * 1.5);
188
+ function a() {
189
+ e.forEach((c) => {
190
+ c.position.y += 0.02, c.position.y > 3 && (c.position.y = 0, c.position.x = (Math.random() - 0.5) * 1.5, c.position.z = (Math.random() - 0.5) * 1.5);
162
191
  });
163
192
  }
164
193
  function s() {
165
- requestAnimationFrame(s), c();
194
+ requestAnimationFrame(s), a();
166
195
  }
167
196
  s();
168
197
  }
169
198
  }
170
- class ce extends v {
171
- constructor(e = 1, t = 1.5, n = 0.5, a = 0.05, c = 0.05) {
199
+ class ie extends g {
200
+ constructor(e = 1, o = 1.5, n = 0.5, r = 0.05, a = 0.05) {
172
201
  super();
173
- const s = e, r = t, i = n, l = a, u = c, m = [
202
+ const s = e, c = o, i = n, l = r, u = a, m = [
174
203
  // Front cover
175
204
  0,
176
205
  0,
@@ -179,10 +208,10 @@ class ce extends v {
179
208
  0,
180
209
  0,
181
210
  s,
182
- r,
211
+ c,
183
212
  0,
184
213
  0,
185
- r,
214
+ c,
186
215
  0,
187
216
  // Back cover
188
217
  s,
@@ -192,10 +221,10 @@ class ce extends v {
192
221
  0,
193
222
  -i,
194
223
  0,
195
- r,
224
+ c,
196
225
  -i,
197
226
  s,
198
- r,
227
+ c,
199
228
  -i,
200
229
  // Spine
201
230
  0,
@@ -205,10 +234,10 @@ class ce extends v {
205
234
  0,
206
235
  0,
207
236
  0,
208
- r,
237
+ c,
209
238
  0,
210
239
  0,
211
- r,
240
+ c,
212
241
  -i,
213
242
  // Inside front cover
214
243
  s,
@@ -218,10 +247,10 @@ class ce extends v {
218
247
  0,
219
248
  -l,
220
249
  l,
221
- r,
250
+ c,
222
251
  -l,
223
252
  s,
224
- r,
253
+ c,
225
254
  -l,
226
255
  // Inside back cover
227
256
  l,
@@ -231,10 +260,10 @@ class ce extends v {
231
260
  0,
232
261
  -i + l,
233
262
  s,
234
- r,
263
+ c,
235
264
  -i + l,
236
265
  l,
237
- r,
266
+ c,
238
267
  -i + l,
239
268
  // Inside spine
240
269
  l,
@@ -244,49 +273,49 @@ class ce extends v {
244
273
  0,
245
274
  -i + l,
246
275
  l,
247
- r,
276
+ c,
248
277
  -i + l,
249
278
  l,
250
- r,
279
+ c,
251
280
  -l,
252
281
  // Front cover top
253
282
  0,
254
- r,
283
+ c,
255
284
  0,
256
285
  s,
257
- r,
286
+ c,
258
287
  0,
259
288
  s,
260
- r,
289
+ c,
261
290
  -l,
262
291
  l,
263
- r,
292
+ c,
264
293
  -l,
265
294
  // Back cover top
266
295
  0,
267
- r,
296
+ c,
268
297
  -i,
269
298
  l,
270
- r,
299
+ c,
271
300
  -i + l,
272
301
  s,
273
- r,
302
+ c,
274
303
  -i + l,
275
304
  s,
276
- r,
305
+ c,
277
306
  -i,
278
307
  // Spine cover top
279
308
  0,
280
- r,
309
+ c,
281
310
  0,
282
311
  l,
283
- r,
312
+ c,
284
313
  -l,
285
314
  l,
286
- r,
315
+ c,
287
316
  -i + l,
288
317
  0,
289
- r,
318
+ c,
290
319
  -i,
291
320
  // Front cover bottom
292
321
  0,
@@ -335,20 +364,20 @@ class ce extends v {
335
364
  0,
336
365
  -l,
337
366
  s,
338
- r,
367
+ c,
339
368
  -l,
340
369
  s,
341
- r,
370
+ c,
342
371
  0,
343
372
  // Back cover edge
344
373
  s,
345
374
  0,
346
375
  -i,
347
376
  s,
348
- r,
377
+ c,
349
378
  -i,
350
379
  s,
351
- r,
380
+ c,
352
381
  -i + l,
353
382
  s,
354
383
  0,
@@ -536,7 +565,7 @@ class ce extends v {
536
565
  0,
537
566
  0
538
567
  // Back cover edge
539
- ], d = e / (e * 2 + n), p = (e + n) / (e * 2 + n), x = [
568
+ ], d = e / (e * 2 + n), p = (e + n) / (e * 2 + n), y = [
540
569
  p,
541
570
  0,
542
571
  1,
@@ -663,7 +692,7 @@ class ce extends v {
663
692
  0,
664
693
  1
665
694
  // Back cover edge
666
- ], y = [
695
+ ], x = [
667
696
  0,
668
697
  1,
669
698
  2,
@@ -762,123 +791,123 @@ class ce extends v {
762
791
  54,
763
792
  55
764
793
  // Back cover edge
765
- ], I = new Float32Array(m), G = new Float32Array(h), B = new Float32Array(x), C = new Uint16Array(y), k = new v();
766
- k.setAttribute("position", new Z(I, 3)), k.setAttribute("normal", new Z(G, 3)), k.setAttribute("uv", new Z(B, 2)), k.setIndex(new Z(C, 1));
767
- const N = new g(e - l - u, r - u * 2, i - l * 2);
768
- N.translate((e - l - u) / 2 + l, r / 2, -i / 2), this.copy(A([k, N], !0));
794
+ ], S = new Float32Array(m), G = new Float32Array(h), T = new Float32Array(y), k = new Uint16Array(x), N = new g();
795
+ N.setAttribute("position", new Z(S, 3)), N.setAttribute("normal", new Z(G, 3)), N.setAttribute("uv", new Z(T, 2)), N.setIndex(new Z(k, 1));
796
+ const U = new I(e - l - u, c - u * 2, i - l * 2);
797
+ U.translate((e - l - u) / 2 + l, c / 2, -i / 2), this.copy(A([N, U], !0));
769
798
  }
770
799
  }
771
- function rt(o = 0, e = 1) {
772
- return Math.random() * (e - o) + o;
800
+ function pt(t = 0, e = 1) {
801
+ return Math.random() * (e - t) + t;
773
802
  }
774
- function Ht(o = 0, e = 1) {
775
- return Math.floor(Math.random() * (e - o + 1)) + o;
803
+ function lo(t = 0, e = 1) {
804
+ return Math.floor(Math.random() * (e - t + 1)) + t;
776
805
  }
777
- function ct(o = 0.5, e = 0, t = 1) {
778
- return e + (t - e) * Math.pow(Math.random(), o);
806
+ function dt(t = 0.5, e = 0, o = 1) {
807
+ return e + (o - e) * Math.pow(Math.random(), t);
779
808
  }
780
- function it(o = 0.5, e = 0, t = 1) {
781
- return e + (t - e) * Math.pow(1 - Math.random(), o);
809
+ function wt(t = 0.5, e = 0, o = 1) {
810
+ return e + (o - e) * Math.pow(1 - Math.random(), t);
782
811
  }
783
- function ie({
784
- scaleXMin: o = 0.4,
812
+ function le({
813
+ scaleXMin: t = 0.4,
785
814
  scaleXMax: e = 0.7,
786
- scaleYMin: t = 0.3,
815
+ scaleYMin: o = 0.3,
787
816
  scaleYMax: n = 0.95,
788
- scaleZMin: a = 0.1,
789
- scaleZMax: c = 0.5
817
+ scaleZMin: r = 0.1,
818
+ scaleZMax: a = 0.5
790
819
  } = {}) {
791
820
  return new M(
792
- rt(o, e),
793
- ct(0.25, t, n),
794
- it(0.8, a, c)
821
+ pt(t, e),
822
+ dt(0.25, o, n),
823
+ wt(0.8, r, a)
795
824
  );
796
825
  }
797
- function le({ coverMaterial: o, pagesMaterial: e, scales: t = [] } = {}) {
798
- const n = new ce(), a = new de(n, [o, e], t.length), c = new W();
826
+ function ue({ coverMaterial: t, pagesMaterial: e, scales: o = [] } = {}) {
827
+ const n = new ie(), r = new we(n, [t, e], o.length), a = new ee();
799
828
  let s = 0;
800
- for (let r = 0; r < t.length; r++) {
801
- const i = t[r], l = new W();
802
- l.makeScale(i.x, i.y, i.z), c.identity(), c.multiply(l), c.setPosition(0.01 + Math.random() * 0.1, 0, s + i.z * 0.5), a.setMatrixAt(r, c), s += i.z * 0.5;
829
+ for (let c = 0; c < o.length; c++) {
830
+ const i = o[c], l = new ee();
831
+ l.makeScale(i.x, i.y, i.z), a.identity(), a.multiply(l), a.setPosition(0.01 + Math.random() * 0.1, 0, s + i.z * 0.5), r.setMatrixAt(c, a), s += i.z * 0.5;
803
832
  }
804
- return a;
833
+ return r;
805
834
  }
806
- function jt({
807
- coverMaterial: o,
835
+ function uo({
836
+ coverMaterial: t,
808
837
  pagesMaterial: e,
809
- count: t = 10,
838
+ count: o = 10,
810
839
  scaleXMin: n = 0.4,
811
- scaleXMax: a = 0.7,
812
- scaleYMin: c = 0.3,
840
+ scaleXMax: r = 0.7,
841
+ scaleYMin: a = 0.3,
813
842
  scaleYMax: s = 0.95,
814
- scaleZMin: r = 0.1,
843
+ scaleZMin: c = 0.1,
815
844
  scaleZMax: i = 0.5
816
845
  } = {}) {
817
846
  const l = Array.from(
818
- { length: t },
819
- () => ie({ scaleXMin: n, scaleXMax: a, scaleYMin: c, scaleYMax: s, scaleZMin: r, scaleZMax: i })
847
+ { length: o },
848
+ () => le({ scaleXMin: n, scaleXMax: r, scaleYMin: a, scaleYMax: s, scaleZMin: c, scaleZMax: i })
820
849
  );
821
- return le({ coverMaterial: o, pagesMaterial: e, scales: l });
850
+ return ue({ coverMaterial: t, pagesMaterial: e, scales: l });
822
851
  }
823
- function Kt({
824
- coverMaterial: o,
852
+ function mo({
853
+ coverMaterial: t,
825
854
  pagesMaterial: e,
826
- length: t = 10,
855
+ length: o = 10,
827
856
  scaleXMin: n = 0.4,
828
- scaleXMax: a = 0.7,
829
- scaleYMin: c = 0.3,
857
+ scaleXMax: r = 0.7,
858
+ scaleYMin: a = 0.3,
830
859
  scaleYMax: s = 0.95,
831
- scaleZMin: r = 0.1,
860
+ scaleZMin: c = 0.1,
832
861
  scaleZMax: i = 0.5
833
862
  } = {}) {
834
863
  const l = [];
835
- let u = t;
864
+ let u = o;
836
865
  for (; u > 0; ) {
837
- const m = ie({ scaleXMin: n, scaleXMax: a, scaleYMin: c, scaleYMax: s, scaleZMin: r, scaleZMax: i });
866
+ const m = le({ scaleXMin: n, scaleXMax: r, scaleYMin: a, scaleYMax: s, scaleZMin: c, scaleZMax: i });
838
867
  m.z = Math.min(m.z, u), l.push(m), u -= m.z;
839
868
  }
840
- return le({ coverMaterial: o, pagesMaterial: e, scales: l });
869
+ return ue({ coverMaterial: t, pagesMaterial: e, scales: l });
841
870
  }
842
- class Jt extends v {
843
- constructor(e = 2, t = 0.3, n = 0.6, a = 5, c = 5, s = Math.PI / 4) {
871
+ class ho extends g {
872
+ constructor(e = 2, o = 0.3, n = 0.6, r = 5, a = 5, s = Math.PI / 4) {
844
873
  super();
845
- const r = [], i = [];
846
- for (let d = 0; d < a; d++) {
847
- const p = d * t, x = p + t, y = d * n, I = y + n;
848
- r.push(
874
+ const c = [], i = [];
875
+ for (let d = 0; d < r; d++) {
876
+ const p = d * o, y = p + o, x = d * n, S = x + n;
877
+ c.push(
849
878
  // Vertical riser
850
879
  -e / 2,
851
880
  p,
852
- y,
881
+ x,
853
882
  // Bottom-left
854
883
  e / 2,
855
884
  p,
856
- y,
885
+ x,
857
886
  // Bottom-right
858
887
  e / 2,
859
- x,
860
888
  y,
889
+ x,
861
890
  // Top-right
862
891
  -e / 2,
863
- x,
864
892
  y,
893
+ x,
865
894
  // Top-left
866
895
  // Horizontal tread
867
896
  -e / 2,
868
- x,
869
897
  y,
898
+ x,
870
899
  // Top-left
871
900
  e / 2,
872
- x,
873
901
  y,
902
+ x,
874
903
  // Top-right
875
904
  e / 2,
876
- x,
877
- I,
905
+ y,
906
+ S,
878
907
  // Back-right
879
908
  -e / 2,
880
- x,
881
- I
909
+ y,
910
+ S
882
911
  // Back-left
883
912
  );
884
913
  const G = d * 8;
@@ -898,8 +927,8 @@ class Jt extends v {
898
927
  G + 7
899
928
  );
900
929
  }
901
- const l = a * t, u = a * n, m = e * 2;
902
- r.push(
930
+ const l = r * o, u = r * n, m = e * 2;
931
+ c.push(
903
932
  // Landing platform (4 vertices)
904
933
  -m / 2,
905
934
  l,
@@ -918,7 +947,7 @@ class Jt extends v {
918
947
  u + n
919
948
  // Top-left
920
949
  );
921
- const h = a * 8;
950
+ const h = r * 8;
922
951
  i.push(
923
952
  h,
924
953
  h + 1,
@@ -931,45 +960,45 @@ class Jt extends v {
931
960
  );
932
961
  for (let d = 0; d < 2; d++) {
933
962
  const p = d === 0 ? 1 : -1;
934
- for (let x = 0; x < c; x++) {
935
- const y = l + x * t, I = y + t, G = p * (m / 4), B = u + n, C = x * n * Math.cos(s), k = x * n * Math.sin(s), N = G + p * C - e / 2 * Math.cos(s), R = G + p * C + e / 2 * Math.cos(s), _ = B + k, he = N + p * n * Math.cos(s), fe = R + p * n * Math.cos(s), $ = _ + n * Math.sin(s);
936
- r.push(
963
+ for (let y = 0; y < a; y++) {
964
+ const x = l + y * o, S = x + o, G = p * (m / 4), T = u + n, k = y * n * Math.cos(s), N = y * n * Math.sin(s), U = G + p * k - e / 2 * Math.cos(s), D = G + p * k + e / 2 * Math.cos(s), O = T + N, fe = U + p * n * Math.cos(s), pe = D + p * n * Math.cos(s), W = O + n * Math.sin(s);
965
+ c.push(
937
966
  // Vertical riser
938
- N,
939
- y,
940
- _,
967
+ U,
968
+ x,
969
+ O,
941
970
  // Bottom-left
942
- R,
943
- y,
944
- _,
971
+ D,
972
+ x,
973
+ O,
945
974
  // Bottom-right
946
- R,
947
- I,
948
- _,
975
+ D,
976
+ S,
977
+ O,
949
978
  // Top-right
950
- N,
951
- I,
952
- _,
979
+ U,
980
+ S,
981
+ O,
953
982
  // Top-left
954
983
  // Horizontal tread
955
- N,
956
- I,
957
- _,
984
+ U,
985
+ S,
986
+ O,
958
987
  // Top-left
959
- R,
960
- I,
961
- _,
988
+ D,
989
+ S,
990
+ O,
962
991
  // Top-right
963
- fe,
964
- I,
965
- $,
992
+ pe,
993
+ S,
994
+ W,
966
995
  // Back-right
967
- he,
968
- I,
969
- $
996
+ fe,
997
+ S,
998
+ W
970
999
  // Back-left
971
1000
  );
972
- const E = h + 4 + d * c * 8 + x * 8;
1001
+ const E = h + 4 + d * a * 8 + y * 8;
973
1002
  i.push(
974
1003
  E,
975
1004
  E + 1,
@@ -987,13 +1016,13 @@ class Jt extends v {
987
1016
  );
988
1017
  }
989
1018
  }
990
- this.setIndex(i), this.setAttribute("position", new F(r, 3)), this.computeVertexNormals();
1019
+ this.setIndex(i), this.setAttribute("position", new F(c, 3)), this.computeVertexNormals();
991
1020
  }
992
1021
  }
993
- class $t extends v {
994
- constructor(e = 5, t = 3, n = 5, a = 0.2) {
1022
+ class fo extends g {
1023
+ constructor(e = 5, o = 3, n = 5, r = 0.2) {
995
1024
  super();
996
- const c = [
1025
+ const a = [
997
1026
  // Floor vertices
998
1027
  -e / 2,
999
1028
  0,
@@ -1021,11 +1050,11 @@ class $t extends v {
1021
1050
  -n / 2,
1022
1051
  // 5
1023
1052
  e / 2,
1024
- t,
1053
+ o,
1025
1054
  -n / 2,
1026
1055
  // 6
1027
1056
  -e / 2,
1028
- t,
1057
+ o,
1029
1058
  -n / 2,
1030
1059
  // 7
1031
1060
  // Left wall vertices
@@ -1038,11 +1067,11 @@ class $t extends v {
1038
1067
  n / 2,
1039
1068
  // 9
1040
1069
  -e / 2,
1041
- t,
1070
+ o,
1042
1071
  n / 2,
1043
1072
  // 10
1044
1073
  -e / 2,
1045
- t,
1074
+ o,
1046
1075
  -n / 2
1047
1076
  // 11
1048
1077
  ], s = [
@@ -1068,15 +1097,15 @@ class $t extends v {
1068
1097
  10,
1069
1098
  11
1070
1099
  ];
1071
- this.setIndex(s), this.setAttribute("position", new F(c, 3)), this.computeVertexNormals();
1100
+ this.setIndex(s), this.setAttribute("position", new F(a, 3)), this.computeVertexNormals();
1072
1101
  }
1073
1102
  }
1074
- class Wt extends v {
1075
- constructor(e = 2, t = 0.3, n = 0.5, a = 5, c = 2) {
1103
+ class po extends g {
1104
+ constructor(e = 2, o = 0.3, n = 0.5, r = 5, a = 2) {
1076
1105
  super();
1077
- const s = [], r = [];
1078
- for (let m = 0; m < a; m++) {
1079
- const h = m * t, d = h + t, p = m * n, x = p + n;
1106
+ const s = [], c = [];
1107
+ for (let m = 0; m < r; m++) {
1108
+ const h = m * o, d = h + o, p = m * n, y = p + n;
1080
1109
  s.push(
1081
1110
  // Vertical riser
1082
1111
  -e / 2,
@@ -1106,31 +1135,31 @@ class Wt extends v {
1106
1135
  // Top-right
1107
1136
  e / 2,
1108
1137
  d,
1109
- x,
1138
+ y,
1110
1139
  // Back-right
1111
1140
  -e / 2,
1112
1141
  d,
1113
- x
1142
+ y
1114
1143
  // Back-left
1115
1144
  );
1116
- const y = m * 8;
1117
- r.push(
1118
- y,
1119
- y + 1,
1120
- y + 2,
1121
- y,
1122
- y + 2,
1123
- y + 3
1124
- ), r.push(
1125
- y + 4,
1126
- y + 5,
1127
- y + 6,
1128
- y + 4,
1129
- y + 6,
1130
- y + 7
1145
+ const x = m * 8;
1146
+ c.push(
1147
+ x,
1148
+ x + 1,
1149
+ x + 2,
1150
+ x,
1151
+ x + 2,
1152
+ x + 3
1153
+ ), c.push(
1154
+ x + 4,
1155
+ x + 5,
1156
+ x + 6,
1157
+ x + 4,
1158
+ x + 6,
1159
+ x + 7
1131
1160
  );
1132
1161
  }
1133
- const i = a * t, l = a * n;
1162
+ const i = r * o, l = r * n;
1134
1163
  s.push(
1135
1164
  // Landing platform (4 vertices)
1136
1165
  -e / 2,
@@ -1143,15 +1172,15 @@ class Wt extends v {
1143
1172
  // Bottom-right
1144
1173
  e / 2,
1145
1174
  i,
1146
- l + c,
1175
+ l + a,
1147
1176
  // Top-right
1148
1177
  -e / 2,
1149
1178
  i,
1150
- l + c
1179
+ l + a
1151
1180
  // Top-left
1152
1181
  );
1153
- const u = a * 8;
1154
- r.push(
1182
+ const u = r * 8;
1183
+ c.push(
1155
1184
  u,
1156
1185
  u + 1,
1157
1186
  u + 2,
@@ -1161,72 +1190,72 @@ class Wt extends v {
1161
1190
  u + 3
1162
1191
  // Second triangle for landing
1163
1192
  );
1164
- for (let m = 0; m < a; m++) {
1165
- const h = i + m * t, d = h + t, p = -e / 2 - m * n, x = p - n;
1193
+ for (let m = 0; m < r; m++) {
1194
+ const h = i + m * o, d = h + o, p = -e / 2 - m * n, y = p - n;
1166
1195
  s.push(
1167
1196
  // Vertical riser
1168
1197
  p,
1169
1198
  h,
1170
- l + c,
1199
+ l + a,
1171
1200
  // Bottom-left
1172
1201
  p,
1173
1202
  h,
1174
- l + c - e,
1203
+ l + a - e,
1175
1204
  // Bottom-right
1176
1205
  p,
1177
1206
  d,
1178
- l + c - e,
1207
+ l + a - e,
1179
1208
  // Top-right
1180
1209
  p,
1181
1210
  d,
1182
- l + c,
1211
+ l + a,
1183
1212
  // Top-left
1184
1213
  // Horizontal tread
1185
1214
  p,
1186
1215
  d,
1187
- l + c,
1216
+ l + a,
1188
1217
  // Top-left
1189
1218
  p,
1190
1219
  d,
1191
- l + c - e,
1220
+ l + a - e,
1192
1221
  // Top-right
1193
- x,
1222
+ y,
1194
1223
  d,
1195
- l + c - e,
1224
+ l + a - e,
1196
1225
  // Back-right
1197
- x,
1226
+ y,
1198
1227
  d,
1199
- l + c
1228
+ l + a
1200
1229
  // Back-left
1201
1230
  );
1202
- const y = u + 4 + m * 8;
1203
- r.push(
1204
- y,
1205
- y + 1,
1206
- y + 2,
1207
- y,
1208
- y + 2,
1209
- y + 3
1210
- ), r.push(
1211
- y + 4,
1212
- y + 5,
1213
- y + 6,
1214
- y + 4,
1215
- y + 6,
1216
- y + 7
1231
+ const x = u + 4 + m * 8;
1232
+ c.push(
1233
+ x,
1234
+ x + 1,
1235
+ x + 2,
1236
+ x,
1237
+ x + 2,
1238
+ x + 3
1239
+ ), c.push(
1240
+ x + 4,
1241
+ x + 5,
1242
+ x + 6,
1243
+ x + 4,
1244
+ x + 6,
1245
+ x + 7
1217
1246
  );
1218
1247
  }
1219
- this.setIndex(r), this.setAttribute("position", new F(s, 3)), this.computeVertexNormals();
1248
+ this.setIndex(c), this.setAttribute("position", new F(s, 3)), this.computeVertexNormals();
1220
1249
  }
1221
1250
  }
1222
- class eo extends v {
1223
- constructor(e = 1, t = 0.4, n = 0.2, a = 20, c = 2, s = Math.PI / 8) {
1251
+ class wo extends g {
1252
+ constructor(e = 1, o = 0.4, n = 0.2, r = 20, a = 2, s = Math.PI / 8) {
1224
1253
  super();
1225
- const r = [], i = [];
1254
+ const c = [], i = [];
1226
1255
  let l = 0;
1227
- for (let u = 0; u < a; u++) {
1228
- const m = c * Math.cos(l), h = c * Math.sin(l), d = u * n, p = d + n;
1229
- r.push(
1256
+ for (let u = 0; u < r; u++) {
1257
+ const m = a * Math.cos(l), h = a * Math.sin(l), d = u * n, p = d + n;
1258
+ c.push(
1230
1259
  // Front face (vertical riser)
1231
1260
  m - e / 2 * Math.cos(l),
1232
1261
  d,
@@ -1244,7 +1273,7 @@ class eo extends v {
1244
1273
  p,
1245
1274
  h - e / 2 * Math.sin(l)
1246
1275
  // Top-left
1247
- ), r.push(
1276
+ ), c.push(
1248
1277
  // Top face (horizontal tread)
1249
1278
  m - e / 2 * Math.cos(l),
1250
1279
  p,
@@ -1254,46 +1283,46 @@ class eo extends v {
1254
1283
  p,
1255
1284
  h + e / 2 * Math.sin(l),
1256
1285
  // Top-right-front
1257
- m + e / 2 * Math.cos(l) - t * Math.sin(l),
1286
+ m + e / 2 * Math.cos(l) - o * Math.sin(l),
1258
1287
  p,
1259
- h + e / 2 * Math.sin(l) + t * Math.cos(l),
1288
+ h + e / 2 * Math.sin(l) + o * Math.cos(l),
1260
1289
  // Back-right
1261
- m - e / 2 * Math.cos(l) - t * Math.sin(l),
1290
+ m - e / 2 * Math.cos(l) - o * Math.sin(l),
1262
1291
  p,
1263
- h - e / 2 * Math.sin(l) + t * Math.cos(l)
1292
+ h - e / 2 * Math.sin(l) + o * Math.cos(l)
1264
1293
  // Back-left
1265
1294
  );
1266
- const x = u * 8;
1295
+ const y = u * 8;
1267
1296
  i.push(
1268
- x,
1269
- x + 1,
1270
- x + 2,
1297
+ y,
1298
+ y + 1,
1299
+ y + 2,
1271
1300
  // First triangle for riser
1272
- x,
1273
- x + 2,
1274
- x + 3
1301
+ y,
1302
+ y + 2,
1303
+ y + 3
1275
1304
  // Second triangle for riser
1276
1305
  ), i.push(
1277
- x + 4,
1278
- x + 5,
1279
- x + 6,
1306
+ y + 4,
1307
+ y + 5,
1308
+ y + 6,
1280
1309
  // First triangle for tread
1281
- x + 4,
1282
- x + 6,
1283
- x + 7
1310
+ y + 4,
1311
+ y + 6,
1312
+ y + 7
1284
1313
  // Second triangle for tread
1285
1314
  ), l += s;
1286
1315
  }
1287
- this.setIndex(i), this.setAttribute("position", new F(r, 3)), this.computeVertexNormals();
1316
+ this.setIndex(i), this.setAttribute("position", new F(c, 3)), this.computeVertexNormals();
1288
1317
  }
1289
1318
  }
1290
- class to extends v {
1291
- constructor(e = 2, t = 0.3, n = 0.5, a = 10) {
1319
+ class xo extends g {
1320
+ constructor(e = 2, o = 0.3, n = 0.5, r = 10) {
1292
1321
  super();
1293
- const c = [], s = [];
1294
- for (let r = 0; r < a; r++) {
1295
- const i = r * t, l = i + t, u = r * n, m = u + n;
1296
- c.push(
1322
+ const a = [], s = [];
1323
+ for (let c = 0; c < r; c++) {
1324
+ const i = c * o, l = i + o, u = c * n, m = u + n;
1325
+ a.push(
1297
1326
  // Bottom face of riser (front face)
1298
1327
  -e / 2,
1299
1328
  i,
@@ -1329,7 +1358,7 @@ class to extends v {
1329
1358
  m
1330
1359
  // 7: Top-left-back
1331
1360
  );
1332
- const h = r * 8;
1361
+ const h = c * 8;
1333
1362
  s.push(
1334
1363
  h,
1335
1364
  h + 1,
@@ -1350,147 +1379,147 @@ class to extends v {
1350
1379
  // Second triangle for tread
1351
1380
  );
1352
1381
  }
1353
- this.setIndex(s), this.setAttribute("position", new F(c, 3)), this.computeVertexNormals();
1382
+ this.setIndex(s), this.setAttribute("position", new F(a, 3)), this.computeVertexNormals();
1354
1383
  }
1355
1384
  }
1356
- class lt extends v {
1357
- constructor(e = 0.4, t = 1.2, n = 0.2) {
1385
+ class xt extends g {
1386
+ constructor(e = 0.4, o = 1.2, n = 0.2) {
1358
1387
  super();
1359
- const a = t * 0.6, c = new g(e / 2, a, n);
1360
- c.translate(0, a / 2, 0);
1361
- const s = e * 1.5, r = new g(s, e / 4, n);
1362
- r.translate(0, a * 0.75, 0), this.copy(A([c, r], !1)), this.computeVertexNormals();
1388
+ const r = o * 0.6, a = new I(e / 2, r, n);
1389
+ a.translate(0, r / 2, 0);
1390
+ const s = e * 1.5, c = new I(s, e / 4, n);
1391
+ c.translate(0, r * 0.75, 0), this.copy(A([a, c], !1)), this.computeVertexNormals();
1363
1392
  }
1364
1393
  }
1365
- class ut extends v {
1366
- constructor(e = 1.75, t = 0.75) {
1394
+ class yt extends g {
1395
+ constructor(e = 1.75, o = 0.75) {
1367
1396
  super();
1368
- const n = e * 0.05, a = e * 0.15, c = e * 0.15, s = e * 0.75;
1369
- let r = 0;
1370
- const i = new g(t, n, t);
1371
- i.translate(0, r + n / 2, 0), r += n;
1372
- const l = new g(t * 0.8, a, t * 0.8);
1373
- l.translate(0, r + a / 2, 0), r += a;
1374
- const u = new g(t * 0.6, c, t * 0.6);
1375
- u.translate(0, r + c / 2, 0), r += c;
1376
- const m = new g(t * 0.4, s, t * 0.4);
1377
- m.translate(0, r + s / 2, 0), r += s;
1378
- const h = new z(t * 0.4 / Math.sqrt(2), 0.1, 4, 1, !1, Math.PI / 4);
1379
- h.translate(0, r + 0.1 / 2, 0), this.copy(A([i, l, u, m, h], !1)), this.computeVertexNormals();
1380
- }
1381
- }
1382
- class mt extends v {
1383
- constructor(e = 0.6, t = 1, n = 0.2, a = 0.6) {
1397
+ const n = e * 0.05, r = e * 0.15, a = e * 0.15, s = e * 0.75;
1398
+ let c = 0;
1399
+ const i = new I(o, n, o);
1400
+ i.translate(0, c + n / 2, 0), c += n;
1401
+ const l = new I(o * 0.8, r, o * 0.8);
1402
+ l.translate(0, c + r / 2, 0), c += r;
1403
+ const u = new I(o * 0.6, a, o * 0.6);
1404
+ u.translate(0, c + a / 2, 0), c += a;
1405
+ const m = new I(o * 0.4, s, o * 0.4);
1406
+ m.translate(0, c + s / 2, 0), c += s;
1407
+ const h = new q(o * 0.4 / Math.sqrt(2), 0.1, 4, 1, !1, Math.PI / 4);
1408
+ h.translate(0, c + 0.1 / 2, 0), this.copy(A([i, l, u, m, h], !1)), this.computeVertexNormals();
1409
+ }
1410
+ }
1411
+ class Mt extends g {
1412
+ constructor(e = 0.6, o = 1, n = 0.2, r = 0.6) {
1384
1413
  super();
1385
- const c = t - a / 2, s = new g(e, c, n);
1386
- s.translate(0, c / 2, 0);
1387
- const r = new S(a / 2, a / 2, n, 16, 1, !1, 0, Math.PI);
1388
- r.rotateY(Math.PI / 2), r.rotateX(Math.PI / 2), r.translate(0, c, 0), this.copy(A([s, r], !1)), this.computeVertexNormals();
1414
+ const a = o - r / 2, s = new I(e, a, n);
1415
+ s.translate(0, a / 2, 0);
1416
+ const c = new b(r / 2, r / 2, n, 16, 1, !1, 0, Math.PI);
1417
+ c.rotateY(Math.PI / 2), c.rotateX(Math.PI / 2), c.translate(0, a, 0), this.copy(A([s, c], !1)), this.computeVertexNormals();
1389
1418
  }
1390
1419
  }
1391
- class ht extends v {
1392
- constructor(e = 0.5, t = 0.8, n = 0.15) {
1420
+ class vt extends g {
1421
+ constructor(e = 0.5, o = 0.8, n = 0.15) {
1393
1422
  super();
1394
- const a = new g(e, t, n);
1395
- a.translate(0, t / 2, 0), this.copy(a);
1423
+ const r = new I(e, o, n);
1424
+ r.translate(0, o / 2, 0), this.copy(r);
1396
1425
  }
1397
1426
  }
1398
- class ft extends v {
1427
+ class gt extends g {
1399
1428
  constructor({ height: e = 2.25 } = {}) {
1400
1429
  super();
1401
- const t = new g(1.2, 0.5, 1.2);
1402
- t.translate(0, 0.25, 0);
1403
- const n = new g(1, e, 1);
1430
+ const o = new I(1.2, 0.5, 1.2);
1431
+ o.translate(0, 0.25, 0);
1432
+ const n = new I(1, e, 1);
1404
1433
  n.translate(0, 0.5 + e / 2, 0);
1405
- const a = new g(1.4, 0.3, 1.4);
1406
- a.translate(0, 0.5 + e + 0.15, 0), this.copy(A([t, n, a], !1));
1434
+ const r = new I(1.4, 0.3, 1.4);
1435
+ r.translate(0, 0.5 + e + 0.15, 0), this.copy(A([o, n, r], !1));
1407
1436
  }
1408
1437
  }
1409
- class ue extends v {
1438
+ class me extends g {
1410
1439
  constructor({
1411
1440
  barHeight: e = 2,
1412
1441
  //
1413
- barRadius: t = 0.05,
1442
+ barRadius: o = 0.05,
1414
1443
  spikeHeight: n = 0.3,
1415
- spikeRadius: a = 0.075,
1416
- spikeScaleZ: c = 1,
1444
+ spikeRadius: r = 0.075,
1445
+ spikeScaleZ: a = 1,
1417
1446
  radialSegments: s = 8
1418
1447
  } = {}) {
1419
1448
  super();
1420
- const r = new S(t, t, e, s);
1421
- r.translate(0, e / 2, 0);
1422
- const i = new z(a, n, s);
1423
- i.translate(0, e + n / 2, 0), i.scale(1, 1, c), this.copy(A([r, i], !1));
1449
+ const c = new b(o, o, e, s);
1450
+ c.translate(0, e / 2, 0);
1451
+ const i = new q(r, n, s);
1452
+ i.translate(0, e + n / 2, 0), i.scale(1, 1, a), this.copy(A([c, i], !1));
1424
1453
  }
1425
1454
  }
1426
- class pt extends v {
1455
+ class It extends g {
1427
1456
  constructor({
1428
1457
  count: e = 20,
1429
1458
  //
1430
- spacing: t = 0.4,
1459
+ spacing: o = 0.4,
1431
1460
  barHeight: n = 2,
1432
- barRadius: a = 0.05,
1433
- spikeHeight: c = 0.3,
1461
+ barRadius: r = 0.05,
1462
+ spikeHeight: a = 0.3,
1434
1463
  spikeRadius: s = 0.075,
1435
- spikeScaleZ: r = 1,
1464
+ spikeScaleZ: c = 1,
1436
1465
  railHeight: i = 0.1,
1437
1466
  railDepth: l = 0.05,
1438
1467
  railOffset: u = 0,
1439
1468
  radialSegments: m = 8
1440
1469
  } = {}) {
1441
1470
  super();
1442
- const h = [], d = new ue({ barHeight: n, barRadius: a, spikeHeight: c, spikeRadius: s, spikeScaleZ: r, radialSegments: m }), p = new g(e * t, i, l);
1443
- for (let I = 0; I < e; I++) {
1471
+ const h = [], d = new me({ barHeight: n, barRadius: r, spikeHeight: a, spikeRadius: s, spikeScaleZ: c, radialSegments: m }), p = new I(e * o, i, l);
1472
+ for (let S = 0; S < e; S++) {
1444
1473
  const G = d.clone();
1445
- G.translate(I * t, 0, 0), h.push(G);
1474
+ G.translate(S * o, 0, 0), h.push(G);
1446
1475
  }
1447
- const x = p.clone();
1448
- x.translate(t * (e - 1) / 2, n - u - i / 2, 0), h.push(x);
1449
1476
  const y = p.clone();
1450
- y.translate(t * (e - 1) / 2, i / 2, 0), h.push(y), this.copy(A(h));
1477
+ y.translate(o * (e - 1) / 2, n - u - i / 2, 0), h.push(y);
1478
+ const x = p.clone();
1479
+ x.translate(o * (e - 1) / 2, i / 2, 0), h.push(x), this.copy(A(h));
1451
1480
  }
1452
1481
  }
1453
- class dt extends v {
1482
+ class bt extends g {
1454
1483
  constructor({
1455
1484
  width: e = 5,
1456
1485
  //
1457
- height: t = 8,
1486
+ height: o = 8,
1458
1487
  depth: n = 1,
1459
- shelves: a = 4,
1460
- frameThickness: c = 0.1,
1488
+ shelves: r = 4,
1489
+ frameThickness: a = 0.1,
1461
1490
  open: s = !1
1462
1491
  } = {}) {
1463
1492
  super();
1464
- const r = t, i = e, l = n, u = new g(c, r, l), m = new g(i - 2 * c, c, l), h = u.clone();
1465
- h.translate(-i / 2 + c / 2, r / 2, 0);
1493
+ const c = o, i = e, l = n, u = new I(a, c, l), m = new I(i - 2 * a, a, l), h = u.clone();
1494
+ h.translate(-i / 2 + a / 2, c / 2, 0);
1466
1495
  const d = u.clone();
1467
- d.translate(i / 2 - c / 2, r / 2, 0);
1496
+ d.translate(i / 2 - a / 2, c / 2, 0);
1468
1497
  const p = m.clone();
1469
- p.translate(0, r - c / 2, 0);
1470
- const x = m.clone();
1471
- x.translate(0, c / 2, 0);
1472
- const y = new g(i, r, c);
1473
- y.translate(0, r / 2, -l / 2 + c / 2);
1474
- const I = [], G = (r - c) / (a + 1);
1475
- for (let B = 1; B <= a; B++) {
1476
- const C = m.clone();
1477
- C.translate(0, c / 2 + B * G, 0), I.push(C);
1498
+ p.translate(0, c - a / 2, 0);
1499
+ const y = m.clone();
1500
+ y.translate(0, a / 2, 0);
1501
+ const x = new I(i, c, a);
1502
+ x.translate(0, c / 2, -l / 2 + a / 2);
1503
+ const S = [], G = (c - a) / (r + 1);
1504
+ for (let T = 1; T <= r; T++) {
1505
+ const k = m.clone();
1506
+ k.translate(0, a / 2 + T * G, 0), S.push(k);
1478
1507
  }
1479
1508
  this.copy(A([
1480
1509
  h,
1481
1510
  //
1482
1511
  d,
1483
1512
  p,
1484
- x,
1485
- ...s ? [] : [y],
1486
- ...I
1513
+ y,
1514
+ ...s ? [] : [x],
1515
+ ...S
1487
1516
  ], !1));
1488
1517
  }
1489
1518
  }
1490
- class oo extends v {
1519
+ class yo extends g {
1491
1520
  constructor(e = 0.1) {
1492
1521
  super();
1493
- const t = [], n = [], a = [
1522
+ const o = [], n = [], r = [
1494
1523
  [0, 1],
1495
1524
  // Top point
1496
1525
  [0.5, 0.75],
@@ -1508,198 +1537,198 @@ class oo extends v {
1508
1537
  [-0.5, 0.75]
1509
1538
  // Left upper middle
1510
1539
  ];
1511
- for (let s = 0; s < a.length; s++) {
1512
- const [r, i] = a[s];
1513
- t.push(r * e, i * e, 0);
1540
+ for (let s = 0; s < r.length; s++) {
1541
+ const [c, i] = r[s];
1542
+ o.push(c * e, i * e, 0);
1514
1543
  }
1515
- for (let s = 1; s < a.length - 1; s++)
1544
+ for (let s = 1; s < r.length - 1; s++)
1516
1545
  n.push(0, s, s + 1);
1517
- n.push(0, a.length - 1, 1);
1518
- const c = new F(t, 3);
1519
- this.setAttribute("position", c), this.setIndex(n), this.computeVertexNormals();
1546
+ n.push(0, r.length - 1, 1);
1547
+ const a = new F(o, 3);
1548
+ this.setAttribute("position", a), this.setIndex(n), this.computeVertexNormals();
1520
1549
  }
1521
1550
  }
1522
- function wt(o, e = U.XYZ, t = 0.5, n = 2) {
1523
- o.deleteAttribute("uv"), o.deleteAttribute("normal"), o = Ae(o), o.computeVertexNormals();
1524
- const a = o.getAttribute("position");
1525
- for (let c = 0; c < a.count; c++) {
1526
- const s = new M().fromBufferAttribute(a, c), r = Math.random() * (n - t) + t, i = e.clone().multiplyScalar(r);
1527
- s.add(i), a.setXYZ(c, s.x, s.y, s.z);
1551
+ function St(t, e = _.XYZ, o = 0.5, n = 2) {
1552
+ t.deleteAttribute("uv"), t.deleteAttribute("normal"), t = Ee(t), t.computeVertexNormals();
1553
+ const r = t.getAttribute("position");
1554
+ for (let a = 0; a < r.count; a++) {
1555
+ const s = new M().fromBufferAttribute(r, a), c = Math.random() * (n - o) + o, i = e.clone().multiplyScalar(c);
1556
+ s.add(i), r.setXYZ(a, s.x, s.y, s.z);
1528
1557
  }
1529
- return a.needsUpdate = !0, o.computeVertexNormals(), o;
1558
+ return r.needsUpdate = !0, t.computeVertexNormals(), t;
1530
1559
  }
1531
- class yt extends v {
1532
- constructor(e = 1, t = 4, n = 4) {
1560
+ class Gt extends g {
1561
+ constructor(e = 1, o = 4, n = 4) {
1533
1562
  super();
1534
- const a = new T(e, t, n);
1535
- this.copy(wt(a, U.XYZ, 0.5, 1)), this.computeVertexNormals(), this.center();
1563
+ const r = new C(e, o, n);
1564
+ this.copy(St(r, _.XYZ, 0.5, 1)), this.computeVertexNormals(), this.center();
1536
1565
  }
1537
1566
  }
1538
- class xt extends v {
1539
- constructor(e = 0.1, t = 0.1, n = 0.4, a = 8) {
1567
+ class Pt extends g {
1568
+ constructor(e = 0.1, o = 0.1, n = 0.4, r = 8) {
1540
1569
  super();
1541
- const c = new S(e * 0.6, t * 0.6, n, a);
1542
- c.translate(0, 0, 0);
1543
- const s = new T(e, a, a), r = s.clone(), i = s.clone(), l = s.clone(), u = s.clone();
1544
- r.translate(0, n / 2 + e * 0.6, -e * 0.6), i.translate(0, n / 2 + e * 0.6, e * 0.6), l.translate(0, -n / 2 - t * 0.6, -t * 0.6), u.translate(0, -n / 2 - t * 0.6, t * 0.6), this.copy(A([c, r, i, l, u], !1));
1570
+ const a = new b(e * 0.6, o * 0.6, n, r);
1571
+ a.translate(0, 0, 0);
1572
+ const s = new C(e, r, r), c = s.clone(), i = s.clone(), l = s.clone(), u = s.clone();
1573
+ c.translate(0, n / 2 + e * 0.6, -e * 0.6), i.translate(0, n / 2 + e * 0.6, e * 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(A([a, c, i, l, u], !1));
1545
1574
  }
1546
1575
  }
1547
- class Mt extends v {
1576
+ class At extends g {
1548
1577
  constructor() {
1549
1578
  super();
1550
- const e = new T(1, 16, 16), t = new S(0.2, 0.2, 2, 16, 1, !0);
1551
- t.translate(0, 1.5, 0), t.rotateX(Math.PI / 2), this.copy(A([e, t], !1));
1579
+ const e = new C(1, 16, 16), o = new b(0.2, 0.2, 2, 16, 1, !0);
1580
+ o.translate(0, 1.5, 0), o.rotateX(Math.PI / 2), this.copy(A([e, o], !1));
1552
1581
  }
1553
1582
  }
1554
- class vt extends v {
1583
+ class Et extends g {
1555
1584
  constructor({
1556
1585
  flaskRadius: e = 1,
1557
1586
  //
1558
- neckRadius: t = 0.3,
1587
+ neckRadius: o = 0.3,
1559
1588
  height: n = 2.5,
1560
- neckHeight: a = 1,
1561
- radialSegments: c = 16
1589
+ neckHeight: r = 1,
1590
+ radialSegments: a = 16
1562
1591
  } = {}) {
1563
1592
  super();
1564
1593
  const s = [
1565
- new b(0, 0),
1594
+ new v(0, 0),
1566
1595
  // Bottom of the flask
1567
- new b(e * 0.875, 0),
1596
+ new v(e * 0.875, 0),
1568
1597
  // Flat base with minimum width
1569
- new b(e, 0.1),
1598
+ new v(e, 0.1),
1570
1599
  // End of the rounded base
1571
- new b(t, n),
1600
+ new v(o, n),
1572
1601
  // Start of the straight neck
1573
- new b(t, n + a),
1602
+ new v(o, n + r),
1574
1603
  // End of the straight neck
1575
- new b(t * 1.1, n + a + 0.3)
1604
+ new v(o * 1.1, n + r + 0.3)
1576
1605
  // Slight outward lip at the top
1577
- ], r = new q(s, c);
1578
- this.copy(A([r], !1));
1606
+ ], c = new L(s, a);
1607
+ this.copy(A([c], !1));
1579
1608
  }
1580
1609
  }
1581
- class gt extends v {
1610
+ class Ct extends g {
1582
1611
  constructor() {
1583
1612
  super();
1584
1613
  const e = [
1585
- new b(1, 0),
1614
+ new v(1, 0),
1586
1615
  // Bottom of the bowl
1587
- new b(1.2, 0.5),
1616
+ new v(1.2, 0.5),
1588
1617
  // Slight flare at the base
1589
- new b(1.4, 1.5),
1618
+ new v(1.4, 1.5),
1590
1619
  // Outer wall
1591
- new b(1.3, 1.8),
1620
+ new v(1.3, 1.8),
1592
1621
  // Flared edge
1593
- new b(0.8, 1.8)
1622
+ new v(0.8, 1.8)
1594
1623
  // Lip of the bowl
1595
- ], t = new q(e, 12), n = new we(1, 12);
1596
- n.rotateX(-Math.PI / 2), n.translate(0, 0, 0), this.copy(A([t, n], !1));
1624
+ ], o = new L(e, 12), n = new xe(1, 12);
1625
+ n.rotateX(-Math.PI / 2), n.translate(0, 0, 0), this.copy(A([o, n], !1));
1597
1626
  }
1598
1627
  }
1599
- class bt extends v {
1628
+ class Tt extends g {
1600
1629
  constructor({
1601
1630
  radius: e = 0.3,
1602
1631
  //
1603
- height: t = 0.4,
1632
+ height: o = 0.4,
1604
1633
  count: n = 3,
1605
- thickness: a = 0.03,
1606
- radialSegments: c = 16
1634
+ thickness: r = 0.03,
1635
+ radialSegments: a = 16
1607
1636
  } = {}) {
1608
1637
  super();
1609
- const s = new se(e, a, 8, c);
1610
- s.rotateX(Math.PI / 2), s.translate(0, t, 0);
1611
- const r = new S(a * 0.6, a * 0.6, t, c), i = [];
1638
+ const s = new re(e, r, 8, a);
1639
+ s.rotateX(Math.PI / 2), s.translate(0, o, 0);
1640
+ const c = new b(r * 0.6, r * 0.6, o, a), i = [];
1612
1641
  for (let l = 0; l < n; l++) {
1613
- const u = l / n * Math.PI * 2, m = r.clone();
1614
- m.translate(Math.cos(u) * e, t / 2, Math.sin(u) * e), i.push(m);
1642
+ const u = l / n * Math.PI * 2, m = c.clone();
1643
+ m.translate(Math.cos(u) * e, o / 2, Math.sin(u) * e), i.push(m);
1615
1644
  }
1616
1645
  this.copy(A([s, ...i], !1));
1617
1646
  }
1618
1647
  }
1619
- class H extends v {
1620
- constructor(e = 0.2, t = 0.2, n = 3, a = 32, c = !0) {
1648
+ class j extends g {
1649
+ constructor(e = 0.2, o = 0.2, n = 3, r = 32, a = !0) {
1621
1650
  super();
1622
- const s = new S(e, t, n, a, 1, c), r = new T(t, a, a / 2, 0, Math.PI * 2, Math.PI / 2, Math.PI / 2);
1623
- r.translate(0, -(n / 2), 0), this.copy(A([s, r], !1));
1651
+ const s = new b(e, o, n, r, 1, a), c = new C(o, r, r / 2, 0, Math.PI * 2, Math.PI / 2, Math.PI / 2);
1652
+ c.translate(0, -(n / 2), 0), this.copy(A([s, c], !1));
1624
1653
  }
1625
1654
  }
1626
- class St extends v {
1627
- constructor({ radius: e = 0.5, neckRadius: t = 0.2, height: n = 3, neckHeight: a = 1, segments: c = 16 } = {}) {
1655
+ class Bt extends g {
1656
+ constructor({ radius: e = 0.5, neckRadius: o = 0.2, height: n = 3, neckHeight: r = 1, segments: a = 16 } = {}) {
1628
1657
  super();
1629
- const s = n - a, r = new S(e, e, s, c);
1630
- r.translate(0, s / 2, 0);
1631
- const i = 0.3, l = new S(t, e, i, c);
1658
+ const s = n - r, c = new b(e, e, s, a);
1659
+ c.translate(0, s / 2, 0);
1660
+ const i = 0.3, l = new b(o, e, i, a);
1632
1661
  l.translate(0, s + i / 2, 0);
1633
- const u = new S(t, t, a, c);
1634
- u.translate(0, s + i + a / 2, 0), this.copy(A([r, l, u], !1));
1662
+ const u = new b(o, o, r, a);
1663
+ u.translate(0, s + i + r / 2, 0), this.copy(A([c, l, u], !1));
1635
1664
  }
1636
1665
  }
1637
- class It extends v {
1666
+ class kt extends g {
1638
1667
  constructor({
1639
1668
  radius: e = 3,
1640
1669
  //
1641
- height: t = 0.6,
1670
+ height: o = 0.6,
1642
1671
  widthSegments: n = 64,
1643
- heightSegments: a = 16,
1644
- phiStart: c = 0,
1672
+ heightSegments: r = 16,
1673
+ phiStart: a = 0,
1645
1674
  phiLength: s = Math.PI * 2
1646
1675
  } = {}) {
1647
- super(), this.copy(new T(e, n, a, c, s, 0, Math.PI / 2)), this.scale(1, t / e, 1);
1676
+ super(), this.copy(new C(e, n, r, a, s, 0, Math.PI / 2)), this.scale(1, o / e, 1);
1648
1677
  }
1649
1678
  }
1650
- const no = (o, e) => o / (1 - Math.cos(e)), me = (o, e) => o / (2 * Math.sin(e)), Gt = (o, e) => o * (1 - Math.cos(e)), so = (o, e) => 2 * o * Math.sin(e), ao = (o, e, t) => ({
1651
- x: o * Math.sin(t) * Math.cos(e),
1652
- y: o * Math.sin(t) * Math.sin(e),
1653
- z: o * Math.cos(t)
1654
- }), ro = (o, e, t) => {
1655
- const n = Math.sqrt(o * o + e * e + t * t), a = Math.atan2(e, o), c = Math.acos(t / n);
1656
- return { radius: n, theta: a, phi: c };
1679
+ const Mo = (t, e) => t / (1 - Math.cos(e)), he = (t, e) => t / (2 * Math.sin(e)), Nt = (t, e) => t * (1 - Math.cos(e)), vo = (t, e) => 2 * t * Math.sin(e), go = (t, e, o) => ({
1680
+ x: t * Math.sin(o) * Math.cos(e),
1681
+ y: t * Math.sin(o) * Math.sin(e),
1682
+ z: t * Math.cos(o)
1683
+ }), Io = (t, e, o) => {
1684
+ const n = Math.sqrt(t * t + e * e + o * o), r = Math.atan2(e, t), a = Math.acos(o / n);
1685
+ return { radius: n, theta: r, phi: a };
1657
1686
  };
1658
- class Pt extends v {
1687
+ class Ut extends g {
1659
1688
  constructor({
1660
- radius: e = me(5, Math.PI / 10),
1689
+ radius: e = he(5, Math.PI / 10),
1661
1690
  //
1662
- widthSegments: t = 64,
1691
+ widthSegments: o = 64,
1663
1692
  heightSegments: n = 32,
1664
- phiStart: a = 0,
1665
- phiLength: c = Math.PI * 2,
1693
+ phiStart: r = 0,
1694
+ phiLength: a = Math.PI * 2,
1666
1695
  thetaLength: s = Math.PI / 10
1667
1696
  } = {}) {
1668
- super(), this.copy(new T(e, t, n, a, c, 0, s));
1669
- const r = Gt(e, s);
1670
- this.translate(0, -e + r, 0);
1697
+ super(), this.copy(new C(e, o, n, r, a, 0, s));
1698
+ const c = Nt(e, s);
1699
+ this.translate(0, -e + c, 0);
1671
1700
  }
1672
1701
  }
1673
- class At extends v {
1702
+ class Ot extends g {
1674
1703
  constructor({
1675
1704
  trunkRadiusTop: e = 0.25,
1676
- trunkRadiusBottom: t = 0.4,
1705
+ trunkRadiusBottom: o = 0.4,
1677
1706
  trunkHeight: n = 2.5,
1678
- trunkSegments: a = 14,
1679
- leafSize: c = 0.8,
1707
+ trunkSegments: r = 14,
1708
+ leafSize: a = 0.8,
1680
1709
  leafCount: s = 6,
1681
- leafDetail: r = 0,
1710
+ leafDetail: c = 0,
1682
1711
  leafSpreadRadius: i = 1.5
1683
1712
  } = {}) {
1684
1713
  super();
1685
- const l = new S(e, t, n, a);
1714
+ const l = new b(e, o, n, r);
1686
1715
  l.translate(0, n / 2, 0);
1687
1716
  const u = [];
1688
1717
  for (let m = 0; m < s; m++) {
1689
- const h = new j(c, r);
1718
+ const h = new K(a, c);
1690
1719
  h.translate(
1691
1720
  (Math.random() - 0.5) * i,
1692
- (Math.random() - 0.5) * c + n,
1721
+ (Math.random() - 0.5) * a + n,
1693
1722
  (Math.random() - 0.5) * i
1694
1723
  ), u.push(h);
1695
1724
  }
1696
1725
  this.copy(A([l.toNonIndexed(), A(u, !1)], !0)), this.computeVertexNormals();
1697
1726
  }
1698
1727
  }
1699
- class co extends P {
1728
+ class bo extends P {
1700
1729
  constructor() {
1701
1730
  super();
1702
- const e = new T(5, 32, 32), t = new K({
1731
+ const e = new C(5, 32, 32), o = new J({
1703
1732
  uniforms: {
1704
1733
  time: { value: 0 }
1705
1734
  },
@@ -1742,122 +1771,122 @@ class co extends P {
1742
1771
  gl_FragColor = vec4(color, 1.0);
1743
1772
  }
1744
1773
  `
1745
- }), n = new f(e, t);
1774
+ }), n = new f(e, o);
1746
1775
  this.add(n);
1747
1776
  }
1748
1777
  }
1749
- class io extends f {
1778
+ class So extends f {
1750
1779
  constructor({
1751
1780
  width: e = 1,
1752
- height: t = 1.5,
1781
+ height: o = 1.5,
1753
1782
  depth: n = 0.5,
1754
- coverThickness: a = 0.05,
1755
- pageIndent: c = 0.05,
1783
+ coverThickness: r = 0.05,
1784
+ pageIndent: a = 0.05,
1756
1785
  coverColor: s = 9109504,
1757
- pageColor: r = 16777215
1786
+ pageColor: c = 16777215
1758
1787
  } = {}) {
1759
- super(), this.geometry = new ce(e, t, n, a, c), this.material = [
1788
+ super(), this.geometry = new ie(e, o, n, r, a), this.material = [
1760
1789
  new w({ color: s, metalness: 0.1, roughness: 0.7, flatShading: !0 }),
1761
- new w({ color: r, flatShading: !0 })
1790
+ new w({ color: c, flatShading: !0 })
1762
1791
  ];
1763
1792
  }
1764
1793
  }
1765
- class lo extends f {
1766
- constructor(e = 0.4, t = 1.2, n = 0.2) {
1767
- super(), this.geometry = new lt(e, t, n), this.material = new w({ color: 7829367, roughness: 0.8 });
1794
+ class Go extends f {
1795
+ constructor(e = 0.4, o = 1.2, n = 0.2) {
1796
+ super(), this.geometry = new xt(e, o, n), this.material = new w({ color: 7829367, roughness: 0.8 });
1768
1797
  }
1769
1798
  }
1770
- class uo extends P {
1799
+ class Po extends P {
1771
1800
  constructor() {
1772
1801
  super();
1773
- const e = new g(5, 1, 5), t = new w({ color: 8421504, flatShading: !0 }), n = new f(e, t);
1802
+ const e = new I(5, 1, 5), o = new w({ color: 8421504, flatShading: !0 }), n = new f(e, o);
1774
1803
  n.position.set(0, 0.5, 0), this.add(n);
1775
- const a = new g(4, 3, 4), c = new w({ color: 6908265, flatShading: !0 }), s = new f(a, c);
1804
+ const r = new I(4, 3, 4), a = new w({ color: 6908265, flatShading: !0 }), s = new f(r, a);
1776
1805
  s.position.set(0, 2.5, 0), this.add(s);
1777
- const r = new z(3.5, 2, 4), i = new w({ color: 5263440, flatShading: !0 }), l = new f(r, i);
1806
+ const c = new q(3.5, 2, 4), i = new w({ color: 5263440, flatShading: !0 }), l = new f(c, i);
1778
1807
  l.rotation.y = Math.PI / 4, l.position.set(0, 5, 0), this.add(l);
1779
- const u = new S(0.2, 0.2, 3.5, 16), m = new w({ color: 6908265, flatShading: !0 });
1808
+ const u = new b(0.2, 0.2, 3.5, 16), m = new w({ color: 6908265, flatShading: !0 });
1780
1809
  [
1781
1810
  [-1.8, 2.3, -2.2],
1782
1811
  [1.8, 2.3, -2.2],
1783
1812
  [-1.8, 2.3, 2.2],
1784
1813
  [1.8, 2.3, 2.2]
1785
1814
  ].forEach((G) => {
1786
- const B = new f(u, m);
1787
- B.position.set(...G), this.add(B);
1815
+ const T = new f(u, m);
1816
+ T.position.set(...G), this.add(T);
1788
1817
  });
1789
- const d = new L();
1818
+ const d = new R();
1790
1819
  d.moveTo(-1, 0), d.lineTo(-1, 2), d.absarc(0, 2, 1, Math.PI, 0, !0), d.lineTo(1, 0);
1791
1820
  const p = {
1792
1821
  depth: 0.5,
1793
1822
  bevelEnabled: !1
1794
- }, x = new V(d, p), y = new w({ color: 4210752, flatShading: !0 }), I = new f(x, y);
1795
- I.position.set(0, 0.5, 1.7), this.add(I);
1823
+ }, y = new X(d, p), x = new w({ color: 4210752, flatShading: !0 }), S = new f(y, x);
1824
+ S.position.set(0, 0.5, 1.7), this.add(S);
1796
1825
  }
1797
1826
  }
1798
- class mo extends f {
1799
- constructor(e = 1.75, t = 0.75) {
1800
- super(), this.geometry = new ut(e, t), this.material = new w({ color: 7829367, roughness: 0.8 });
1827
+ class Ao extends f {
1828
+ constructor(e = 1.75, o = 0.75) {
1829
+ super(), this.geometry = new yt(e, o), this.material = new w({ color: 7829367, roughness: 0.8 });
1801
1830
  }
1802
1831
  }
1803
- class ho extends f {
1804
- constructor(e = 0.6, t = 1, n = 0.2, a = 0.6) {
1805
- super(), this.geometry = new mt(e, t, n, a), this.material = new w({ color: 7829367, roughness: 0.8 });
1832
+ class Eo extends f {
1833
+ constructor(e = 0.6, o = 1, n = 0.2, r = 0.6) {
1834
+ super(), this.geometry = new Mt(e, o, n, r), this.material = new w({ color: 7829367, roughness: 0.8 });
1806
1835
  }
1807
1836
  }
1808
- class fo extends f {
1809
- constructor(e = 0.5, t = 0.8, n = 0.15) {
1810
- super(), this.geometry = new ht(e, t, n), this.material = new w({ color: 7829367, roughness: 0.8 });
1837
+ class Co extends f {
1838
+ constructor(e = 0.5, o = 0.8, n = 0.15) {
1839
+ super(), this.geometry = new vt(e, o, n), this.material = new w({ color: 7829367, roughness: 0.8 });
1811
1840
  }
1812
1841
  }
1813
- class po extends f {
1842
+ class To extends f {
1814
1843
  constructor({ height: e = 2.25 } = {}) {
1815
- super(), this.geometry = new ft({ height: e }), this.material = new w({ color: 9141627, flatShading: !0 });
1844
+ super(), this.geometry = new gt({ height: e }), this.material = new w({ color: 9141627, flatShading: !0 });
1816
1845
  }
1817
1846
  }
1818
- class wo extends f {
1847
+ class Bo extends f {
1819
1848
  constructor({
1820
1849
  barHeight: e = 2,
1821
1850
  //
1822
- barRadius: t = 0.05,
1851
+ barRadius: o = 0.05,
1823
1852
  spikeHeight: n = 0.3,
1824
- spikeRadius: a = 0.075,
1825
- spikeScaleZ: c = 1,
1853
+ spikeRadius: r = 0.075,
1854
+ spikeScaleZ: a = 1,
1826
1855
  radialSegments: s = 8
1827
1856
  } = {}) {
1828
- super(), this.geometry = new ue({
1857
+ super(), this.geometry = new me({
1829
1858
  barHeight: e,
1830
- barRadius: t,
1859
+ barRadius: o,
1831
1860
  spikeHeight: n,
1832
- spikeRadius: a,
1833
- spikeScaleZ: c,
1861
+ spikeRadius: r,
1862
+ spikeScaleZ: a,
1834
1863
  radialSegments: s
1835
1864
  }), this.material = new w({ color: 3355443, metalness: 0.8, roughness: 0.4 });
1836
1865
  }
1837
1866
  }
1838
- class yo extends f {
1867
+ class ko extends f {
1839
1868
  constructor({
1840
1869
  count: e = 20,
1841
1870
  //
1842
- spacing: t = 0.4,
1871
+ spacing: o = 0.4,
1843
1872
  barHeight: n = 2,
1844
- barRadius: a = 0.05,
1845
- spikeHeight: c = 0.3,
1873
+ barRadius: r = 0.05,
1874
+ spikeHeight: a = 0.3,
1846
1875
  spikeRadius: s = 0.075,
1847
- spikeScaleZ: r = 1,
1876
+ spikeScaleZ: c = 1,
1848
1877
  railHeight: i = 0.1,
1849
1878
  railDepth: l = 0.05,
1850
1879
  railOffset: u = 0,
1851
1880
  radialSegments: m = 8
1852
1881
  } = {}) {
1853
- super(), this.geometry = new pt({
1882
+ super(), this.geometry = new It({
1854
1883
  count: e,
1855
- spacing: t,
1884
+ spacing: o,
1856
1885
  barHeight: n,
1857
- barRadius: a,
1858
- spikeHeight: c,
1886
+ barRadius: r,
1887
+ spikeHeight: a,
1859
1888
  spikeRadius: s,
1860
- spikeScaleZ: r,
1889
+ spikeScaleZ: c,
1861
1890
  railHeight: i,
1862
1891
  railDepth: l,
1863
1892
  railOffset: u,
@@ -1865,27 +1894,27 @@ class yo extends f {
1865
1894
  }), this.material = new w({ color: 3355443, metalness: 0.8, roughness: 0.4 });
1866
1895
  }
1867
1896
  }
1868
- class xo extends f {
1897
+ class No extends f {
1869
1898
  constructor({
1870
1899
  width: e = 5,
1871
1900
  //
1872
- height: t = 8,
1901
+ height: o = 8,
1873
1902
  depth: n = 1,
1874
- shelves: a = 4,
1875
- frameThickness: c = 0.1,
1903
+ shelves: r = 4,
1904
+ frameThickness: a = 0.1,
1876
1905
  open: s = !1
1877
1906
  } = {}) {
1878
- super(), this.geometry = new dt({ width: e, height: t, depth: n, shelves: a, frameThickness: c, open: s }), this.material = new w({ color: 9127187 });
1907
+ super(), this.geometry = new bt({ width: e, height: o, depth: n, shelves: r, frameThickness: a, open: s }), this.material = new w({ color: 9127187 });
1879
1908
  }
1880
1909
  }
1881
- class Mo extends P {
1910
+ class Uo extends P {
1882
1911
  constructor() {
1883
1912
  super();
1884
- const e = new g(5, 0.3, 3), t = new w({ color: 9132587 }), n = new f(e, t);
1913
+ const e = new I(5, 0.3, 3), o = new w({ color: 9132587 }), n = new f(e, o);
1885
1914
  n.position.set(0, 3.15, 0);
1886
- const a = [];
1887
- a.push(new b(0.2, 0)), a.push(new b(0.25, 0.5)), a.push(new b(0.15, 1.5)), a.push(new b(0.3, 3));
1888
- const c = new q(a, 32), s = new w({ color: 4929057 });
1915
+ const r = [];
1916
+ r.push(new v(0.2, 0)), r.push(new v(0.25, 0.5)), r.push(new v(0.15, 1.5)), r.push(new v(0.3, 3));
1917
+ const a = new L(r, 32), s = new w({ color: 4929057 });
1889
1918
  [
1890
1919
  [2.2, 0, 1.2],
1891
1920
  // Adjust Y to 0 so legs start at ground level
@@ -1893,20 +1922,20 @@ class Mo extends P {
1893
1922
  [2.2, 0, -1.2],
1894
1923
  [-2.2, 0, -1.2]
1895
1924
  ].forEach((i) => {
1896
- const l = new f(c, s);
1925
+ const l = new f(a, s);
1897
1926
  l.position.set(...i), this.add(l);
1898
1927
  }), this.add(n);
1899
1928
  }
1900
1929
  }
1901
- class vo extends P {
1902
- constructor(e = 1, t = 0.2) {
1903
- super(), this.height = e, this.radius = t, this.createCandle(), this.animateFlicker();
1930
+ class Oo extends P {
1931
+ constructor(e = 1, o = 0.2) {
1932
+ super(), this.height = e, this.radius = o, this.createCandle(), this.animateFlicker();
1904
1933
  }
1905
1934
  createCandle() {
1906
- const e = new S(this.radius, this.radius, this.height, 32), t = new w({ color: 16777215 });
1907
- this.candle = new f(e, t), this.candle.position.set(0, this.height / 2, 0), this.add(this.candle);
1908
- const n = new T(0.05, 16, 16), a = new ye({ color: 16753920 });
1909
- this.flame = new f(n, a), this.flame.position.set(0, this.height + 0.05, 0), this.add(this.flame), this.candleLight = new ae(16753920, 1, 5), this.candleLight.position.set(0, this.height + 0.05, 0), this.candleLight.castShadow = !0, this.add(this.candleLight);
1935
+ const e = new b(this.radius, this.radius, this.height, 32), o = new w({ color: 16777215 });
1936
+ this.candle = new f(e, o), this.candle.position.set(0, this.height / 2, 0), this.add(this.candle);
1937
+ const n = new C(0.05, 16, 16), r = new ye({ color: 16753920 });
1938
+ this.flame = new f(n, r), this.flame.position.set(0, this.height + 0.05, 0), this.add(this.flame), this.candleLight = new ae(16753920, 1, 5), this.candleLight.position.set(0, this.height + 0.05, 0), this.candleLight.castShadow = !0, this.add(this.candleLight);
1910
1939
  }
1911
1940
  animateFlicker() {
1912
1941
  const e = () => {
@@ -1915,52 +1944,52 @@ class vo extends P {
1915
1944
  e();
1916
1945
  }
1917
1946
  }
1918
- class go extends P {
1919
- constructor(e = 1.3, t = 0.5) {
1947
+ class _o extends P {
1948
+ constructor(e = 1.3, o = 0.5) {
1920
1949
  super();
1921
- const n = new S(t, t, 0.2, 16), a = new w({ color: 9127187, flatShading: !0 }), c = new f(n, a);
1922
- c.position.set(0, 0, 0), this.add(c);
1923
- const s = new S(t * 0.9, t * 0.9, e), r = new w({ color: 16766720, flatShading: !0, transparent: !0, opacity: 0.6 }), i = new f(s, r);
1950
+ const n = new b(o, o, 0.2, 16), r = new w({ color: 9127187, flatShading: !0 }), a = new f(n, r);
1951
+ a.position.set(0, 0, 0), this.add(a);
1952
+ const s = new b(o * 0.9, o * 0.9, e), c = new w({ color: 16766720, flatShading: !0, transparent: !0, opacity: 0.6 }), i = new f(s, c);
1924
1953
  i.position.set(0, e / 2 + 0.1, 0), this.add(i);
1925
- const l = new z(t * 1.1, 0.5, 8), u = new w({ color: 9127187, flatShading: !0 }), m = new f(l, u);
1954
+ const l = new q(o * 1.1, 0.5, 8), u = new w({ color: 9127187, flatShading: !0 }), m = new f(l, u);
1926
1955
  m.position.set(0, e + 0.35, 0), this.add(m);
1927
- const h = new se(t * 0.8, 0.05, 8, 16), d = new w({ color: 9127187, flatShading: !0 }), p = new f(h, d);
1956
+ const h = new re(o * 0.8, 0.05, 8, 16), d = new w({ color: 9127187, flatShading: !0 }), p = new f(h, d);
1928
1957
  p.position.set(0, e + 0.85, 0), this.add(p);
1929
- const x = new ae(16755200, 1.5, 15);
1930
- x.position.set(0, e / 2 + 0.1, 0), x.castShadow = !0, this.add(x);
1958
+ const y = new ae(16755200, 1.5, 15);
1959
+ y.position.set(0, e / 2 + 0.1, 0), y.castShadow = !0, this.add(y);
1931
1960
  }
1932
1961
  }
1933
- class bo extends P {
1962
+ class Fo extends P {
1934
1963
  constructor() {
1935
1964
  super();
1936
- const e = new j(1, 0), t = new w({ color: 8421504, flatShading: !0 }), n = new w({ color: 4950843, flatShading: !0, opacity: 0.8, transparent: !0 });
1937
- for (let a = 0; a < 5; a++) {
1938
- const c = new f(e, t);
1939
- c.scale.set(0.8 + Math.random() * 0.4, 0.8 + Math.random() * 0.4, 0.8 + Math.random() * 0.4), c.rotation.set(Math.random() * Math.PI, Math.random() * Math.PI, Math.random() * Math.PI), c.position.set((Math.random() - 0.5) * 4, 0, (Math.random() - 0.5) * 4), this.add(c);
1965
+ const e = new K(1, 0), o = new w({ color: 8421504, flatShading: !0 }), n = new w({ color: 4950843, flatShading: !0, opacity: 0.8, transparent: !0 });
1966
+ for (let r = 0; r < 5; r++) {
1967
+ const a = new f(e, o);
1968
+ a.scale.set(0.8 + Math.random() * 0.4, 0.8 + Math.random() * 0.4, 0.8 + Math.random() * 0.4), a.rotation.set(Math.random() * Math.PI, Math.random() * Math.PI, Math.random() * Math.PI), a.position.set((Math.random() - 0.5) * 4, 0, (Math.random() - 0.5) * 4), this.add(a);
1940
1969
  const s = new f(e, n);
1941
- s.scale.set(c.scale.x * 0.9, c.scale.y * 0.5, c.scale.z * 0.9), s.rotation.copy(c.rotation), s.position.copy(c.position), s.position.y += 0.3, this.add(s);
1970
+ s.scale.set(a.scale.x * 0.9, a.scale.y * 0.5, a.scale.z * 0.9), s.rotation.copy(a.rotation), s.position.copy(a.position), s.position.y += 0.3, this.add(s);
1942
1971
  }
1943
1972
  }
1944
1973
  }
1945
- class So extends f {
1946
- constructor(e = 1, t = 4, n = 4) {
1947
- super(), this.geometry = new yt(e, t, n), this.material = new w({ color: 8421504, flatShading: !0 });
1974
+ class zo extends f {
1975
+ constructor(e = 1, o = 4, n = 4) {
1976
+ super(), this.geometry = new Gt(e, o, n), this.material = new w({ color: 8421504, flatShading: !0 });
1948
1977
  }
1949
1978
  }
1950
- class Io extends P {
1979
+ class qo extends P {
1951
1980
  constructor() {
1952
1981
  super();
1953
- const e = new j(1, 0), t = new w({ color: 8421504, flatShading: !0 });
1982
+ const e = new K(1, 0), o = new w({ color: 8421504, flatShading: !0 });
1954
1983
  for (let n = 0; n < 5; n++) {
1955
- const a = new f(e, t);
1956
- a.scale.set(0.8 + Math.random() * 0.4, 0.8 + Math.random() * 0.4, 0.8 + Math.random() * 0.4), a.rotation.set(Math.random() * Math.PI, Math.random() * Math.PI, Math.random() * Math.PI), a.position.set((Math.random() - 0.5) * 4, 0, (Math.random() - 0.5) * 4), this.add(a);
1984
+ const r = new f(e, o);
1985
+ 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);
1957
1986
  }
1958
1987
  }
1959
1988
  }
1960
- class Go extends P {
1989
+ class Lo extends P {
1961
1990
  constructor() {
1962
1991
  super();
1963
- const e = new Mt(), t = new Y({
1992
+ const e = new At(), o = new Y({
1964
1993
  color: 8965375,
1965
1994
  transparent: !0,
1966
1995
  opacity: 0.4,
@@ -1968,32 +1997,32 @@ class Go extends P {
1968
1997
  metalness: 0.1,
1969
1998
  reflectivity: 0.8,
1970
1999
  transmission: 0.9,
1971
- side: O
1972
- }), n = new f(e, t);
2000
+ side: z
2001
+ }), n = new f(e, o);
1973
2002
  n.rotation.x = -Math.PI / 2, this.add(n);
1974
2003
  }
1975
2004
  }
1976
- class Po extends P {
2005
+ class Ro extends P {
1977
2006
  constructor() {
1978
2007
  super();
1979
2008
  const e = [
1980
- new b(0, 0),
2009
+ new v(0, 0),
1981
2010
  // Bottom
1982
- new b(0.8, 0),
2011
+ new v(0.8, 0),
1983
2012
  // Base
1984
- new b(1, 1.5),
2013
+ new v(1, 1.5),
1985
2014
  // Rounded body
1986
- new b(0.5, 2.2),
2015
+ new v(0.5, 2.2),
1987
2016
  // Neck
1988
- new b(0.6, 2.5)
2017
+ new v(0.6, 2.5)
1989
2018
  // Mouth
1990
- ], t = new q(e, 10), n = new S(0.3, 0.4, 0.2, 8), a = new w({
2019
+ ], o = new L(e, 10), n = new b(0.3, 0.4, 0.2, 8), r = new w({
1991
2020
  color: 8965375,
1992
2021
  transparent: !0,
1993
2022
  opacity: 0.5,
1994
2023
  roughness: 0.1,
1995
2024
  metalness: 0.3
1996
- }), c = new w({
2025
+ }), a = new w({
1997
2026
  color: 16724838,
1998
2027
  // Vibrant potion color
1999
2028
  transparent: !0,
@@ -2001,84 +2030,84 @@ class Po extends P {
2001
2030
  }), s = new w({
2002
2031
  color: 9127187,
2003
2032
  roughness: 1
2004
- }), r = new f(t, a), i = new f(t, c), l = new f(n, s);
2033
+ }), c = new f(o, r), i = new f(o, a), l = new f(n, s);
2005
2034
  i.scale.set(0.8, 0.8, 0.8), i.position.y = 0.1, l.position.y = 2.5;
2006
2035
  const u = new P();
2007
- u.add(r, i, l), this.add(u);
2036
+ u.add(c, i, l), this.add(u);
2008
2037
  }
2009
2038
  }
2010
- class Ao extends P {
2039
+ class Xo extends P {
2011
2040
  constructor() {
2012
2041
  super();
2013
- const e = new S(0.3, 0.4, 0.1, 16), t = new w({
2042
+ const e = new b(0.3, 0.4, 0.1, 16), o = new w({
2014
2043
  color: 3355443,
2015
2044
  roughness: 0.6,
2016
2045
  metalness: 0.3
2017
- }), n = new f(e, t);
2046
+ }), n = new f(e, o);
2018
2047
  n.position.y = 0.05;
2019
- const a = new S(0.1, 0.1, 0.7, 16), c = new w({
2048
+ const r = new b(0.1, 0.1, 0.7, 16), a = new w({
2020
2049
  color: 5592405,
2021
2050
  roughness: 0.5,
2022
2051
  metalness: 0.4
2023
- }), s = new f(a, c);
2052
+ }), s = new f(r, a);
2024
2053
  s.position.y = 0.4;
2025
- const r = new z(0.075, 0.2, 16), i = new w({
2054
+ const c = new q(0.075, 0.2, 16), i = new w({
2026
2055
  color: 16733440,
2027
2056
  emissive: 16733440,
2028
2057
  emissiveIntensity: 0.6,
2029
2058
  transparent: !0,
2030
2059
  opacity: 0.8
2031
- }), l = new f(r, i);
2060
+ }), l = new f(c, i);
2032
2061
  l.position.y = 0.8, this.add(n, s, l);
2033
2062
  }
2034
2063
  }
2035
- class Eo extends P {
2064
+ class Vo extends P {
2036
2065
  constructor() {
2037
2066
  super();
2038
- const e = new g(3, 4, 0.1), t = new w({
2067
+ const e = new I(3, 4, 0.1), o = new w({
2039
2068
  color: 3026478,
2040
2069
  roughness: 0.8,
2041
2070
  metalness: 0.6
2042
- }), n = new g(0.2, 0.5, 0.2), a = new w({
2071
+ }), n = new I(0.2, 0.5, 0.2), r = new w({
2043
2072
  color: 11184810,
2044
2073
  roughness: 0.5,
2045
2074
  metalness: 0.7
2046
- }), c = new S(0.3, 0.3, 0.1, 16), s = new w({
2075
+ }), a = new b(0.3, 0.3, 0.1, 16), s = new w({
2047
2076
  color: 5592405,
2048
2077
  roughness: 0.7,
2049
2078
  metalness: 0.5
2050
- }), r = new f(e, t);
2051
- for (let y = -1; y <= 1; y++) {
2052
- const I = new f(n, a);
2053
- I.position.set(y, 1.5, 0.1), r.add(I);
2079
+ }), c = new f(e, o);
2080
+ for (let x = -1; x <= 1; x++) {
2081
+ const S = new f(n, r);
2082
+ S.position.set(x, 1.5, 0.1), c.add(S);
2054
2083
  }
2055
- const i = new f(c, s);
2056
- i.rotation.x = Math.PI / 2, i.position.set(0, 0.5, 0.15), r.add(i);
2057
- const l = new T(0.15, 8, 8), u = new w({
2084
+ const i = new f(a, s);
2085
+ i.rotation.x = Math.PI / 2, i.position.set(0, 0.5, 0.15), c.add(i);
2086
+ const l = new C(0.15, 8, 8), u = new w({
2058
2087
  color: 16711680,
2059
2088
  emissive: 16711680,
2060
2089
  emissiveIntensity: 0.5
2061
2090
  }), m = new f(l, u);
2062
- m.position.set(0, -1, 0.1), r.add(m), this.add(r);
2091
+ m.position.set(0, -1, 0.1), c.add(m), this.add(c);
2063
2092
  let h = 0.015, d = 0.8, p = 0.2;
2064
- function x() {
2065
- requestAnimationFrame(x);
2066
- const y = p + Math.abs(Math.sin(Date.now() * h)) * (d - p);
2067
- m.material.emissiveIntensity = y;
2093
+ function y() {
2094
+ requestAnimationFrame(y);
2095
+ const x = p + Math.abs(Math.sin(Date.now() * h)) * (d - p);
2096
+ m.material.emissiveIntensity = x;
2068
2097
  }
2069
- x();
2098
+ y();
2070
2099
  }
2071
2100
  }
2072
- class To extends f {
2101
+ class Do extends f {
2073
2102
  constructor({
2074
2103
  flaskRadius: e = 1,
2075
2104
  //
2076
- neckRadius: t = 0.3,
2105
+ neckRadius: o = 0.3,
2077
2106
  height: n = 2.5,
2078
- neckHeight: a = 1,
2079
- radialSegments: c = 16
2107
+ neckHeight: r = 1,
2108
+ radialSegments: a = 16
2080
2109
  } = {}) {
2081
- super(), this.geometry = new vt({ flaskRadius: e, neckRadius: t, height: n, neckHeight: a, radialSegments: c }), this.material = new Y({
2110
+ super(), this.geometry = new Et({ flaskRadius: e, neckRadius: o, height: n, neckHeight: r, radialSegments: a }), this.material = new Y({
2082
2111
  color: 8965375,
2083
2112
  transparent: !0,
2084
2113
  opacity: 0.4,
@@ -2086,177 +2115,177 @@ class To extends f {
2086
2115
  metalness: 0.1,
2087
2116
  reflectivity: 0.8,
2088
2117
  transmission: 0.9,
2089
- side: O,
2118
+ side: z,
2090
2119
  wireframe: !1
2091
2120
  });
2092
2121
  }
2093
2122
  }
2094
- class Bo extends P {
2123
+ class Zo extends P {
2095
2124
  constructor() {
2096
2125
  super();
2097
2126
  const e = [
2098
- new b(0, 0),
2127
+ new v(0, 0),
2099
2128
  // Bottom of the flask
2100
- new b(1.2, 0),
2129
+ new v(1.2, 0),
2101
2130
  // Base
2102
- new b(1.5, 1.5),
2131
+ new v(1.5, 1.5),
2103
2132
  // Mid-body
2104
- new b(1, 3),
2133
+ new v(1, 3),
2105
2134
  // Narrow neck
2106
- new b(0.6, 3.5)
2135
+ new v(0.6, 3.5)
2107
2136
  // Mouth of the flask
2108
- ], t = new q(e, 12), n = new S(0.6, 0.7, 0.3, 8), a = new w({
2137
+ ], o = new L(e, 12), n = new b(0.6, 0.7, 0.3, 8), r = new w({
2109
2138
  color: 8965290,
2110
2139
  transparent: !0,
2111
2140
  opacity: 0.4,
2112
2141
  roughness: 0.1,
2113
2142
  metalness: 0.5
2114
- }), c = new w({
2143
+ }), a = new w({
2115
2144
  color: 9127187,
2116
2145
  roughness: 1
2117
- }), s = new f(t, a), r = new f(n, c);
2118
- r.position.y = 3.5, this.add(s, r);
2146
+ }), s = new f(o, r), c = new f(n, a);
2147
+ c.position.y = 3.5, this.add(s, c);
2119
2148
  }
2120
2149
  }
2121
- class Co extends P {
2150
+ class Yo extends P {
2122
2151
  constructor() {
2123
2152
  super();
2124
- const e = new g(2, 3, 0.1), t = new w({
2153
+ const e = new I(2, 3, 0.1), o = new w({
2125
2154
  color: 3355443,
2126
2155
  roughness: 0.8,
2127
2156
  metalness: 0.5
2128
- }), n = new f(e, t), a = new S(0.1, 0.1, 0.2, 8), c = new S(0.05, 0.05, 1, 8), s = new w({
2157
+ }), n = new f(e, o), r = new b(0.1, 0.1, 0.2, 8), a = new b(0.05, 0.05, 1, 8), s = new w({
2129
2158
  color: 11184810,
2130
2159
  roughness: 0.5,
2131
2160
  metalness: 0.7
2132
2161
  });
2133
- for (let r = -0.5; r <= 0.5; r += 0.5) {
2134
- const i = new f(a, s);
2135
- i.position.set(r, 1, 0.1);
2136
- const l = new f(c, s);
2162
+ for (let c = -0.5; c <= 0.5; c += 0.5) {
2163
+ const i = new f(r, s);
2164
+ i.position.set(c, 1, 0.1);
2165
+ const l = new f(a, s);
2137
2166
  l.position.y = 0.5, i.add(l), this.add(i);
2138
2167
  }
2139
2168
  this.add(n);
2140
2169
  }
2141
2170
  }
2142
- class ko extends P {
2171
+ class Qo extends P {
2143
2172
  constructor() {
2144
2173
  super();
2145
- const e = new g(1, 0.2, 0.5), t = new w({
2174
+ const e = new I(1, 0.2, 0.5), o = new w({
2146
2175
  color: 4473924,
2147
2176
  roughness: 0.6,
2148
2177
  metalness: 0.3
2149
- }), n = new f(e, t);
2178
+ }), n = new f(e, o);
2150
2179
  n.position.y = 0.1;
2151
- const a = new g(0.2, 1, 0.2), c = new f(a, t);
2152
- c.position.set(0, 0.6, -0.2);
2153
- const s = new S(0.1, 0.1, 0.4, 8), r = new w({
2180
+ const r = new I(0.2, 1, 0.2), a = new f(r, o);
2181
+ a.position.set(0, 0.6, -0.2);
2182
+ const s = new b(0.1, 0.1, 0.4, 8), c = new w({
2154
2183
  color: 3355443,
2155
2184
  roughness: 0.5,
2156
2185
  metalness: 0.6
2157
- }), i = new f(s, r);
2186
+ }), i = new f(s, c);
2158
2187
  i.position.set(0, 1.1, -0.35), i.rotation.x = -Math.PI / 4;
2159
- const l = new g(0.6, 0.1, 0.6), u = new w({
2188
+ const l = new I(0.6, 0.1, 0.6), u = new w({
2160
2189
  color: 5592405,
2161
2190
  roughness: 0.8,
2162
2191
  metalness: 0.2
2163
2192
  }), m = new f(l, u);
2164
- m.position.set(0, 0.6, 0), this.add(n, c, i, m);
2193
+ m.position.set(0, 0.6, 0), this.add(n, a, i, m);
2165
2194
  }
2166
2195
  }
2167
- class No extends P {
2196
+ class Ho extends P {
2168
2197
  constructor() {
2169
2198
  super();
2170
- const e = new gt(), t = new S(0.2, 0.3, 1.5, 8);
2171
- t.translate(0, 0.75, 0);
2199
+ const e = new Ct(), o = new b(0.2, 0.3, 1.5, 8);
2200
+ o.translate(0, 0.75, 0);
2172
2201
  const n = new w({
2173
2202
  color: 6045747,
2174
2203
  // Dark earthy tone
2175
2204
  roughness: 1,
2176
2205
  metalness: 0,
2177
- side: O
2206
+ side: z
2178
2207
  // Render inside and outside
2179
- }), a = new w({
2208
+ }), r = new w({
2180
2209
  color: 9132587,
2181
2210
  // Slightly lighter earthy color
2182
2211
  roughness: 0.8,
2183
2212
  metalness: 0.1
2184
- }), c = new f(e, n), s = new f(t, a);
2185
- s.position.set(0.3, 1.3, 0), s.rotation.z = Math.PI / 4, this.add(c, s);
2213
+ }), a = new f(e, n), s = new f(o, r);
2214
+ s.position.set(0.3, 1.3, 0), s.rotation.z = Math.PI / 4, this.add(a, s);
2186
2215
  }
2187
2216
  }
2188
- class _o extends P {
2217
+ class jo extends P {
2189
2218
  constructor() {
2190
2219
  super();
2191
- const e = 100, t = 0.05, n = new xe(
2220
+ const e = 100, o = 0.05, n = new Me(
2192
2221
  Array.from({ length: e }, (l, u) => {
2193
2222
  const m = u * 0.2;
2194
2223
  return new M(
2195
2224
  Math.cos(m) * 0.4,
2196
- u * t,
2225
+ u * o,
2197
2226
  // Gradual height increase
2198
2227
  Math.sin(m) * 0.4
2199
2228
  );
2200
2229
  })
2201
- ), a = new Me(n, 200, 0.1, 8, !1), c = new w({
2230
+ ), r = new ve(n, 200, 0.1, 8, !1), a = new w({
2202
2231
  color: 8965375,
2203
2232
  transparent: !0,
2204
2233
  opacity: 0.3,
2205
2234
  roughness: 0.1,
2206
2235
  metalness: 0.2,
2207
2236
  emissive: 8965375
2208
- }), s = new f(a, c);
2237
+ }), s = new f(r, a);
2209
2238
  this.add(s);
2210
- function r() {
2211
- c.emissiveIntensity = 0.2 + Math.sin(Date.now() * 5e-3) * 0.1;
2239
+ function c() {
2240
+ a.emissiveIntensity = 0.2 + Math.sin(Date.now() * 5e-3) * 0.1;
2212
2241
  }
2213
2242
  function i() {
2214
- requestAnimationFrame(i), r();
2243
+ requestAnimationFrame(i), c();
2215
2244
  }
2216
2245
  i();
2217
2246
  }
2218
2247
  }
2219
- class Uo extends f {
2248
+ class Ko extends f {
2220
2249
  constructor({
2221
2250
  radius: e = 0.3,
2222
2251
  //
2223
- height: t = 0.4,
2252
+ height: o = 0.4,
2224
2253
  count: n = 3,
2225
- thickness: a = 0.03,
2226
- radialSegments: c = 16
2254
+ thickness: r = 0.03,
2255
+ radialSegments: a = 16
2227
2256
  } = {}) {
2228
- super(), this.geometry = new bt({ radius: e, height: t, count: n, thickness: a, radialSegments: c }), this.material = new w({
2257
+ super(), this.geometry = new Tt({ radius: e, height: o, count: n, thickness: r, radialSegments: a }), this.material = new w({
2229
2258
  color: 8947848,
2230
2259
  roughness: 0.7,
2231
2260
  metalness: 0.3
2232
2261
  });
2233
2262
  }
2234
2263
  }
2235
- class Fo extends P {
2264
+ class Jo extends P {
2236
2265
  constructor() {
2237
2266
  super();
2238
- const e = new S(0.5, 0.6, 0.3, 16), t = new w({
2267
+ const e = new b(0.5, 0.6, 0.3, 16), o = new w({
2239
2268
  color: 3355443,
2240
2269
  roughness: 0.6,
2241
2270
  metalness: 0.5
2242
- }), n = new f(e, t);
2271
+ }), n = new f(e, o);
2243
2272
  n.position.y = 0.15;
2244
- const a = new S(0.15, 0.15, 2, 12, 1, !0), c = new w({
2273
+ const r = new b(0.15, 0.15, 2, 12, 1, !0), a = new w({
2245
2274
  color: 16737792,
2246
2275
  roughness: 0.5,
2247
2276
  metalness: 0.8,
2248
- side: O
2249
- }), s = new f(a, c);
2277
+ side: z
2278
+ }), s = new f(r, a);
2250
2279
  s.position.y = 1.3;
2251
- const r = new T(0.3, 16, 16), i = new f(r, c);
2280
+ const c = new C(0.3, 16, 16), i = new f(c, a);
2252
2281
  i.position.y = 2.4, this.add(n, s, i);
2253
2282
  const l = [];
2254
2283
  for (let h = 0; h < 5; h++) {
2255
- const d = new ve({ color: 10079487 }), p = [
2284
+ const d = new ge({ color: 10079487 }), p = [
2256
2285
  new M(0, 2.4, 0),
2257
2286
  new M((Math.random() - 0.5) * 1.5, Math.random() * 2.4, (Math.random() - 0.5) * 1.5)
2258
- ], x = new v().setFromPoints(p), y = new ge(x, d);
2259
- this.add(y), l.push(y);
2287
+ ], y = new g().setFromPoints(p), x = new Ie(y, d);
2288
+ this.add(x), l.push(x);
2260
2289
  }
2261
2290
  function u() {
2262
2291
  l.forEach((h) => {
@@ -2273,10 +2302,10 @@ class Fo extends P {
2273
2302
  m();
2274
2303
  }
2275
2304
  }
2276
- class Oo extends P {
2277
- constructor(e = 0.2, t = 0.2, n = 3, a = 32) {
2305
+ class $o extends P {
2306
+ constructor(e = 0.2, o = 0.2, n = 3, r = 32) {
2278
2307
  super();
2279
- const c = new H(e, t, n, a), s = new Y({
2308
+ const a = new j(e, o, n, r), s = new Y({
2280
2309
  color: 8965375,
2281
2310
  transparent: !0,
2282
2311
  opacity: 0.4,
@@ -2285,48 +2314,48 @@ class Oo extends P {
2285
2314
  reflectivity: 0.8,
2286
2315
  transmission: 0.9,
2287
2316
  // For glass effect
2288
- side: O
2289
- }), r = new f(c, s);
2290
- this.add(r);
2317
+ side: z
2318
+ }), c = new f(a, s);
2319
+ this.add(c);
2291
2320
  }
2292
2321
  }
2293
- class zo extends P {
2294
- constructor(e = 3, t = [65450, 16711850, 11141375]) {
2322
+ class Wo extends P {
2323
+ constructor(e = 3, o = [65450, 16711850, 11141375]) {
2295
2324
  super();
2296
- const n = new g(3, 0.2, 1), a = new w({
2325
+ const n = new I(3, 0.2, 1), r = new w({
2297
2326
  color: 9127187,
2298
2327
  // Wooden color or change to metallic tone
2299
2328
  roughness: 0.7,
2300
2329
  metalness: 0.3
2301
- }), c = new f(n, a);
2302
- c.position.y = 0.5;
2303
- const s = new H(0.1, 0.1, 1, 16), r = new w({
2330
+ }), a = new f(n, r);
2331
+ a.position.y = 0.5;
2332
+ const s = new j(0.1, 0.1, 1, 16), c = new w({
2304
2333
  color: 11184810,
2305
2334
  transparent: !0,
2306
2335
  opacity: 0.4,
2307
2336
  roughness: 0.1,
2308
2337
  metalness: 0.5,
2309
- side: O
2338
+ side: z
2310
2339
  });
2311
2340
  for (let i = 0; i < e; i++) {
2312
- const l = new f(s, r), u = (i - (e - 1) / 2) * 0.8;
2341
+ const l = new f(s, c), u = (i - (e - 1) / 2) * 0.8;
2313
2342
  l.position.set(u, 1, 0);
2314
- const m = new H(0.099, 0.099, 0.5, 16, !1), h = t[i % t.length], d = new w({
2343
+ const m = new j(0.099, 0.099, 0.5, 16, !1), h = o[i % o.length], d = new w({
2315
2344
  color: h,
2316
2345
  emissive: h,
2317
2346
  emissiveIntensity: 0.5,
2318
2347
  transparent: !0,
2319
2348
  opacity: 0.6
2320
2349
  }), p = new f(m, d);
2321
- p.position.set(0, -0.25, 0), l.add(p), c.add(l);
2350
+ p.position.set(0, -0.25, 0), l.add(p), a.add(l);
2322
2351
  }
2323
- this.add(c);
2352
+ this.add(a);
2324
2353
  }
2325
2354
  }
2326
- class qo extends f {
2355
+ class en extends f {
2327
2356
  constructor() {
2328
2357
  super();
2329
- const e = new St(), t = new Y({
2358
+ const e = new Bt(), o = new Y({
2330
2359
  color: 5597999,
2331
2360
  roughness: 0.1,
2332
2361
  transmission: 0.9,
@@ -2336,30 +2365,30 @@ class qo extends f {
2336
2365
  clearcoat: 1,
2337
2366
  clearcoatRoughness: 0.1
2338
2367
  });
2339
- this.geometry = e, this.material = t;
2368
+ this.geometry = e, this.material = o;
2340
2369
  }
2341
2370
  }
2342
- class Et extends L {
2343
- constructor(e = 5, t = 0.5, n = 1) {
2371
+ class _t extends R {
2372
+ constructor(e = 5, o = 0.5, n = 1) {
2344
2373
  super();
2345
- const a = Math.PI * 2 / e, c = a / 2, s = a / 4;
2374
+ const r = Math.PI * 2 / e, a = r / 2, s = r / 4;
2346
2375
  this.moveTo(Math.cos(0) * n, -Math.sin(0) * n);
2347
- for (let r = 1; r <= e; ++r) {
2348
- let i = Math.cos(a * r - s * 3) * (t / Math.cos(s)), l = -Math.sin(a * r - s * 3) * (t / Math.cos(s)), u = Math.cos(a * r - c) * t, m = -Math.sin(a * r - c) * t;
2349
- this.quadraticCurveTo(i, l, u, m), i = Math.cos(a * r - s) * (t / Math.cos(s)), l = -Math.sin(a * r - s) * (t / Math.cos(s)), u = Math.cos(a * r) * n, m = -Math.sin(a * r) * n, this.quadraticCurveTo(i, l, u, m);
2376
+ for (let c = 1; c <= e; ++c) {
2377
+ let i = Math.cos(r * c - s * 3) * (o / Math.cos(s)), l = -Math.sin(r * c - s * 3) * (o / Math.cos(s)), u = Math.cos(r * c - a) * o, m = -Math.sin(r * c - a) * o;
2378
+ this.quadraticCurveTo(i, l, u, m), i = Math.cos(r * c - s) * (o / Math.cos(s)), l = -Math.sin(r * c - s) * (o / Math.cos(s)), u = Math.cos(r * c) * n, m = -Math.sin(r * c) * n, this.quadraticCurveTo(i, l, u, m);
2350
2379
  }
2351
2380
  this.closePath();
2352
2381
  }
2353
2382
  }
2354
- class Lo extends f {
2355
- constructor(e = 5, t = 0.5, n = 1, a = 0.25) {
2383
+ class tn extends f {
2384
+ constructor(e = 5, o = 0.5, n = 1, r = 0.25) {
2356
2385
  super();
2357
- const c = new Et(e, t, n), s = new V(c, {
2358
- depth: a,
2359
- bevelEnabled: a > 0,
2386
+ const a = new _t(e, o, n), s = new X(a, {
2387
+ depth: r,
2388
+ bevelEnabled: r > 0,
2360
2389
  bevelThickness: 0,
2361
2390
  bevelSize: 0
2362
- }), r = new w({
2391
+ }), c = new w({
2363
2392
  color: 16776960,
2364
2393
  emissive: 16766720,
2365
2394
  emissiveIntensity: 0.25,
@@ -2367,29 +2396,29 @@ class Lo extends f {
2367
2396
  roughness: 0.3,
2368
2397
  flatShading: !0
2369
2398
  });
2370
- s.center(), this.geometry = s, this.material = r;
2399
+ s.center(), this.geometry = s, this.material = c;
2371
2400
  }
2372
2401
  }
2373
- class Tt extends L {
2374
- constructor(e = 5, t = 0.5, n = 1, a = 5, c = 0.25) {
2402
+ class Ft extends R {
2403
+ constructor(e = 5, o = 0.5, n = 1, r = 5, a = 0.25) {
2375
2404
  super();
2376
- const s = Math.PI * 2 / e, r = s / 4;
2405
+ const s = Math.PI * 2 / e, c = s / 4;
2377
2406
  this.moveTo(Math.cos(0) * n, -Math.sin(0) * n);
2378
2407
  for (let i = 1; i <= e; ++i)
2379
- this.lineTo(Math.cos(s * i - r * 3) * t, -Math.sin(s * i - r * 3) * t), this.lineTo(Math.cos(s * i - r * 2) * t, -Math.sin(s * i - r * 2) * t), this.lineTo(Math.cos(s * i - r) * n, -Math.sin(s * i - r) * n), this.lineTo(Math.cos(s * i) * n, -Math.sin(s * i) * n);
2380
- if (this.closePath(), c > 0 && a > 2) {
2381
- const i = new be(), l = Math.PI * 2 / a;
2382
- i.moveTo(Math.cos(0) * c, -Math.sin(0) * c);
2383
- for (let u = 1; u < a; ++u)
2384
- i.lineTo(Math.cos(l * u) * c, -Math.sin(l * u) * c);
2385
- i.lineTo(Math.cos(0) * c, -Math.sin(0) * c), this.holes.push(i);
2408
+ this.lineTo(Math.cos(s * i - c * 3) * o, -Math.sin(s * i - c * 3) * o), this.lineTo(Math.cos(s * i - c * 2) * o, -Math.sin(s * i - c * 2) * o), this.lineTo(Math.cos(s * i - c) * n, -Math.sin(s * i - c) * n), this.lineTo(Math.cos(s * i) * n, -Math.sin(s * i) * n);
2409
+ if (this.closePath(), a > 0 && r > 2) {
2410
+ const i = new be(), l = Math.PI * 2 / r;
2411
+ i.moveTo(Math.cos(0) * a, -Math.sin(0) * a);
2412
+ for (let u = 1; u < r; ++u)
2413
+ i.lineTo(Math.cos(l * u) * a, -Math.sin(l * u) * a);
2414
+ i.lineTo(Math.cos(0) * a, -Math.sin(0) * a), this.holes.push(i);
2386
2415
  }
2387
2416
  }
2388
2417
  }
2389
- class Vo extends f {
2390
- constructor(e = 5, t = 0.5, n = 1, a = 5, c = 0.25, s = 0.25) {
2418
+ class on extends f {
2419
+ constructor(e = 5, o = 0.5, n = 1, r = 5, a = 0.25, s = 0.25) {
2391
2420
  super();
2392
- const r = new Tt(e, t, n, a, c), i = new V(r, {
2421
+ const c = new Ft(e, o, n, r, a), i = new X(c, {
2393
2422
  depth: s,
2394
2423
  bevelEnabled: s > 0,
2395
2424
  bevelThickness: 0,
@@ -2403,23 +2432,23 @@ class Vo extends f {
2403
2432
  i.center(), this.geometry = i, this.material = l;
2404
2433
  }
2405
2434
  }
2406
- class Bt extends L {
2407
- constructor(e = 1, t = 2.1, n = 1.4, a = 1.6) {
2435
+ class zt extends R {
2436
+ constructor(e = 1, o = 2.1, n = 1.4, r = 1.6) {
2408
2437
  super(), this.moveTo(0, n * e / 3), this.bezierCurveTo(
2409
- -t * 0.375 * e,
2438
+ -o * 0.375 * e,
2410
2439
  n * e,
2411
2440
  // Control point 1 for the left lobe
2412
- -t * e,
2441
+ -o * e,
2413
2442
  n * e / 3,
2414
2443
  // Control point 2 for the left side of the heart
2415
2444
  0,
2416
- -a * e
2445
+ -r * e
2417
2446
  // Bottom tip of the heart, controlled by `tipDepth`
2418
2447
  ), this.bezierCurveTo(
2419
- t * e,
2448
+ o * e,
2420
2449
  n * e / 3,
2421
2450
  // Control point 3 for the right side of the heart
2422
- t * 0.375 * e,
2451
+ o * 0.375 * e,
2423
2452
  n * e,
2424
2453
  // Control point 4 for the right lobe
2425
2454
  0,
@@ -2428,12 +2457,12 @@ class Bt extends L {
2428
2457
  );
2429
2458
  }
2430
2459
  }
2431
- class Xo extends f {
2432
- constructor(e = 1, t = 1, n = 1, a = 10, c = 0.25) {
2460
+ class nn extends f {
2461
+ constructor(e = 1, o = 1, n = 1, r = 10, a = 0.25) {
2433
2462
  super();
2434
- const s = new Bt(e, t, n, a), r = new V(s, {
2435
- depth: c,
2436
- bevelEnabled: c > 0,
2463
+ const s = new zt(e, o, n, r), c = new X(s, {
2464
+ depth: a,
2465
+ bevelEnabled: a > 0,
2437
2466
  bevelThickness: 0,
2438
2467
  bevelSize: 0
2439
2468
  }), i = new w({
@@ -2444,28 +2473,28 @@ class Xo extends f {
2444
2473
  roughness: 0.3,
2445
2474
  flatShading: !0
2446
2475
  });
2447
- r.center(), this.geometry = r, this.material = i;
2476
+ c.center(), this.geometry = c, this.material = i;
2448
2477
  }
2449
2478
  }
2450
- class Ct extends L {
2451
- constructor(e = 5, t = 0.5, n = 1) {
2479
+ class qt extends R {
2480
+ constructor(e = 5, o = 0.5, n = 1) {
2452
2481
  super();
2453
- const a = Math.PI * 2 / e, c = a / 2;
2482
+ const r = Math.PI * 2 / e, a = r / 2;
2454
2483
  this.moveTo(Math.cos(0) * n, Math.sin(0) * n);
2455
2484
  for (let s = 1; s <= e; ++s)
2456
- this.lineTo(Math.cos(a * s - c) * t, Math.sin(a * s - c) * t), this.lineTo(Math.cos(a * s) * n, Math.sin(a * s) * n);
2485
+ this.lineTo(Math.cos(r * s - a) * o, Math.sin(r * s - a) * o), this.lineTo(Math.cos(r * s) * n, Math.sin(r * s) * n);
2457
2486
  this.closePath();
2458
2487
  }
2459
2488
  }
2460
- class Ro extends f {
2461
- constructor(e = 5, t = 0.5, n = 1, a = 0.25) {
2489
+ class sn extends f {
2490
+ constructor(e = 5, o = 0.5, n = 1, r = 0.25) {
2462
2491
  super();
2463
- const c = new Ct(e, t, n), s = new V(c, {
2464
- depth: a,
2465
- bevelEnabled: a > 0,
2492
+ const a = new qt(e, o, n), s = new X(a, {
2493
+ depth: r,
2494
+ bevelEnabled: r > 0,
2466
2495
  bevelThickness: 0,
2467
2496
  bevelSize: 0
2468
- }), r = new w({
2497
+ }), c = new w({
2469
2498
  color: 16776960,
2470
2499
  emissive: 16766720,
2471
2500
  emissiveIntensity: 0.25,
@@ -2473,41 +2502,41 @@ class Ro extends f {
2473
2502
  roughness: 0.3,
2474
2503
  flatShading: !0
2475
2504
  });
2476
- s.center(), this.geometry = s, this.material = r;
2505
+ s.center(), this.geometry = s, this.material = c;
2477
2506
  }
2478
2507
  }
2479
- class Zo extends f {
2508
+ class rn extends f {
2480
2509
  constructor() {
2481
- super(), this.geometry = new xt(), this.material = new w({ color: 16777215 });
2510
+ super(), this.geometry = new Pt(), this.material = new w({ color: 16777215 });
2482
2511
  }
2483
2512
  }
2484
- class Yo extends f {
2513
+ class an extends f {
2485
2514
  constructor({
2486
2515
  trunkRadiusTop: e = 0.25,
2487
- trunkRadiusBottom: t = 0.4,
2516
+ trunkRadiusBottom: o = 0.4,
2488
2517
  trunkHeight: n = 2.5,
2489
- trunkSegments: a = 14,
2490
- trunkColor: c = 9127187,
2518
+ trunkSegments: r = 14,
2519
+ trunkColor: a = 9127187,
2491
2520
  leafSize: s = 0.8,
2492
- leafCount: r = 6,
2521
+ leafCount: c = 6,
2493
2522
  leafDetail: i = 0,
2494
2523
  leafSpreadRadius: l = 1.5,
2495
2524
  leafColor: u = 2263842
2496
2525
  } = {}) {
2497
2526
  super();
2498
- const m = new At({
2527
+ const m = new Ot({
2499
2528
  trunkRadiusTop: e,
2500
- trunkRadiusBottom: t,
2529
+ trunkRadiusBottom: o,
2501
2530
  trunkHeight: n,
2502
- trunkSegments: a,
2503
- trunkColor: c,
2531
+ trunkSegments: r,
2532
+ trunkColor: a,
2504
2533
  leafSize: s,
2505
- leafCount: r,
2534
+ leafCount: c,
2506
2535
  leafDetail: i,
2507
2536
  leafSpreadRadius: l,
2508
2537
  leafColor: u
2509
2538
  }), h = new w({
2510
- color: c,
2539
+ color: a,
2511
2540
  roughness: 0.9,
2512
2541
  metalness: 0,
2513
2542
  flatShading: !0
@@ -2520,49 +2549,49 @@ class Yo extends f {
2520
2549
  this.geometry = m, this.material = [h, d];
2521
2550
  }
2522
2551
  }
2523
- class Qo extends f {
2552
+ class cn extends f {
2524
2553
  constructor({
2525
2554
  radius: e = 3,
2526
2555
  //
2527
- height: t = 0.6,
2556
+ height: o = 0.6,
2528
2557
  widthSegments: n = 64,
2529
- heightSegments: a = 16,
2530
- phiStart: c = 0,
2558
+ heightSegments: r = 16,
2559
+ phiStart: a = 0,
2531
2560
  phiLength: s = Math.PI * 2
2532
2561
  } = {}) {
2533
- super(), this.geometry = new It({
2562
+ super(), this.geometry = new kt({
2534
2563
  radius: e,
2535
- height: t,
2564
+ height: o,
2536
2565
  widthSegments: n,
2537
- heightSegments: a,
2538
- phiStart: c,
2566
+ heightSegments: r,
2567
+ phiStart: a,
2539
2568
  phiLength: s
2540
2569
  }), this.material = new w({ color: 65280, flatShading: !0 });
2541
2570
  }
2542
2571
  }
2543
- class Do extends f {
2572
+ class ln extends f {
2544
2573
  constructor({
2545
- radius: e = me(5, Math.PI / 10),
2574
+ radius: e = he(5, Math.PI / 10),
2546
2575
  //
2547
- widthSegments: t = 64,
2576
+ widthSegments: o = 64,
2548
2577
  heightSegments: n = 32,
2549
- phiStart: a = 0,
2550
- phiLength: c = Math.PI * 2,
2578
+ phiStart: r = 0,
2579
+ phiLength: a = Math.PI * 2,
2551
2580
  thetaLength: s = Math.PI / 10
2552
2581
  } = {}) {
2553
- super(), this.geometry = new Pt({
2582
+ super(), this.geometry = new Ut({
2554
2583
  radius: e,
2555
- widthSegments: t,
2584
+ widthSegments: o,
2556
2585
  heightSegments: n,
2557
- phiStart: a,
2558
- phiLength: c,
2586
+ phiStart: r,
2587
+ phiLength: a,
2559
2588
  thetaLength: s
2560
2589
  }), this.material = new w({ color: 65280, flatShading: !0 });
2561
2590
  }
2562
2591
  }
2563
- function Ho(o, { time: e = 0, waveFrequency: t = 0.2, waveAmplitude: n = 0.5 } = {}) {
2564
- o.onBeforeCompile = (a) => {
2565
- a.uniforms.time = { value: e }, a.uniforms.waveFrequency = { value: t }, a.uniforms.waveAmplitude = { value: n }, a.vertexShader = `
2592
+ function un(t, { time: e = 0, waveFrequency: o = 0.2, waveAmplitude: n = 0.5 } = {}) {
2593
+ t.onBeforeCompile = (r) => {
2594
+ r.uniforms.time = { value: e }, r.uniforms.waveFrequency = { value: o }, r.uniforms.waveAmplitude = { value: n }, r.vertexShader = `
2566
2595
  uniform float time;
2567
2596
  uniform float waveFrequency;
2568
2597
  uniform float waveAmplitude;
@@ -2576,20 +2605,20 @@ function Ho(o, { time: e = 0, waveFrequency: t = 0.2, waveAmplitude: n = 0.5 } =
2576
2605
 
2577
2606
  return displaced;
2578
2607
  }
2579
- ` + a.vertexShader, a.vertexShader = a.vertexShader.replace(
2608
+ ` + r.vertexShader, r.vertexShader = r.vertexShader.replace(
2580
2609
  "#include <begin_vertex>",
2581
2610
  `
2582
2611
  vec3 transformed = waterDisplacement(position, normal);
2583
2612
  `
2584
- ), o.userData.shader = a;
2613
+ ), t.userData.shader = r;
2585
2614
  };
2586
2615
  }
2587
- function jo(o, e) {
2588
- o.userData.shader && (o.userData.shader.uniforms.time.value += e);
2616
+ function mn(t, e) {
2617
+ t.userData.shader && (t.userData.shader.uniforms.time.value += e);
2589
2618
  }
2590
- function Ko(o, { time: e = 0, intensity: t = 1, direction: n = U.XYZ, scale: a = 10 } = {}) {
2591
- o.onBeforeCompile = (c) => {
2592
- c.uniforms.time = { value: e }, c.uniforms.direction = { value: n }, c.uniforms.intensity = { value: t }, c.uniforms.scale = { value: a }, c.vertexShader = `
2619
+ function hn(t, { time: e = 0, intensity: o = 1, direction: n = _.XYZ, scale: r = 10 } = {}) {
2620
+ t.onBeforeCompile = (a) => {
2621
+ a.uniforms.time = { value: e }, a.uniforms.direction = { value: n }, a.uniforms.intensity = { value: o }, a.uniforms.scale = { value: r }, a.vertexShader = `
2593
2622
  uniform float time;
2594
2623
  uniform vec3 direction;
2595
2624
  uniform float intensity;
@@ -2620,7 +2649,7 @@ function Ko(o, { time: e = 0, intensity: t = 1, direction: n = U.XYZ, scale: a =
2620
2649
 
2621
2650
  return o4.y * d.y + o4.x * (1.0 - d.y);
2622
2651
  }
2623
- ` + c.vertexShader, c.vertexShader = c.vertexShader.replace(
2652
+ ` + a.vertexShader, a.vertexShader = a.vertexShader.replace(
2624
2653
  "#include <begin_vertex>",
2625
2654
  `
2626
2655
  vec3 transformed = vec3(position);
@@ -2628,13 +2657,13 @@ function Ko(o, { time: e = 0, intensity: t = 1, direction: n = U.XYZ, scale: a =
2628
2657
  transformed += normalize(direction) * n * intensity;
2629
2658
  vec3 transformedNormal = normal;
2630
2659
  `
2631
- ), o.userData.shader = c;
2660
+ ), t.userData.shader = a;
2632
2661
  };
2633
2662
  }
2634
- function Jo(o, e) {
2635
- o.userData.shader && (o.userData.shader.uniforms.time.value += e);
2663
+ function fn(t, e) {
2664
+ t.userData.shader && (t.userData.shader.uniforms.time.value += e);
2636
2665
  }
2637
- const ne = {
2666
+ const se = {
2638
2667
  uniforms: {},
2639
2668
  vertexShader: `
2640
2669
  varying vec3 vPosition;
@@ -2652,7 +2681,7 @@ const ne = {
2652
2681
  gl_FragColor = vec4(mix(bottomColor, topColor, y), 1.0);
2653
2682
  }
2654
2683
  `
2655
- }, kt = {
2684
+ }, Lt = {
2656
2685
  uniforms: {
2657
2686
  tDiffuse: { value: null },
2658
2687
  opacity: { value: 1 }
@@ -2673,10 +2702,10 @@ const ne = {
2673
2702
  gl_FragColor = opacity * texel;
2674
2703
  }
2675
2704
  `
2676
- }, D = {
2705
+ }, H = {
2677
2706
  uniforms: {
2678
- topColor: { value: new ee(51) },
2679
- bottomColor: { value: new ee(17) },
2707
+ topColor: { value: new te(51) },
2708
+ bottomColor: { value: new te(17) },
2680
2709
  offset: { value: 33 },
2681
2710
  exponent: { value: 0.6 }
2682
2711
  },
@@ -2700,248 +2729,322 @@ const ne = {
2700
2729
  }
2701
2730
  `
2702
2731
  };
2703
- class $o extends f {
2732
+ class pn extends f {
2704
2733
  constructor(e = 1e3) {
2705
- super(), this.geometry = new g(e, e, e), this.material = new K({
2706
- vertexShader: ne.vertexShader,
2707
- fragmentShader: ne.fragmentShader,
2708
- side: re
2734
+ super(), this.geometry = new I(e, e, e), this.material = new J({
2735
+ vertexShader: se.vertexShader,
2736
+ fragmentShader: se.fragmentShader,
2737
+ side: ce
2709
2738
  });
2710
2739
  }
2711
2740
  }
2712
- class Wo extends f {
2741
+ class dn extends f {
2713
2742
  constructor(e = 1e3) {
2714
- super(), this.geometry = new T(e, 32, 15), this.material = new K({
2715
- vertexShader: D.vertexShader,
2716
- fragmentShader: D.fragmentShader,
2717
- uniforms: D.uniforms,
2718
- side: re
2743
+ super(), this.geometry = new C(e, 32, 15), this.material = new J({
2744
+ vertexShader: H.vertexShader,
2745
+ fragmentShader: H.fragmentShader,
2746
+ uniforms: H.uniforms,
2747
+ side: ce
2719
2748
  });
2720
2749
  }
2721
2750
  }
2722
- class en extends f {
2723
- constructor(e = Math.PI * 0.49, t = 2 * Math.PI * 0.25, n = 10, a = 2, c = 5e-3, s = 0.8) {
2751
+ class wn extends f {
2752
+ constructor(e = Math.PI * 0.49, o = 2 * Math.PI * 0.25, n = 10, r = 2, a = 5e-3, s = 0.8) {
2724
2753
  super();
2725
- const r = new Ee();
2726
- r.scale.setScalar(45e4), this.add(r);
2727
- const i = r.material.uniforms;
2728
- i.turbidity.value = n, i.rayleigh.value = a, i.mieCoefficient.value = c, i.mieDirectionalG.value = s, this.skyUniforms = i, this.sunPosition(e, t);
2754
+ const c = new Ce();
2755
+ c.scale.setScalar(45e4), this.add(c);
2756
+ const i = c.material.uniforms;
2757
+ i.turbidity.value = n, i.rayleigh.value = r, i.mieCoefficient.value = a, i.mieDirectionalG.value = s, this.skyUniforms = i, this.sunPosition(e, o);
2729
2758
  }
2730
- sunPosition(e, t) {
2731
- const n = new M(), a = this.skyUniforms;
2732
- n.setFromSphericalCoords(1, e, t), a.sunPosition.value.copy(n);
2759
+ sunPosition(e, o) {
2760
+ const n = new M(), r = this.skyUniforms;
2761
+ n.setFromSphericalCoords(1, e, o), r.sunPosition.value.copy(n);
2733
2762
  }
2734
2763
  }
2735
- const tn = (o) => {
2736
- const e = new Uint8Array(4 * o * o);
2737
- for (let n = 0; n < o * o; n++) {
2738
- const a = n * 4, c = (n % o ^ Math.floor(n / o)) & 1 ? 255 : 0;
2739
- e[a] = c, e[a + 1] = c, e[a + 2] = c, e[a + 3] = 255;
2764
+ const xn = (t) => {
2765
+ const e = new Uint8Array(4 * t * t);
2766
+ for (let n = 0; n < t * t; n++) {
2767
+ const r = n * 4, a = (n % t ^ Math.floor(n / t)) & 1 ? 255 : 0;
2768
+ e[r] = a, e[r + 1] = a, e[r + 2] = a, e[r + 3] = 255;
2740
2769
  }
2741
- const t = new Se(e, o, o, Ie, Ge);
2742
- return t.wrapS = te, t.wrapT = te, t.minFilter = Pe, t.needsUpdate = !0, t;
2770
+ const o = new Se(e, t, t, Ge, Pe);
2771
+ return o.wrapS = oe, o.wrapT = oe, o.minFilter = Ae, o.needsUpdate = !0, o;
2743
2772
  };
2744
- function on(o) {
2745
- const e = new J().setFromObject(o), t = new M();
2746
- e.getCenter(t), o.position.sub(t);
2773
+ function yn(t) {
2774
+ const e = new $().setFromObject(t), o = new M();
2775
+ e.getCenter(o), t.position.sub(o);
2747
2776
  }
2748
- function nn(o, e = new M(0, 0, 0)) {
2749
- const t = new J().setFromObject(o), n = new M();
2750
- t.getCenter(n);
2751
- const a = new M().subVectors(e, n);
2752
- o.position.add(a);
2777
+ function Mn(t, e = new M(0, 0, 0)) {
2778
+ const o = new $().setFromObject(t), n = new M();
2779
+ o.getCenter(n);
2780
+ const r = new M().subVectors(e, n);
2781
+ t.position.add(r);
2753
2782
  }
2754
- function sn(o) {
2755
- o.computeBoundingBox();
2756
- const t = o.boundingBox.getCenter(new M());
2757
- o.translateX(-t.x), o.translateY(-t.y), o.translateZ(-t.z);
2783
+ function vn(t) {
2784
+ t.computeBoundingBox();
2785
+ const o = t.boundingBox.getCenter(new M());
2786
+ t.translateX(-o.x), t.translateY(-o.y), t.translateZ(-o.z);
2758
2787
  }
2759
- function Nt(o, e, t) {
2760
- return Math.max(0, Math.min(1, (o - e) / (t - e)));
2788
+ function Rt(t, e, o) {
2789
+ return Math.max(0, Math.min(1, (t - e) / (o - e)));
2761
2790
  }
2762
- function an(o, e, t, n, a, c = 20, s = 0, r = 1) {
2791
+ function gn(t, e, o, n, r, a = 20, s = 0, c = 1) {
2763
2792
  const i = [];
2764
- for (let l = 0; l <= c; l++) {
2765
- const u = l / c, m = o(Nt(u, s, r)), h = e + m * (t - e), d = n + u * (a - n);
2766
- i.push(new b(h, d));
2793
+ for (let l = 0; l <= a; l++) {
2794
+ const u = l / a, m = t(Rt(u, s, c)), h = e + m * (o - e), d = n + u * (r - n);
2795
+ i.push(new v(h, d));
2767
2796
  }
2768
2797
  return i;
2769
2798
  }
2770
- function rn(o) {
2771
- const t = new J().setFromObject(o).getCenter(new M());
2772
- o.translateX(-t.x), o.translateY(-t.y), o.translateZ(-t.z), o.updateMatrixWorld(!0);
2799
+ function In(t) {
2800
+ const o = new $().setFromObject(t).getCenter(new M());
2801
+ t.translateX(-o.x), t.translateY(-o.y), t.translateZ(-o.z), t.updateMatrixWorld(!0);
2773
2802
  }
2774
- function cn(o) {
2775
- o.geometry.computeBoundingBox();
2776
- const t = o.geometry.boundingBox.getCenter(new M());
2777
- o.geometry.translate(-t.x, -t.y, -t.z);
2803
+ function bn(t) {
2804
+ t.geometry.computeBoundingBox();
2805
+ const o = t.geometry.boundingBox.getCenter(new M());
2806
+ t.geometry.translate(-o.x, -o.y, -o.z);
2778
2807
  }
2779
- class ln {
2808
+ const Xt = (t, e, o, n, r = 24) => {
2809
+ let a = [];
2810
+ for (let s = 0; s <= r; s++) {
2811
+ const c = s / r, i = B.CUBIC(c, t.x, e.x, o.x, n.x), l = B.CUBIC(c, t.y, e.y, o.y, n.y);
2812
+ a.push(new v(i, l));
2813
+ }
2814
+ return a;
2815
+ }, Vt = (t, e, o, n = 24) => {
2816
+ let r = [];
2817
+ for (let a = 0; a <= n; a++) {
2818
+ const s = a / n, c = B.DAMPED(s, o) * (e.x - t.x) + t.x, i = t.y + s * (e.y - t.y);
2819
+ r.push(new v(c, i));
2820
+ }
2821
+ return r;
2822
+ }, Dt = (t, e, o, n, r = 24) => {
2823
+ let a = [];
2824
+ for (let s = 0; s <= r; s++) {
2825
+ const c = s / r, i = B.EXPONENTIAL(c, o, n) * (e.x - t.x) + t.x, l = t.y + c * (e.y - t.y);
2826
+ a.push(new v(i, l));
2827
+ }
2828
+ return a;
2829
+ }, Zt = (t, e, o, n, r = 24) => {
2830
+ let a = [];
2831
+ for (let s = 0; s <= r; s++) {
2832
+ const c = s / r, i = B.LOGARITHMIC(c, o, n) * (e.x - t.x) + t.x, l = t.y + c * (e.y - t.y);
2833
+ a.push(new v(i, l));
2834
+ }
2835
+ return a;
2836
+ }, Yt = (t, e, o, n, r, a = 24) => {
2837
+ let s = [];
2838
+ for (let c = 0; c <= a; c++) {
2839
+ const i = c / a, l = o * i * i + n * i + r + t.x, u = t.y + i * (e.y - t.y);
2840
+ s.push(new v(l, u));
2841
+ }
2842
+ return s;
2843
+ }, Qt = (t, e, o, n = 24) => {
2844
+ let r = [];
2845
+ for (let a = 0; a <= n; a++) {
2846
+ const s = a / n, c = B.QUADRATIC(s, t.x, e.x, o.x), i = B.QUADRATIC(s, t.y, e.y, o.y);
2847
+ r.push(new v(c, i));
2848
+ }
2849
+ return r;
2850
+ }, Ht = (t, e, o, n = 24) => {
2851
+ let r = [];
2852
+ for (let a = 0; a <= n; a++) {
2853
+ const s = a / n, c = B.SIGMOID(s, o) * (e.x - t.x) + t.x, i = t.y + s * (e.y - t.y);
2854
+ r.push(new v(c, i));
2855
+ }
2856
+ return r;
2857
+ }, Sn = {
2858
+ createCubicCurvePoints: Xt,
2859
+ createDampedCurvePoints: Vt,
2860
+ createExponentialCurvePoints: Dt,
2861
+ createLogarithmicCurvePoints: Zt,
2862
+ createParabolicCurvePoints: Yt,
2863
+ createQuadraticCurvePoints: Qt,
2864
+ createSigmoidCurvePoints: Ht
2865
+ };
2866
+ class Gn {
2780
2867
  static dispose(e) {
2781
- e == null || e.traverse((t) => {
2782
- t.geometry && t.geometry.dispose(), t.material && (Array.isArray(t.material) ? t.material.forEach((n) => n.dispose()) : t.material.dispose());
2868
+ e == null || e.traverse((o) => {
2869
+ o.geometry && o.geometry.dispose(), o.material && (Array.isArray(o.material) ? o.material.forEach((n) => n.dispose()) : o.material.dispose());
2783
2870
  });
2784
2871
  }
2785
- static fadeBetween(e, t, n, a, c = 1) {
2786
- const s = new Te(e), r = new oe(n, t);
2787
- s.addPass(r);
2788
- const i = new Be(kt);
2872
+ static fadeBetween(e, o, n, r, a = 1) {
2873
+ const s = new Te(e), c = new ne(n, o);
2874
+ s.addPass(c);
2875
+ const i = new Be(Lt);
2789
2876
  i.uniforms.opacity.value = 1, s.addPass(i);
2790
2877
  let l = null;
2791
2878
  function u(h) {
2792
2879
  l || (l = h);
2793
- const p = (h - l) / 1e3 / c;
2794
- i.uniforms.opacity.value = Math.max(1 - p, 0), p < 1 ? (s.render(), requestAnimationFrame(u)) : (s.passes[0] = new oe(a, t), l = null, requestAnimationFrame(m));
2880
+ const p = (h - l) / 1e3 / a;
2881
+ i.uniforms.opacity.value = Math.max(1 - p, 0), p < 1 ? (s.render(), requestAnimationFrame(u)) : (s.passes[0] = new ne(r, o), l = null, requestAnimationFrame(m));
2795
2882
  }
2796
2883
  function m(h) {
2797
2884
  l || (l = h);
2798
- const p = (h - l) / 1e3 / c;
2885
+ const p = (h - l) / 1e3 / a;
2799
2886
  i.uniforms.opacity.value = Math.min(p, 1), p < 1 && (s.render(), requestAnimationFrame(m));
2800
2887
  }
2801
2888
  requestAnimationFrame(u);
2802
2889
  }
2803
2890
  }
2804
2891
  export {
2805
- Go as Beaker,
2806
- Mt as BeakerGeometry,
2807
- Jt as BifurcatedStaircaseGeometry,
2808
- Zo as Bone,
2809
- xt as BoneGeometry,
2810
- io as Book,
2811
- ce as BookGeometry,
2812
- xo as Bookshelf,
2813
- dt as BookshelfGeometry,
2814
- Po as Bottle,
2815
- Dt as Bubbling,
2816
- Ao as BunsenBurner,
2817
- Lo as Burst,
2818
- Et as BurstShape,
2819
- vo as Candle,
2820
- lo as CrossHeadstone,
2821
- lt as CrossHeadstoneGeometry,
2822
- $o as DaySkybox,
2823
- Mo as Desk,
2824
- $t as DioramaGeometry,
2825
- U as Direction,
2826
- Qt as Easing,
2827
- Eo as ElectricPanel,
2828
- To as ErlenmeyerFlask,
2829
- vt as ErlenmeyerFlaskGeometry,
2830
- X as Falloff,
2831
- po as FenceColumn,
2832
- ft as FenceColumnGeometry,
2833
- Bo as Flask,
2834
- Vo as Gear,
2835
- Tt as GearShape,
2836
- Xo as Heart,
2837
- Bt as HeartShape,
2838
- Qo as Hill,
2839
- It as HillGeometry,
2840
- Wt as LShapedStaircaseGeometry,
2841
- go as Lantern,
2842
- Co as LeverPanel,
2843
- uo as Mausoleum,
2844
- ko as Microscope,
2845
- co as Moon,
2846
- No as MortarAndPestle,
2847
- gt as MortarGeometry,
2848
- bo as MossyRocks,
2849
- Do as Mound,
2850
- Pt as MoundGeometry,
2851
- Wo as NightSkybox,
2852
- mo as ObeliskHeadstone,
2853
- ut as ObeliskHeadstoneGeometry,
2854
- So as Rock,
2855
- yt as RockGeometry,
2856
- Io as Rocks,
2857
- ho as RoundedHeadstone,
2858
- mt as RoundedHeadstoneGeometry,
2859
- ln as SceneUtils,
2860
- oo as SimpleLeafGeometry,
2861
- eo as SpiralStaircaseGeometry,
2862
- _o as SpiralTube,
2863
- fo as SquareHeadstone,
2864
- ht as SquareHeadstoneGeometry,
2865
- to as StaircaseGeometry,
2866
- Uo as Stand,
2867
- bt as StandGeometry,
2868
- Ro as Star,
2869
- Ct as StarShape,
2870
- Fo as TeslaCoil,
2871
- Oo as TestTube,
2872
- H as TestTubeGeometry,
2873
- zo as TestTubeRack,
2874
- Yo as Tree,
2875
- At as TreeGeometry,
2876
- en as TwilightSkybox,
2877
- qo as WineBottle,
2878
- St as WineBottleGeometry,
2879
- wo as WroughtIronBar,
2880
- ue as WroughtIronBarGeometry,
2881
- yo as WroughtIronFence,
2882
- pt as WroughtIronFenceGeometry,
2883
- Ko as addNoiseDisplacement,
2884
- Ho as addWaterDisplacement,
2885
- Gt as capHeightFromRadius,
2886
- so as capWidthFromRadius,
2887
- ro as cartesianToSpherical,
2888
- on as centerGroup,
2889
- nn as centerGroupAtTarget,
2890
- sn as centerInstancedMesh,
2891
- rn as centerMesh,
2892
- cn as centerMeshGeometry,
2893
- tn as checkerboardTexture,
2894
- je as circularEaseIn,
2895
- Je as circularEaseInOut,
2896
- Ke as circularEaseOut,
2897
- et as concave,
2898
- tt as convex,
2899
- Oe as cubicEaseIn,
2900
- qe as cubicEaseInOut,
2901
- ze as cubicEaseOut,
2902
- ne as daySkyShader,
2903
- Lt as displacementBrush,
2892
+ Lo as Beaker,
2893
+ At as BeakerGeometry,
2894
+ ho as BifurcatedStaircaseGeometry,
2895
+ rn as Bone,
2896
+ Pt as BoneGeometry,
2897
+ So as Book,
2898
+ ie as BookGeometry,
2899
+ No as Bookshelf,
2900
+ bt as BookshelfGeometry,
2901
+ Ro as Bottle,
2902
+ io as Bubbling,
2903
+ Xo as BunsenBurner,
2904
+ tn as Burst,
2905
+ _t as BurstShape,
2906
+ Oo as Candle,
2907
+ Go as CrossHeadstone,
2908
+ xt as CrossHeadstoneGeometry,
2909
+ pn as DaySkybox,
2910
+ Uo as Desk,
2911
+ fo as DioramaGeometry,
2912
+ _ as Direction,
2913
+ co as Easing,
2914
+ Vo as ElectricPanel,
2915
+ Do as ErlenmeyerFlask,
2916
+ Et as ErlenmeyerFlaskGeometry,
2917
+ V as Falloff,
2918
+ To as FenceColumn,
2919
+ gt as FenceColumnGeometry,
2920
+ Zo as Flask,
2921
+ on as Gear,
2922
+ Ft as GearShape,
2923
+ nn as Heart,
2924
+ zt as HeartShape,
2925
+ cn as Hill,
2926
+ kt as HillGeometry,
2927
+ po as LShapedStaircaseGeometry,
2928
+ _o as Lantern,
2929
+ Yo as LeverPanel,
2930
+ Po as Mausoleum,
2931
+ Qo as Microscope,
2932
+ bo as Moon,
2933
+ Ho as MortarAndPestle,
2934
+ Ct as MortarGeometry,
2935
+ Fo as MossyRocks,
2936
+ ln as Mound,
2937
+ Ut as MoundGeometry,
2938
+ dn as NightSkybox,
2939
+ Ao as ObeliskHeadstone,
2940
+ yt as ObeliskHeadstoneGeometry,
2941
+ B as ParametricCurve,
2942
+ Sn as ParametricCurveUtils,
2943
+ zo as Rock,
2944
+ Gt as RockGeometry,
2945
+ qo as Rocks,
2946
+ Eo as RoundedHeadstone,
2947
+ Mt as RoundedHeadstoneGeometry,
2948
+ Gn as SceneUtils,
2949
+ yo as SimpleLeafGeometry,
2950
+ wo as SpiralStaircaseGeometry,
2951
+ jo as SpiralTube,
2952
+ Co as SquareHeadstone,
2953
+ vt as SquareHeadstoneGeometry,
2954
+ xo as StaircaseGeometry,
2955
+ Ko as Stand,
2956
+ Tt as StandGeometry,
2957
+ sn as Star,
2958
+ qt as StarShape,
2959
+ Jo as TeslaCoil,
2960
+ $o as TestTube,
2961
+ j as TestTubeGeometry,
2962
+ Wo as TestTubeRack,
2963
+ an as Tree,
2964
+ Ot as TreeGeometry,
2965
+ wn as TwilightSkybox,
2966
+ en as WineBottle,
2967
+ Bt as WineBottleGeometry,
2968
+ Bo as WroughtIronBar,
2969
+ me as WroughtIronBarGeometry,
2970
+ ko as WroughtIronFence,
2971
+ It as WroughtIronFenceGeometry,
2972
+ hn as addNoiseDisplacement,
2973
+ un as addWaterDisplacement,
2974
+ Nt as capHeightFromRadius,
2975
+ vo as capWidthFromRadius,
2976
+ Io as cartesianToSpherical,
2977
+ yn as centerGroup,
2978
+ Mn as centerGroupAtTarget,
2979
+ vn as centerInstancedMesh,
2980
+ In as centerMesh,
2981
+ bn as centerMeshGeometry,
2982
+ xn as checkerboardTexture,
2983
+ Ke as circularEaseIn,
2984
+ $e as circularEaseInOut,
2985
+ Je as circularEaseOut,
2986
+ tt as concave,
2987
+ ot as convex,
2988
+ Xt as createCubicCurvePoints,
2989
+ Vt as createDampedCurvePoints,
2990
+ Dt as createExponentialCurvePoints,
2991
+ Zt as createLogarithmicCurvePoints,
2992
+ Yt as createParabolicCurvePoints,
2993
+ Qt as createQuadraticCurvePoints,
2994
+ Ht as createSigmoidCurvePoints,
2995
+ ut as cubicCurve,
2996
+ ze as cubicEaseIn,
2997
+ Le as cubicEaseInOut,
2998
+ qe as cubicEaseOut,
2999
+ it as dampedCurve,
3000
+ se as daySkyShader,
3001
+ to as displacementBrush,
3002
+ mt as exponentialCurve,
2904
3003
  Qe as exponentialEaseIn,
2905
- He as exponentialEaseInOut,
2906
- De as exponentialEaseOut,
2907
- kt as fadeShader,
2908
- Vt as flattenBrush,
3004
+ je as exponentialEaseInOut,
3005
+ He as exponentialEaseOut,
3006
+ Lt as fadeShader,
3007
+ oo as flattenBrush,
2909
3008
  at as gaussian,
2910
- an as interpolateCurve,
2911
- st as inverse,
2912
- $e as linear,
2913
- ot as logarithmic,
2914
- ct as logarithmicRandomMax,
2915
- it as logarithmicRandomMin,
2916
- D as nightSkyShader,
2917
- Xt as noiseBrush,
2918
- _e as quadraticEaseIn,
3009
+ gn as interpolateCurve,
3010
+ rt as inverse,
3011
+ We as linear,
3012
+ nt as logarithmic,
3013
+ ht as logarithmicCurve,
3014
+ dt as logarithmicRandomMax,
3015
+ wt as logarithmicRandomMin,
3016
+ H as nightSkyShader,
3017
+ no as noiseBrush,
3018
+ ct as parabolicCurve,
3019
+ lt as quadraticCurve,
3020
+ Oe as quadraticEaseIn,
2919
3021
  Fe as quadraticEaseInOut,
2920
- Ue as quadraticEaseOut,
2921
- Le as quarticEaseIn,
2922
- Xe as quarticEaseInOut,
2923
- Ve as quarticEaseOut,
2924
- Re as quinticEaseIn,
3022
+ _e as quadraticEaseOut,
3023
+ Re as quarticEaseIn,
3024
+ Ve as quarticEaseInOut,
3025
+ Xe as quarticEaseOut,
3026
+ De as quinticEaseIn,
2925
3027
  Ye as quinticEaseInOut,
2926
3028
  Ze as quinticEaseOut,
2927
- no as radiusFromCapHeight,
2928
- me as radiusFromCapWidth,
2929
- rt as randomFloat,
2930
- Ht as randomInteger,
2931
- wt as randomTransformVertices,
2932
- jt as rowOfBooksByCount,
2933
- Kt as rowOfBooksByLength,
2934
- le as rowOfBooksByScales,
2935
- Ce as sineEaseIn,
2936
- Ne as sineEaseInOut,
2937
- ke as sineEaseOut,
2938
- Rt as smoothBrush,
2939
- We as smoothstep,
2940
- ao as sphericalToCartesian,
2941
- Zt as spikeBrush,
2942
- nt as squareRoot,
2943
- Yt as twistBrush,
2944
- Jo as updateNoiseDisplacementTime,
2945
- jo as updateWaterDisplacementTime
3029
+ Mo as radiusFromCapHeight,
3030
+ he as radiusFromCapWidth,
3031
+ pt as randomFloat,
3032
+ lo as randomInteger,
3033
+ St as randomTransformVertices,
3034
+ uo as rowOfBooksByCount,
3035
+ mo as rowOfBooksByLength,
3036
+ ue as rowOfBooksByScales,
3037
+ ft as sigmoidCurve,
3038
+ ke as sineEaseIn,
3039
+ Ue as sineEaseInOut,
3040
+ Ne as sineEaseOut,
3041
+ so as smoothBrush,
3042
+ et as smoothstep,
3043
+ go as sphericalToCartesian,
3044
+ ro as spikeBrush,
3045
+ st as squareRoot,
3046
+ ao as twistBrush,
3047
+ fn as updateNoiseDisplacementTime,
3048
+ mn as updateWaterDisplacementTime
2946
3049
  };
2947
3050
  //# sourceMappingURL=index.es.js.map