three-low-poly 0.9.10 → 0.9.11
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/README.md +7 -5
- package/dist/index.cjs.js +8 -8
- package/dist/index.cjs.js.map +1 -1
- package/dist/index.es.js +1132 -1076
- package/dist/index.es.js.map +1 -1
- package/dist/index.iife.js +7 -7
- package/dist/index.iife.js.map +1 -1
- package/dist/index.umd.js +7 -7
- package/dist/index.umd.js.map +1 -1
- package/package.json +1 -1
package/dist/index.es.js
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import { Vector3 as M, MathUtils as
|
|
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
2
|
import { mergeGeometries as A, mergeVertices as Ae } from "three/addons/utils/BufferGeometryUtils.js";
|
|
3
|
-
import { Sky as
|
|
4
|
-
import { EffectComposer as
|
|
3
|
+
import { Sky as Ee } from "three/addons/objects/Sky.js";
|
|
4
|
+
import { EffectComposer as Te } from "three/addons/postprocessing/EffectComposer.js";
|
|
5
5
|
import { RenderPass as oe } from "three/addons/postprocessing/RenderPass.js";
|
|
6
|
-
import { ShaderPass as
|
|
7
|
-
const
|
|
6
|
+
import { ShaderPass as Be } from "three/addons/postprocessing/ShaderPass.js";
|
|
7
|
+
const U = {
|
|
8
8
|
UP: new M(0, 1, 0),
|
|
9
9
|
DOWN: new M(0, -1, 0),
|
|
10
10
|
LEFT: new M(-1, 0, 0),
|
|
@@ -19,119 +19,134 @@ const z = {
|
|
|
19
19
|
YZ: new M(0, 1, 1).normalize(),
|
|
20
20
|
XYZ: new M(1, 1, 1).normalize()
|
|
21
21
|
}, X = {
|
|
22
|
-
LINEAR: (
|
|
23
|
-
QUADRATIC: (
|
|
24
|
-
SQUARE_ROOT: (
|
|
25
|
-
LOGARITHMIC: (
|
|
26
|
-
SINE: (
|
|
27
|
-
EXPONENTIAL: (
|
|
28
|
-
CUBIC: (
|
|
29
|
-
GAUSSIAN: (
|
|
30
|
-
INVERSE: (
|
|
31
|
-
SMOOTHSTEP: (
|
|
32
|
-
const t = Math.max(0, Math.min(1, 1 -
|
|
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
33
|
return t * t * (3 - 2 * t);
|
|
34
34
|
}
|
|
35
|
-
},
|
|
36
|
-
const
|
|
37
|
-
for (let
|
|
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++) {
|
|
38
38
|
const i = new M();
|
|
39
|
-
i.fromBufferAttribute(
|
|
39
|
+
i.fromBufferAttribute(s, r);
|
|
40
40
|
const l = i.distanceTo(e);
|
|
41
41
|
if (l < t) {
|
|
42
|
-
const
|
|
43
|
-
i.add(
|
|
42
|
+
const m = c(l, t) * n;
|
|
43
|
+
i.add(a.clone().multiplyScalar(m)), s.setXYZ(r, i.x, i.y, i.z);
|
|
44
44
|
}
|
|
45
45
|
}
|
|
46
|
-
|
|
47
|
-
},
|
|
48
|
-
const
|
|
49
|
-
for (let i = 0; i <
|
|
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++) {
|
|
50
50
|
const l = new M();
|
|
51
|
-
l.fromBufferAttribute(
|
|
52
|
-
const
|
|
53
|
-
if (
|
|
54
|
-
const
|
|
55
|
-
l.add(c.clone().multiplyScalar(
|
|
51
|
+
l.fromBufferAttribute(r, i);
|
|
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);
|
|
56
56
|
}
|
|
57
57
|
}
|
|
58
|
-
|
|
59
|
-
},
|
|
60
|
-
const
|
|
61
|
-
for (let
|
|
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++) {
|
|
62
62
|
const i = new M();
|
|
63
|
-
i.fromBufferAttribute(
|
|
63
|
+
i.fromBufferAttribute(s, r);
|
|
64
64
|
const l = i.distanceTo(e);
|
|
65
65
|
if (l < t) {
|
|
66
|
-
const
|
|
67
|
-
i.x +=
|
|
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);
|
|
68
68
|
}
|
|
69
69
|
}
|
|
70
|
-
|
|
71
|
-
},
|
|
72
|
-
const
|
|
73
|
-
for (let
|
|
74
|
-
const
|
|
75
|
-
if (
|
|
76
|
-
let l = new M(),
|
|
77
|
-
for (let
|
|
78
|
-
c.fromBufferAttribute(
|
|
79
|
-
|
|
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) {
|
|
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));
|
|
80
80
|
}
|
|
81
81
|
}
|
|
82
|
-
|
|
83
|
-
},
|
|
84
|
-
const
|
|
85
|
-
for (let
|
|
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++) {
|
|
86
86
|
const i = new M();
|
|
87
|
-
i.fromBufferAttribute(
|
|
87
|
+
i.fromBufferAttribute(s, r);
|
|
88
88
|
const l = i.distanceTo(e);
|
|
89
89
|
if (l < t) {
|
|
90
|
-
const
|
|
91
|
-
i.add(
|
|
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);
|
|
92
92
|
}
|
|
93
93
|
}
|
|
94
|
-
|
|
95
|
-
},
|
|
96
|
-
const
|
|
97
|
-
for (let i = 0; i <
|
|
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();
|
|
97
|
+
for (let i = 0; i < s.count; i++) {
|
|
98
98
|
const l = new M();
|
|
99
|
-
l.fromBufferAttribute(
|
|
100
|
-
const
|
|
101
|
-
if (
|
|
102
|
-
const
|
|
103
|
-
|
|
99
|
+
l.fromBufferAttribute(s, i);
|
|
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);
|
|
104
104
|
}
|
|
105
105
|
}
|
|
106
|
-
|
|
107
|
-
},
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
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,
|
|
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,
|
|
121
|
+
QUINTIC_EASE_OUT: Ze,
|
|
122
|
+
QUINTIC_EASE_IN_OUT: Ye,
|
|
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,
|
|
136
|
+
GAUSSIAN: at
|
|
122
137
|
};
|
|
123
|
-
class
|
|
138
|
+
class Dt extends P {
|
|
124
139
|
constructor() {
|
|
125
140
|
super();
|
|
126
|
-
const e = [], t = 20,
|
|
141
|
+
const e = [], t = 20, n = new T(0.1, 6, 6), a = new w({
|
|
127
142
|
color: 16777215,
|
|
128
143
|
transparent: !0,
|
|
129
144
|
opacity: 0.6,
|
|
130
145
|
roughness: 0.3,
|
|
131
146
|
metalness: 0.3
|
|
132
147
|
});
|
|
133
|
-
for (let
|
|
134
|
-
const i = new
|
|
148
|
+
for (let r = 0; r < t; r++) {
|
|
149
|
+
const i = new f(n, a);
|
|
135
150
|
i.position.set(
|
|
136
151
|
(Math.random() - 0.5) * 1.5,
|
|
137
152
|
// Random x position within flask
|
|
@@ -142,45 +157,45 @@ class yt extends P {
|
|
|
142
157
|
), e.push(i), this.add(i);
|
|
143
158
|
}
|
|
144
159
|
function c() {
|
|
145
|
-
e.forEach((
|
|
146
|
-
|
|
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);
|
|
147
162
|
});
|
|
148
163
|
}
|
|
149
|
-
function
|
|
150
|
-
requestAnimationFrame(
|
|
164
|
+
function s() {
|
|
165
|
+
requestAnimationFrame(s), c();
|
|
151
166
|
}
|
|
152
|
-
|
|
167
|
+
s();
|
|
153
168
|
}
|
|
154
169
|
}
|
|
155
170
|
class ce extends v {
|
|
156
|
-
constructor(e = 1, t = 1.5,
|
|
171
|
+
constructor(e = 1, t = 1.5, n = 0.5, a = 0.05, c = 0.05) {
|
|
157
172
|
super();
|
|
158
|
-
const
|
|
173
|
+
const s = e, r = t, i = n, l = a, u = c, m = [
|
|
159
174
|
// Front cover
|
|
160
175
|
0,
|
|
161
176
|
0,
|
|
162
177
|
0,
|
|
163
|
-
|
|
178
|
+
s,
|
|
164
179
|
0,
|
|
165
180
|
0,
|
|
166
|
-
|
|
167
|
-
|
|
181
|
+
s,
|
|
182
|
+
r,
|
|
168
183
|
0,
|
|
169
184
|
0,
|
|
170
|
-
|
|
185
|
+
r,
|
|
171
186
|
0,
|
|
172
187
|
// Back cover
|
|
173
|
-
|
|
188
|
+
s,
|
|
174
189
|
0,
|
|
175
190
|
-i,
|
|
176
191
|
0,
|
|
177
192
|
0,
|
|
178
193
|
-i,
|
|
179
194
|
0,
|
|
180
|
-
|
|
195
|
+
r,
|
|
181
196
|
-i,
|
|
182
|
-
|
|
183
|
-
|
|
197
|
+
s,
|
|
198
|
+
r,
|
|
184
199
|
-i,
|
|
185
200
|
// Spine
|
|
186
201
|
0,
|
|
@@ -190,36 +205,36 @@ class ce extends v {
|
|
|
190
205
|
0,
|
|
191
206
|
0,
|
|
192
207
|
0,
|
|
193
|
-
|
|
208
|
+
r,
|
|
194
209
|
0,
|
|
195
210
|
0,
|
|
196
|
-
|
|
211
|
+
r,
|
|
197
212
|
-i,
|
|
198
213
|
// Inside front cover
|
|
199
|
-
|
|
214
|
+
s,
|
|
200
215
|
0,
|
|
201
216
|
-l,
|
|
202
217
|
l,
|
|
203
218
|
0,
|
|
204
219
|
-l,
|
|
205
220
|
l,
|
|
206
|
-
|
|
221
|
+
r,
|
|
207
222
|
-l,
|
|
208
|
-
|
|
209
|
-
|
|
223
|
+
s,
|
|
224
|
+
r,
|
|
210
225
|
-l,
|
|
211
226
|
// Inside back cover
|
|
212
227
|
l,
|
|
213
228
|
0,
|
|
214
229
|
-i + l,
|
|
215
|
-
|
|
230
|
+
s,
|
|
216
231
|
0,
|
|
217
232
|
-i + l,
|
|
218
|
-
|
|
219
|
-
|
|
233
|
+
s,
|
|
234
|
+
r,
|
|
220
235
|
-i + l,
|
|
221
236
|
l,
|
|
222
|
-
|
|
237
|
+
r,
|
|
223
238
|
-i + l,
|
|
224
239
|
// Inside spine
|
|
225
240
|
l,
|
|
@@ -229,49 +244,49 @@ class ce extends v {
|
|
|
229
244
|
0,
|
|
230
245
|
-i + l,
|
|
231
246
|
l,
|
|
232
|
-
|
|
247
|
+
r,
|
|
233
248
|
-i + l,
|
|
234
249
|
l,
|
|
235
|
-
|
|
250
|
+
r,
|
|
236
251
|
-l,
|
|
237
252
|
// Front cover top
|
|
238
253
|
0,
|
|
239
|
-
|
|
254
|
+
r,
|
|
240
255
|
0,
|
|
241
|
-
|
|
242
|
-
|
|
256
|
+
s,
|
|
257
|
+
r,
|
|
243
258
|
0,
|
|
244
|
-
|
|
245
|
-
|
|
259
|
+
s,
|
|
260
|
+
r,
|
|
246
261
|
-l,
|
|
247
262
|
l,
|
|
248
|
-
|
|
263
|
+
r,
|
|
249
264
|
-l,
|
|
250
265
|
// Back cover top
|
|
251
266
|
0,
|
|
252
|
-
|
|
267
|
+
r,
|
|
253
268
|
-i,
|
|
254
269
|
l,
|
|
255
|
-
|
|
270
|
+
r,
|
|
256
271
|
-i + l,
|
|
257
|
-
|
|
258
|
-
|
|
272
|
+
s,
|
|
273
|
+
r,
|
|
259
274
|
-i + l,
|
|
260
|
-
|
|
261
|
-
|
|
275
|
+
s,
|
|
276
|
+
r,
|
|
262
277
|
-i,
|
|
263
278
|
// Spine cover top
|
|
264
279
|
0,
|
|
265
|
-
|
|
280
|
+
r,
|
|
266
281
|
0,
|
|
267
282
|
l,
|
|
268
|
-
|
|
283
|
+
r,
|
|
269
284
|
-l,
|
|
270
285
|
l,
|
|
271
|
-
|
|
286
|
+
r,
|
|
272
287
|
-i + l,
|
|
273
288
|
0,
|
|
274
|
-
|
|
289
|
+
r,
|
|
275
290
|
-i,
|
|
276
291
|
// Front cover bottom
|
|
277
292
|
0,
|
|
@@ -280,20 +295,20 @@ class ce extends v {
|
|
|
280
295
|
l,
|
|
281
296
|
0,
|
|
282
297
|
-l,
|
|
283
|
-
|
|
298
|
+
s,
|
|
284
299
|
0,
|
|
285
300
|
-l,
|
|
286
|
-
|
|
301
|
+
s,
|
|
287
302
|
0,
|
|
288
303
|
0,
|
|
289
304
|
// Back cover bottom
|
|
290
305
|
0,
|
|
291
306
|
0,
|
|
292
307
|
-i,
|
|
293
|
-
|
|
308
|
+
s,
|
|
294
309
|
0,
|
|
295
310
|
-i,
|
|
296
|
-
|
|
311
|
+
s,
|
|
297
312
|
0,
|
|
298
313
|
-i + l,
|
|
299
314
|
l,
|
|
@@ -313,32 +328,32 @@ class ce extends v {
|
|
|
313
328
|
0,
|
|
314
329
|
-l,
|
|
315
330
|
// Front cover edge
|
|
316
|
-
|
|
331
|
+
s,
|
|
317
332
|
0,
|
|
318
333
|
0,
|
|
319
|
-
|
|
334
|
+
s,
|
|
320
335
|
0,
|
|
321
336
|
-l,
|
|
322
|
-
|
|
323
|
-
|
|
337
|
+
s,
|
|
338
|
+
r,
|
|
324
339
|
-l,
|
|
325
|
-
|
|
326
|
-
|
|
340
|
+
s,
|
|
341
|
+
r,
|
|
327
342
|
0,
|
|
328
343
|
// Back cover edge
|
|
329
|
-
|
|
344
|
+
s,
|
|
330
345
|
0,
|
|
331
346
|
-i,
|
|
332
|
-
|
|
333
|
-
|
|
347
|
+
s,
|
|
348
|
+
r,
|
|
334
349
|
-i,
|
|
335
|
-
|
|
336
|
-
|
|
350
|
+
s,
|
|
351
|
+
r,
|
|
337
352
|
-i + l,
|
|
338
|
-
|
|
353
|
+
s,
|
|
339
354
|
0,
|
|
340
355
|
-i + l
|
|
341
|
-
],
|
|
356
|
+
], h = [
|
|
342
357
|
0,
|
|
343
358
|
0,
|
|
344
359
|
1,
|
|
@@ -521,68 +536,68 @@ class ce extends v {
|
|
|
521
536
|
0,
|
|
522
537
|
0
|
|
523
538
|
// Back cover edge
|
|
524
|
-
],
|
|
525
|
-
|
|
539
|
+
], d = e / (e * 2 + n), p = (e + n) / (e * 2 + n), x = [
|
|
540
|
+
p,
|
|
526
541
|
0,
|
|
527
542
|
1,
|
|
528
543
|
0,
|
|
529
544
|
1,
|
|
530
545
|
1,
|
|
531
|
-
|
|
546
|
+
p,
|
|
532
547
|
1,
|
|
533
548
|
// Front cover
|
|
534
549
|
0,
|
|
535
550
|
0,
|
|
536
|
-
|
|
551
|
+
d,
|
|
537
552
|
0,
|
|
538
|
-
|
|
553
|
+
d,
|
|
539
554
|
1,
|
|
540
555
|
0,
|
|
541
556
|
1,
|
|
542
557
|
// Back cover
|
|
543
|
-
p,
|
|
544
|
-
0,
|
|
545
558
|
d,
|
|
546
559
|
0,
|
|
547
|
-
d,
|
|
548
|
-
1,
|
|
549
560
|
p,
|
|
561
|
+
0,
|
|
562
|
+
p,
|
|
563
|
+
1,
|
|
564
|
+
d,
|
|
550
565
|
1,
|
|
551
566
|
// Spine
|
|
552
567
|
1,
|
|
553
568
|
0,
|
|
554
|
-
|
|
569
|
+
p,
|
|
555
570
|
0,
|
|
556
|
-
|
|
571
|
+
p,
|
|
557
572
|
1,
|
|
558
573
|
1,
|
|
559
574
|
1,
|
|
560
575
|
// Inside front cover
|
|
561
|
-
|
|
576
|
+
d,
|
|
562
577
|
0,
|
|
563
578
|
0,
|
|
564
579
|
0,
|
|
565
580
|
0,
|
|
566
581
|
1,
|
|
567
|
-
|
|
582
|
+
d,
|
|
568
583
|
1,
|
|
569
584
|
// Inside back cover
|
|
570
|
-
d,
|
|
571
|
-
0,
|
|
572
585
|
p,
|
|
573
586
|
0,
|
|
574
|
-
p,
|
|
575
|
-
1,
|
|
576
587
|
d,
|
|
588
|
+
0,
|
|
589
|
+
d,
|
|
590
|
+
1,
|
|
591
|
+
p,
|
|
577
592
|
1,
|
|
578
593
|
// Inside spine
|
|
579
|
-
|
|
594
|
+
p,
|
|
580
595
|
0,
|
|
581
596
|
1,
|
|
582
597
|
0,
|
|
583
598
|
1,
|
|
584
599
|
1,
|
|
585
|
-
|
|
600
|
+
p,
|
|
586
601
|
1,
|
|
587
602
|
// Front cover top
|
|
588
603
|
0,
|
|
@@ -747,97 +762,97 @@ class ce extends v {
|
|
|
747
762
|
54,
|
|
748
763
|
55
|
|
749
764
|
// Back cover edge
|
|
750
|
-
],
|
|
751
|
-
|
|
752
|
-
const
|
|
753
|
-
|
|
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));
|
|
754
769
|
}
|
|
755
770
|
}
|
|
756
|
-
function
|
|
757
|
-
return Math.random() * (e -
|
|
771
|
+
function rt(o = 0, e = 1) {
|
|
772
|
+
return Math.random() * (e - o) + o;
|
|
758
773
|
}
|
|
759
|
-
function
|
|
760
|
-
return Math.floor(Math.random() * (e -
|
|
774
|
+
function Ht(o = 0, e = 1) {
|
|
775
|
+
return Math.floor(Math.random() * (e - o + 1)) + o;
|
|
761
776
|
}
|
|
762
|
-
function
|
|
763
|
-
return e + (t - e) * Math.pow(Math.random(),
|
|
777
|
+
function ct(o = 0.5, e = 0, t = 1) {
|
|
778
|
+
return e + (t - e) * Math.pow(Math.random(), o);
|
|
764
779
|
}
|
|
765
|
-
function
|
|
766
|
-
return e + (t - e) * Math.pow(1 - Math.random(),
|
|
780
|
+
function it(o = 0.5, e = 0, t = 1) {
|
|
781
|
+
return e + (t - e) * Math.pow(1 - Math.random(), o);
|
|
767
782
|
}
|
|
768
783
|
function ie({
|
|
769
|
-
scaleXMin:
|
|
784
|
+
scaleXMin: o = 0.4,
|
|
770
785
|
scaleXMax: e = 0.7,
|
|
771
786
|
scaleYMin: t = 0.3,
|
|
772
|
-
scaleYMax:
|
|
773
|
-
scaleZMin:
|
|
787
|
+
scaleYMax: n = 0.95,
|
|
788
|
+
scaleZMin: a = 0.1,
|
|
774
789
|
scaleZMax: c = 0.5
|
|
775
790
|
} = {}) {
|
|
776
791
|
return new M(
|
|
777
|
-
|
|
778
|
-
|
|
779
|
-
|
|
792
|
+
rt(o, e),
|
|
793
|
+
ct(0.25, t, n),
|
|
794
|
+
it(0.8, a, c)
|
|
780
795
|
);
|
|
781
796
|
}
|
|
782
|
-
function le({ coverMaterial:
|
|
783
|
-
const
|
|
784
|
-
let
|
|
785
|
-
for (let
|
|
786
|
-
const i = t[
|
|
787
|
-
l.makeScale(i.x, i.y, i.z), c.identity(), c.multiply(l), c.setPosition(0.01 + Math.random() * 0.1, 0,
|
|
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();
|
|
799
|
+
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;
|
|
788
803
|
}
|
|
789
|
-
return
|
|
804
|
+
return a;
|
|
790
805
|
}
|
|
791
|
-
function
|
|
792
|
-
coverMaterial:
|
|
806
|
+
function jt({
|
|
807
|
+
coverMaterial: o,
|
|
793
808
|
pagesMaterial: e,
|
|
794
809
|
count: t = 10,
|
|
795
|
-
scaleXMin:
|
|
796
|
-
scaleXMax:
|
|
810
|
+
scaleXMin: n = 0.4,
|
|
811
|
+
scaleXMax: a = 0.7,
|
|
797
812
|
scaleYMin: c = 0.3,
|
|
798
|
-
scaleYMax:
|
|
799
|
-
scaleZMin:
|
|
813
|
+
scaleYMax: s = 0.95,
|
|
814
|
+
scaleZMin: r = 0.1,
|
|
800
815
|
scaleZMax: i = 0.5
|
|
801
816
|
} = {}) {
|
|
802
817
|
const l = Array.from(
|
|
803
818
|
{ length: t },
|
|
804
|
-
() => ie({ scaleXMin:
|
|
819
|
+
() => ie({ scaleXMin: n, scaleXMax: a, scaleYMin: c, scaleYMax: s, scaleZMin: r, scaleZMax: i })
|
|
805
820
|
);
|
|
806
|
-
return le({ coverMaterial:
|
|
821
|
+
return le({ coverMaterial: o, pagesMaterial: e, scales: l });
|
|
807
822
|
}
|
|
808
|
-
function
|
|
809
|
-
coverMaterial:
|
|
823
|
+
function Kt({
|
|
824
|
+
coverMaterial: o,
|
|
810
825
|
pagesMaterial: e,
|
|
811
826
|
length: t = 10,
|
|
812
|
-
scaleXMin:
|
|
813
|
-
scaleXMax:
|
|
827
|
+
scaleXMin: n = 0.4,
|
|
828
|
+
scaleXMax: a = 0.7,
|
|
814
829
|
scaleYMin: c = 0.3,
|
|
815
|
-
scaleYMax:
|
|
816
|
-
scaleZMin:
|
|
830
|
+
scaleYMax: s = 0.95,
|
|
831
|
+
scaleZMin: r = 0.1,
|
|
817
832
|
scaleZMax: i = 0.5
|
|
818
833
|
} = {}) {
|
|
819
834
|
const l = [];
|
|
820
|
-
let
|
|
821
|
-
for (;
|
|
822
|
-
const
|
|
823
|
-
|
|
835
|
+
let u = t;
|
|
836
|
+
for (; u > 0; ) {
|
|
837
|
+
const m = ie({ scaleXMin: n, scaleXMax: a, scaleYMin: c, scaleYMax: s, scaleZMin: r, scaleZMax: i });
|
|
838
|
+
m.z = Math.min(m.z, u), l.push(m), u -= m.z;
|
|
824
839
|
}
|
|
825
|
-
return le({ coverMaterial:
|
|
840
|
+
return le({ coverMaterial: o, pagesMaterial: e, scales: l });
|
|
826
841
|
}
|
|
827
|
-
class
|
|
828
|
-
constructor(e = 2, t = 0.3,
|
|
842
|
+
class Jt extends v {
|
|
843
|
+
constructor(e = 2, t = 0.3, n = 0.6, a = 5, c = 5, s = Math.PI / 4) {
|
|
829
844
|
super();
|
|
830
|
-
const
|
|
831
|
-
for (let
|
|
832
|
-
const
|
|
833
|
-
|
|
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(
|
|
834
849
|
// Vertical riser
|
|
835
850
|
-e / 2,
|
|
836
|
-
|
|
851
|
+
p,
|
|
837
852
|
y,
|
|
838
853
|
// Bottom-left
|
|
839
854
|
e / 2,
|
|
840
|
-
|
|
855
|
+
p,
|
|
841
856
|
y,
|
|
842
857
|
// Bottom-right
|
|
843
858
|
e / 2,
|
|
@@ -859,178 +874,178 @@ class gt extends v {
|
|
|
859
874
|
// Top-right
|
|
860
875
|
e / 2,
|
|
861
876
|
x,
|
|
862
|
-
|
|
877
|
+
I,
|
|
863
878
|
// Back-right
|
|
864
879
|
-e / 2,
|
|
865
880
|
x,
|
|
866
|
-
|
|
881
|
+
I
|
|
867
882
|
// Back-left
|
|
868
883
|
);
|
|
869
|
-
const
|
|
884
|
+
const G = d * 8;
|
|
870
885
|
i.push(
|
|
871
|
-
|
|
872
|
-
|
|
873
|
-
|
|
874
|
-
|
|
875
|
-
|
|
876
|
-
|
|
886
|
+
G,
|
|
887
|
+
G + 1,
|
|
888
|
+
G + 2,
|
|
889
|
+
G,
|
|
890
|
+
G + 2,
|
|
891
|
+
G + 3
|
|
877
892
|
), i.push(
|
|
878
|
-
|
|
879
|
-
|
|
880
|
-
|
|
881
|
-
|
|
882
|
-
|
|
883
|
-
|
|
893
|
+
G + 4,
|
|
894
|
+
G + 5,
|
|
895
|
+
G + 6,
|
|
896
|
+
G + 4,
|
|
897
|
+
G + 6,
|
|
898
|
+
G + 7
|
|
884
899
|
);
|
|
885
900
|
}
|
|
886
|
-
const l =
|
|
887
|
-
|
|
901
|
+
const l = a * t, u = a * n, m = e * 2;
|
|
902
|
+
r.push(
|
|
888
903
|
// Landing platform (4 vertices)
|
|
889
|
-
-
|
|
904
|
+
-m / 2,
|
|
890
905
|
l,
|
|
891
|
-
|
|
906
|
+
u,
|
|
892
907
|
// Bottom-left
|
|
893
|
-
|
|
908
|
+
m / 2,
|
|
894
909
|
l,
|
|
895
|
-
|
|
910
|
+
u,
|
|
896
911
|
// Bottom-right
|
|
897
|
-
|
|
912
|
+
m / 2,
|
|
898
913
|
l,
|
|
899
|
-
|
|
914
|
+
u + n,
|
|
900
915
|
// Top-right
|
|
901
|
-
-
|
|
916
|
+
-m / 2,
|
|
902
917
|
l,
|
|
903
|
-
|
|
918
|
+
u + n
|
|
904
919
|
// Top-left
|
|
905
920
|
);
|
|
906
|
-
const
|
|
921
|
+
const h = a * 8;
|
|
907
922
|
i.push(
|
|
908
|
-
|
|
909
|
-
|
|
910
|
-
|
|
923
|
+
h,
|
|
924
|
+
h + 1,
|
|
925
|
+
h + 2,
|
|
911
926
|
// First triangle for landing
|
|
912
|
-
|
|
913
|
-
|
|
914
|
-
|
|
927
|
+
h,
|
|
928
|
+
h + 2,
|
|
929
|
+
h + 3
|
|
915
930
|
// Second triangle for landing
|
|
916
931
|
);
|
|
917
|
-
for (let
|
|
918
|
-
const
|
|
932
|
+
for (let d = 0; d < 2; d++) {
|
|
933
|
+
const p = d === 0 ? 1 : -1;
|
|
919
934
|
for (let x = 0; x < c; x++) {
|
|
920
|
-
const y = l + x * t,
|
|
921
|
-
|
|
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(
|
|
922
937
|
// Vertical riser
|
|
923
|
-
F,
|
|
924
|
-
y,
|
|
925
938
|
N,
|
|
939
|
+
y,
|
|
940
|
+
_,
|
|
926
941
|
// Bottom-left
|
|
927
|
-
|
|
942
|
+
R,
|
|
928
943
|
y,
|
|
929
|
-
|
|
944
|
+
_,
|
|
930
945
|
// Bottom-right
|
|
931
|
-
|
|
932
|
-
|
|
933
|
-
|
|
946
|
+
R,
|
|
947
|
+
I,
|
|
948
|
+
_,
|
|
934
949
|
// Top-right
|
|
935
|
-
F,
|
|
936
|
-
G,
|
|
937
950
|
N,
|
|
951
|
+
I,
|
|
952
|
+
_,
|
|
938
953
|
// Top-left
|
|
939
954
|
// Horizontal tread
|
|
940
|
-
F,
|
|
941
|
-
G,
|
|
942
955
|
N,
|
|
956
|
+
I,
|
|
957
|
+
_,
|
|
943
958
|
// Top-left
|
|
944
|
-
|
|
945
|
-
|
|
946
|
-
|
|
959
|
+
R,
|
|
960
|
+
I,
|
|
961
|
+
_,
|
|
947
962
|
// Top-right
|
|
948
|
-
|
|
949
|
-
|
|
963
|
+
fe,
|
|
964
|
+
I,
|
|
950
965
|
$,
|
|
951
966
|
// Back-right
|
|
952
|
-
|
|
953
|
-
|
|
967
|
+
he,
|
|
968
|
+
I,
|
|
954
969
|
$
|
|
955
970
|
// Back-left
|
|
956
971
|
);
|
|
957
|
-
const
|
|
972
|
+
const E = h + 4 + d * c * 8 + x * 8;
|
|
958
973
|
i.push(
|
|
959
|
-
|
|
960
|
-
|
|
961
|
-
|
|
962
|
-
|
|
963
|
-
|
|
964
|
-
|
|
974
|
+
E,
|
|
975
|
+
E + 1,
|
|
976
|
+
E + 2,
|
|
977
|
+
E,
|
|
978
|
+
E + 2,
|
|
979
|
+
E + 3
|
|
965
980
|
), i.push(
|
|
966
|
-
|
|
967
|
-
|
|
968
|
-
|
|
969
|
-
|
|
970
|
-
|
|
971
|
-
|
|
981
|
+
E + 4,
|
|
982
|
+
E + 5,
|
|
983
|
+
E + 6,
|
|
984
|
+
E + 4,
|
|
985
|
+
E + 6,
|
|
986
|
+
E + 7
|
|
972
987
|
);
|
|
973
988
|
}
|
|
974
989
|
}
|
|
975
|
-
this.setIndex(i), this.setAttribute("position", new
|
|
990
|
+
this.setIndex(i), this.setAttribute("position", new F(r, 3)), this.computeVertexNormals();
|
|
976
991
|
}
|
|
977
992
|
}
|
|
978
|
-
class
|
|
979
|
-
constructor(e = 5, t = 3,
|
|
993
|
+
class $t extends v {
|
|
994
|
+
constructor(e = 5, t = 3, n = 5, a = 0.2) {
|
|
980
995
|
super();
|
|
981
996
|
const c = [
|
|
982
997
|
// Floor vertices
|
|
983
998
|
-e / 2,
|
|
984
999
|
0,
|
|
985
|
-
-
|
|
1000
|
+
-n / 2,
|
|
986
1001
|
// 0
|
|
987
1002
|
e / 2,
|
|
988
1003
|
0,
|
|
989
|
-
-
|
|
1004
|
+
-n / 2,
|
|
990
1005
|
// 1
|
|
991
1006
|
e / 2,
|
|
992
1007
|
0,
|
|
993
|
-
|
|
1008
|
+
n / 2,
|
|
994
1009
|
// 2
|
|
995
1010
|
-e / 2,
|
|
996
1011
|
0,
|
|
997
|
-
|
|
1012
|
+
n / 2,
|
|
998
1013
|
// 3
|
|
999
1014
|
// Back wall vertices
|
|
1000
1015
|
-e / 2,
|
|
1001
1016
|
0,
|
|
1002
|
-
-
|
|
1017
|
+
-n / 2,
|
|
1003
1018
|
// 4
|
|
1004
1019
|
e / 2,
|
|
1005
1020
|
0,
|
|
1006
|
-
-
|
|
1021
|
+
-n / 2,
|
|
1007
1022
|
// 5
|
|
1008
1023
|
e / 2,
|
|
1009
1024
|
t,
|
|
1010
|
-
-
|
|
1025
|
+
-n / 2,
|
|
1011
1026
|
// 6
|
|
1012
1027
|
-e / 2,
|
|
1013
1028
|
t,
|
|
1014
|
-
-
|
|
1029
|
+
-n / 2,
|
|
1015
1030
|
// 7
|
|
1016
1031
|
// Left wall vertices
|
|
1017
1032
|
-e / 2,
|
|
1018
1033
|
0,
|
|
1019
|
-
-
|
|
1034
|
+
-n / 2,
|
|
1020
1035
|
// 8
|
|
1021
1036
|
-e / 2,
|
|
1022
1037
|
0,
|
|
1023
|
-
|
|
1038
|
+
n / 2,
|
|
1024
1039
|
// 9
|
|
1025
1040
|
-e / 2,
|
|
1026
1041
|
t,
|
|
1027
|
-
|
|
1042
|
+
n / 2,
|
|
1028
1043
|
// 10
|
|
1029
1044
|
-e / 2,
|
|
1030
1045
|
t,
|
|
1031
|
-
-
|
|
1046
|
+
-n / 2
|
|
1032
1047
|
// 11
|
|
1033
|
-
],
|
|
1048
|
+
], s = [
|
|
1034
1049
|
// Floor
|
|
1035
1050
|
0,
|
|
1036
1051
|
1,
|
|
@@ -1053,60 +1068,60 @@ class bt extends v {
|
|
|
1053
1068
|
10,
|
|
1054
1069
|
11
|
|
1055
1070
|
];
|
|
1056
|
-
this.setIndex(
|
|
1071
|
+
this.setIndex(s), this.setAttribute("position", new F(c, 3)), this.computeVertexNormals();
|
|
1057
1072
|
}
|
|
1058
1073
|
}
|
|
1059
|
-
class
|
|
1060
|
-
constructor(e = 2, t = 0.3,
|
|
1074
|
+
class Wt extends v {
|
|
1075
|
+
constructor(e = 2, t = 0.3, n = 0.5, a = 5, c = 2) {
|
|
1061
1076
|
super();
|
|
1062
|
-
const
|
|
1063
|
-
for (let
|
|
1064
|
-
const
|
|
1065
|
-
|
|
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;
|
|
1080
|
+
s.push(
|
|
1066
1081
|
// Vertical riser
|
|
1067
1082
|
-e / 2,
|
|
1068
|
-
|
|
1069
|
-
|
|
1083
|
+
h,
|
|
1084
|
+
p,
|
|
1070
1085
|
// Bottom-left
|
|
1071
1086
|
e / 2,
|
|
1072
|
-
|
|
1073
|
-
|
|
1087
|
+
h,
|
|
1088
|
+
p,
|
|
1074
1089
|
// Bottom-right
|
|
1075
1090
|
e / 2,
|
|
1076
|
-
p,
|
|
1077
1091
|
d,
|
|
1092
|
+
p,
|
|
1078
1093
|
// Top-right
|
|
1079
1094
|
-e / 2,
|
|
1080
|
-
p,
|
|
1081
1095
|
d,
|
|
1096
|
+
p,
|
|
1082
1097
|
// Top-left
|
|
1083
1098
|
// Horizontal tread
|
|
1084
1099
|
-e / 2,
|
|
1085
|
-
p,
|
|
1086
1100
|
d,
|
|
1101
|
+
p,
|
|
1087
1102
|
// Top-left
|
|
1088
1103
|
e / 2,
|
|
1089
|
-
p,
|
|
1090
1104
|
d,
|
|
1105
|
+
p,
|
|
1091
1106
|
// Top-right
|
|
1092
1107
|
e / 2,
|
|
1093
|
-
|
|
1108
|
+
d,
|
|
1094
1109
|
x,
|
|
1095
1110
|
// Back-right
|
|
1096
1111
|
-e / 2,
|
|
1097
|
-
|
|
1112
|
+
d,
|
|
1098
1113
|
x
|
|
1099
1114
|
// Back-left
|
|
1100
1115
|
);
|
|
1101
|
-
const y =
|
|
1102
|
-
|
|
1116
|
+
const y = m * 8;
|
|
1117
|
+
r.push(
|
|
1103
1118
|
y,
|
|
1104
1119
|
y + 1,
|
|
1105
1120
|
y + 2,
|
|
1106
1121
|
y,
|
|
1107
1122
|
y + 2,
|
|
1108
1123
|
y + 3
|
|
1109
|
-
),
|
|
1124
|
+
), r.push(
|
|
1110
1125
|
y + 4,
|
|
1111
1126
|
y + 5,
|
|
1112
1127
|
y + 6,
|
|
@@ -1115,8 +1130,8 @@ class St extends v {
|
|
|
1115
1130
|
y + 7
|
|
1116
1131
|
);
|
|
1117
1132
|
}
|
|
1118
|
-
const i =
|
|
1119
|
-
|
|
1133
|
+
const i = a * t, l = a * n;
|
|
1134
|
+
s.push(
|
|
1120
1135
|
// Landing platform (4 vertices)
|
|
1121
1136
|
-e / 2,
|
|
1122
1137
|
i,
|
|
@@ -1135,64 +1150,64 @@ class St extends v {
|
|
|
1135
1150
|
l + c
|
|
1136
1151
|
// Top-left
|
|
1137
1152
|
);
|
|
1138
|
-
const
|
|
1139
|
-
|
|
1140
|
-
|
|
1141
|
-
|
|
1142
|
-
|
|
1153
|
+
const u = a * 8;
|
|
1154
|
+
r.push(
|
|
1155
|
+
u,
|
|
1156
|
+
u + 1,
|
|
1157
|
+
u + 2,
|
|
1143
1158
|
// First triangle for landing
|
|
1144
|
-
|
|
1145
|
-
|
|
1146
|
-
|
|
1159
|
+
u,
|
|
1160
|
+
u + 2,
|
|
1161
|
+
u + 3
|
|
1147
1162
|
// Second triangle for landing
|
|
1148
1163
|
);
|
|
1149
|
-
for (let
|
|
1150
|
-
const
|
|
1151
|
-
|
|
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;
|
|
1166
|
+
s.push(
|
|
1152
1167
|
// Vertical riser
|
|
1153
|
-
|
|
1154
|
-
|
|
1168
|
+
p,
|
|
1169
|
+
h,
|
|
1155
1170
|
l + c,
|
|
1156
1171
|
// Bottom-left
|
|
1157
|
-
|
|
1158
|
-
|
|
1172
|
+
p,
|
|
1173
|
+
h,
|
|
1159
1174
|
l + c - e,
|
|
1160
1175
|
// Bottom-right
|
|
1161
|
-
d,
|
|
1162
1176
|
p,
|
|
1177
|
+
d,
|
|
1163
1178
|
l + c - e,
|
|
1164
1179
|
// Top-right
|
|
1165
|
-
d,
|
|
1166
1180
|
p,
|
|
1181
|
+
d,
|
|
1167
1182
|
l + c,
|
|
1168
1183
|
// Top-left
|
|
1169
1184
|
// Horizontal tread
|
|
1170
|
-
d,
|
|
1171
1185
|
p,
|
|
1186
|
+
d,
|
|
1172
1187
|
l + c,
|
|
1173
1188
|
// Top-left
|
|
1174
|
-
d,
|
|
1175
1189
|
p,
|
|
1190
|
+
d,
|
|
1176
1191
|
l + c - e,
|
|
1177
1192
|
// Top-right
|
|
1178
1193
|
x,
|
|
1179
|
-
|
|
1194
|
+
d,
|
|
1180
1195
|
l + c - e,
|
|
1181
1196
|
// Back-right
|
|
1182
1197
|
x,
|
|
1183
|
-
|
|
1198
|
+
d,
|
|
1184
1199
|
l + c
|
|
1185
1200
|
// Back-left
|
|
1186
1201
|
);
|
|
1187
|
-
const y =
|
|
1188
|
-
|
|
1202
|
+
const y = u + 4 + m * 8;
|
|
1203
|
+
r.push(
|
|
1189
1204
|
y,
|
|
1190
1205
|
y + 1,
|
|
1191
1206
|
y + 2,
|
|
1192
1207
|
y,
|
|
1193
1208
|
y + 2,
|
|
1194
1209
|
y + 3
|
|
1195
|
-
),
|
|
1210
|
+
), r.push(
|
|
1196
1211
|
y + 4,
|
|
1197
1212
|
y + 5,
|
|
1198
1213
|
y + 6,
|
|
@@ -1201,54 +1216,54 @@ class St extends v {
|
|
|
1201
1216
|
y + 7
|
|
1202
1217
|
);
|
|
1203
1218
|
}
|
|
1204
|
-
this.setIndex(
|
|
1219
|
+
this.setIndex(r), this.setAttribute("position", new F(s, 3)), this.computeVertexNormals();
|
|
1205
1220
|
}
|
|
1206
1221
|
}
|
|
1207
|
-
class
|
|
1208
|
-
constructor(e = 1, t = 0.4,
|
|
1222
|
+
class eo extends v {
|
|
1223
|
+
constructor(e = 1, t = 0.4, n = 0.2, a = 20, c = 2, s = Math.PI / 8) {
|
|
1209
1224
|
super();
|
|
1210
|
-
const
|
|
1225
|
+
const r = [], i = [];
|
|
1211
1226
|
let l = 0;
|
|
1212
|
-
for (let
|
|
1213
|
-
const
|
|
1214
|
-
|
|
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(
|
|
1215
1230
|
// Front face (vertical riser)
|
|
1216
|
-
|
|
1217
|
-
|
|
1218
|
-
|
|
1231
|
+
m - e / 2 * Math.cos(l),
|
|
1232
|
+
d,
|
|
1233
|
+
h - e / 2 * Math.sin(l),
|
|
1219
1234
|
// Bottom-left
|
|
1220
|
-
|
|
1221
|
-
p,
|
|
1222
|
-
f + e / 2 * Math.sin(l),
|
|
1223
|
-
// Bottom-right
|
|
1224
|
-
u + e / 2 * Math.cos(l),
|
|
1235
|
+
m + e / 2 * Math.cos(l),
|
|
1225
1236
|
d,
|
|
1226
|
-
|
|
1237
|
+
h + e / 2 * Math.sin(l),
|
|
1238
|
+
// Bottom-right
|
|
1239
|
+
m + e / 2 * Math.cos(l),
|
|
1240
|
+
p,
|
|
1241
|
+
h + e / 2 * Math.sin(l),
|
|
1227
1242
|
// Top-right
|
|
1228
|
-
|
|
1229
|
-
|
|
1230
|
-
|
|
1243
|
+
m - e / 2 * Math.cos(l),
|
|
1244
|
+
p,
|
|
1245
|
+
h - e / 2 * Math.sin(l)
|
|
1231
1246
|
// Top-left
|
|
1232
|
-
),
|
|
1247
|
+
), r.push(
|
|
1233
1248
|
// Top face (horizontal tread)
|
|
1234
|
-
|
|
1235
|
-
|
|
1236
|
-
|
|
1249
|
+
m - e / 2 * Math.cos(l),
|
|
1250
|
+
p,
|
|
1251
|
+
h - e / 2 * Math.sin(l),
|
|
1237
1252
|
// Top-left-front
|
|
1238
|
-
|
|
1239
|
-
|
|
1240
|
-
|
|
1253
|
+
m + e / 2 * Math.cos(l),
|
|
1254
|
+
p,
|
|
1255
|
+
h + e / 2 * Math.sin(l),
|
|
1241
1256
|
// Top-right-front
|
|
1242
|
-
|
|
1243
|
-
|
|
1244
|
-
|
|
1257
|
+
m + e / 2 * Math.cos(l) - t * Math.sin(l),
|
|
1258
|
+
p,
|
|
1259
|
+
h + e / 2 * Math.sin(l) + t * Math.cos(l),
|
|
1245
1260
|
// Back-right
|
|
1246
|
-
|
|
1247
|
-
|
|
1248
|
-
|
|
1261
|
+
m - e / 2 * Math.cos(l) - t * Math.sin(l),
|
|
1262
|
+
p,
|
|
1263
|
+
h - e / 2 * Math.sin(l) + t * Math.cos(l)
|
|
1249
1264
|
// Back-left
|
|
1250
1265
|
);
|
|
1251
|
-
const x =
|
|
1266
|
+
const x = u * 8;
|
|
1252
1267
|
i.push(
|
|
1253
1268
|
x,
|
|
1254
1269
|
x + 1,
|
|
@@ -1267,215 +1282,215 @@ class Gt extends v {
|
|
|
1267
1282
|
x + 6,
|
|
1268
1283
|
x + 7
|
|
1269
1284
|
// Second triangle for tread
|
|
1270
|
-
), l +=
|
|
1285
|
+
), l += s;
|
|
1271
1286
|
}
|
|
1272
|
-
this.setIndex(i), this.setAttribute("position", new
|
|
1287
|
+
this.setIndex(i), this.setAttribute("position", new F(r, 3)), this.computeVertexNormals();
|
|
1273
1288
|
}
|
|
1274
1289
|
}
|
|
1275
|
-
class
|
|
1276
|
-
constructor(e = 2, t = 0.3,
|
|
1290
|
+
class to extends v {
|
|
1291
|
+
constructor(e = 2, t = 0.3, n = 0.5, a = 10) {
|
|
1277
1292
|
super();
|
|
1278
|
-
const c = [],
|
|
1279
|
-
for (let
|
|
1280
|
-
const i =
|
|
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;
|
|
1281
1296
|
c.push(
|
|
1282
1297
|
// Bottom face of riser (front face)
|
|
1283
1298
|
-e / 2,
|
|
1284
1299
|
i,
|
|
1285
|
-
|
|
1300
|
+
u,
|
|
1286
1301
|
// 0: Bottom-left-front
|
|
1287
1302
|
e / 2,
|
|
1288
1303
|
i,
|
|
1289
|
-
|
|
1304
|
+
u,
|
|
1290
1305
|
// 1: Bottom-right-front
|
|
1291
1306
|
e / 2,
|
|
1292
1307
|
l,
|
|
1293
|
-
|
|
1308
|
+
u,
|
|
1294
1309
|
// 2: Top-right-front
|
|
1295
1310
|
-e / 2,
|
|
1296
1311
|
l,
|
|
1297
|
-
|
|
1312
|
+
u,
|
|
1298
1313
|
// 3: Top-left-front
|
|
1299
1314
|
// Top face of tread (horizontal step)
|
|
1300
1315
|
-e / 2,
|
|
1301
1316
|
l,
|
|
1302
|
-
|
|
1317
|
+
u,
|
|
1303
1318
|
// 4: Top-left-front (repeated)
|
|
1304
1319
|
e / 2,
|
|
1305
1320
|
l,
|
|
1306
|
-
|
|
1321
|
+
u,
|
|
1307
1322
|
// 5: Top-right-front (repeated)
|
|
1308
1323
|
e / 2,
|
|
1309
1324
|
l,
|
|
1310
|
-
|
|
1325
|
+
m,
|
|
1311
1326
|
// 6: Top-right-back
|
|
1312
1327
|
-e / 2,
|
|
1313
1328
|
l,
|
|
1314
|
-
|
|
1329
|
+
m
|
|
1315
1330
|
// 7: Top-left-back
|
|
1316
1331
|
);
|
|
1317
|
-
const
|
|
1318
|
-
|
|
1319
|
-
|
|
1320
|
-
|
|
1321
|
-
|
|
1332
|
+
const h = r * 8;
|
|
1333
|
+
s.push(
|
|
1334
|
+
h,
|
|
1335
|
+
h + 1,
|
|
1336
|
+
h + 2,
|
|
1322
1337
|
// First triangle for riser
|
|
1323
|
-
|
|
1324
|
-
|
|
1325
|
-
|
|
1338
|
+
h,
|
|
1339
|
+
h + 2,
|
|
1340
|
+
h + 3
|
|
1326
1341
|
// Second triangle for riser
|
|
1327
|
-
),
|
|
1328
|
-
|
|
1329
|
-
|
|
1330
|
-
|
|
1342
|
+
), s.push(
|
|
1343
|
+
h + 4,
|
|
1344
|
+
h + 6,
|
|
1345
|
+
h + 5,
|
|
1331
1346
|
// First triangle for tread
|
|
1332
|
-
|
|
1333
|
-
|
|
1334
|
-
|
|
1347
|
+
h + 4,
|
|
1348
|
+
h + 7,
|
|
1349
|
+
h + 6
|
|
1335
1350
|
// Second triangle for tread
|
|
1336
1351
|
);
|
|
1337
1352
|
}
|
|
1338
|
-
this.setIndex(
|
|
1353
|
+
this.setIndex(s), this.setAttribute("position", new F(c, 3)), this.computeVertexNormals();
|
|
1339
1354
|
}
|
|
1340
1355
|
}
|
|
1341
|
-
class
|
|
1342
|
-
constructor(e = 0.4, t = 1.2,
|
|
1356
|
+
class lt extends v {
|
|
1357
|
+
constructor(e = 0.4, t = 1.2, n = 0.2) {
|
|
1343
1358
|
super();
|
|
1344
|
-
const
|
|
1345
|
-
c.translate(0,
|
|
1346
|
-
const
|
|
1347
|
-
|
|
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();
|
|
1348
1363
|
}
|
|
1349
1364
|
}
|
|
1350
|
-
class
|
|
1365
|
+
class ut extends v {
|
|
1351
1366
|
constructor(e = 1.75, t = 0.75) {
|
|
1352
1367
|
super();
|
|
1353
|
-
const
|
|
1354
|
-
let
|
|
1355
|
-
const i = new g(t,
|
|
1356
|
-
i.translate(0,
|
|
1357
|
-
const l = new g(t * 0.8,
|
|
1358
|
-
l.translate(0,
|
|
1359
|
-
const
|
|
1360
|
-
|
|
1361
|
-
const
|
|
1362
|
-
|
|
1363
|
-
const
|
|
1364
|
-
|
|
1365
|
-
}
|
|
1366
|
-
}
|
|
1367
|
-
class
|
|
1368
|
-
constructor(e = 0.6, t = 1,
|
|
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) {
|
|
1369
1384
|
super();
|
|
1370
|
-
const c = t -
|
|
1371
|
-
|
|
1372
|
-
const
|
|
1373
|
-
|
|
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();
|
|
1374
1389
|
}
|
|
1375
1390
|
}
|
|
1376
|
-
class
|
|
1377
|
-
constructor(e = 0.5, t = 0.8,
|
|
1391
|
+
class ht extends v {
|
|
1392
|
+
constructor(e = 0.5, t = 0.8, n = 0.15) {
|
|
1378
1393
|
super();
|
|
1379
|
-
const
|
|
1380
|
-
|
|
1394
|
+
const a = new g(e, t, n);
|
|
1395
|
+
a.translate(0, t / 2, 0), this.copy(a);
|
|
1381
1396
|
}
|
|
1382
1397
|
}
|
|
1383
|
-
class
|
|
1398
|
+
class ft extends v {
|
|
1384
1399
|
constructor({ height: e = 2.25 } = {}) {
|
|
1385
1400
|
super();
|
|
1386
1401
|
const t = new g(1.2, 0.5, 1.2);
|
|
1387
1402
|
t.translate(0, 0.25, 0);
|
|
1388
|
-
const
|
|
1389
|
-
|
|
1390
|
-
const
|
|
1391
|
-
|
|
1403
|
+
const n = new g(1, e, 1);
|
|
1404
|
+
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));
|
|
1392
1407
|
}
|
|
1393
1408
|
}
|
|
1394
|
-
class
|
|
1409
|
+
class ue extends v {
|
|
1395
1410
|
constructor({
|
|
1396
1411
|
barHeight: e = 2,
|
|
1397
1412
|
//
|
|
1398
1413
|
barRadius: t = 0.05,
|
|
1399
|
-
spikeHeight:
|
|
1400
|
-
spikeRadius:
|
|
1414
|
+
spikeHeight: n = 0.3,
|
|
1415
|
+
spikeRadius: a = 0.075,
|
|
1401
1416
|
spikeScaleZ: c = 1,
|
|
1402
|
-
radialSegments:
|
|
1417
|
+
radialSegments: s = 8
|
|
1403
1418
|
} = {}) {
|
|
1404
1419
|
super();
|
|
1405
|
-
const
|
|
1406
|
-
|
|
1407
|
-
const i = new
|
|
1408
|
-
i.translate(0, e +
|
|
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));
|
|
1409
1424
|
}
|
|
1410
1425
|
}
|
|
1411
|
-
class
|
|
1426
|
+
class pt extends v {
|
|
1412
1427
|
constructor({
|
|
1413
1428
|
count: e = 20,
|
|
1414
1429
|
//
|
|
1415
1430
|
spacing: t = 0.4,
|
|
1416
|
-
barHeight:
|
|
1417
|
-
barRadius:
|
|
1431
|
+
barHeight: n = 2,
|
|
1432
|
+
barRadius: a = 0.05,
|
|
1418
1433
|
spikeHeight: c = 0.3,
|
|
1419
|
-
spikeRadius:
|
|
1420
|
-
spikeScaleZ:
|
|
1434
|
+
spikeRadius: s = 0.075,
|
|
1435
|
+
spikeScaleZ: r = 1,
|
|
1421
1436
|
railHeight: i = 0.1,
|
|
1422
1437
|
railDepth: l = 0.05,
|
|
1423
|
-
railOffset:
|
|
1424
|
-
radialSegments:
|
|
1438
|
+
railOffset: u = 0,
|
|
1439
|
+
radialSegments: m = 8
|
|
1425
1440
|
} = {}) {
|
|
1426
1441
|
super();
|
|
1427
|
-
const
|
|
1428
|
-
for (let
|
|
1429
|
-
const
|
|
1430
|
-
|
|
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++) {
|
|
1444
|
+
const G = d.clone();
|
|
1445
|
+
G.translate(I * t, 0, 0), h.push(G);
|
|
1431
1446
|
}
|
|
1432
|
-
const x =
|
|
1433
|
-
x.translate(t * (e - 1) / 2,
|
|
1434
|
-
const y =
|
|
1435
|
-
y.translate(t * (e - 1) / 2, i / 2, 0),
|
|
1447
|
+
const x = p.clone();
|
|
1448
|
+
x.translate(t * (e - 1) / 2, n - u - i / 2, 0), h.push(x);
|
|
1449
|
+
const y = p.clone();
|
|
1450
|
+
y.translate(t * (e - 1) / 2, i / 2, 0), h.push(y), this.copy(A(h));
|
|
1436
1451
|
}
|
|
1437
1452
|
}
|
|
1438
|
-
class
|
|
1453
|
+
class dt extends v {
|
|
1439
1454
|
constructor({
|
|
1440
1455
|
width: e = 5,
|
|
1441
1456
|
//
|
|
1442
1457
|
height: t = 8,
|
|
1443
|
-
depth:
|
|
1444
|
-
shelves:
|
|
1458
|
+
depth: n = 1,
|
|
1459
|
+
shelves: a = 4,
|
|
1445
1460
|
frameThickness: c = 0.1,
|
|
1446
|
-
open:
|
|
1461
|
+
open: s = !1
|
|
1447
1462
|
} = {}) {
|
|
1448
1463
|
super();
|
|
1449
|
-
const
|
|
1450
|
-
|
|
1451
|
-
const p = m.clone();
|
|
1452
|
-
p.translate(i / 2 - c / 2, a / 2, 0);
|
|
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);
|
|
1453
1466
|
const d = u.clone();
|
|
1454
|
-
d.translate(
|
|
1455
|
-
const
|
|
1467
|
+
d.translate(i / 2 - c / 2, r / 2, 0);
|
|
1468
|
+
const p = m.clone();
|
|
1469
|
+
p.translate(0, r - c / 2, 0);
|
|
1470
|
+
const x = m.clone();
|
|
1456
1471
|
x.translate(0, c / 2, 0);
|
|
1457
|
-
const y = new g(i,
|
|
1458
|
-
y.translate(0,
|
|
1459
|
-
const
|
|
1460
|
-
for (let
|
|
1461
|
-
const
|
|
1462
|
-
|
|
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);
|
|
1463
1478
|
}
|
|
1464
1479
|
this.copy(A([
|
|
1465
|
-
|
|
1480
|
+
h,
|
|
1466
1481
|
//
|
|
1467
|
-
p,
|
|
1468
1482
|
d,
|
|
1483
|
+
p,
|
|
1469
1484
|
x,
|
|
1470
|
-
...
|
|
1471
|
-
...
|
|
1485
|
+
...s ? [] : [y],
|
|
1486
|
+
...I
|
|
1472
1487
|
], !1));
|
|
1473
1488
|
}
|
|
1474
1489
|
}
|
|
1475
|
-
class
|
|
1490
|
+
class oo extends v {
|
|
1476
1491
|
constructor(e = 0.1) {
|
|
1477
1492
|
super();
|
|
1478
|
-
const t = [],
|
|
1493
|
+
const t = [], n = [], a = [
|
|
1479
1494
|
[0, 1],
|
|
1480
1495
|
// Top point
|
|
1481
1496
|
[0.5, 0.75],
|
|
@@ -1493,77 +1508,77 @@ class Pt extends v {
|
|
|
1493
1508
|
[-0.5, 0.75]
|
|
1494
1509
|
// Left upper middle
|
|
1495
1510
|
];
|
|
1496
|
-
for (let
|
|
1497
|
-
const [
|
|
1498
|
-
t.push(
|
|
1511
|
+
for (let s = 0; s < a.length; s++) {
|
|
1512
|
+
const [r, i] = a[s];
|
|
1513
|
+
t.push(r * e, i * e, 0);
|
|
1499
1514
|
}
|
|
1500
|
-
for (let
|
|
1501
|
-
|
|
1502
|
-
|
|
1503
|
-
const c = new
|
|
1504
|
-
this.setAttribute("position", c), this.setIndex(
|
|
1515
|
+
for (let s = 1; s < a.length - 1; s++)
|
|
1516
|
+
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();
|
|
1505
1520
|
}
|
|
1506
1521
|
}
|
|
1507
|
-
function
|
|
1508
|
-
|
|
1509
|
-
const
|
|
1510
|
-
for (let c = 0; c <
|
|
1511
|
-
const
|
|
1512
|
-
|
|
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);
|
|
1513
1528
|
}
|
|
1514
|
-
return
|
|
1529
|
+
return a.needsUpdate = !0, o.computeVertexNormals(), o;
|
|
1515
1530
|
}
|
|
1516
|
-
class
|
|
1517
|
-
constructor(e = 1, t = 4,
|
|
1531
|
+
class yt extends v {
|
|
1532
|
+
constructor(e = 1, t = 4, n = 4) {
|
|
1518
1533
|
super();
|
|
1519
|
-
const
|
|
1520
|
-
this.copy(
|
|
1534
|
+
const a = new T(e, t, n);
|
|
1535
|
+
this.copy(wt(a, U.XYZ, 0.5, 1)), this.computeVertexNormals(), this.center();
|
|
1521
1536
|
}
|
|
1522
1537
|
}
|
|
1523
|
-
class
|
|
1524
|
-
constructor(e = 0.1, t = 0.1,
|
|
1538
|
+
class xt extends v {
|
|
1539
|
+
constructor(e = 0.1, t = 0.1, n = 0.4, a = 8) {
|
|
1525
1540
|
super();
|
|
1526
|
-
const c = new S(e * 0.6, t * 0.6,
|
|
1541
|
+
const c = new S(e * 0.6, t * 0.6, n, a);
|
|
1527
1542
|
c.translate(0, 0, 0);
|
|
1528
|
-
const
|
|
1529
|
-
|
|
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));
|
|
1530
1545
|
}
|
|
1531
1546
|
}
|
|
1532
|
-
class
|
|
1547
|
+
class Mt extends v {
|
|
1533
1548
|
constructor() {
|
|
1534
1549
|
super();
|
|
1535
|
-
const e = new
|
|
1550
|
+
const e = new T(1, 16, 16), t = new S(0.2, 0.2, 2, 16, 1, !0);
|
|
1536
1551
|
t.translate(0, 1.5, 0), t.rotateX(Math.PI / 2), this.copy(A([e, t], !1));
|
|
1537
1552
|
}
|
|
1538
1553
|
}
|
|
1539
|
-
class
|
|
1554
|
+
class vt extends v {
|
|
1540
1555
|
constructor({
|
|
1541
1556
|
flaskRadius: e = 1,
|
|
1542
1557
|
//
|
|
1543
1558
|
neckRadius: t = 0.3,
|
|
1544
|
-
height:
|
|
1545
|
-
neckHeight:
|
|
1559
|
+
height: n = 2.5,
|
|
1560
|
+
neckHeight: a = 1,
|
|
1546
1561
|
radialSegments: c = 16
|
|
1547
1562
|
} = {}) {
|
|
1548
1563
|
super();
|
|
1549
|
-
const
|
|
1564
|
+
const s = [
|
|
1550
1565
|
new b(0, 0),
|
|
1551
1566
|
// Bottom of the flask
|
|
1552
1567
|
new b(e * 0.875, 0),
|
|
1553
1568
|
// Flat base with minimum width
|
|
1554
1569
|
new b(e, 0.1),
|
|
1555
1570
|
// End of the rounded base
|
|
1556
|
-
new b(t,
|
|
1571
|
+
new b(t, n),
|
|
1557
1572
|
// Start of the straight neck
|
|
1558
|
-
new b(t,
|
|
1573
|
+
new b(t, n + a),
|
|
1559
1574
|
// End of the straight neck
|
|
1560
|
-
new b(t * 1.1,
|
|
1575
|
+
new b(t * 1.1, n + a + 0.3)
|
|
1561
1576
|
// Slight outward lip at the top
|
|
1562
|
-
],
|
|
1563
|
-
this.copy(A([
|
|
1577
|
+
], r = new q(s, c);
|
|
1578
|
+
this.copy(A([r], !1));
|
|
1564
1579
|
}
|
|
1565
1580
|
}
|
|
1566
|
-
class
|
|
1581
|
+
class gt extends v {
|
|
1567
1582
|
constructor() {
|
|
1568
1583
|
super();
|
|
1569
1584
|
const e = [
|
|
@@ -1577,114 +1592,114 @@ class De extends v {
|
|
|
1577
1592
|
// Flared edge
|
|
1578
1593
|
new b(0.8, 1.8)
|
|
1579
1594
|
// Lip of the bowl
|
|
1580
|
-
], t = new q(e, 12),
|
|
1581
|
-
|
|
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));
|
|
1582
1597
|
}
|
|
1583
1598
|
}
|
|
1584
|
-
class
|
|
1599
|
+
class bt extends v {
|
|
1585
1600
|
constructor({
|
|
1586
1601
|
radius: e = 0.3,
|
|
1587
1602
|
//
|
|
1588
1603
|
height: t = 0.4,
|
|
1589
|
-
count:
|
|
1590
|
-
thickness:
|
|
1604
|
+
count: n = 3,
|
|
1605
|
+
thickness: a = 0.03,
|
|
1591
1606
|
radialSegments: c = 16
|
|
1592
1607
|
} = {}) {
|
|
1593
1608
|
super();
|
|
1594
|
-
const
|
|
1595
|
-
|
|
1596
|
-
const
|
|
1597
|
-
for (let l = 0; l <
|
|
1598
|
-
const
|
|
1599
|
-
|
|
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 = [];
|
|
1612
|
+
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);
|
|
1600
1615
|
}
|
|
1601
|
-
this.copy(A([
|
|
1616
|
+
this.copy(A([s, ...i], !1));
|
|
1602
1617
|
}
|
|
1603
1618
|
}
|
|
1604
|
-
class
|
|
1605
|
-
constructor(e = 0.2, t = 0.2,
|
|
1619
|
+
class H extends v {
|
|
1620
|
+
constructor(e = 0.2, t = 0.2, n = 3, a = 32, c = !0) {
|
|
1606
1621
|
super();
|
|
1607
|
-
const
|
|
1608
|
-
|
|
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));
|
|
1609
1624
|
}
|
|
1610
1625
|
}
|
|
1611
|
-
class
|
|
1612
|
-
constructor({ radius: e = 0.5, neckRadius: t = 0.2, height:
|
|
1626
|
+
class St extends v {
|
|
1627
|
+
constructor({ radius: e = 0.5, neckRadius: t = 0.2, height: n = 3, neckHeight: a = 1, segments: c = 16 } = {}) {
|
|
1613
1628
|
super();
|
|
1614
|
-
const
|
|
1615
|
-
|
|
1629
|
+
const s = n - a, r = new S(e, e, s, c);
|
|
1630
|
+
r.translate(0, s / 2, 0);
|
|
1616
1631
|
const i = 0.3, l = new S(t, e, i, c);
|
|
1617
|
-
l.translate(0,
|
|
1618
|
-
const
|
|
1619
|
-
|
|
1632
|
+
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));
|
|
1620
1635
|
}
|
|
1621
1636
|
}
|
|
1622
|
-
class
|
|
1637
|
+
class It extends v {
|
|
1623
1638
|
constructor({
|
|
1624
1639
|
radius: e = 3,
|
|
1625
1640
|
//
|
|
1626
1641
|
height: t = 0.6,
|
|
1627
|
-
widthSegments:
|
|
1628
|
-
heightSegments:
|
|
1642
|
+
widthSegments: n = 64,
|
|
1643
|
+
heightSegments: a = 16,
|
|
1629
1644
|
phiStart: c = 0,
|
|
1630
|
-
phiLength:
|
|
1645
|
+
phiLength: s = Math.PI * 2
|
|
1631
1646
|
} = {}) {
|
|
1632
|
-
super(), this.copy(new
|
|
1647
|
+
super(), this.copy(new T(e, n, a, c, s, 0, Math.PI / 2)), this.scale(1, t / e, 1);
|
|
1633
1648
|
}
|
|
1634
1649
|
}
|
|
1635
|
-
const
|
|
1636
|
-
x:
|
|
1637
|
-
y:
|
|
1638
|
-
z:
|
|
1639
|
-
}),
|
|
1640
|
-
const
|
|
1641
|
-
return { radius:
|
|
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 };
|
|
1642
1657
|
};
|
|
1643
|
-
class
|
|
1658
|
+
class Pt extends v {
|
|
1644
1659
|
constructor({
|
|
1645
|
-
radius: e =
|
|
1660
|
+
radius: e = me(5, Math.PI / 10),
|
|
1646
1661
|
//
|
|
1647
1662
|
widthSegments: t = 64,
|
|
1648
|
-
heightSegments:
|
|
1649
|
-
phiStart:
|
|
1663
|
+
heightSegments: n = 32,
|
|
1664
|
+
phiStart: a = 0,
|
|
1650
1665
|
phiLength: c = Math.PI * 2,
|
|
1651
|
-
thetaLength:
|
|
1666
|
+
thetaLength: s = Math.PI / 10
|
|
1652
1667
|
} = {}) {
|
|
1653
|
-
super(), this.copy(new
|
|
1654
|
-
const
|
|
1655
|
-
this.translate(0, -e +
|
|
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);
|
|
1656
1671
|
}
|
|
1657
1672
|
}
|
|
1658
|
-
class
|
|
1673
|
+
class At extends v {
|
|
1659
1674
|
constructor({
|
|
1660
1675
|
trunkRadiusTop: e = 0.25,
|
|
1661
1676
|
trunkRadiusBottom: t = 0.4,
|
|
1662
|
-
trunkHeight:
|
|
1663
|
-
trunkSegments:
|
|
1677
|
+
trunkHeight: n = 2.5,
|
|
1678
|
+
trunkSegments: a = 14,
|
|
1664
1679
|
leafSize: c = 0.8,
|
|
1665
|
-
leafCount:
|
|
1666
|
-
leafDetail:
|
|
1680
|
+
leafCount: s = 6,
|
|
1681
|
+
leafDetail: r = 0,
|
|
1667
1682
|
leafSpreadRadius: i = 1.5
|
|
1668
1683
|
} = {}) {
|
|
1669
1684
|
super();
|
|
1670
|
-
const l = new S(e, t,
|
|
1671
|
-
l.translate(0,
|
|
1672
|
-
const
|
|
1673
|
-
for (let
|
|
1674
|
-
const
|
|
1675
|
-
|
|
1685
|
+
const l = new S(e, t, n, a);
|
|
1686
|
+
l.translate(0, n / 2, 0);
|
|
1687
|
+
const u = [];
|
|
1688
|
+
for (let m = 0; m < s; m++) {
|
|
1689
|
+
const h = new j(c, r);
|
|
1690
|
+
h.translate(
|
|
1676
1691
|
(Math.random() - 0.5) * i,
|
|
1677
|
-
(Math.random() - 0.5) * c +
|
|
1692
|
+
(Math.random() - 0.5) * c + n,
|
|
1678
1693
|
(Math.random() - 0.5) * i
|
|
1679
|
-
),
|
|
1694
|
+
), u.push(h);
|
|
1680
1695
|
}
|
|
1681
|
-
this.copy(A([l.toNonIndexed(), A(
|
|
1696
|
+
this.copy(A([l.toNonIndexed(), A(u, !1)], !0)), this.computeVertexNormals();
|
|
1682
1697
|
}
|
|
1683
1698
|
}
|
|
1684
|
-
class
|
|
1699
|
+
class co extends P {
|
|
1685
1700
|
constructor() {
|
|
1686
1701
|
super();
|
|
1687
|
-
const e = new
|
|
1702
|
+
const e = new T(5, 32, 32), t = new K({
|
|
1688
1703
|
uniforms: {
|
|
1689
1704
|
time: { value: 0 }
|
|
1690
1705
|
},
|
|
@@ -1727,150 +1742,150 @@ class Et extends P {
|
|
|
1727
1742
|
gl_FragColor = vec4(color, 1.0);
|
|
1728
1743
|
}
|
|
1729
1744
|
`
|
|
1730
|
-
}),
|
|
1731
|
-
this.add(
|
|
1745
|
+
}), n = new f(e, t);
|
|
1746
|
+
this.add(n);
|
|
1732
1747
|
}
|
|
1733
1748
|
}
|
|
1734
|
-
class
|
|
1749
|
+
class io extends f {
|
|
1735
1750
|
constructor({
|
|
1736
1751
|
width: e = 1,
|
|
1737
1752
|
height: t = 1.5,
|
|
1738
|
-
depth:
|
|
1739
|
-
coverThickness:
|
|
1753
|
+
depth: n = 0.5,
|
|
1754
|
+
coverThickness: a = 0.05,
|
|
1740
1755
|
pageIndent: c = 0.05,
|
|
1741
|
-
coverColor:
|
|
1742
|
-
pageColor:
|
|
1756
|
+
coverColor: s = 9109504,
|
|
1757
|
+
pageColor: r = 16777215
|
|
1743
1758
|
} = {}) {
|
|
1744
|
-
super(), this.geometry = new ce(e, t,
|
|
1745
|
-
new w({ color:
|
|
1746
|
-
new w({ color:
|
|
1759
|
+
super(), this.geometry = new ce(e, t, n, a, c), this.material = [
|
|
1760
|
+
new w({ color: s, metalness: 0.1, roughness: 0.7, flatShading: !0 }),
|
|
1761
|
+
new w({ color: r, flatShading: !0 })
|
|
1747
1762
|
];
|
|
1748
1763
|
}
|
|
1749
1764
|
}
|
|
1750
|
-
class
|
|
1751
|
-
constructor(e = 0.4, t = 1.2,
|
|
1752
|
-
super(), this.geometry = new
|
|
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 });
|
|
1753
1768
|
}
|
|
1754
1769
|
}
|
|
1755
|
-
class
|
|
1770
|
+
class uo extends P {
|
|
1756
1771
|
constructor() {
|
|
1757
1772
|
super();
|
|
1758
|
-
const e = new g(5, 1, 5), t = new w({ color: 8421504, flatShading: !0 }),
|
|
1759
|
-
|
|
1760
|
-
const
|
|
1761
|
-
|
|
1762
|
-
const
|
|
1773
|
+
const e = new g(5, 1, 5), t = new w({ color: 8421504, flatShading: !0 }), n = new f(e, t);
|
|
1774
|
+
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);
|
|
1776
|
+
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);
|
|
1763
1778
|
l.rotation.y = Math.PI / 4, l.position.set(0, 5, 0), this.add(l);
|
|
1764
|
-
const
|
|
1779
|
+
const u = new S(0.2, 0.2, 3.5, 16), m = new w({ color: 6908265, flatShading: !0 });
|
|
1765
1780
|
[
|
|
1766
1781
|
[-1.8, 2.3, -2.2],
|
|
1767
1782
|
[1.8, 2.3, -2.2],
|
|
1768
1783
|
[-1.8, 2.3, 2.2],
|
|
1769
1784
|
[1.8, 2.3, 2.2]
|
|
1770
|
-
].forEach((
|
|
1771
|
-
const
|
|
1772
|
-
|
|
1785
|
+
].forEach((G) => {
|
|
1786
|
+
const B = new f(u, m);
|
|
1787
|
+
B.position.set(...G), this.add(B);
|
|
1773
1788
|
});
|
|
1774
|
-
const
|
|
1775
|
-
|
|
1776
|
-
const
|
|
1789
|
+
const d = new L();
|
|
1790
|
+
d.moveTo(-1, 0), d.lineTo(-1, 2), d.absarc(0, 2, 1, Math.PI, 0, !0), d.lineTo(1, 0);
|
|
1791
|
+
const p = {
|
|
1777
1792
|
depth: 0.5,
|
|
1778
1793
|
bevelEnabled: !1
|
|
1779
|
-
}, x = new V(
|
|
1780
|
-
|
|
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);
|
|
1781
1796
|
}
|
|
1782
1797
|
}
|
|
1783
|
-
class
|
|
1798
|
+
class mo extends f {
|
|
1784
1799
|
constructor(e = 1.75, t = 0.75) {
|
|
1785
|
-
super(), this.geometry = new
|
|
1800
|
+
super(), this.geometry = new ut(e, t), this.material = new w({ color: 7829367, roughness: 0.8 });
|
|
1786
1801
|
}
|
|
1787
1802
|
}
|
|
1788
|
-
class
|
|
1789
|
-
constructor(e = 0.6, t = 1,
|
|
1790
|
-
super(), this.geometry = new
|
|
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 });
|
|
1791
1806
|
}
|
|
1792
1807
|
}
|
|
1793
|
-
class
|
|
1794
|
-
constructor(e = 0.5, t = 0.8,
|
|
1795
|
-
super(), this.geometry = new
|
|
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 });
|
|
1796
1811
|
}
|
|
1797
1812
|
}
|
|
1798
|
-
class
|
|
1813
|
+
class po extends f {
|
|
1799
1814
|
constructor({ height: e = 2.25 } = {}) {
|
|
1800
|
-
super(), this.geometry = new
|
|
1815
|
+
super(), this.geometry = new ft({ height: e }), this.material = new w({ color: 9141627, flatShading: !0 });
|
|
1801
1816
|
}
|
|
1802
1817
|
}
|
|
1803
|
-
class
|
|
1818
|
+
class wo extends f {
|
|
1804
1819
|
constructor({
|
|
1805
1820
|
barHeight: e = 2,
|
|
1806
1821
|
//
|
|
1807
1822
|
barRadius: t = 0.05,
|
|
1808
|
-
spikeHeight:
|
|
1809
|
-
spikeRadius:
|
|
1823
|
+
spikeHeight: n = 0.3,
|
|
1824
|
+
spikeRadius: a = 0.075,
|
|
1810
1825
|
spikeScaleZ: c = 1,
|
|
1811
|
-
radialSegments:
|
|
1826
|
+
radialSegments: s = 8
|
|
1812
1827
|
} = {}) {
|
|
1813
|
-
super(), this.geometry = new
|
|
1828
|
+
super(), this.geometry = new ue({
|
|
1814
1829
|
barHeight: e,
|
|
1815
1830
|
barRadius: t,
|
|
1816
|
-
spikeHeight:
|
|
1817
|
-
spikeRadius:
|
|
1831
|
+
spikeHeight: n,
|
|
1832
|
+
spikeRadius: a,
|
|
1818
1833
|
spikeScaleZ: c,
|
|
1819
|
-
radialSegments:
|
|
1834
|
+
radialSegments: s
|
|
1820
1835
|
}), this.material = new w({ color: 3355443, metalness: 0.8, roughness: 0.4 });
|
|
1821
1836
|
}
|
|
1822
1837
|
}
|
|
1823
|
-
class
|
|
1838
|
+
class yo extends f {
|
|
1824
1839
|
constructor({
|
|
1825
1840
|
count: e = 20,
|
|
1826
1841
|
//
|
|
1827
1842
|
spacing: t = 0.4,
|
|
1828
|
-
barHeight:
|
|
1829
|
-
barRadius:
|
|
1843
|
+
barHeight: n = 2,
|
|
1844
|
+
barRadius: a = 0.05,
|
|
1830
1845
|
spikeHeight: c = 0.3,
|
|
1831
|
-
spikeRadius:
|
|
1832
|
-
spikeScaleZ:
|
|
1846
|
+
spikeRadius: s = 0.075,
|
|
1847
|
+
spikeScaleZ: r = 1,
|
|
1833
1848
|
railHeight: i = 0.1,
|
|
1834
1849
|
railDepth: l = 0.05,
|
|
1835
|
-
railOffset:
|
|
1836
|
-
radialSegments:
|
|
1850
|
+
railOffset: u = 0,
|
|
1851
|
+
radialSegments: m = 8
|
|
1837
1852
|
} = {}) {
|
|
1838
|
-
super(), this.geometry = new
|
|
1853
|
+
super(), this.geometry = new pt({
|
|
1839
1854
|
count: e,
|
|
1840
1855
|
spacing: t,
|
|
1841
|
-
barHeight:
|
|
1842
|
-
barRadius:
|
|
1856
|
+
barHeight: n,
|
|
1857
|
+
barRadius: a,
|
|
1843
1858
|
spikeHeight: c,
|
|
1844
|
-
spikeRadius:
|
|
1845
|
-
spikeScaleZ:
|
|
1859
|
+
spikeRadius: s,
|
|
1860
|
+
spikeScaleZ: r,
|
|
1846
1861
|
railHeight: i,
|
|
1847
1862
|
railDepth: l,
|
|
1848
|
-
railOffset:
|
|
1849
|
-
radialSegments:
|
|
1863
|
+
railOffset: u,
|
|
1864
|
+
radialSegments: m
|
|
1850
1865
|
}), this.material = new w({ color: 3355443, metalness: 0.8, roughness: 0.4 });
|
|
1851
1866
|
}
|
|
1852
1867
|
}
|
|
1853
|
-
class
|
|
1868
|
+
class xo extends f {
|
|
1854
1869
|
constructor({
|
|
1855
1870
|
width: e = 5,
|
|
1856
1871
|
//
|
|
1857
1872
|
height: t = 8,
|
|
1858
|
-
depth:
|
|
1859
|
-
shelves:
|
|
1873
|
+
depth: n = 1,
|
|
1874
|
+
shelves: a = 4,
|
|
1860
1875
|
frameThickness: c = 0.1,
|
|
1861
|
-
open:
|
|
1876
|
+
open: s = !1
|
|
1862
1877
|
} = {}) {
|
|
1863
|
-
super(), this.geometry = new
|
|
1878
|
+
super(), this.geometry = new dt({ width: e, height: t, depth: n, shelves: a, frameThickness: c, open: s }), this.material = new w({ color: 9127187 });
|
|
1864
1879
|
}
|
|
1865
1880
|
}
|
|
1866
|
-
class
|
|
1881
|
+
class Mo extends P {
|
|
1867
1882
|
constructor() {
|
|
1868
1883
|
super();
|
|
1869
|
-
const e = new g(5, 0.3, 3), t = new w({ color: 9132587 }),
|
|
1870
|
-
|
|
1871
|
-
const
|
|
1872
|
-
|
|
1873
|
-
const c = new q(
|
|
1884
|
+
const e = new g(5, 0.3, 3), t = new w({ color: 9132587 }), n = new f(e, t);
|
|
1885
|
+
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 });
|
|
1874
1889
|
[
|
|
1875
1890
|
[2.2, 0, 1.2],
|
|
1876
1891
|
// Adjust Y to 0 so legs start at ground level
|
|
@@ -1878,20 +1893,20 @@ class Xt extends P {
|
|
|
1878
1893
|
[2.2, 0, -1.2],
|
|
1879
1894
|
[-2.2, 0, -1.2]
|
|
1880
1895
|
].forEach((i) => {
|
|
1881
|
-
const l = new
|
|
1896
|
+
const l = new f(c, s);
|
|
1882
1897
|
l.position.set(...i), this.add(l);
|
|
1883
|
-
}), this.add(
|
|
1898
|
+
}), this.add(n);
|
|
1884
1899
|
}
|
|
1885
1900
|
}
|
|
1886
|
-
class
|
|
1901
|
+
class vo extends P {
|
|
1887
1902
|
constructor(e = 1, t = 0.2) {
|
|
1888
1903
|
super(), this.height = e, this.radius = t, this.createCandle(), this.animateFlicker();
|
|
1889
1904
|
}
|
|
1890
1905
|
createCandle() {
|
|
1891
1906
|
const e = new S(this.radius, this.radius, this.height, 32), t = new w({ color: 16777215 });
|
|
1892
|
-
this.candle = new
|
|
1893
|
-
const
|
|
1894
|
-
this.flame = new
|
|
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);
|
|
1895
1910
|
}
|
|
1896
1911
|
animateFlicker() {
|
|
1897
1912
|
const e = () => {
|
|
@@ -1900,52 +1915,52 @@ class Zt extends P {
|
|
|
1900
1915
|
e();
|
|
1901
1916
|
}
|
|
1902
1917
|
}
|
|
1903
|
-
class
|
|
1918
|
+
class go extends P {
|
|
1904
1919
|
constructor(e = 1.3, t = 0.5) {
|
|
1905
1920
|
super();
|
|
1906
|
-
const
|
|
1921
|
+
const n = new S(t, t, 0.2, 16), a = new w({ color: 9127187, flatShading: !0 }), c = new f(n, a);
|
|
1907
1922
|
c.position.set(0, 0, 0), this.add(c);
|
|
1908
|
-
const
|
|
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);
|
|
1909
1924
|
i.position.set(0, e / 2 + 0.1, 0), this.add(i);
|
|
1910
|
-
const l = new
|
|
1911
|
-
|
|
1912
|
-
const
|
|
1913
|
-
|
|
1914
|
-
const x = new
|
|
1925
|
+
const l = new z(t * 1.1, 0.5, 8), u = new w({ color: 9127187, flatShading: !0 }), m = new f(l, u);
|
|
1926
|
+
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);
|
|
1928
|
+
p.position.set(0, e + 0.85, 0), this.add(p);
|
|
1929
|
+
const x = new ae(16755200, 1.5, 15);
|
|
1915
1930
|
x.position.set(0, e / 2 + 0.1, 0), x.castShadow = !0, this.add(x);
|
|
1916
1931
|
}
|
|
1917
1932
|
}
|
|
1918
|
-
class
|
|
1933
|
+
class bo extends P {
|
|
1919
1934
|
constructor() {
|
|
1920
1935
|
super();
|
|
1921
|
-
const e = new j(1, 0), t = new w({ color: 8421504, flatShading: !0 }),
|
|
1922
|
-
for (let
|
|
1923
|
-
const c = new
|
|
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);
|
|
1924
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);
|
|
1925
|
-
const
|
|
1926
|
-
|
|
1940
|
+
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);
|
|
1927
1942
|
}
|
|
1928
1943
|
}
|
|
1929
1944
|
}
|
|
1930
|
-
class
|
|
1931
|
-
constructor(e = 1, t = 4,
|
|
1932
|
-
super(), this.geometry = new
|
|
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 });
|
|
1933
1948
|
}
|
|
1934
1949
|
}
|
|
1935
|
-
class
|
|
1950
|
+
class Io extends P {
|
|
1936
1951
|
constructor() {
|
|
1937
1952
|
super();
|
|
1938
1953
|
const e = new j(1, 0), t = new w({ color: 8421504, flatShading: !0 });
|
|
1939
|
-
for (let
|
|
1940
|
-
const
|
|
1941
|
-
|
|
1954
|
+
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);
|
|
1942
1957
|
}
|
|
1943
1958
|
}
|
|
1944
1959
|
}
|
|
1945
|
-
class
|
|
1960
|
+
class Go extends P {
|
|
1946
1961
|
constructor() {
|
|
1947
1962
|
super();
|
|
1948
|
-
const e = new
|
|
1963
|
+
const e = new Mt(), t = new Y({
|
|
1949
1964
|
color: 8965375,
|
|
1950
1965
|
transparent: !0,
|
|
1951
1966
|
opacity: 0.4,
|
|
@@ -1953,12 +1968,12 @@ class Qt extends P {
|
|
|
1953
1968
|
metalness: 0.1,
|
|
1954
1969
|
reflectivity: 0.8,
|
|
1955
1970
|
transmission: 0.9,
|
|
1956
|
-
side:
|
|
1957
|
-
}),
|
|
1958
|
-
|
|
1971
|
+
side: O
|
|
1972
|
+
}), n = new f(e, t);
|
|
1973
|
+
n.rotation.x = -Math.PI / 2, this.add(n);
|
|
1959
1974
|
}
|
|
1960
1975
|
}
|
|
1961
|
-
class
|
|
1976
|
+
class Po extends P {
|
|
1962
1977
|
constructor() {
|
|
1963
1978
|
super();
|
|
1964
1979
|
const e = [
|
|
@@ -1972,7 +1987,7 @@ class jt extends P {
|
|
|
1972
1987
|
// Neck
|
|
1973
1988
|
new b(0.6, 2.5)
|
|
1974
1989
|
// Mouth
|
|
1975
|
-
], t = new q(e, 10),
|
|
1990
|
+
], t = new q(e, 10), n = new S(0.3, 0.4, 0.2, 8), a = new w({
|
|
1976
1991
|
color: 8965375,
|
|
1977
1992
|
transparent: !0,
|
|
1978
1993
|
opacity: 0.5,
|
|
@@ -1983,87 +1998,87 @@ class jt extends P {
|
|
|
1983
1998
|
// Vibrant potion color
|
|
1984
1999
|
transparent: !0,
|
|
1985
2000
|
opacity: 0.6
|
|
1986
|
-
}),
|
|
2001
|
+
}), s = new w({
|
|
1987
2002
|
color: 9127187,
|
|
1988
2003
|
roughness: 1
|
|
1989
|
-
}),
|
|
2004
|
+
}), r = new f(t, a), i = new f(t, c), l = new f(n, s);
|
|
1990
2005
|
i.scale.set(0.8, 0.8, 0.8), i.position.y = 0.1, l.position.y = 2.5;
|
|
1991
|
-
const
|
|
1992
|
-
|
|
2006
|
+
const u = new P();
|
|
2007
|
+
u.add(r, i, l), this.add(u);
|
|
1993
2008
|
}
|
|
1994
2009
|
}
|
|
1995
|
-
class
|
|
2010
|
+
class Ao extends P {
|
|
1996
2011
|
constructor() {
|
|
1997
2012
|
super();
|
|
1998
2013
|
const e = new S(0.3, 0.4, 0.1, 16), t = new w({
|
|
1999
2014
|
color: 3355443,
|
|
2000
2015
|
roughness: 0.6,
|
|
2001
2016
|
metalness: 0.3
|
|
2002
|
-
}),
|
|
2003
|
-
|
|
2004
|
-
const
|
|
2017
|
+
}), n = new f(e, t);
|
|
2018
|
+
n.position.y = 0.05;
|
|
2019
|
+
const a = new S(0.1, 0.1, 0.7, 16), c = new w({
|
|
2005
2020
|
color: 5592405,
|
|
2006
2021
|
roughness: 0.5,
|
|
2007
2022
|
metalness: 0.4
|
|
2008
|
-
}),
|
|
2009
|
-
|
|
2010
|
-
const
|
|
2023
|
+
}), s = new f(a, c);
|
|
2024
|
+
s.position.y = 0.4;
|
|
2025
|
+
const r = new z(0.075, 0.2, 16), i = new w({
|
|
2011
2026
|
color: 16733440,
|
|
2012
2027
|
emissive: 16733440,
|
|
2013
2028
|
emissiveIntensity: 0.6,
|
|
2014
2029
|
transparent: !0,
|
|
2015
2030
|
opacity: 0.8
|
|
2016
|
-
}), l = new
|
|
2017
|
-
l.position.y = 0.8, this.add(
|
|
2031
|
+
}), l = new f(r, i);
|
|
2032
|
+
l.position.y = 0.8, this.add(n, s, l);
|
|
2018
2033
|
}
|
|
2019
2034
|
}
|
|
2020
|
-
class
|
|
2035
|
+
class Eo extends P {
|
|
2021
2036
|
constructor() {
|
|
2022
2037
|
super();
|
|
2023
2038
|
const e = new g(3, 4, 0.1), t = new w({
|
|
2024
2039
|
color: 3026478,
|
|
2025
2040
|
roughness: 0.8,
|
|
2026
2041
|
metalness: 0.6
|
|
2027
|
-
}),
|
|
2042
|
+
}), n = new g(0.2, 0.5, 0.2), a = new w({
|
|
2028
2043
|
color: 11184810,
|
|
2029
2044
|
roughness: 0.5,
|
|
2030
2045
|
metalness: 0.7
|
|
2031
|
-
}), c = new S(0.3, 0.3, 0.1, 16),
|
|
2046
|
+
}), c = new S(0.3, 0.3, 0.1, 16), s = new w({
|
|
2032
2047
|
color: 5592405,
|
|
2033
2048
|
roughness: 0.7,
|
|
2034
2049
|
metalness: 0.5
|
|
2035
|
-
}),
|
|
2050
|
+
}), r = new f(e, t);
|
|
2036
2051
|
for (let y = -1; y <= 1; y++) {
|
|
2037
|
-
const
|
|
2038
|
-
|
|
2052
|
+
const I = new f(n, a);
|
|
2053
|
+
I.position.set(y, 1.5, 0.1), r.add(I);
|
|
2039
2054
|
}
|
|
2040
|
-
const i = new
|
|
2041
|
-
i.rotation.x = Math.PI / 2, i.position.set(0, 0.5, 0.15),
|
|
2042
|
-
const l = new
|
|
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({
|
|
2043
2058
|
color: 16711680,
|
|
2044
2059
|
emissive: 16711680,
|
|
2045
2060
|
emissiveIntensity: 0.5
|
|
2046
|
-
}),
|
|
2047
|
-
|
|
2048
|
-
let
|
|
2061
|
+
}), m = new f(l, u);
|
|
2062
|
+
m.position.set(0, -1, 0.1), r.add(m), this.add(r);
|
|
2063
|
+
let h = 0.015, d = 0.8, p = 0.2;
|
|
2049
2064
|
function x() {
|
|
2050
2065
|
requestAnimationFrame(x);
|
|
2051
|
-
const y =
|
|
2052
|
-
|
|
2066
|
+
const y = p + Math.abs(Math.sin(Date.now() * h)) * (d - p);
|
|
2067
|
+
m.material.emissiveIntensity = y;
|
|
2053
2068
|
}
|
|
2054
2069
|
x();
|
|
2055
2070
|
}
|
|
2056
2071
|
}
|
|
2057
|
-
class
|
|
2072
|
+
class To extends f {
|
|
2058
2073
|
constructor({
|
|
2059
2074
|
flaskRadius: e = 1,
|
|
2060
2075
|
//
|
|
2061
2076
|
neckRadius: t = 0.3,
|
|
2062
|
-
height:
|
|
2063
|
-
neckHeight:
|
|
2077
|
+
height: n = 2.5,
|
|
2078
|
+
neckHeight: a = 1,
|
|
2064
2079
|
radialSegments: c = 16
|
|
2065
2080
|
} = {}) {
|
|
2066
|
-
super(), this.geometry = new
|
|
2081
|
+
super(), this.geometry = new vt({ flaskRadius: e, neckRadius: t, height: n, neckHeight: a, radialSegments: c }), this.material = new Y({
|
|
2067
2082
|
color: 8965375,
|
|
2068
2083
|
transparent: !0,
|
|
2069
2084
|
opacity: 0.4,
|
|
@@ -2071,12 +2086,12 @@ class $t extends h {
|
|
|
2071
2086
|
metalness: 0.1,
|
|
2072
2087
|
reflectivity: 0.8,
|
|
2073
2088
|
transmission: 0.9,
|
|
2074
|
-
side:
|
|
2089
|
+
side: O,
|
|
2075
2090
|
wireframe: !1
|
|
2076
2091
|
});
|
|
2077
2092
|
}
|
|
2078
2093
|
}
|
|
2079
|
-
class
|
|
2094
|
+
class Bo extends P {
|
|
2080
2095
|
constructor() {
|
|
2081
2096
|
super();
|
|
2082
2097
|
const e = [
|
|
@@ -2090,7 +2105,7 @@ class Wt extends P {
|
|
|
2090
2105
|
// Narrow neck
|
|
2091
2106
|
new b(0.6, 3.5)
|
|
2092
2107
|
// Mouth of the flask
|
|
2093
|
-
], t = new q(e, 12),
|
|
2108
|
+
], t = new q(e, 12), n = new S(0.6, 0.7, 0.3, 8), a = new w({
|
|
2094
2109
|
color: 8965290,
|
|
2095
2110
|
transparent: !0,
|
|
2096
2111
|
opacity: 0.4,
|
|
@@ -2099,169 +2114,169 @@ class Wt extends P {
|
|
|
2099
2114
|
}), c = new w({
|
|
2100
2115
|
color: 9127187,
|
|
2101
2116
|
roughness: 1
|
|
2102
|
-
}),
|
|
2103
|
-
|
|
2117
|
+
}), s = new f(t, a), r = new f(n, c);
|
|
2118
|
+
r.position.y = 3.5, this.add(s, r);
|
|
2104
2119
|
}
|
|
2105
2120
|
}
|
|
2106
|
-
class
|
|
2121
|
+
class Co extends P {
|
|
2107
2122
|
constructor() {
|
|
2108
2123
|
super();
|
|
2109
2124
|
const e = new g(2, 3, 0.1), t = new w({
|
|
2110
2125
|
color: 3355443,
|
|
2111
2126
|
roughness: 0.8,
|
|
2112
2127
|
metalness: 0.5
|
|
2113
|
-
}),
|
|
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({
|
|
2114
2129
|
color: 11184810,
|
|
2115
2130
|
roughness: 0.5,
|
|
2116
2131
|
metalness: 0.7
|
|
2117
2132
|
});
|
|
2118
|
-
for (let
|
|
2119
|
-
const i = new
|
|
2120
|
-
i.position.set(
|
|
2121
|
-
const l = new
|
|
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);
|
|
2122
2137
|
l.position.y = 0.5, i.add(l), this.add(i);
|
|
2123
2138
|
}
|
|
2124
|
-
this.add(
|
|
2139
|
+
this.add(n);
|
|
2125
2140
|
}
|
|
2126
2141
|
}
|
|
2127
|
-
class
|
|
2142
|
+
class ko extends P {
|
|
2128
2143
|
constructor() {
|
|
2129
2144
|
super();
|
|
2130
2145
|
const e = new g(1, 0.2, 0.5), t = new w({
|
|
2131
2146
|
color: 4473924,
|
|
2132
2147
|
roughness: 0.6,
|
|
2133
2148
|
metalness: 0.3
|
|
2134
|
-
}),
|
|
2135
|
-
|
|
2136
|
-
const
|
|
2149
|
+
}), n = new f(e, t);
|
|
2150
|
+
n.position.y = 0.1;
|
|
2151
|
+
const a = new g(0.2, 1, 0.2), c = new f(a, t);
|
|
2137
2152
|
c.position.set(0, 0.6, -0.2);
|
|
2138
|
-
const
|
|
2153
|
+
const s = new S(0.1, 0.1, 0.4, 8), r = new w({
|
|
2139
2154
|
color: 3355443,
|
|
2140
2155
|
roughness: 0.5,
|
|
2141
2156
|
metalness: 0.6
|
|
2142
|
-
}), i = new
|
|
2157
|
+
}), i = new f(s, r);
|
|
2143
2158
|
i.position.set(0, 1.1, -0.35), i.rotation.x = -Math.PI / 4;
|
|
2144
|
-
const l = new g(0.6, 0.1, 0.6),
|
|
2159
|
+
const l = new g(0.6, 0.1, 0.6), u = new w({
|
|
2145
2160
|
color: 5592405,
|
|
2146
2161
|
roughness: 0.8,
|
|
2147
2162
|
metalness: 0.2
|
|
2148
|
-
}),
|
|
2149
|
-
|
|
2163
|
+
}), m = new f(l, u);
|
|
2164
|
+
m.position.set(0, 0.6, 0), this.add(n, c, i, m);
|
|
2150
2165
|
}
|
|
2151
2166
|
}
|
|
2152
|
-
class
|
|
2167
|
+
class No extends P {
|
|
2153
2168
|
constructor() {
|
|
2154
2169
|
super();
|
|
2155
|
-
const e = new
|
|
2170
|
+
const e = new gt(), t = new S(0.2, 0.3, 1.5, 8);
|
|
2156
2171
|
t.translate(0, 0.75, 0);
|
|
2157
|
-
const
|
|
2172
|
+
const n = new w({
|
|
2158
2173
|
color: 6045747,
|
|
2159
2174
|
// Dark earthy tone
|
|
2160
2175
|
roughness: 1,
|
|
2161
2176
|
metalness: 0,
|
|
2162
|
-
side:
|
|
2177
|
+
side: O
|
|
2163
2178
|
// Render inside and outside
|
|
2164
|
-
}),
|
|
2179
|
+
}), a = new w({
|
|
2165
2180
|
color: 9132587,
|
|
2166
2181
|
// Slightly lighter earthy color
|
|
2167
2182
|
roughness: 0.8,
|
|
2168
2183
|
metalness: 0.1
|
|
2169
|
-
}), c = new
|
|
2170
|
-
|
|
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);
|
|
2171
2186
|
}
|
|
2172
2187
|
}
|
|
2173
|
-
class
|
|
2188
|
+
class _o extends P {
|
|
2174
2189
|
constructor() {
|
|
2175
2190
|
super();
|
|
2176
|
-
const e = 100, t = 0.05,
|
|
2177
|
-
Array.from({ length: e }, (l,
|
|
2178
|
-
const
|
|
2191
|
+
const e = 100, t = 0.05, n = new xe(
|
|
2192
|
+
Array.from({ length: e }, (l, u) => {
|
|
2193
|
+
const m = u * 0.2;
|
|
2179
2194
|
return new M(
|
|
2180
|
-
Math.cos(
|
|
2181
|
-
|
|
2195
|
+
Math.cos(m) * 0.4,
|
|
2196
|
+
u * t,
|
|
2182
2197
|
// Gradual height increase
|
|
2183
|
-
Math.sin(
|
|
2198
|
+
Math.sin(m) * 0.4
|
|
2184
2199
|
);
|
|
2185
2200
|
})
|
|
2186
|
-
),
|
|
2201
|
+
), a = new Me(n, 200, 0.1, 8, !1), c = new w({
|
|
2187
2202
|
color: 8965375,
|
|
2188
2203
|
transparent: !0,
|
|
2189
2204
|
opacity: 0.3,
|
|
2190
2205
|
roughness: 0.1,
|
|
2191
2206
|
metalness: 0.2,
|
|
2192
2207
|
emissive: 8965375
|
|
2193
|
-
}),
|
|
2194
|
-
this.add(
|
|
2195
|
-
function
|
|
2208
|
+
}), s = new f(a, c);
|
|
2209
|
+
this.add(s);
|
|
2210
|
+
function r() {
|
|
2196
2211
|
c.emissiveIntensity = 0.2 + Math.sin(Date.now() * 5e-3) * 0.1;
|
|
2197
2212
|
}
|
|
2198
2213
|
function i() {
|
|
2199
|
-
requestAnimationFrame(i),
|
|
2214
|
+
requestAnimationFrame(i), r();
|
|
2200
2215
|
}
|
|
2201
2216
|
i();
|
|
2202
2217
|
}
|
|
2203
2218
|
}
|
|
2204
|
-
class
|
|
2219
|
+
class Uo extends f {
|
|
2205
2220
|
constructor({
|
|
2206
2221
|
radius: e = 0.3,
|
|
2207
2222
|
//
|
|
2208
2223
|
height: t = 0.4,
|
|
2209
|
-
count:
|
|
2210
|
-
thickness:
|
|
2224
|
+
count: n = 3,
|
|
2225
|
+
thickness: a = 0.03,
|
|
2211
2226
|
radialSegments: c = 16
|
|
2212
2227
|
} = {}) {
|
|
2213
|
-
super(), this.geometry = new
|
|
2228
|
+
super(), this.geometry = new bt({ radius: e, height: t, count: n, thickness: a, radialSegments: c }), this.material = new w({
|
|
2214
2229
|
color: 8947848,
|
|
2215
2230
|
roughness: 0.7,
|
|
2216
2231
|
metalness: 0.3
|
|
2217
2232
|
});
|
|
2218
2233
|
}
|
|
2219
2234
|
}
|
|
2220
|
-
class
|
|
2235
|
+
class Fo extends P {
|
|
2221
2236
|
constructor() {
|
|
2222
2237
|
super();
|
|
2223
2238
|
const e = new S(0.5, 0.6, 0.3, 16), t = new w({
|
|
2224
2239
|
color: 3355443,
|
|
2225
2240
|
roughness: 0.6,
|
|
2226
2241
|
metalness: 0.5
|
|
2227
|
-
}),
|
|
2228
|
-
|
|
2229
|
-
const
|
|
2242
|
+
}), n = new f(e, t);
|
|
2243
|
+
n.position.y = 0.15;
|
|
2244
|
+
const a = new S(0.15, 0.15, 2, 12, 1, !0), c = new w({
|
|
2230
2245
|
color: 16737792,
|
|
2231
2246
|
roughness: 0.5,
|
|
2232
2247
|
metalness: 0.8,
|
|
2233
|
-
side:
|
|
2234
|
-
}),
|
|
2235
|
-
|
|
2236
|
-
const
|
|
2237
|
-
i.position.y = 2.4, this.add(
|
|
2248
|
+
side: O
|
|
2249
|
+
}), s = new f(a, c);
|
|
2250
|
+
s.position.y = 1.3;
|
|
2251
|
+
const r = new T(0.3, 16, 16), i = new f(r, c);
|
|
2252
|
+
i.position.y = 2.4, this.add(n, s, i);
|
|
2238
2253
|
const l = [];
|
|
2239
|
-
for (let
|
|
2240
|
-
const
|
|
2254
|
+
for (let h = 0; h < 5; h++) {
|
|
2255
|
+
const d = new ve({ color: 10079487 }), p = [
|
|
2241
2256
|
new M(0, 2.4, 0),
|
|
2242
2257
|
new M((Math.random() - 0.5) * 1.5, Math.random() * 2.4, (Math.random() - 0.5) * 1.5)
|
|
2243
|
-
], x = new v().setFromPoints(
|
|
2258
|
+
], x = new v().setFromPoints(p), y = new ge(x, d);
|
|
2244
2259
|
this.add(y), l.push(y);
|
|
2245
2260
|
}
|
|
2246
|
-
function
|
|
2247
|
-
l.forEach((
|
|
2248
|
-
const
|
|
2261
|
+
function u() {
|
|
2262
|
+
l.forEach((h) => {
|
|
2263
|
+
const d = [
|
|
2249
2264
|
new M(0, 2.4, 0),
|
|
2250
2265
|
new M((Math.random() - 0.5) * 1.5, Math.random() * 2.4, (Math.random() - 0.5) * 1.5)
|
|
2251
2266
|
];
|
|
2252
|
-
|
|
2267
|
+
h.geometry.setFromPoints(d);
|
|
2253
2268
|
});
|
|
2254
2269
|
}
|
|
2255
|
-
function
|
|
2256
|
-
requestAnimationFrame(
|
|
2270
|
+
function m() {
|
|
2271
|
+
requestAnimationFrame(m), u();
|
|
2257
2272
|
}
|
|
2258
|
-
|
|
2273
|
+
m();
|
|
2259
2274
|
}
|
|
2260
2275
|
}
|
|
2261
|
-
class
|
|
2262
|
-
constructor(e = 0.2, t = 0.2,
|
|
2276
|
+
class Oo extends P {
|
|
2277
|
+
constructor(e = 0.2, t = 0.2, n = 3, a = 32) {
|
|
2263
2278
|
super();
|
|
2264
|
-
const c = new
|
|
2279
|
+
const c = new H(e, t, n, a), s = new Y({
|
|
2265
2280
|
color: 8965375,
|
|
2266
2281
|
transparent: !0,
|
|
2267
2282
|
opacity: 0.4,
|
|
@@ -2270,48 +2285,48 @@ class ao extends P {
|
|
|
2270
2285
|
reflectivity: 0.8,
|
|
2271
2286
|
transmission: 0.9,
|
|
2272
2287
|
// For glass effect
|
|
2273
|
-
side:
|
|
2274
|
-
}),
|
|
2275
|
-
this.add(
|
|
2288
|
+
side: O
|
|
2289
|
+
}), r = new f(c, s);
|
|
2290
|
+
this.add(r);
|
|
2276
2291
|
}
|
|
2277
2292
|
}
|
|
2278
|
-
class
|
|
2293
|
+
class zo extends P {
|
|
2279
2294
|
constructor(e = 3, t = [65450, 16711850, 11141375]) {
|
|
2280
2295
|
super();
|
|
2281
|
-
const
|
|
2296
|
+
const n = new g(3, 0.2, 1), a = new w({
|
|
2282
2297
|
color: 9127187,
|
|
2283
2298
|
// Wooden color or change to metallic tone
|
|
2284
2299
|
roughness: 0.7,
|
|
2285
2300
|
metalness: 0.3
|
|
2286
|
-
}), c = new
|
|
2301
|
+
}), c = new f(n, a);
|
|
2287
2302
|
c.position.y = 0.5;
|
|
2288
|
-
const
|
|
2303
|
+
const s = new H(0.1, 0.1, 1, 16), r = new w({
|
|
2289
2304
|
color: 11184810,
|
|
2290
2305
|
transparent: !0,
|
|
2291
2306
|
opacity: 0.4,
|
|
2292
2307
|
roughness: 0.1,
|
|
2293
2308
|
metalness: 0.5,
|
|
2294
|
-
side:
|
|
2309
|
+
side: O
|
|
2295
2310
|
});
|
|
2296
2311
|
for (let i = 0; i < e; i++) {
|
|
2297
|
-
const l = new
|
|
2298
|
-
l.position.set(
|
|
2299
|
-
const
|
|
2300
|
-
color:
|
|
2301
|
-
emissive:
|
|
2312
|
+
const l = new f(s, r), u = (i - (e - 1) / 2) * 0.8;
|
|
2313
|
+
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({
|
|
2315
|
+
color: h,
|
|
2316
|
+
emissive: h,
|
|
2302
2317
|
emissiveIntensity: 0.5,
|
|
2303
2318
|
transparent: !0,
|
|
2304
2319
|
opacity: 0.6
|
|
2305
|
-
}),
|
|
2306
|
-
|
|
2320
|
+
}), p = new f(m, d);
|
|
2321
|
+
p.position.set(0, -0.25, 0), l.add(p), c.add(l);
|
|
2307
2322
|
}
|
|
2308
2323
|
this.add(c);
|
|
2309
2324
|
}
|
|
2310
2325
|
}
|
|
2311
|
-
class
|
|
2326
|
+
class qo extends f {
|
|
2312
2327
|
constructor() {
|
|
2313
2328
|
super();
|
|
2314
|
-
const e = new
|
|
2329
|
+
const e = new St(), t = new Y({
|
|
2315
2330
|
color: 5597999,
|
|
2316
2331
|
roughness: 0.1,
|
|
2317
2332
|
transmission: 0.9,
|
|
@@ -2324,27 +2339,27 @@ class io extends h {
|
|
|
2324
2339
|
this.geometry = e, this.material = t;
|
|
2325
2340
|
}
|
|
2326
2341
|
}
|
|
2327
|
-
class
|
|
2328
|
-
constructor(e = 5, t = 0.5,
|
|
2342
|
+
class Et extends L {
|
|
2343
|
+
constructor(e = 5, t = 0.5, n = 1) {
|
|
2329
2344
|
super();
|
|
2330
|
-
const
|
|
2331
|
-
this.moveTo(Math.cos(0) *
|
|
2332
|
-
for (let
|
|
2333
|
-
let i = Math.cos(
|
|
2334
|
-
this.quadraticCurveTo(i, l,
|
|
2345
|
+
const a = Math.PI * 2 / e, c = a / 2, s = a / 4;
|
|
2346
|
+
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);
|
|
2335
2350
|
}
|
|
2336
2351
|
this.closePath();
|
|
2337
2352
|
}
|
|
2338
2353
|
}
|
|
2339
|
-
class
|
|
2340
|
-
constructor(e = 5, t = 0.5,
|
|
2354
|
+
class Lo extends f {
|
|
2355
|
+
constructor(e = 5, t = 0.5, n = 1, a = 0.25) {
|
|
2341
2356
|
super();
|
|
2342
|
-
const c = new
|
|
2343
|
-
depth:
|
|
2344
|
-
bevelEnabled:
|
|
2357
|
+
const c = new Et(e, t, n), s = new V(c, {
|
|
2358
|
+
depth: a,
|
|
2359
|
+
bevelEnabled: a > 0,
|
|
2345
2360
|
bevelThickness: 0,
|
|
2346
2361
|
bevelSize: 0
|
|
2347
|
-
}),
|
|
2362
|
+
}), r = new w({
|
|
2348
2363
|
color: 16776960,
|
|
2349
2364
|
emissive: 16766720,
|
|
2350
2365
|
emissiveIntensity: 0.25,
|
|
@@ -2352,31 +2367,31 @@ class lo extends h {
|
|
|
2352
2367
|
roughness: 0.3,
|
|
2353
2368
|
flatShading: !0
|
|
2354
2369
|
});
|
|
2355
|
-
|
|
2370
|
+
s.center(), this.geometry = s, this.material = r;
|
|
2356
2371
|
}
|
|
2357
2372
|
}
|
|
2358
|
-
class
|
|
2359
|
-
constructor(e = 5, t = 0.5,
|
|
2373
|
+
class Tt extends L {
|
|
2374
|
+
constructor(e = 5, t = 0.5, n = 1, a = 5, c = 0.25) {
|
|
2360
2375
|
super();
|
|
2361
|
-
const
|
|
2362
|
-
this.moveTo(Math.cos(0) *
|
|
2376
|
+
const s = Math.PI * 2 / e, r = s / 4;
|
|
2377
|
+
this.moveTo(Math.cos(0) * n, -Math.sin(0) * n);
|
|
2363
2378
|
for (let i = 1; i <= e; ++i)
|
|
2364
|
-
this.lineTo(Math.cos(
|
|
2365
|
-
if (this.closePath(), c > 0 &&
|
|
2366
|
-
const i = new be(), l = Math.PI * 2 /
|
|
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;
|
|
2367
2382
|
i.moveTo(Math.cos(0) * c, -Math.sin(0) * c);
|
|
2368
|
-
for (let
|
|
2369
|
-
i.lineTo(Math.cos(l *
|
|
2383
|
+
for (let u = 1; u < a; ++u)
|
|
2384
|
+
i.lineTo(Math.cos(l * u) * c, -Math.sin(l * u) * c);
|
|
2370
2385
|
i.lineTo(Math.cos(0) * c, -Math.sin(0) * c), this.holes.push(i);
|
|
2371
2386
|
}
|
|
2372
2387
|
}
|
|
2373
2388
|
}
|
|
2374
|
-
class
|
|
2375
|
-
constructor(e = 5, t = 0.5,
|
|
2389
|
+
class Vo extends f {
|
|
2390
|
+
constructor(e = 5, t = 0.5, n = 1, a = 5, c = 0.25, s = 0.25) {
|
|
2376
2391
|
super();
|
|
2377
|
-
const
|
|
2378
|
-
depth:
|
|
2379
|
-
bevelEnabled:
|
|
2392
|
+
const r = new Tt(e, t, n, a, c), i = new V(r, {
|
|
2393
|
+
depth: s,
|
|
2394
|
+
bevelEnabled: s > 0,
|
|
2380
2395
|
bevelThickness: 0,
|
|
2381
2396
|
bevelSize: 0
|
|
2382
2397
|
}), l = new w({
|
|
@@ -2388,35 +2403,35 @@ class mo extends h {
|
|
|
2388
2403
|
i.center(), this.geometry = i, this.material = l;
|
|
2389
2404
|
}
|
|
2390
2405
|
}
|
|
2391
|
-
class
|
|
2392
|
-
constructor(e = 1, t = 2.1,
|
|
2393
|
-
super(), this.moveTo(0,
|
|
2406
|
+
class Bt extends L {
|
|
2407
|
+
constructor(e = 1, t = 2.1, n = 1.4, a = 1.6) {
|
|
2408
|
+
super(), this.moveTo(0, n * e / 3), this.bezierCurveTo(
|
|
2394
2409
|
-t * 0.375 * e,
|
|
2395
|
-
|
|
2410
|
+
n * e,
|
|
2396
2411
|
// Control point 1 for the left lobe
|
|
2397
2412
|
-t * e,
|
|
2398
|
-
|
|
2413
|
+
n * e / 3,
|
|
2399
2414
|
// Control point 2 for the left side of the heart
|
|
2400
2415
|
0,
|
|
2401
|
-
-
|
|
2416
|
+
-a * e
|
|
2402
2417
|
// Bottom tip of the heart, controlled by `tipDepth`
|
|
2403
2418
|
), this.bezierCurveTo(
|
|
2404
2419
|
t * e,
|
|
2405
|
-
|
|
2420
|
+
n * e / 3,
|
|
2406
2421
|
// Control point 3 for the right side of the heart
|
|
2407
2422
|
t * 0.375 * e,
|
|
2408
|
-
|
|
2423
|
+
n * e,
|
|
2409
2424
|
// Control point 4 for the right lobe
|
|
2410
2425
|
0,
|
|
2411
|
-
|
|
2426
|
+
n * e / 3
|
|
2412
2427
|
// Close shape at the top middle
|
|
2413
2428
|
);
|
|
2414
2429
|
}
|
|
2415
2430
|
}
|
|
2416
|
-
class
|
|
2417
|
-
constructor(e = 1, t = 1,
|
|
2431
|
+
class Xo extends f {
|
|
2432
|
+
constructor(e = 1, t = 1, n = 1, a = 10, c = 0.25) {
|
|
2418
2433
|
super();
|
|
2419
|
-
const
|
|
2434
|
+
const s = new Bt(e, t, n, a), r = new V(s, {
|
|
2420
2435
|
depth: c,
|
|
2421
2436
|
bevelEnabled: c > 0,
|
|
2422
2437
|
bevelThickness: 0,
|
|
@@ -2429,28 +2444,28 @@ class uo extends h {
|
|
|
2429
2444
|
roughness: 0.3,
|
|
2430
2445
|
flatShading: !0
|
|
2431
2446
|
});
|
|
2432
|
-
|
|
2447
|
+
r.center(), this.geometry = r, this.material = i;
|
|
2433
2448
|
}
|
|
2434
2449
|
}
|
|
2435
|
-
class
|
|
2436
|
-
constructor(e = 5, t = 0.5,
|
|
2450
|
+
class Ct extends L {
|
|
2451
|
+
constructor(e = 5, t = 0.5, n = 1) {
|
|
2437
2452
|
super();
|
|
2438
|
-
const
|
|
2439
|
-
this.moveTo(Math.cos(0) *
|
|
2440
|
-
for (let
|
|
2441
|
-
this.lineTo(Math.cos(
|
|
2453
|
+
const a = Math.PI * 2 / e, c = a / 2;
|
|
2454
|
+
this.moveTo(Math.cos(0) * n, Math.sin(0) * n);
|
|
2455
|
+
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);
|
|
2442
2457
|
this.closePath();
|
|
2443
2458
|
}
|
|
2444
2459
|
}
|
|
2445
|
-
class
|
|
2446
|
-
constructor(e = 5, t = 0.5,
|
|
2460
|
+
class Ro extends f {
|
|
2461
|
+
constructor(e = 5, t = 0.5, n = 1, a = 0.25) {
|
|
2447
2462
|
super();
|
|
2448
|
-
const c = new
|
|
2449
|
-
depth:
|
|
2450
|
-
bevelEnabled:
|
|
2463
|
+
const c = new Ct(e, t, n), s = new V(c, {
|
|
2464
|
+
depth: a,
|
|
2465
|
+
bevelEnabled: a > 0,
|
|
2451
2466
|
bevelThickness: 0,
|
|
2452
2467
|
bevelSize: 0
|
|
2453
|
-
}),
|
|
2468
|
+
}), r = new w({
|
|
2454
2469
|
color: 16776960,
|
|
2455
2470
|
emissive: 16766720,
|
|
2456
2471
|
emissiveIntensity: 0.25,
|
|
@@ -2458,96 +2473,96 @@ class fo extends h {
|
|
|
2458
2473
|
roughness: 0.3,
|
|
2459
2474
|
flatShading: !0
|
|
2460
2475
|
});
|
|
2461
|
-
|
|
2476
|
+
s.center(), this.geometry = s, this.material = r;
|
|
2462
2477
|
}
|
|
2463
2478
|
}
|
|
2464
|
-
class
|
|
2479
|
+
class Zo extends f {
|
|
2465
2480
|
constructor() {
|
|
2466
|
-
super(), this.geometry = new
|
|
2481
|
+
super(), this.geometry = new xt(), this.material = new w({ color: 16777215 });
|
|
2467
2482
|
}
|
|
2468
2483
|
}
|
|
2469
|
-
class
|
|
2484
|
+
class Yo extends f {
|
|
2470
2485
|
constructor({
|
|
2471
2486
|
trunkRadiusTop: e = 0.25,
|
|
2472
2487
|
trunkRadiusBottom: t = 0.4,
|
|
2473
|
-
trunkHeight:
|
|
2474
|
-
trunkSegments:
|
|
2488
|
+
trunkHeight: n = 2.5,
|
|
2489
|
+
trunkSegments: a = 14,
|
|
2475
2490
|
trunkColor: c = 9127187,
|
|
2476
|
-
leafSize:
|
|
2477
|
-
leafCount:
|
|
2491
|
+
leafSize: s = 0.8,
|
|
2492
|
+
leafCount: r = 6,
|
|
2478
2493
|
leafDetail: i = 0,
|
|
2479
2494
|
leafSpreadRadius: l = 1.5,
|
|
2480
|
-
leafColor:
|
|
2495
|
+
leafColor: u = 2263842
|
|
2481
2496
|
} = {}) {
|
|
2482
2497
|
super();
|
|
2483
|
-
const
|
|
2498
|
+
const m = new At({
|
|
2484
2499
|
trunkRadiusTop: e,
|
|
2485
2500
|
trunkRadiusBottom: t,
|
|
2486
|
-
trunkHeight:
|
|
2487
|
-
trunkSegments:
|
|
2501
|
+
trunkHeight: n,
|
|
2502
|
+
trunkSegments: a,
|
|
2488
2503
|
trunkColor: c,
|
|
2489
|
-
leafSize:
|
|
2490
|
-
leafCount:
|
|
2504
|
+
leafSize: s,
|
|
2505
|
+
leafCount: r,
|
|
2491
2506
|
leafDetail: i,
|
|
2492
2507
|
leafSpreadRadius: l,
|
|
2493
|
-
leafColor:
|
|
2494
|
-
}),
|
|
2508
|
+
leafColor: u
|
|
2509
|
+
}), h = new w({
|
|
2495
2510
|
color: c,
|
|
2496
2511
|
roughness: 0.9,
|
|
2497
2512
|
metalness: 0,
|
|
2498
2513
|
flatShading: !0
|
|
2499
|
-
}),
|
|
2500
|
-
color:
|
|
2514
|
+
}), d = new w({
|
|
2515
|
+
color: u,
|
|
2501
2516
|
roughness: 0.8,
|
|
2502
2517
|
metalness: 0,
|
|
2503
2518
|
flatShading: !0
|
|
2504
2519
|
});
|
|
2505
|
-
this.geometry =
|
|
2520
|
+
this.geometry = m, this.material = [h, d];
|
|
2506
2521
|
}
|
|
2507
2522
|
}
|
|
2508
|
-
class
|
|
2523
|
+
class Qo extends f {
|
|
2509
2524
|
constructor({
|
|
2510
2525
|
radius: e = 3,
|
|
2511
2526
|
//
|
|
2512
2527
|
height: t = 0.6,
|
|
2513
|
-
widthSegments:
|
|
2514
|
-
heightSegments:
|
|
2528
|
+
widthSegments: n = 64,
|
|
2529
|
+
heightSegments: a = 16,
|
|
2515
2530
|
phiStart: c = 0,
|
|
2516
|
-
phiLength:
|
|
2531
|
+
phiLength: s = Math.PI * 2
|
|
2517
2532
|
} = {}) {
|
|
2518
|
-
super(), this.geometry = new
|
|
2533
|
+
super(), this.geometry = new It({
|
|
2519
2534
|
radius: e,
|
|
2520
2535
|
height: t,
|
|
2521
|
-
widthSegments:
|
|
2522
|
-
heightSegments:
|
|
2536
|
+
widthSegments: n,
|
|
2537
|
+
heightSegments: a,
|
|
2523
2538
|
phiStart: c,
|
|
2524
|
-
phiLength:
|
|
2539
|
+
phiLength: s
|
|
2525
2540
|
}), this.material = new w({ color: 65280, flatShading: !0 });
|
|
2526
2541
|
}
|
|
2527
2542
|
}
|
|
2528
|
-
class
|
|
2543
|
+
class Do extends f {
|
|
2529
2544
|
constructor({
|
|
2530
|
-
radius: e =
|
|
2545
|
+
radius: e = me(5, Math.PI / 10),
|
|
2531
2546
|
//
|
|
2532
2547
|
widthSegments: t = 64,
|
|
2533
|
-
heightSegments:
|
|
2534
|
-
phiStart:
|
|
2548
|
+
heightSegments: n = 32,
|
|
2549
|
+
phiStart: a = 0,
|
|
2535
2550
|
phiLength: c = Math.PI * 2,
|
|
2536
|
-
thetaLength:
|
|
2551
|
+
thetaLength: s = Math.PI / 10
|
|
2537
2552
|
} = {}) {
|
|
2538
|
-
super(), this.geometry = new
|
|
2553
|
+
super(), this.geometry = new Pt({
|
|
2539
2554
|
radius: e,
|
|
2540
2555
|
widthSegments: t,
|
|
2541
|
-
heightSegments:
|
|
2542
|
-
phiStart:
|
|
2556
|
+
heightSegments: n,
|
|
2557
|
+
phiStart: a,
|
|
2543
2558
|
phiLength: c,
|
|
2544
|
-
thetaLength:
|
|
2559
|
+
thetaLength: s
|
|
2545
2560
|
}), this.material = new w({ color: 65280, flatShading: !0 });
|
|
2546
2561
|
}
|
|
2547
2562
|
}
|
|
2548
|
-
function
|
|
2549
|
-
|
|
2550
|
-
|
|
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 = `
|
|
2551
2566
|
uniform float time;
|
|
2552
2567
|
uniform float waveFrequency;
|
|
2553
2568
|
uniform float waveAmplitude;
|
|
@@ -2561,20 +2576,20 @@ function xo(r, { time: e = 0, waveFrequency: t = 0.2, waveAmplitude: o = 0.5 } =
|
|
|
2561
2576
|
|
|
2562
2577
|
return displaced;
|
|
2563
2578
|
}
|
|
2564
|
-
` +
|
|
2579
|
+
` + a.vertexShader, a.vertexShader = a.vertexShader.replace(
|
|
2565
2580
|
"#include <begin_vertex>",
|
|
2566
2581
|
`
|
|
2567
2582
|
vec3 transformed = waterDisplacement(position, normal);
|
|
2568
2583
|
`
|
|
2569
|
-
),
|
|
2584
|
+
), o.userData.shader = a;
|
|
2570
2585
|
};
|
|
2571
2586
|
}
|
|
2572
|
-
function
|
|
2573
|
-
|
|
2587
|
+
function jo(o, e) {
|
|
2588
|
+
o.userData.shader && (o.userData.shader.uniforms.time.value += e);
|
|
2574
2589
|
}
|
|
2575
|
-
function
|
|
2576
|
-
|
|
2577
|
-
c.uniforms.time = { value: e }, c.uniforms.direction = { value:
|
|
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 = `
|
|
2578
2593
|
uniform float time;
|
|
2579
2594
|
uniform vec3 direction;
|
|
2580
2595
|
uniform float intensity;
|
|
@@ -2613,11 +2628,11 @@ function vo(r, { time: e = 0, intensity: t = 1, direction: o = z.XYZ, scale: s =
|
|
|
2613
2628
|
transformed += normalize(direction) * n * intensity;
|
|
2614
2629
|
vec3 transformedNormal = normal;
|
|
2615
2630
|
`
|
|
2616
|
-
),
|
|
2631
|
+
), o.userData.shader = c;
|
|
2617
2632
|
};
|
|
2618
2633
|
}
|
|
2619
|
-
function
|
|
2620
|
-
|
|
2634
|
+
function Jo(o, e) {
|
|
2635
|
+
o.userData.shader && (o.userData.shader.uniforms.time.value += e);
|
|
2621
2636
|
}
|
|
2622
2637
|
const ne = {
|
|
2623
2638
|
uniforms: {},
|
|
@@ -2637,7 +2652,7 @@ const ne = {
|
|
|
2637
2652
|
gl_FragColor = vec4(mix(bottomColor, topColor, y), 1.0);
|
|
2638
2653
|
}
|
|
2639
2654
|
`
|
|
2640
|
-
},
|
|
2655
|
+
}, kt = {
|
|
2641
2656
|
uniforms: {
|
|
2642
2657
|
tDiffuse: { value: null },
|
|
2643
2658
|
opacity: { value: 1 }
|
|
@@ -2658,7 +2673,7 @@ const ne = {
|
|
|
2658
2673
|
gl_FragColor = opacity * texel;
|
|
2659
2674
|
}
|
|
2660
2675
|
`
|
|
2661
|
-
},
|
|
2676
|
+
}, D = {
|
|
2662
2677
|
uniforms: {
|
|
2663
2678
|
topColor: { value: new ee(51) },
|
|
2664
2679
|
bottomColor: { value: new ee(17) },
|
|
@@ -2685,207 +2700,248 @@ const ne = {
|
|
|
2685
2700
|
}
|
|
2686
2701
|
`
|
|
2687
2702
|
};
|
|
2688
|
-
class
|
|
2703
|
+
class $o extends f {
|
|
2689
2704
|
constructor(e = 1e3) {
|
|
2690
2705
|
super(), this.geometry = new g(e, e, e), this.material = new K({
|
|
2691
2706
|
vertexShader: ne.vertexShader,
|
|
2692
2707
|
fragmentShader: ne.fragmentShader,
|
|
2693
|
-
side:
|
|
2708
|
+
side: re
|
|
2694
2709
|
});
|
|
2695
2710
|
}
|
|
2696
2711
|
}
|
|
2697
|
-
class
|
|
2712
|
+
class Wo extends f {
|
|
2698
2713
|
constructor(e = 1e3) {
|
|
2699
|
-
super(), this.geometry = new
|
|
2700
|
-
vertexShader:
|
|
2701
|
-
fragmentShader:
|
|
2702
|
-
uniforms:
|
|
2703
|
-
side:
|
|
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
|
|
2704
2719
|
});
|
|
2705
2720
|
}
|
|
2706
2721
|
}
|
|
2707
|
-
class
|
|
2708
|
-
constructor(e = Math.PI * 0.49, t = 2 * Math.PI * 0.25,
|
|
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) {
|
|
2709
2724
|
super();
|
|
2710
|
-
const
|
|
2711
|
-
|
|
2712
|
-
const i =
|
|
2713
|
-
i.turbidity.value =
|
|
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);
|
|
2714
2729
|
}
|
|
2715
2730
|
sunPosition(e, t) {
|
|
2716
|
-
const
|
|
2717
|
-
|
|
2731
|
+
const n = new M(), a = this.skyUniforms;
|
|
2732
|
+
n.setFromSphericalCoords(1, e, t), a.sunPosition.value.copy(n);
|
|
2718
2733
|
}
|
|
2719
2734
|
}
|
|
2720
|
-
const
|
|
2721
|
-
const e = new Uint8Array(4 *
|
|
2722
|
-
for (let
|
|
2723
|
-
const
|
|
2724
|
-
e[
|
|
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;
|
|
2725
2740
|
}
|
|
2726
|
-
const t = new Se(e,
|
|
2741
|
+
const t = new Se(e, o, o, Ie, Ge);
|
|
2727
2742
|
return t.wrapS = te, t.wrapT = te, t.minFilter = Pe, t.needsUpdate = !0, t;
|
|
2728
2743
|
};
|
|
2729
|
-
function
|
|
2730
|
-
const e = new J().setFromObject(
|
|
2731
|
-
e.getCenter(t),
|
|
2732
|
-
}
|
|
2733
|
-
function
|
|
2734
|
-
const t = new J().setFromObject(
|
|
2735
|
-
t.getCenter(
|
|
2736
|
-
const
|
|
2737
|
-
|
|
2738
|
-
}
|
|
2739
|
-
function
|
|
2740
|
-
|
|
2741
|
-
const t =
|
|
2742
|
-
|
|
2743
|
-
}
|
|
2744
|
-
function
|
|
2745
|
-
|
|
2746
|
-
|
|
2747
|
-
|
|
2748
|
-
|
|
2749
|
-
|
|
2750
|
-
|
|
2751
|
-
|
|
2752
|
-
}
|
|
2753
|
-
|
|
2744
|
+
function on(o) {
|
|
2745
|
+
const e = new J().setFromObject(o), t = new M();
|
|
2746
|
+
e.getCenter(t), o.position.sub(t);
|
|
2747
|
+
}
|
|
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);
|
|
2753
|
+
}
|
|
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);
|
|
2758
|
+
}
|
|
2759
|
+
function Nt(o, e, t) {
|
|
2760
|
+
return Math.max(0, Math.min(1, (o - e) / (t - e)));
|
|
2761
|
+
}
|
|
2762
|
+
function an(o, e, t, n, a, c = 20, s = 0, r = 1) {
|
|
2763
|
+
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));
|
|
2767
|
+
}
|
|
2768
|
+
return i;
|
|
2769
|
+
}
|
|
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);
|
|
2773
|
+
}
|
|
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);
|
|
2778
|
+
}
|
|
2779
|
+
class ln {
|
|
2754
2780
|
static dispose(e) {
|
|
2755
2781
|
e == null || e.traverse((t) => {
|
|
2756
|
-
t.geometry && t.geometry.dispose(), t.material && (Array.isArray(t.material) ? t.material.forEach((
|
|
2782
|
+
t.geometry && t.geometry.dispose(), t.material && (Array.isArray(t.material) ? t.material.forEach((n) => n.dispose()) : t.material.dispose());
|
|
2757
2783
|
});
|
|
2758
2784
|
}
|
|
2759
|
-
static fadeBetween(e, t,
|
|
2760
|
-
const
|
|
2761
|
-
|
|
2762
|
-
const i = new
|
|
2763
|
-
i.uniforms.opacity.value = 1,
|
|
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);
|
|
2789
|
+
i.uniforms.opacity.value = 1, s.addPass(i);
|
|
2764
2790
|
let l = null;
|
|
2765
|
-
function
|
|
2766
|
-
l || (l =
|
|
2767
|
-
const
|
|
2768
|
-
i.uniforms.opacity.value = Math.max(1 -
|
|
2791
|
+
function u(h) {
|
|
2792
|
+
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));
|
|
2769
2795
|
}
|
|
2770
|
-
function
|
|
2771
|
-
l || (l =
|
|
2772
|
-
const
|
|
2773
|
-
i.uniforms.opacity.value = Math.min(
|
|
2796
|
+
function m(h) {
|
|
2797
|
+
l || (l = h);
|
|
2798
|
+
const p = (h - l) / 1e3 / c;
|
|
2799
|
+
i.uniforms.opacity.value = Math.min(p, 1), p < 1 && (s.render(), requestAnimationFrame(m));
|
|
2774
2800
|
}
|
|
2775
|
-
requestAnimationFrame(
|
|
2801
|
+
requestAnimationFrame(u);
|
|
2776
2802
|
}
|
|
2777
2803
|
}
|
|
2778
2804
|
export {
|
|
2779
|
-
|
|
2780
|
-
|
|
2781
|
-
|
|
2782
|
-
|
|
2783
|
-
|
|
2784
|
-
|
|
2805
|
+
Go as Beaker,
|
|
2806
|
+
Mt as BeakerGeometry,
|
|
2807
|
+
Jt as BifurcatedStaircaseGeometry,
|
|
2808
|
+
Zo as Bone,
|
|
2809
|
+
xt as BoneGeometry,
|
|
2810
|
+
io as Book,
|
|
2785
2811
|
ce as BookGeometry,
|
|
2786
|
-
|
|
2787
|
-
|
|
2788
|
-
|
|
2789
|
-
|
|
2790
|
-
|
|
2791
|
-
|
|
2792
|
-
|
|
2793
|
-
|
|
2794
|
-
|
|
2795
|
-
|
|
2796
|
-
|
|
2797
|
-
|
|
2798
|
-
|
|
2799
|
-
|
|
2800
|
-
|
|
2801
|
-
|
|
2802
|
-
|
|
2803
|
-
|
|
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,
|
|
2804
2830
|
X as Falloff,
|
|
2805
|
-
|
|
2806
|
-
|
|
2807
|
-
|
|
2808
|
-
|
|
2809
|
-
|
|
2810
|
-
|
|
2811
|
-
|
|
2812
|
-
|
|
2813
|
-
|
|
2814
|
-
|
|
2815
|
-
|
|
2816
|
-
|
|
2817
|
-
|
|
2818
|
-
|
|
2819
|
-
|
|
2820
|
-
|
|
2821
|
-
|
|
2822
|
-
|
|
2823
|
-
|
|
2824
|
-
|
|
2825
|
-
|
|
2826
|
-
|
|
2827
|
-
|
|
2828
|
-
|
|
2829
|
-
|
|
2830
|
-
|
|
2831
|
-
|
|
2832
|
-
|
|
2833
|
-
|
|
2834
|
-
|
|
2835
|
-
|
|
2836
|
-
|
|
2837
|
-
|
|
2838
|
-
|
|
2839
|
-
|
|
2840
|
-
|
|
2841
|
-
|
|
2842
|
-
|
|
2843
|
-
|
|
2844
|
-
|
|
2845
|
-
|
|
2846
|
-
|
|
2847
|
-
|
|
2848
|
-
|
|
2849
|
-
|
|
2850
|
-
|
|
2851
|
-
|
|
2852
|
-
|
|
2853
|
-
|
|
2854
|
-
|
|
2855
|
-
|
|
2856
|
-
|
|
2857
|
-
|
|
2858
|
-
|
|
2859
|
-
|
|
2860
|
-
|
|
2861
|
-
|
|
2862
|
-
|
|
2863
|
-
|
|
2864
|
-
|
|
2865
|
-
|
|
2866
|
-
|
|
2867
|
-
|
|
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,
|
|
2868
2902
|
ne as daySkyShader,
|
|
2869
|
-
|
|
2870
|
-
|
|
2871
|
-
|
|
2872
|
-
|
|
2873
|
-
|
|
2874
|
-
|
|
2875
|
-
|
|
2876
|
-
|
|
2877
|
-
|
|
2878
|
-
|
|
2879
|
-
|
|
2880
|
-
|
|
2881
|
-
|
|
2882
|
-
|
|
2903
|
+
Lt as displacementBrush,
|
|
2904
|
+
Qe as exponentialEaseIn,
|
|
2905
|
+
He as exponentialEaseInOut,
|
|
2906
|
+
De as exponentialEaseOut,
|
|
2907
|
+
kt as fadeShader,
|
|
2908
|
+
Vt as flattenBrush,
|
|
2909
|
+
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,
|
|
2919
|
+
Fe as quadraticEaseInOut,
|
|
2920
|
+
Ue as quadraticEaseOut,
|
|
2921
|
+
Le as quarticEaseIn,
|
|
2922
|
+
Xe as quarticEaseInOut,
|
|
2923
|
+
Ve as quarticEaseOut,
|
|
2924
|
+
Re as quinticEaseIn,
|
|
2925
|
+
Ye as quinticEaseInOut,
|
|
2926
|
+
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,
|
|
2883
2934
|
le as rowOfBooksByScales,
|
|
2884
|
-
|
|
2885
|
-
|
|
2886
|
-
|
|
2887
|
-
|
|
2888
|
-
|
|
2889
|
-
|
|
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
|
|
2890
2946
|
};
|
|
2891
2947
|
//# sourceMappingURL=index.es.js.map
|