three-low-poly 0.9.17 → 0.9.19
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.cjs.js +8 -8
- package/dist/index.cjs.js.map +1 -1
- package/dist/index.d.ts +341 -116
- package/dist/index.es.js +1492 -1309
- package/dist/index.es.js.map +1 -1
- package/dist/index.iife.js +10 -10
- package/dist/index.iife.js.map +1 -1
- package/dist/index.umd.js +10 -10
- package/dist/index.umd.js.map +1 -1
- package/package.json +1 -1
package/dist/index.es.js
CHANGED
|
@@ -1,43 +1,43 @@
|
|
|
1
|
-
var
|
|
2
|
-
var
|
|
3
|
-
var
|
|
4
|
-
import { Vector3 as
|
|
5
|
-
function
|
|
6
|
-
const
|
|
1
|
+
var bt = Object.defineProperty;
|
|
2
|
+
var St = (e, t, o) => t in e ? bt(e, t, { enumerable: !0, configurable: !0, writable: !0, value: o }) : e[t] = o;
|
|
3
|
+
var A = (e, t, o) => St(e, typeof t != "symbol" ? t + "" : t, o);
|
|
4
|
+
import { Vector3 as x, MathUtils as z, Quaternion as Pt, InstancedMesh as lt, SphereGeometry as U, MeshStandardMaterial as y, Matrix4 as H, BufferGeometry as E, Float32BufferAttribute as O, DoubleSide as V, Euler as Tt, BufferAttribute as D, BoxGeometry as b, Vector2 as I, LatheGeometry as k, CylinderGeometry as P, ConeGeometry as Z, Shape as j, ExtrudeGeometry as Q, DodecahedronGeometry as J, CircleGeometry as Gt, TorusGeometry as Mt, Mesh as w, ShaderMaterial as W, MeshPhysicalMaterial as tt, Group as L, PointLight as Ct, CatmullRomCurve3 as Bt, TubeGeometry as Rt, Path as Nt, Color as $, BackSide as ut, DataTexture as _t, RGBAFormat as Ut, UnsignedByteType as Ot, RepeatWrapping as ft, NearestFilter as zt, Box3 as et } from "three";
|
|
5
|
+
function bo(e, t, o, n) {
|
|
6
|
+
const s = e.position.clone(), r = s.clone().add(e.getWorldDirection(new x()).multiplyScalar(-t));
|
|
7
7
|
let a = null;
|
|
8
8
|
function i(c) {
|
|
9
9
|
a === null && (a = c);
|
|
10
10
|
const u = (c - a) / o;
|
|
11
11
|
if (u >= 1) {
|
|
12
|
-
e.position.copy(
|
|
12
|
+
e.position.copy(r), n && n();
|
|
13
13
|
return;
|
|
14
14
|
}
|
|
15
|
-
e.position.lerpVectors(
|
|
15
|
+
e.position.lerpVectors(s, r, u), requestAnimationFrame(i);
|
|
16
16
|
}
|
|
17
17
|
requestAnimationFrame(i);
|
|
18
18
|
}
|
|
19
|
-
function
|
|
20
|
-
const
|
|
21
|
-
let
|
|
19
|
+
function So(e, t, o, n) {
|
|
20
|
+
const s = t.length - 1;
|
|
21
|
+
let r = null;
|
|
22
22
|
function a(i) {
|
|
23
|
-
|
|
24
|
-
const l = (i -
|
|
23
|
+
r === null && (r = i);
|
|
24
|
+
const l = (i - r) / o;
|
|
25
25
|
if (l >= 1) {
|
|
26
26
|
e.position.copy(t[t.length - 1]), n && n();
|
|
27
27
|
return;
|
|
28
28
|
}
|
|
29
|
-
const u = l *
|
|
29
|
+
const u = l * s, m = Math.floor(u), h = u - m, f = t[m], p = t[m + 1];
|
|
30
30
|
e.position.lerpVectors(f, p, h), e.lookAt(p), requestAnimationFrame(a);
|
|
31
31
|
}
|
|
32
32
|
requestAnimationFrame(a);
|
|
33
33
|
}
|
|
34
|
-
function
|
|
35
|
-
let
|
|
34
|
+
function Po(e, t, o, n, s) {
|
|
35
|
+
let r = null;
|
|
36
36
|
function a(i) {
|
|
37
|
-
|
|
38
|
-
const l = (i -
|
|
37
|
+
r || (r = i);
|
|
38
|
+
const l = (i - r) / n;
|
|
39
39
|
if (l >= 1) {
|
|
40
|
-
|
|
40
|
+
s && s();
|
|
41
41
|
return;
|
|
42
42
|
}
|
|
43
43
|
const u = l * Math.PI * 2, m = t.x + o * Math.cos(u), h = t.z + o * Math.sin(u);
|
|
@@ -45,72 +45,183 @@ function vo(e, t, o, n, r) {
|
|
|
45
45
|
}
|
|
46
46
|
requestAnimationFrame(a);
|
|
47
47
|
}
|
|
48
|
-
function
|
|
48
|
+
function To(e, t, o, n, s, r) {
|
|
49
49
|
let a = null, i = 0;
|
|
50
50
|
function c(l) {
|
|
51
51
|
a === null && (a = l);
|
|
52
|
-
const u = l - a, m = n /
|
|
53
|
-
if (e.position.set(p, e.position.y, d), e.lookAt(t), u >= (i + 1) * m && i++, i >=
|
|
54
|
-
|
|
52
|
+
const u = l - a, m = n / s, h = u % m / m, f = Math.sin(h * Math.PI * 2) * Math.PI / 6, p = t.x + o * Math.sin(f), d = t.z + o * Math.cos(f);
|
|
53
|
+
if (e.position.set(p, e.position.y, d), e.lookAt(t), u >= (i + 1) * m && i++, i >= s) {
|
|
54
|
+
r && r();
|
|
55
55
|
return;
|
|
56
56
|
}
|
|
57
57
|
requestAnimationFrame(c);
|
|
58
58
|
}
|
|
59
59
|
requestAnimationFrame(c);
|
|
60
60
|
}
|
|
61
|
-
function
|
|
61
|
+
function Go(e, t, o, n, s, r, a) {
|
|
62
62
|
let i = null;
|
|
63
63
|
function c(l) {
|
|
64
64
|
i === null && (i = l);
|
|
65
|
-
const m = (l - i) /
|
|
65
|
+
const m = (l - i) / r;
|
|
66
66
|
if (m >= 1) {
|
|
67
67
|
a && a();
|
|
68
68
|
return;
|
|
69
69
|
}
|
|
70
|
-
const h = m * Math.PI * 2 *
|
|
70
|
+
const h = m * Math.PI * 2 * s, f = t.x + o * Math.cos(h), p = t.z + o * Math.sin(h), d = t.y + n * m;
|
|
71
71
|
e.position.set(f, d, p), e.lookAt(t), requestAnimationFrame(c);
|
|
72
72
|
}
|
|
73
73
|
requestAnimationFrame(c);
|
|
74
74
|
}
|
|
75
|
-
function
|
|
76
|
-
const
|
|
77
|
-
let
|
|
75
|
+
function Co(e, t, o, n) {
|
|
76
|
+
const s = e.position.clone();
|
|
77
|
+
let r = null;
|
|
78
78
|
function a(i) {
|
|
79
|
-
if (
|
|
80
|
-
e.position.copy(
|
|
79
|
+
if (r === null && (r = i), (i - r) / o >= 1) {
|
|
80
|
+
e.position.copy(s), n && n();
|
|
81
81
|
return;
|
|
82
82
|
}
|
|
83
|
-
const u = new
|
|
83
|
+
const u = new x(
|
|
84
84
|
(Math.random() - 0.5) * t,
|
|
85
85
|
(Math.random() - 0.5) * t,
|
|
86
86
|
(Math.random() - 0.5) * t
|
|
87
87
|
);
|
|
88
|
-
e.position.copy(
|
|
88
|
+
e.position.copy(s).add(u), requestAnimationFrame(a);
|
|
89
89
|
}
|
|
90
90
|
requestAnimationFrame(a);
|
|
91
91
|
}
|
|
92
|
-
function
|
|
92
|
+
function Bo(e, t, o, n, s, r) {
|
|
93
93
|
const a = e.fov;
|
|
94
94
|
e.fov = o, e.updateProjectionMatrix();
|
|
95
95
|
let i = null;
|
|
96
96
|
function c(l) {
|
|
97
97
|
i === null && (i = l);
|
|
98
|
-
const m = (l - i) /
|
|
98
|
+
const m = (l - i) / s;
|
|
99
99
|
if (m >= 1) {
|
|
100
|
-
e.fov = n, e.updateProjectionMatrix(), e.lookAt(t), e.fov = a, e.updateProjectionMatrix(),
|
|
100
|
+
e.fov = n, e.updateProjectionMatrix(), e.lookAt(t), e.fov = a, e.updateProjectionMatrix(), r && r();
|
|
101
101
|
return;
|
|
102
102
|
}
|
|
103
|
-
e.fov =
|
|
103
|
+
e.fov = z.lerp(o, n, m), e.updateProjectionMatrix(), e.lookAt(t), requestAnimationFrame(c);
|
|
104
104
|
}
|
|
105
105
|
requestAnimationFrame(c);
|
|
106
106
|
}
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
107
|
+
class Ro {
|
|
108
|
+
constructor(t) {
|
|
109
|
+
A(this, "speed");
|
|
110
|
+
A(this, "maxIntensity");
|
|
111
|
+
A(this, "minIntensity");
|
|
112
|
+
A(this, "material");
|
|
113
|
+
const {
|
|
114
|
+
speed: o = 2,
|
|
115
|
+
//
|
|
116
|
+
maxIntensity: n = 0.8,
|
|
117
|
+
minIntensity: s = 0.2
|
|
118
|
+
} = t;
|
|
119
|
+
this.speed = o, this.maxIntensity = n, this.minIntensity = s, this.material = t.material;
|
|
120
|
+
}
|
|
121
|
+
/**
|
|
122
|
+
* Update the emissive intensity of the material.
|
|
123
|
+
*
|
|
124
|
+
* Use Three.Clock getElapsedTime()
|
|
125
|
+
*
|
|
126
|
+
* Example:
|
|
127
|
+
* ```
|
|
128
|
+
* const clock = new THREE.Clock();
|
|
129
|
+
* effect.update(clock.getElapsedTime());
|
|
130
|
+
* ```
|
|
131
|
+
*/
|
|
132
|
+
update(t = 0) {
|
|
133
|
+
this.material.emissiveIntensity = this.minIntensity + Math.abs(Math.sin(t * this.speed)) * (this.maxIntensity - this.minIntensity);
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
function mt(e = 0, t = 1) {
|
|
137
|
+
return Math.random() * (t - e) + e;
|
|
138
|
+
}
|
|
139
|
+
function No(e = 0, t = 1) {
|
|
140
|
+
return Math.floor(Math.random() * (t - e + 1)) + e;
|
|
141
|
+
}
|
|
142
|
+
function Ft(e = 0.5, t = 0, o = 1) {
|
|
143
|
+
return t + (o - t) * Math.pow(Math.random(), e);
|
|
144
|
+
}
|
|
145
|
+
function Lt(e = 0.5, t = 0, o = 1) {
|
|
146
|
+
return t + (o - t) * Math.pow(1 - Math.random(), e);
|
|
147
|
+
}
|
|
148
|
+
class _o {
|
|
149
|
+
constructor({
|
|
150
|
+
light: t,
|
|
151
|
+
minIntensity: o = 0.8,
|
|
152
|
+
maxIntensity: n = 1.2,
|
|
153
|
+
x: s = 0,
|
|
154
|
+
y: r = 0,
|
|
155
|
+
z: a = 0,
|
|
156
|
+
jitterX: i = 0.02,
|
|
157
|
+
jitterY: c = 0,
|
|
158
|
+
jitterZ: l = 0.02
|
|
159
|
+
} = {}) {
|
|
160
|
+
A(this, "light");
|
|
161
|
+
A(this, "minIntensity");
|
|
162
|
+
A(this, "maxIntensity");
|
|
163
|
+
A(this, "x");
|
|
164
|
+
A(this, "y");
|
|
165
|
+
A(this, "z");
|
|
166
|
+
A(this, "jitterX");
|
|
167
|
+
A(this, "jitterY");
|
|
168
|
+
A(this, "jitterZ");
|
|
169
|
+
this.light = t, this.minIntensity = o, this.maxIntensity = n, this.x = s, this.y = r, this.z = a, this.jitterX = i, this.jitterY = c, this.jitterZ = l;
|
|
170
|
+
}
|
|
171
|
+
update() {
|
|
172
|
+
this.light && (this.light.intensity = mt(this.minIntensity, this.maxIntensity), this.light.position.x = Math.random() * this.jitterX - this.jitterX / 2 + this.x, this.light.position.y = Math.random() * this.jitterY - this.jitterY / 2 + this.y, this.light.position.z = Math.random() * this.jitterZ - this.jitterZ / 2 + this.z);
|
|
173
|
+
}
|
|
174
|
+
}
|
|
175
|
+
function Dt(e, t, o) {
|
|
176
|
+
const n = t + Math.random() * (o - t);
|
|
177
|
+
return setTimeout(e, n);
|
|
178
|
+
}
|
|
179
|
+
function Uo(e, t, o) {
|
|
180
|
+
let n;
|
|
181
|
+
function s() {
|
|
182
|
+
const r = t + Math.random() * (o - t);
|
|
183
|
+
n = setTimeout(() => {
|
|
184
|
+
e(), s();
|
|
185
|
+
}, r);
|
|
186
|
+
}
|
|
187
|
+
return s(), () => clearTimeout(n);
|
|
188
|
+
}
|
|
189
|
+
class Oo {
|
|
190
|
+
constructor({
|
|
191
|
+
light: t,
|
|
192
|
+
//
|
|
193
|
+
minIntensity: o = 15,
|
|
194
|
+
maxIntensity: n = 20,
|
|
195
|
+
minDuration: s = 50,
|
|
196
|
+
maxDuration: r = 250
|
|
197
|
+
} = {}) {
|
|
198
|
+
A(this, "light");
|
|
199
|
+
A(this, "minIntensity");
|
|
200
|
+
A(this, "maxIntensity");
|
|
201
|
+
A(this, "minDuration");
|
|
202
|
+
A(this, "maxDuration");
|
|
203
|
+
this.light = t, this.minIntensity = o, this.maxIntensity = n, this.minDuration = s, this.maxDuration = r;
|
|
204
|
+
}
|
|
205
|
+
triggerLightning() {
|
|
206
|
+
this.light && (this.light.intensity = mt(this.minIntensity, this.maxIntensity)), Dt(
|
|
207
|
+
() => {
|
|
208
|
+
this.light && (this.light.intensity = 0);
|
|
209
|
+
},
|
|
210
|
+
this.minDuration,
|
|
211
|
+
this.maxDuration
|
|
212
|
+
);
|
|
213
|
+
}
|
|
214
|
+
update() {
|
|
215
|
+
Math.random() > 0.98 && this.triggerLightning();
|
|
216
|
+
}
|
|
217
|
+
}
|
|
218
|
+
const ot = {
|
|
219
|
+
UP: new x(0, 1, 0),
|
|
220
|
+
DOWN: new x(0, -1, 0),
|
|
221
|
+
LEFT: new x(-1, 0, 0),
|
|
222
|
+
RIGHT: new x(1, 0, 0),
|
|
223
|
+
FORWARD: new x(0, 0, 1),
|
|
224
|
+
BACKWARD: new x(0, 0, -1)
|
|
114
225
|
}, K = {
|
|
115
226
|
LINEAR: (e, t) => 1 - e / t,
|
|
116
227
|
QUADRATIC: (e, t) => Math.pow(1 - e / t, 2),
|
|
@@ -125,87 +236,87 @@ const tt = {
|
|
|
125
236
|
const o = Math.max(0, Math.min(1, 1 - e / t));
|
|
126
237
|
return o * o * (3 - 2 * o);
|
|
127
238
|
}
|
|
128
|
-
},
|
|
239
|
+
}, zo = (e, t, o, n, s = ot.UP, r = K.LINEAR) => {
|
|
129
240
|
const a = e.attributes.position;
|
|
130
241
|
for (let i = 0; i < a.count; i++) {
|
|
131
|
-
const c = new
|
|
242
|
+
const c = new x();
|
|
132
243
|
c.fromBufferAttribute(a, i);
|
|
133
244
|
const l = c.distanceTo(t);
|
|
134
245
|
if (l < o) {
|
|
135
|
-
const m =
|
|
136
|
-
c.add(
|
|
246
|
+
const m = r(l, o) * n;
|
|
247
|
+
c.add(s.clone().multiplyScalar(m)), a.setXYZ(i, c.x, c.y, c.z);
|
|
137
248
|
}
|
|
138
249
|
}
|
|
139
250
|
a.needsUpdate = !0;
|
|
140
|
-
},
|
|
251
|
+
}, Fo = (e, t, o, n, s, r = ot.UP, a = K.LINEAR) => {
|
|
141
252
|
const i = e.attributes.position;
|
|
142
253
|
for (let c = 0; c < i.count; c++) {
|
|
143
|
-
const l = new
|
|
254
|
+
const l = new x();
|
|
144
255
|
l.fromBufferAttribute(i, c);
|
|
145
256
|
const u = l.distanceTo(t);
|
|
146
257
|
if (u < o) {
|
|
147
|
-
const h = a(u, o) *
|
|
148
|
-
l.add(
|
|
258
|
+
const h = a(u, o) * s, f = l.dot(r.normalize()), p = n - f;
|
|
259
|
+
l.add(r.clone().multiplyScalar(p * h)), i.setXYZ(c, l.x, l.y, l.z);
|
|
149
260
|
}
|
|
150
261
|
}
|
|
151
262
|
i.needsUpdate = !0;
|
|
152
|
-
},
|
|
263
|
+
}, Lo = (e, t, o, n, s = ot.UP, r = K.LINEAR) => {
|
|
153
264
|
const a = e.attributes.position;
|
|
154
265
|
for (let i = 0; i < a.count; i++) {
|
|
155
|
-
const c = new
|
|
266
|
+
const c = new x();
|
|
156
267
|
c.fromBufferAttribute(a, i);
|
|
157
268
|
const l = c.distanceTo(t);
|
|
158
269
|
if (l < o) {
|
|
159
|
-
const u =
|
|
160
|
-
c.x +=
|
|
270
|
+
const u = r(l, o), m = n * u, h = s.clone().normalize();
|
|
271
|
+
c.x += z.randFloatSpread(m) * h.x, c.y += z.randFloatSpread(m) * h.y, c.z += z.randFloatSpread(m) * h.z, a.setXYZ(i, c.x, c.y, c.z);
|
|
161
272
|
}
|
|
162
273
|
}
|
|
163
274
|
a.needsUpdate = !0;
|
|
164
|
-
},
|
|
165
|
-
const
|
|
166
|
-
for (let a = 0; a <
|
|
167
|
-
const i = new
|
|
168
|
-
if (i.fromBufferAttribute(
|
|
169
|
-
let l = new
|
|
170
|
-
for (let m = 0; m <
|
|
171
|
-
|
|
172
|
-
u > 0 && (l.divideScalar(u), i.lerp(l, n),
|
|
275
|
+
}, Do = (e, t, o, n) => {
|
|
276
|
+
const s = e.attributes.position, r = new x();
|
|
277
|
+
for (let a = 0; a < s.count; a++) {
|
|
278
|
+
const i = new x();
|
|
279
|
+
if (i.fromBufferAttribute(s, a), i.distanceTo(t) < o) {
|
|
280
|
+
let l = new x(), u = 0;
|
|
281
|
+
for (let m = 0; m < s.count; m++)
|
|
282
|
+
r.fromBufferAttribute(s, m), r.distanceTo(i) < o && (l.add(r), u++);
|
|
283
|
+
u > 0 && (l.divideScalar(u), i.lerp(l, n), s.setXYZ(a, i.x, i.y, i.z));
|
|
173
284
|
}
|
|
174
285
|
}
|
|
175
|
-
|
|
176
|
-
},
|
|
286
|
+
s.needsUpdate = !0;
|
|
287
|
+
}, ko = (e, t, o, n, s = !1, r = K.LINEAR) => {
|
|
177
288
|
const a = e.attributes.position;
|
|
178
289
|
for (let i = 0; i < a.count; i++) {
|
|
179
|
-
const c = new
|
|
290
|
+
const c = new x();
|
|
180
291
|
c.fromBufferAttribute(a, i);
|
|
181
292
|
const l = c.distanceTo(t);
|
|
182
293
|
if (l < o) {
|
|
183
|
-
const m =
|
|
294
|
+
const m = r(l, o) * n * (s ? -1 : 1), h = c.clone().sub(t).normalize();
|
|
184
295
|
c.add(h.multiplyScalar(m)), a.setXYZ(i, c.x, c.y, c.z);
|
|
185
296
|
}
|
|
186
297
|
}
|
|
187
298
|
a.needsUpdate = !0;
|
|
188
|
-
},
|
|
189
|
-
const a = e.attributes.position, i = new
|
|
299
|
+
}, Vo = (e, t, o, n, s = ot.UP, r = K.LINEAR) => {
|
|
300
|
+
const a = e.attributes.position, i = new Pt();
|
|
190
301
|
for (let c = 0; c < a.count; c++) {
|
|
191
|
-
const l = new
|
|
302
|
+
const l = new x();
|
|
192
303
|
l.fromBufferAttribute(a, c);
|
|
193
304
|
const u = l.distanceTo(t);
|
|
194
305
|
if (u < o) {
|
|
195
|
-
const h =
|
|
196
|
-
i.setFromAxisAngle(
|
|
306
|
+
const h = r(u, o) * n;
|
|
307
|
+
i.setFromAxisAngle(s, h), l.sub(t).applyQuaternion(i).add(t), a.setXYZ(c, l.x, l.y, l.z);
|
|
197
308
|
}
|
|
198
309
|
}
|
|
199
310
|
a.needsUpdate = !0;
|
|
200
|
-
},
|
|
201
|
-
X: new
|
|
202
|
-
Y: new
|
|
203
|
-
Z: new
|
|
204
|
-
XY: new
|
|
205
|
-
XZ: new
|
|
206
|
-
YZ: new
|
|
207
|
-
XYZ: new
|
|
208
|
-
},
|
|
311
|
+
}, ht = {
|
|
312
|
+
X: new x(1, 0, 0),
|
|
313
|
+
Y: new x(0, 1, 0),
|
|
314
|
+
Z: new x(0, 0, 1),
|
|
315
|
+
XY: new x(1, 1, 0).normalize(),
|
|
316
|
+
XZ: new x(1, 0, 1).normalize(),
|
|
317
|
+
YZ: new x(0, 1, 1).normalize(),
|
|
318
|
+
XYZ: new x(1, 1, 1).normalize()
|
|
319
|
+
}, it = {
|
|
209
320
|
// Red
|
|
210
321
|
CADMIUM_RED: 15073318,
|
|
211
322
|
// Cadmium Red or Bright Red. Vivid, bold red shade with warm undertones.
|
|
@@ -348,75 +459,75 @@ const tt = {
|
|
|
348
459
|
// White Smoke or Light Gray. It’s a soft, pale gray shade with a hint of warmth.
|
|
349
460
|
TITANIUM_WHITE: 16777215
|
|
350
461
|
// Pure white, the brightest color possible.
|
|
351
|
-
},
|
|
352
|
-
SINE_EASE_IN:
|
|
353
|
-
SINE_EASE_OUT:
|
|
354
|
-
SINE_EASE_IN_OUT:
|
|
355
|
-
QUADRATIC_EASE_IN:
|
|
356
|
-
QUADRATIC_EASE_OUT:
|
|
357
|
-
QUADRATIC_EASE_IN_OUT:
|
|
358
|
-
CUBIC_EASE_IN:
|
|
359
|
-
CUBIC_EASE_OUT:
|
|
360
|
-
CUBIC_EASE_IN_OUT:
|
|
361
|
-
QUARTIC_EASE_IN:
|
|
362
|
-
QUARTIC_EASE_OUT:
|
|
363
|
-
QUARTIC_EASE_IN_OUT:
|
|
364
|
-
QUINTIC_EASE_IN:
|
|
365
|
-
QUINTIC_EASE_OUT:
|
|
366
|
-
QUINTIC_EASE_IN_OUT:
|
|
367
|
-
EXPONENTIAL_EASE_IN:
|
|
368
|
-
EXPONENTIAL_EASE_OUT:
|
|
369
|
-
EXPONENTIAL_EASE_IN_OUT:
|
|
370
|
-
CIRCULAR_EASE_IN:
|
|
371
|
-
CIRCULAR_EASE_OUT:
|
|
372
|
-
CIRCULAR_EASE_IN_OUT:
|
|
373
|
-
LINEAR:
|
|
374
|
-
SMOOTHSTEP:
|
|
375
|
-
CONCAVE:
|
|
376
|
-
CONVEX:
|
|
377
|
-
LOGARITHMIC:
|
|
378
|
-
SQUARE_ROOT:
|
|
379
|
-
INVERSE:
|
|
380
|
-
GAUSSIAN:
|
|
381
|
-
},
|
|
382
|
-
const
|
|
383
|
-
return a * a * a * t + 3 * a * a *
|
|
384
|
-
},
|
|
462
|
+
}, kt = (e) => 1 - Math.cos(e * Math.PI / 2), Vt = (e) => Math.sin(e * Math.PI / 2), qt = (e) => -0.5 * (Math.cos(Math.PI * e) - 1), Yt = (e) => e * e, Ht = (e) => 1 - Math.pow(1 - e, 2), Xt = (e) => e < 0.5 ? 2 * e * e : 1 - Math.pow(-2 * e + 2, 2) / 2, Zt = (e) => e * e * e, jt = (e) => 1 - Math.pow(1 - e, 3), Qt = (e) => e < 0.5 ? 4 * e * e * e : 1 - Math.pow(-2 * e + 2, 3) / 2, Kt = (e) => e * e * e * e, Jt = (e) => 1 - Math.pow(1 - e, 4), $t = (e) => e < 0.5 ? 8 * e * e * e * e : 1 - Math.pow(-2 * e + 2, 4) / 2, Wt = (e) => e * e * e * e * e, te = (e) => 1 - Math.pow(1 - e, 5), ee = (e) => e < 0.5 ? 16 * e * e * e * e * e : 1 - Math.pow(-2 * e + 2, 5) / 2, oe = (e) => e === 0 ? 0 : Math.pow(2, 10 * e - 10), ne = (e) => e === 1 ? 1 : 1 - Math.pow(2, -10 * e), se = (e) => e === 0 ? 0 : e === 1 ? 1 : e < 0.5 ? Math.pow(2, 20 * e - 10) / 2 : (2 - Math.pow(2, -20 * e + 10)) / 2, re = (e) => 1 - Math.sqrt(1 - Math.pow(e, 2)), ae = (e) => Math.sqrt(1 - Math.pow(e - 1, 2)), ie = (e) => e < 0.5 ? (1 - Math.sqrt(1 - Math.pow(2 * e, 2))) / 2 : (Math.sqrt(1 - Math.pow(-2 * e + 2, 2)) + 1) / 2, ce = (e) => e, le = (e) => e * e * (3 - 2 * e), ue = (e) => 1 - Math.pow(1 - e, 0.3), me = (e) => Math.pow(e, 0.3), he = (e) => Math.log(Math.max(0.01, e)) / Math.log(2), fe = (e) => Math.sqrt(e), pe = (e) => 1 - e, de = (e) => Math.exp(-Math.pow(e - 0.5, 2) / (2 * 0.5)), qo = {
|
|
463
|
+
SINE_EASE_IN: kt,
|
|
464
|
+
SINE_EASE_OUT: Vt,
|
|
465
|
+
SINE_EASE_IN_OUT: qt,
|
|
466
|
+
QUADRATIC_EASE_IN: Yt,
|
|
467
|
+
QUADRATIC_EASE_OUT: Ht,
|
|
468
|
+
QUADRATIC_EASE_IN_OUT: Xt,
|
|
469
|
+
CUBIC_EASE_IN: Zt,
|
|
470
|
+
CUBIC_EASE_OUT: jt,
|
|
471
|
+
CUBIC_EASE_IN_OUT: Qt,
|
|
472
|
+
QUARTIC_EASE_IN: Kt,
|
|
473
|
+
QUARTIC_EASE_OUT: Jt,
|
|
474
|
+
QUARTIC_EASE_IN_OUT: $t,
|
|
475
|
+
QUINTIC_EASE_IN: Wt,
|
|
476
|
+
QUINTIC_EASE_OUT: te,
|
|
477
|
+
QUINTIC_EASE_IN_OUT: ee,
|
|
478
|
+
EXPONENTIAL_EASE_IN: oe,
|
|
479
|
+
EXPONENTIAL_EASE_OUT: ne,
|
|
480
|
+
EXPONENTIAL_EASE_IN_OUT: se,
|
|
481
|
+
CIRCULAR_EASE_IN: re,
|
|
482
|
+
CIRCULAR_EASE_OUT: ae,
|
|
483
|
+
CIRCULAR_EASE_IN_OUT: ie,
|
|
484
|
+
LINEAR: ce,
|
|
485
|
+
SMOOTHSTEP: le,
|
|
486
|
+
CONCAVE: ue,
|
|
487
|
+
CONVEX: me,
|
|
488
|
+
LOGARITHMIC: he,
|
|
489
|
+
SQUARE_ROOT: fe,
|
|
490
|
+
INVERSE: pe,
|
|
491
|
+
GAUSSIAN: de
|
|
492
|
+
}, Me = (e, t, o, n, s) => {
|
|
493
|
+
const r = Math.max(0, Math.min(1, e)), a = 1 - r;
|
|
494
|
+
return a * a * a * t + 3 * a * a * r * o + 3 * a * r * r * n + r * r * r * s;
|
|
495
|
+
}, ye = (e, t = 1) => {
|
|
385
496
|
const o = Math.max(1e-3, t);
|
|
386
497
|
return (1 - Math.exp(-o * e)) / (1 - Math.exp(-o));
|
|
387
|
-
},
|
|
498
|
+
}, we = (e, t = 1, o = 1) => {
|
|
388
499
|
const n = Math.max(0, Math.min(1, e));
|
|
389
500
|
return t * Math.pow(n, o);
|
|
390
|
-
},
|
|
501
|
+
}, xe = (e, t = 1, o = 1) => {
|
|
391
502
|
const n = Math.max(1e-3, Math.min(1, e));
|
|
392
503
|
return t * Math.log(o * n + 1);
|
|
393
|
-
},
|
|
394
|
-
const
|
|
395
|
-
return t *
|
|
396
|
-
},
|
|
397
|
-
const
|
|
398
|
-
return
|
|
399
|
-
},
|
|
504
|
+
}, ve = (e, t = 1, o = 0, n = 0) => {
|
|
505
|
+
const s = Math.max(0, Math.min(1, e));
|
|
506
|
+
return t * s * s + o * s + n;
|
|
507
|
+
}, ge = (e, t, o, n) => {
|
|
508
|
+
const s = Math.max(0, Math.min(1, e)), r = 1 - s;
|
|
509
|
+
return r * r * t + 2 * r * s * o + s * s * n;
|
|
510
|
+
}, Ie = (e, t = 10) => {
|
|
400
511
|
const o = Math.max(0, Math.min(1, e));
|
|
401
512
|
return 1 / (1 + Math.exp(-t * (o - 0.5)));
|
|
402
|
-
},
|
|
403
|
-
CUBIC:
|
|
404
|
-
DAMPED:
|
|
405
|
-
EXPONENTIAL:
|
|
406
|
-
LOGARITHMIC:
|
|
407
|
-
PARABOLIC:
|
|
408
|
-
QUADRATIC:
|
|
409
|
-
SIGMOID:
|
|
410
|
-
SINUSOIDAL:
|
|
513
|
+
}, Ae = (e) => Math.sin(e * Math.PI * 0.5), F = {
|
|
514
|
+
CUBIC: Me,
|
|
515
|
+
DAMPED: ye,
|
|
516
|
+
EXPONENTIAL: we,
|
|
517
|
+
LOGARITHMIC: xe,
|
|
518
|
+
PARABOLIC: ve,
|
|
519
|
+
QUADRATIC: ge,
|
|
520
|
+
SIGMOID: Ie,
|
|
521
|
+
SINUSOIDAL: Ae
|
|
411
522
|
};
|
|
412
|
-
class
|
|
523
|
+
class Yo extends lt {
|
|
413
524
|
constructor(o = {}) {
|
|
414
525
|
const {
|
|
415
526
|
count: n = 20,
|
|
416
|
-
width:
|
|
417
|
-
height:
|
|
527
|
+
width: s = 1.5,
|
|
528
|
+
height: r = 3,
|
|
418
529
|
depth: a = 1.5,
|
|
419
|
-
geometry: i = new
|
|
530
|
+
geometry: i = new U(0.1, 6, 6),
|
|
420
531
|
// Small spheres
|
|
421
532
|
material: c = new y({
|
|
422
533
|
color: 16777215,
|
|
@@ -427,16 +538,16 @@ class Bo extends it {
|
|
|
427
538
|
})
|
|
428
539
|
} = o;
|
|
429
540
|
super(i, c, n);
|
|
430
|
-
|
|
431
|
-
|
|
432
|
-
|
|
433
|
-
|
|
434
|
-
|
|
435
|
-
this.height =
|
|
541
|
+
A(this, "bubblePositions", []);
|
|
542
|
+
A(this, "velocities", []);
|
|
543
|
+
A(this, "width");
|
|
544
|
+
A(this, "height");
|
|
545
|
+
A(this, "depth");
|
|
546
|
+
this.height = r, this.width = s, this.depth = a;
|
|
436
547
|
for (let l = 0; l < this.count; l++) {
|
|
437
|
-
const u = new
|
|
438
|
-
(Math.random() - 0.5) *
|
|
439
|
-
Math.random() * (
|
|
548
|
+
const u = new x(
|
|
549
|
+
(Math.random() - 0.5) * s,
|
|
550
|
+
Math.random() * (r - 1) + 0.5,
|
|
440
551
|
(Math.random() - 0.5) * a
|
|
441
552
|
);
|
|
442
553
|
this.bubblePositions.push(u), this.velocities.push(0.01 + Math.random() * 0.02), this.updateInstanceMatrix(l);
|
|
@@ -446,8 +557,8 @@ class Bo extends it {
|
|
|
446
557
|
* Updates the position of a specific bubble instance in the InstancedMesh.
|
|
447
558
|
*/
|
|
448
559
|
updateInstanceMatrix(o) {
|
|
449
|
-
const n = this.bubblePositions[o],
|
|
450
|
-
this.setMatrixAt(o,
|
|
560
|
+
const n = this.bubblePositions[o], s = new H().setPosition(n);
|
|
561
|
+
this.setMatrixAt(o, s), this.instanceMatrix.needsUpdate = !0;
|
|
451
562
|
}
|
|
452
563
|
/**
|
|
453
564
|
* Updates bubble positions, moving them upward and resetting them
|
|
@@ -460,39 +571,10 @@ class Bo extends it {
|
|
|
460
571
|
}
|
|
461
572
|
}
|
|
462
573
|
}
|
|
463
|
-
class
|
|
464
|
-
constructor(t) {
|
|
465
|
-
E(this, "speed");
|
|
466
|
-
E(this, "maxIntensity");
|
|
467
|
-
E(this, "minIntensity");
|
|
468
|
-
E(this, "material");
|
|
469
|
-
const {
|
|
470
|
-
speed: o = 2,
|
|
471
|
-
//
|
|
472
|
-
maxIntensity: n = 0.8,
|
|
473
|
-
minIntensity: r = 0.2
|
|
474
|
-
} = t;
|
|
475
|
-
this.speed = o, this.maxIntensity = n, this.minIntensity = r, this.material = t.material;
|
|
476
|
-
}
|
|
477
|
-
/**
|
|
478
|
-
* Update the emissive intensity of the material.
|
|
479
|
-
*
|
|
480
|
-
* Use Three.Clock getElapsedTime()
|
|
481
|
-
*
|
|
482
|
-
* Example:
|
|
483
|
-
* ```
|
|
484
|
-
* const clock = new THREE.Clock();
|
|
485
|
-
* effect.update(clock.getElapsedTime());
|
|
486
|
-
* ```
|
|
487
|
-
*/
|
|
488
|
-
update(t = 0) {
|
|
489
|
-
this.material.emissiveIntensity = this.minIntensity + Math.abs(Math.sin(t * this.speed)) * (this.maxIntensity - this.minIntensity);
|
|
490
|
-
}
|
|
491
|
-
}
|
|
492
|
-
class xe extends A {
|
|
574
|
+
class Ee extends E {
|
|
493
575
|
constructor(t = 0.1) {
|
|
494
576
|
super();
|
|
495
|
-
const o = [], n = [],
|
|
577
|
+
const o = [], n = [], s = [
|
|
496
578
|
[0, 1],
|
|
497
579
|
// Top point
|
|
498
580
|
[0.5, 0.75],
|
|
@@ -510,121 +592,66 @@ class xe extends A {
|
|
|
510
592
|
[-0.5, 0.75]
|
|
511
593
|
// Left upper middle
|
|
512
594
|
];
|
|
513
|
-
for (let a = 0; a <
|
|
514
|
-
const [i, c] =
|
|
595
|
+
for (let a = 0; a < s.length; a++) {
|
|
596
|
+
const [i, c] = s[a];
|
|
515
597
|
o.push(i * t, c * t, 0);
|
|
516
598
|
}
|
|
517
|
-
for (let a = 1; a <
|
|
599
|
+
for (let a = 1; a < s.length - 1; a++)
|
|
518
600
|
n.push(0, a, a + 1);
|
|
519
|
-
n.push(0,
|
|
520
|
-
const
|
|
521
|
-
this.setAttribute("position",
|
|
601
|
+
n.push(0, s.length - 1, 1);
|
|
602
|
+
const r = new O(o, 3);
|
|
603
|
+
this.setAttribute("position", r), this.setIndex(n), this.computeVertexNormals();
|
|
522
604
|
}
|
|
523
605
|
}
|
|
524
|
-
class
|
|
606
|
+
class Ho extends lt {
|
|
525
607
|
constructor(o = {}) {
|
|
526
608
|
const {
|
|
527
609
|
count: n = 200,
|
|
528
|
-
width:
|
|
529
|
-
height:
|
|
610
|
+
width: s = 20,
|
|
611
|
+
height: r = 10,
|
|
530
612
|
depth: a = 20,
|
|
531
|
-
geometry: i = new
|
|
613
|
+
geometry: i = new Ee(),
|
|
532
614
|
material: c = new y({
|
|
533
615
|
color: 8956467,
|
|
534
616
|
metalness: 0.1,
|
|
535
617
|
roughness: 0.8,
|
|
536
618
|
flatShading: !0,
|
|
537
|
-
side:
|
|
619
|
+
side: V
|
|
538
620
|
})
|
|
539
621
|
} = o;
|
|
540
622
|
super(i, c, n);
|
|
541
|
-
|
|
542
|
-
|
|
543
|
-
|
|
544
|
-
|
|
545
|
-
|
|
546
|
-
this.dummyMatrix = new
|
|
623
|
+
A(this, "dummyMatrix");
|
|
624
|
+
A(this, "velocities");
|
|
625
|
+
A(this, "width");
|
|
626
|
+
A(this, "height");
|
|
627
|
+
A(this, "depth");
|
|
628
|
+
this.dummyMatrix = new H(), this.velocities = [], this.width = s, this.height = r, this.depth = a;
|
|
547
629
|
for (let l = 0; l < n; l++) {
|
|
548
|
-
const u = (Math.random() - 0.5) *
|
|
549
|
-
this.dummyMatrix.makeRotationFromEuler(new
|
|
550
|
-
const
|
|
551
|
-
this.velocities.push(
|
|
630
|
+
const u = (Math.random() - 0.5) * s, m = Math.random() * (r - 1) + 0.5, h = (Math.random() - 0.5) * a, f = (Math.random() - 0.5) * Math.PI, p = (Math.random() - 0.5) * Math.PI, d = (Math.random() - 0.5) * Math.PI;
|
|
631
|
+
this.dummyMatrix.makeRotationFromEuler(new Tt(f, p, d)), this.dummyMatrix.setPosition(u, m, h), this.setMatrixAt(l, this.dummyMatrix);
|
|
632
|
+
const M = new x((Math.random() - 0.5) * 0.01, -5e-3, (Math.random() - 0.5) * 0.01);
|
|
633
|
+
this.velocities.push(M);
|
|
552
634
|
}
|
|
553
635
|
this.instanceMatrix.needsUpdate = !0;
|
|
554
636
|
}
|
|
555
637
|
update() {
|
|
556
638
|
for (let o = 0; o < this.count; o++) {
|
|
557
|
-
const n = new
|
|
639
|
+
const n = new H();
|
|
558
640
|
this.getMatrixAt(o, n);
|
|
559
|
-
const
|
|
560
|
-
|
|
561
|
-
const
|
|
562
|
-
|
|
641
|
+
const s = new x();
|
|
642
|
+
s.setFromMatrixPosition(n);
|
|
643
|
+
const r = this.velocities[o];
|
|
644
|
+
s.add(r), s.y < 0 && (s.set(
|
|
563
645
|
(Math.random() - 0.5) * this.width,
|
|
564
646
|
Math.random() * (this.height - 1) + 0.5,
|
|
565
647
|
(Math.random() - 0.5) * this.depth
|
|
566
|
-
),
|
|
648
|
+
), r.set((Math.random() - 0.5) * 0.01, -5e-3, (Math.random() - 0.5) * 0.01)), n.setPosition(s), this.setMatrixAt(o, n);
|
|
567
649
|
}
|
|
568
650
|
this.instanceMatrix.needsUpdate = !0;
|
|
569
651
|
}
|
|
570
652
|
}
|
|
571
|
-
|
|
572
|
-
|
|
573
|
-
}
|
|
574
|
-
function _o(e = 0, t = 1) {
|
|
575
|
-
return Math.floor(Math.random() * (t - e + 1)) + e;
|
|
576
|
-
}
|
|
577
|
-
function ge(e = 0.5, t = 0, o = 1) {
|
|
578
|
-
return t + (o - t) * Math.pow(Math.random(), e);
|
|
579
|
-
}
|
|
580
|
-
function Ie(e = 0.5, t = 0, o = 1) {
|
|
581
|
-
return t + (o - t) * Math.pow(1 - Math.random(), e);
|
|
582
|
-
}
|
|
583
|
-
function Ee(e, t, o) {
|
|
584
|
-
const n = t + Math.random() * (o - t);
|
|
585
|
-
return setTimeout(e, n);
|
|
586
|
-
}
|
|
587
|
-
function Uo(e, t, o) {
|
|
588
|
-
let n;
|
|
589
|
-
function r() {
|
|
590
|
-
const s = t + Math.random() * (o - t);
|
|
591
|
-
n = setTimeout(() => {
|
|
592
|
-
e(), r();
|
|
593
|
-
}, s);
|
|
594
|
-
}
|
|
595
|
-
return r(), () => clearTimeout(n);
|
|
596
|
-
}
|
|
597
|
-
class Oo {
|
|
598
|
-
constructor({
|
|
599
|
-
light: t,
|
|
600
|
-
//
|
|
601
|
-
minIntensity: o = 15,
|
|
602
|
-
maxIntensity: n = 20,
|
|
603
|
-
minDuration: r = 50,
|
|
604
|
-
maxDuration: s = 250
|
|
605
|
-
} = {}) {
|
|
606
|
-
E(this, "light");
|
|
607
|
-
E(this, "minIntensity");
|
|
608
|
-
E(this, "maxIntensity");
|
|
609
|
-
E(this, "minDuration");
|
|
610
|
-
E(this, "maxDuration");
|
|
611
|
-
this.light = t, this.minIntensity = o, this.maxIntensity = n, this.minDuration = r, this.maxDuration = s;
|
|
612
|
-
}
|
|
613
|
-
triggerLightning() {
|
|
614
|
-
this.light && (this.light.intensity = Mt(this.minIntensity, this.maxIntensity)), Ee(
|
|
615
|
-
() => {
|
|
616
|
-
this.light && (this.light.intensity = 0);
|
|
617
|
-
},
|
|
618
|
-
this.minDuration,
|
|
619
|
-
this.maxDuration
|
|
620
|
-
);
|
|
621
|
-
}
|
|
622
|
-
update() {
|
|
623
|
-
Math.random() > 0.98 && this.triggerLightning();
|
|
624
|
-
}
|
|
625
|
-
}
|
|
626
|
-
const P = (e, t) => {
|
|
627
|
-
const o = e[0].index !== null, n = new Set(Object.keys(e[0].attributes)), r = new Set(Object.keys(e[0].morphAttributes)), s = {}, a = {}, i = e[0].morphTargetsRelative, c = new A();
|
|
653
|
+
const S = (e, t) => {
|
|
654
|
+
const o = e[0].index !== null, n = new Set(Object.keys(e[0].attributes)), s = new Set(Object.keys(e[0].morphAttributes)), r = {}, a = {}, i = e[0].morphTargetsRelative, c = new E();
|
|
628
655
|
let l = 0;
|
|
629
656
|
if (e.forEach((u, m) => {
|
|
630
657
|
let h = 0;
|
|
@@ -637,7 +664,7 @@ const P = (e, t) => {
|
|
|
637
664
|
return console.error(
|
|
638
665
|
"THREE.BufferGeometryUtils: .mergeBufferGeometries() failed with geometry at index " + m + '. All geometries must have compatible attributes; make sure "' + f + '" attribute exists among all geometries, or in none of them.'
|
|
639
666
|
), null;
|
|
640
|
-
|
|
667
|
+
r[f] === void 0 && (r[f] = []), r[f].push(u.attributes[f]), h++;
|
|
641
668
|
}
|
|
642
669
|
if (h !== n.size)
|
|
643
670
|
return console.error(
|
|
@@ -648,7 +675,7 @@ const P = (e, t) => {
|
|
|
648
675
|
"THREE.BufferGeometryUtils: .mergeBufferGeometries() failed with geometry at index " + m + ". .morphTargetsRelative must be consistent throughout all geometries."
|
|
649
676
|
), null;
|
|
650
677
|
for (let f in u.morphAttributes) {
|
|
651
|
-
if (!
|
|
678
|
+
if (!s.has(f))
|
|
652
679
|
return console.error(
|
|
653
680
|
"THREE.BufferGeometryUtils: .mergeBufferGeometries() failed with geometry at index " + m + ". .morphAttributes must be consistent throughout all geometries."
|
|
654
681
|
), null;
|
|
@@ -676,8 +703,8 @@ const P = (e, t) => {
|
|
|
676
703
|
u += h.attributes.position.count;
|
|
677
704
|
}), c.setIndex(m);
|
|
678
705
|
}
|
|
679
|
-
for (let u in
|
|
680
|
-
const m =
|
|
706
|
+
for (let u in r) {
|
|
707
|
+
const m = pt(r[u]);
|
|
681
708
|
if (!m)
|
|
682
709
|
return console.error(
|
|
683
710
|
"THREE.BufferGeometryUtils: .mergeBufferGeometries() failed while trying to merge the " + u + " attribute."
|
|
@@ -693,7 +720,7 @@ const P = (e, t) => {
|
|
|
693
720
|
const f = [];
|
|
694
721
|
for (let d = 0; d < a[u].length; ++d)
|
|
695
722
|
f.push(a[u][d][h]);
|
|
696
|
-
const p =
|
|
723
|
+
const p = pt(f);
|
|
697
724
|
if (!p)
|
|
698
725
|
return console.error(
|
|
699
726
|
"THREE.BufferGeometryUtils: .mergeBufferGeometries() failed while trying to merge the " + u + " morphAttribute."
|
|
@@ -702,80 +729,103 @@ const P = (e, t) => {
|
|
|
702
729
|
}
|
|
703
730
|
}
|
|
704
731
|
return c;
|
|
705
|
-
},
|
|
706
|
-
let t, o, n,
|
|
707
|
-
if (e.forEach((
|
|
708
|
-
if (t === void 0 && (t =
|
|
732
|
+
}, pt = (e) => {
|
|
733
|
+
let t, o, n, s = 0;
|
|
734
|
+
if (e.forEach((r) => {
|
|
735
|
+
if (t === void 0 && (t = r.array.constructor), t !== r.array.constructor)
|
|
709
736
|
return console.error(
|
|
710
737
|
"THREE.BufferGeometryUtils: .mergeBufferAttributes() failed. BufferAttribute.array must be of consistent array types across matching attributes."
|
|
711
738
|
), null;
|
|
712
|
-
if (o === void 0 && (o =
|
|
739
|
+
if (o === void 0 && (o = r.itemSize), o !== r.itemSize)
|
|
713
740
|
return console.error(
|
|
714
741
|
"THREE.BufferGeometryUtils: .mergeBufferAttributes() failed. BufferAttribute.itemSize must be consistent across matching attributes."
|
|
715
742
|
), null;
|
|
716
|
-
if (n === void 0 && (n =
|
|
743
|
+
if (n === void 0 && (n = r.normalized), n !== r.normalized)
|
|
717
744
|
return console.error(
|
|
718
745
|
"THREE.BufferGeometryUtils: .mergeBufferAttributes() failed. BufferAttribute.normalized must be consistent across matching attributes."
|
|
719
746
|
), null;
|
|
720
|
-
|
|
747
|
+
s += r.array.length;
|
|
721
748
|
}), t && o) {
|
|
722
|
-
const
|
|
749
|
+
const r = new t(s);
|
|
723
750
|
let a = 0;
|
|
724
751
|
return e.forEach((i) => {
|
|
725
|
-
|
|
726
|
-
}), new
|
|
752
|
+
r.set(i.array, a), a += i.array.length;
|
|
753
|
+
}), new D(r, o, n);
|
|
727
754
|
}
|
|
728
755
|
};
|
|
729
|
-
function
|
|
756
|
+
function be(e, t = 1e-4) {
|
|
730
757
|
t = Math.max(t, Number.EPSILON);
|
|
731
|
-
const o = {}, n = e.getIndex(),
|
|
758
|
+
const o = {}, n = e.getIndex(), s = e.getAttribute("position"), r = n ? n.count : s.count;
|
|
732
759
|
let a = 0;
|
|
733
760
|
const i = Object.keys(e.attributes), c = {}, l = {}, u = [], m = ["getX", "getY", "getZ", "getW"];
|
|
734
|
-
for (let d = 0,
|
|
735
|
-
const
|
|
736
|
-
c[
|
|
737
|
-
const
|
|
738
|
-
|
|
761
|
+
for (let d = 0, M = i.length; d < M; d++) {
|
|
762
|
+
const g = i[d];
|
|
763
|
+
c[g] = [];
|
|
764
|
+
const v = e.morphAttributes[g];
|
|
765
|
+
v && (l[g] = new Array(v.length).fill(0).map(() => []));
|
|
739
766
|
}
|
|
740
767
|
const h = Math.log10(1 / t), f = Math.pow(10, h);
|
|
741
|
-
for (let d = 0; d <
|
|
742
|
-
const
|
|
743
|
-
let
|
|
744
|
-
for (let
|
|
745
|
-
const
|
|
746
|
-
for (let
|
|
747
|
-
|
|
768
|
+
for (let d = 0; d < r; d++) {
|
|
769
|
+
const M = n ? n.getX(d) : d;
|
|
770
|
+
let g = "";
|
|
771
|
+
for (let v = 0, R = i.length; v < R; v++) {
|
|
772
|
+
const T = i[v], G = e.getAttribute(T), C = G.itemSize;
|
|
773
|
+
for (let N = 0; N < C; N++)
|
|
774
|
+
g += `${~~(G[m[N]](M) * f)},`;
|
|
748
775
|
}
|
|
749
|
-
if (
|
|
750
|
-
u.push(o[
|
|
776
|
+
if (g in o)
|
|
777
|
+
u.push(o[g]);
|
|
751
778
|
else {
|
|
752
|
-
for (let
|
|
753
|
-
const
|
|
754
|
-
for (let
|
|
755
|
-
const
|
|
756
|
-
if (
|
|
757
|
-
for (let
|
|
758
|
-
|
|
779
|
+
for (let v = 0, R = i.length; v < R; v++) {
|
|
780
|
+
const T = i[v], G = e.getAttribute(T), C = e.morphAttributes[T], N = G.itemSize, _ = c[T], nt = l[T];
|
|
781
|
+
for (let q = 0; q < N; q++) {
|
|
782
|
+
const Y = m[q];
|
|
783
|
+
if (_.push(G[Y](M)), C)
|
|
784
|
+
for (let B = 0, Et = C.length; B < Et; B++)
|
|
785
|
+
nt[B].push(C[B][Y](M));
|
|
759
786
|
}
|
|
760
787
|
}
|
|
761
|
-
o[
|
|
788
|
+
o[g] = a, u.push(a), a++;
|
|
762
789
|
}
|
|
763
790
|
}
|
|
764
791
|
const p = e.clone();
|
|
765
|
-
for (let d = 0,
|
|
766
|
-
const
|
|
767
|
-
if (p.setAttribute(
|
|
768
|
-
for (let
|
|
769
|
-
const
|
|
770
|
-
p.morphAttributes[
|
|
792
|
+
for (let d = 0, M = i.length; d < M; d++) {
|
|
793
|
+
const g = i[d], v = e.getAttribute(g), R = new v.array.constructor(c[g]), T = new D(R, v.itemSize, v.normalized);
|
|
794
|
+
if (p.setAttribute(g, T), g in l)
|
|
795
|
+
for (let G = 0; G < l[g].length; G++) {
|
|
796
|
+
const C = e.morphAttributes[g][G], N = new C.array.constructor(l[g][G]), _ = new D(N, C.itemSize, C.normalized);
|
|
797
|
+
p.morphAttributes[g][G] = _;
|
|
771
798
|
}
|
|
772
799
|
}
|
|
773
800
|
return p.setIndex(u), p;
|
|
774
801
|
}
|
|
775
|
-
class
|
|
776
|
-
constructor(t =
|
|
802
|
+
class Se extends E {
|
|
803
|
+
constructor(t = (s, r, a) => a.set(s, r, Math.cos(s) * Math.sin(r)), o = 8, n = 8) {
|
|
804
|
+
super(), this.type = "ParametricGeometry", this.parameters = {
|
|
805
|
+
func: t,
|
|
806
|
+
slices: o,
|
|
807
|
+
stacks: n
|
|
808
|
+
};
|
|
809
|
+
const s = [], r = [], a = [], i = [], c = 1e-5, l = new x(), u = new x(), m = new x(), h = new x(), f = new x(), p = o + 1;
|
|
810
|
+
for (let d = 0; d <= n; d++) {
|
|
811
|
+
const M = d / n;
|
|
812
|
+
for (let g = 0; g <= o; g++) {
|
|
813
|
+
const v = g / o;
|
|
814
|
+
t(v, M, u), r.push(u.x, u.y, u.z), v - c >= 0 ? (t(v - c, M, m), h.subVectors(u, m)) : (t(v + c, M, m), h.subVectors(m, u)), M - c >= 0 ? (t(v, M - c, m), f.subVectors(u, m)) : (t(v, M + c, m), f.subVectors(m, u)), l.crossVectors(h, f).normalize(), a.push(l.x, l.y, l.z), i.push(v, M);
|
|
815
|
+
}
|
|
816
|
+
}
|
|
817
|
+
for (let d = 0; d < n; d++)
|
|
818
|
+
for (let M = 0; M < o; M++) {
|
|
819
|
+
const g = d * p + M, v = d * p + M + 1, R = (d + 1) * p + M + 1, T = (d + 1) * p + M;
|
|
820
|
+
s.push(g, v, T), s.push(v, R, T);
|
|
821
|
+
}
|
|
822
|
+
this.setIndex(s), this.setAttribute("position", new O(r, 3)), this.setAttribute("normal", new O(a, 3)), this.setAttribute("uv", new O(i, 2));
|
|
823
|
+
}
|
|
824
|
+
}
|
|
825
|
+
class yt extends E {
|
|
826
|
+
constructor(t = 1, o = 1.5, n = 0.5, s = 0.05, r = 0.05) {
|
|
777
827
|
super();
|
|
778
|
-
const a = t, i = o, c = n, l =
|
|
828
|
+
const a = t, i = o, c = n, l = s, u = r, m = [
|
|
779
829
|
// Front cover
|
|
780
830
|
0,
|
|
781
831
|
0,
|
|
@@ -1268,7 +1318,7 @@ class yt extends A {
|
|
|
1268
1318
|
0,
|
|
1269
1319
|
1
|
|
1270
1320
|
// Back cover edge
|
|
1271
|
-
],
|
|
1321
|
+
], M = [
|
|
1272
1322
|
0,
|
|
1273
1323
|
1,
|
|
1274
1324
|
2,
|
|
@@ -1367,10 +1417,10 @@ class yt extends A {
|
|
|
1367
1417
|
54,
|
|
1368
1418
|
55
|
|
1369
1419
|
// Back cover edge
|
|
1370
|
-
],
|
|
1371
|
-
|
|
1372
|
-
const
|
|
1373
|
-
|
|
1420
|
+
], g = new Float32Array(m), v = new Float32Array(h), R = new Float32Array(d), T = new Uint16Array(M), G = new E();
|
|
1421
|
+
G.setAttribute("position", new D(g, 3)), G.setAttribute("normal", new D(v, 3)), G.setAttribute("uv", new D(R, 2)), G.setIndex(new D(T, 1));
|
|
1422
|
+
const C = new b(t - l - u, i - u * 2, c - l * 2);
|
|
1423
|
+
C.translate((t - l - u) / 2 + l, i / 2, -c / 2), this.copy(S([G, C], !0));
|
|
1374
1424
|
}
|
|
1375
1425
|
}
|
|
1376
1426
|
function wt({
|
|
@@ -1378,52 +1428,52 @@ function wt({
|
|
|
1378
1428
|
scaleXMax: t = 0.7,
|
|
1379
1429
|
scaleYMin: o = 0.3,
|
|
1380
1430
|
scaleYMax: n = 0.95,
|
|
1381
|
-
scaleZMin:
|
|
1382
|
-
scaleZMax:
|
|
1431
|
+
scaleZMin: s = 0.1,
|
|
1432
|
+
scaleZMax: r = 0.5
|
|
1383
1433
|
} = {}) {
|
|
1384
|
-
return new
|
|
1385
|
-
|
|
1386
|
-
|
|
1387
|
-
|
|
1434
|
+
return new x(
|
|
1435
|
+
mt(e, t),
|
|
1436
|
+
Ft(0.25, o, n),
|
|
1437
|
+
Lt(0.8, s, r)
|
|
1388
1438
|
);
|
|
1389
1439
|
}
|
|
1390
|
-
function
|
|
1440
|
+
function xt({
|
|
1391
1441
|
coverMaterial: e,
|
|
1392
1442
|
pagesMaterial: t,
|
|
1393
1443
|
scales: o
|
|
1394
1444
|
}) {
|
|
1395
|
-
const n = new yt(),
|
|
1445
|
+
const n = new yt(), s = new lt(n, [e, t], o.length), r = new H();
|
|
1396
1446
|
let a = 0;
|
|
1397
1447
|
for (let i = 0; i < o.length; i++) {
|
|
1398
|
-
const c = o[i], l = new
|
|
1399
|
-
l.makeScale(c.x, c.y, c.z),
|
|
1448
|
+
const c = o[i], l = new H();
|
|
1449
|
+
l.makeScale(c.x, c.y, c.z), r.identity(), r.multiply(l), r.setPosition(0.01 + Math.random() * 0.1, 0, a + c.z * 0.5), s.setMatrixAt(i, r), a += c.z * 0.5;
|
|
1400
1450
|
}
|
|
1401
|
-
return
|
|
1451
|
+
return s;
|
|
1402
1452
|
}
|
|
1403
|
-
function
|
|
1453
|
+
function Xo({
|
|
1404
1454
|
coverMaterial: e,
|
|
1405
1455
|
pagesMaterial: t,
|
|
1406
1456
|
count: o = 10,
|
|
1407
1457
|
scaleXMin: n = 0.4,
|
|
1408
|
-
scaleXMax:
|
|
1409
|
-
scaleYMin:
|
|
1458
|
+
scaleXMax: s = 0.7,
|
|
1459
|
+
scaleYMin: r = 0.3,
|
|
1410
1460
|
scaleYMax: a = 0.95,
|
|
1411
1461
|
scaleZMin: i = 0.1,
|
|
1412
1462
|
scaleZMax: c = 0.5
|
|
1413
1463
|
}) {
|
|
1414
1464
|
const l = Array.from(
|
|
1415
1465
|
{ length: o },
|
|
1416
|
-
() => wt({ scaleXMin: n, scaleXMax:
|
|
1466
|
+
() => wt({ scaleXMin: n, scaleXMax: s, scaleYMin: r, scaleYMax: a, scaleZMin: i, scaleZMax: c })
|
|
1417
1467
|
);
|
|
1418
|
-
return
|
|
1468
|
+
return xt({ coverMaterial: e, pagesMaterial: t, scales: l });
|
|
1419
1469
|
}
|
|
1420
|
-
function
|
|
1470
|
+
function Zo({
|
|
1421
1471
|
coverMaterial: e,
|
|
1422
1472
|
pagesMaterial: t,
|
|
1423
1473
|
length: o = 10,
|
|
1424
1474
|
scaleXMin: n = 0.4,
|
|
1425
|
-
scaleXMax:
|
|
1426
|
-
scaleYMin:
|
|
1475
|
+
scaleXMax: s = 0.7,
|
|
1476
|
+
scaleYMin: r = 0.3,
|
|
1427
1477
|
scaleYMax: a = 0.95,
|
|
1428
1478
|
scaleZMin: i = 0.1,
|
|
1429
1479
|
scaleZMax: c = 0.5
|
|
@@ -1431,71 +1481,71 @@ function zo({
|
|
|
1431
1481
|
const l = [];
|
|
1432
1482
|
let u = o;
|
|
1433
1483
|
for (; u > 0; ) {
|
|
1434
|
-
const m = wt({ scaleXMin: n, scaleXMax:
|
|
1484
|
+
const m = wt({ scaleXMin: n, scaleXMax: s, scaleYMin: r, scaleYMax: a, scaleZMin: i, scaleZMax: c });
|
|
1435
1485
|
m.z = Math.min(m.z, u), l.push(m), u -= m.z;
|
|
1436
1486
|
}
|
|
1437
|
-
return
|
|
1487
|
+
return xt({ coverMaterial: e, pagesMaterial: t, scales: l });
|
|
1438
1488
|
}
|
|
1439
|
-
class
|
|
1440
|
-
constructor(t = 2, o = 0.3, n = 0.6,
|
|
1489
|
+
class jo extends E {
|
|
1490
|
+
constructor(t = 2, o = 0.3, n = 0.6, s = 5, r = 5, a = Math.PI / 4) {
|
|
1441
1491
|
super();
|
|
1442
1492
|
const i = [], c = [];
|
|
1443
|
-
for (let f = 0; f <
|
|
1444
|
-
const p = f * o, d = p + o,
|
|
1493
|
+
for (let f = 0; f < s; f++) {
|
|
1494
|
+
const p = f * o, d = p + o, M = f * n, g = M + n;
|
|
1445
1495
|
i.push(
|
|
1446
1496
|
// Vertical riser
|
|
1447
1497
|
-t / 2,
|
|
1448
1498
|
p,
|
|
1449
|
-
|
|
1499
|
+
M,
|
|
1450
1500
|
// Bottom-left
|
|
1451
1501
|
t / 2,
|
|
1452
1502
|
p,
|
|
1453
|
-
|
|
1503
|
+
M,
|
|
1454
1504
|
// Bottom-right
|
|
1455
1505
|
t / 2,
|
|
1456
1506
|
d,
|
|
1457
|
-
|
|
1507
|
+
M,
|
|
1458
1508
|
// Top-right
|
|
1459
1509
|
-t / 2,
|
|
1460
1510
|
d,
|
|
1461
|
-
|
|
1511
|
+
M,
|
|
1462
1512
|
// Top-left
|
|
1463
1513
|
// Horizontal tread
|
|
1464
1514
|
-t / 2,
|
|
1465
1515
|
d,
|
|
1466
|
-
|
|
1516
|
+
M,
|
|
1467
1517
|
// Top-left
|
|
1468
1518
|
t / 2,
|
|
1469
1519
|
d,
|
|
1470
|
-
|
|
1520
|
+
M,
|
|
1471
1521
|
// Top-right
|
|
1472
1522
|
t / 2,
|
|
1473
1523
|
d,
|
|
1474
|
-
|
|
1524
|
+
g,
|
|
1475
1525
|
// Back-right
|
|
1476
1526
|
-t / 2,
|
|
1477
1527
|
d,
|
|
1478
|
-
|
|
1528
|
+
g
|
|
1479
1529
|
// Back-left
|
|
1480
1530
|
);
|
|
1481
|
-
const
|
|
1531
|
+
const v = f * 8;
|
|
1482
1532
|
c.push(
|
|
1483
|
-
|
|
1484
|
-
|
|
1485
|
-
|
|
1486
|
-
|
|
1487
|
-
|
|
1488
|
-
|
|
1533
|
+
v,
|
|
1534
|
+
v + 1,
|
|
1535
|
+
v + 2,
|
|
1536
|
+
v,
|
|
1537
|
+
v + 2,
|
|
1538
|
+
v + 3
|
|
1489
1539
|
), c.push(
|
|
1490
|
-
|
|
1491
|
-
|
|
1492
|
-
|
|
1493
|
-
|
|
1494
|
-
|
|
1495
|
-
|
|
1540
|
+
v + 4,
|
|
1541
|
+
v + 5,
|
|
1542
|
+
v + 6,
|
|
1543
|
+
v + 4,
|
|
1544
|
+
v + 6,
|
|
1545
|
+
v + 7
|
|
1496
1546
|
);
|
|
1497
1547
|
}
|
|
1498
|
-
const l =
|
|
1548
|
+
const l = s * o, u = s * n, m = t * 2;
|
|
1499
1549
|
i.push(
|
|
1500
1550
|
// Landing platform (4 vertices)
|
|
1501
1551
|
-m / 2,
|
|
@@ -1515,7 +1565,7 @@ class Fo extends A {
|
|
|
1515
1565
|
u + n
|
|
1516
1566
|
// Top-left
|
|
1517
1567
|
);
|
|
1518
|
-
const h =
|
|
1568
|
+
const h = s * 8;
|
|
1519
1569
|
c.push(
|
|
1520
1570
|
h,
|
|
1521
1571
|
h + 1,
|
|
@@ -1528,69 +1578,69 @@ class Fo extends A {
|
|
|
1528
1578
|
);
|
|
1529
1579
|
for (let f = 0; f < 2; f++) {
|
|
1530
1580
|
const p = f === 0 ? 1 : -1;
|
|
1531
|
-
for (let d = 0; d <
|
|
1532
|
-
const
|
|
1581
|
+
for (let d = 0; d < r; d++) {
|
|
1582
|
+
const M = l + d * o, g = M + o, v = p * (m / 4), R = u + n, T = d * n * Math.cos(a), G = d * n * Math.sin(a), C = v + p * T - t / 2 * Math.cos(a), N = v + p * T + t / 2 * Math.cos(a), _ = R + G, nt = C + p * n * Math.cos(a), q = N + p * n * Math.cos(a), Y = _ + n * Math.sin(a);
|
|
1533
1583
|
i.push(
|
|
1534
1584
|
// Vertical riser
|
|
1535
|
-
|
|
1536
|
-
|
|
1537
|
-
|
|
1585
|
+
C,
|
|
1586
|
+
M,
|
|
1587
|
+
_,
|
|
1538
1588
|
// Bottom-left
|
|
1539
|
-
|
|
1540
|
-
|
|
1541
|
-
|
|
1589
|
+
N,
|
|
1590
|
+
M,
|
|
1591
|
+
_,
|
|
1542
1592
|
// Bottom-right
|
|
1543
|
-
|
|
1544
|
-
|
|
1545
|
-
|
|
1593
|
+
N,
|
|
1594
|
+
g,
|
|
1595
|
+
_,
|
|
1546
1596
|
// Top-right
|
|
1547
|
-
|
|
1548
|
-
|
|
1549
|
-
|
|
1597
|
+
C,
|
|
1598
|
+
g,
|
|
1599
|
+
_,
|
|
1550
1600
|
// Top-left
|
|
1551
1601
|
// Horizontal tread
|
|
1552
|
-
|
|
1553
|
-
|
|
1554
|
-
|
|
1602
|
+
C,
|
|
1603
|
+
g,
|
|
1604
|
+
_,
|
|
1555
1605
|
// Top-left
|
|
1556
|
-
|
|
1557
|
-
|
|
1558
|
-
|
|
1606
|
+
N,
|
|
1607
|
+
g,
|
|
1608
|
+
_,
|
|
1559
1609
|
// Top-right
|
|
1560
|
-
|
|
1561
|
-
|
|
1562
|
-
|
|
1610
|
+
q,
|
|
1611
|
+
g,
|
|
1612
|
+
Y,
|
|
1563
1613
|
// Back-right
|
|
1564
|
-
|
|
1565
|
-
|
|
1566
|
-
|
|
1614
|
+
nt,
|
|
1615
|
+
g,
|
|
1616
|
+
Y
|
|
1567
1617
|
// Back-left
|
|
1568
1618
|
);
|
|
1569
|
-
const
|
|
1619
|
+
const B = h + 4 + f * r * 8 + d * 8;
|
|
1570
1620
|
c.push(
|
|
1571
|
-
|
|
1572
|
-
|
|
1573
|
-
|
|
1574
|
-
|
|
1575
|
-
|
|
1576
|
-
|
|
1621
|
+
B,
|
|
1622
|
+
B + 1,
|
|
1623
|
+
B + 2,
|
|
1624
|
+
B,
|
|
1625
|
+
B + 2,
|
|
1626
|
+
B + 3
|
|
1577
1627
|
), c.push(
|
|
1578
|
-
|
|
1579
|
-
|
|
1580
|
-
|
|
1581
|
-
|
|
1582
|
-
|
|
1583
|
-
|
|
1628
|
+
B + 4,
|
|
1629
|
+
B + 5,
|
|
1630
|
+
B + 6,
|
|
1631
|
+
B + 4,
|
|
1632
|
+
B + 6,
|
|
1633
|
+
B + 7
|
|
1584
1634
|
);
|
|
1585
1635
|
}
|
|
1586
1636
|
}
|
|
1587
|
-
this.setIndex(c), this.setAttribute("position", new
|
|
1637
|
+
this.setIndex(c), this.setAttribute("position", new O(i, 3)), this.computeVertexNormals();
|
|
1588
1638
|
}
|
|
1589
1639
|
}
|
|
1590
|
-
class
|
|
1591
|
-
constructor(t = 5, o = 3, n = 5,
|
|
1640
|
+
class Qo extends E {
|
|
1641
|
+
constructor(t = 5, o = 3, n = 5, s = 0.2) {
|
|
1592
1642
|
super();
|
|
1593
|
-
const
|
|
1643
|
+
const r = [
|
|
1594
1644
|
// Floor vertices
|
|
1595
1645
|
-t / 2,
|
|
1596
1646
|
0,
|
|
@@ -1665,14 +1715,14 @@ class ko extends A {
|
|
|
1665
1715
|
10,
|
|
1666
1716
|
11
|
|
1667
1717
|
];
|
|
1668
|
-
this.setIndex(a), this.setAttribute("position", new
|
|
1718
|
+
this.setIndex(a), this.setAttribute("position", new O(r, 3)), this.computeVertexNormals();
|
|
1669
1719
|
}
|
|
1670
1720
|
}
|
|
1671
|
-
class
|
|
1672
|
-
constructor(t = 2, o = 0.3, n = 0.5,
|
|
1721
|
+
class Ko extends E {
|
|
1722
|
+
constructor(t = 2, o = 0.3, n = 0.5, s = 5, r = 2) {
|
|
1673
1723
|
super();
|
|
1674
1724
|
const a = [], i = [];
|
|
1675
|
-
for (let m = 0; m <
|
|
1725
|
+
for (let m = 0; m < s; m++) {
|
|
1676
1726
|
const h = m * o, f = h + o, p = m * n, d = p + n;
|
|
1677
1727
|
a.push(
|
|
1678
1728
|
// Vertical riser
|
|
@@ -1710,24 +1760,24 @@ class Do extends A {
|
|
|
1710
1760
|
d
|
|
1711
1761
|
// Back-left
|
|
1712
1762
|
);
|
|
1713
|
-
const
|
|
1763
|
+
const M = m * 8;
|
|
1714
1764
|
i.push(
|
|
1715
|
-
|
|
1716
|
-
|
|
1717
|
-
|
|
1718
|
-
|
|
1719
|
-
|
|
1720
|
-
|
|
1765
|
+
M,
|
|
1766
|
+
M + 1,
|
|
1767
|
+
M + 2,
|
|
1768
|
+
M,
|
|
1769
|
+
M + 2,
|
|
1770
|
+
M + 3
|
|
1721
1771
|
), i.push(
|
|
1722
|
-
|
|
1723
|
-
|
|
1724
|
-
|
|
1725
|
-
|
|
1726
|
-
|
|
1727
|
-
|
|
1772
|
+
M + 4,
|
|
1773
|
+
M + 5,
|
|
1774
|
+
M + 6,
|
|
1775
|
+
M + 4,
|
|
1776
|
+
M + 6,
|
|
1777
|
+
M + 7
|
|
1728
1778
|
);
|
|
1729
1779
|
}
|
|
1730
|
-
const c =
|
|
1780
|
+
const c = s * o, l = s * n;
|
|
1731
1781
|
a.push(
|
|
1732
1782
|
// Landing platform (4 vertices)
|
|
1733
1783
|
-t / 2,
|
|
@@ -1740,14 +1790,14 @@ class Do extends A {
|
|
|
1740
1790
|
// Bottom-right
|
|
1741
1791
|
t / 2,
|
|
1742
1792
|
c,
|
|
1743
|
-
l +
|
|
1793
|
+
l + r,
|
|
1744
1794
|
// Top-right
|
|
1745
1795
|
-t / 2,
|
|
1746
1796
|
c,
|
|
1747
|
-
l +
|
|
1797
|
+
l + r
|
|
1748
1798
|
// Top-left
|
|
1749
1799
|
);
|
|
1750
|
-
const u =
|
|
1800
|
+
const u = s * 8;
|
|
1751
1801
|
i.push(
|
|
1752
1802
|
u,
|
|
1753
1803
|
u + 1,
|
|
@@ -1758,71 +1808,71 @@ class Do extends A {
|
|
|
1758
1808
|
u + 3
|
|
1759
1809
|
// Second triangle for landing
|
|
1760
1810
|
);
|
|
1761
|
-
for (let m = 0; m <
|
|
1811
|
+
for (let m = 0; m < s; m++) {
|
|
1762
1812
|
const h = c + m * o, f = h + o, p = -t / 2 - m * n, d = p - n;
|
|
1763
1813
|
a.push(
|
|
1764
1814
|
// Vertical riser
|
|
1765
1815
|
p,
|
|
1766
1816
|
h,
|
|
1767
|
-
l +
|
|
1817
|
+
l + r,
|
|
1768
1818
|
// Bottom-left
|
|
1769
1819
|
p,
|
|
1770
1820
|
h,
|
|
1771
|
-
l +
|
|
1821
|
+
l + r - t,
|
|
1772
1822
|
// Bottom-right
|
|
1773
1823
|
p,
|
|
1774
1824
|
f,
|
|
1775
|
-
l +
|
|
1825
|
+
l + r - t,
|
|
1776
1826
|
// Top-right
|
|
1777
1827
|
p,
|
|
1778
1828
|
f,
|
|
1779
|
-
l +
|
|
1829
|
+
l + r,
|
|
1780
1830
|
// Top-left
|
|
1781
1831
|
// Horizontal tread
|
|
1782
1832
|
p,
|
|
1783
1833
|
f,
|
|
1784
|
-
l +
|
|
1834
|
+
l + r,
|
|
1785
1835
|
// Top-left
|
|
1786
1836
|
p,
|
|
1787
1837
|
f,
|
|
1788
|
-
l +
|
|
1838
|
+
l + r - t,
|
|
1789
1839
|
// Top-right
|
|
1790
1840
|
d,
|
|
1791
1841
|
f,
|
|
1792
|
-
l +
|
|
1842
|
+
l + r - t,
|
|
1793
1843
|
// Back-right
|
|
1794
1844
|
d,
|
|
1795
1845
|
f,
|
|
1796
|
-
l +
|
|
1846
|
+
l + r
|
|
1797
1847
|
// Back-left
|
|
1798
1848
|
);
|
|
1799
|
-
const
|
|
1849
|
+
const M = u + 4 + m * 8;
|
|
1800
1850
|
i.push(
|
|
1801
|
-
|
|
1802
|
-
|
|
1803
|
-
|
|
1804
|
-
|
|
1805
|
-
|
|
1806
|
-
|
|
1851
|
+
M,
|
|
1852
|
+
M + 1,
|
|
1853
|
+
M + 2,
|
|
1854
|
+
M,
|
|
1855
|
+
M + 2,
|
|
1856
|
+
M + 3
|
|
1807
1857
|
), i.push(
|
|
1808
|
-
|
|
1809
|
-
|
|
1810
|
-
|
|
1811
|
-
|
|
1812
|
-
|
|
1813
|
-
|
|
1858
|
+
M + 4,
|
|
1859
|
+
M + 5,
|
|
1860
|
+
M + 6,
|
|
1861
|
+
M + 4,
|
|
1862
|
+
M + 6,
|
|
1863
|
+
M + 7
|
|
1814
1864
|
);
|
|
1815
1865
|
}
|
|
1816
|
-
this.setIndex(i), this.setAttribute("position", new
|
|
1866
|
+
this.setIndex(i), this.setAttribute("position", new O(a, 3)), this.computeVertexNormals();
|
|
1817
1867
|
}
|
|
1818
1868
|
}
|
|
1819
|
-
class
|
|
1820
|
-
constructor(t = 1, o = 0.4, n = 0.2,
|
|
1869
|
+
class Jo extends E {
|
|
1870
|
+
constructor(t = 1, o = 0.4, n = 0.2, s = 20, r = 2, a = Math.PI / 8) {
|
|
1821
1871
|
super();
|
|
1822
1872
|
const i = [], c = [];
|
|
1823
1873
|
let l = 0;
|
|
1824
|
-
for (let u = 0; u <
|
|
1825
|
-
const m =
|
|
1874
|
+
for (let u = 0; u < s; u++) {
|
|
1875
|
+
const m = r * Math.cos(l), h = r * Math.sin(l), f = u * n, p = f + n;
|
|
1826
1876
|
i.push(
|
|
1827
1877
|
// Front face (vertical riser)
|
|
1828
1878
|
m - t / 2 * Math.cos(l),
|
|
@@ -1881,16 +1931,16 @@ class qo extends A {
|
|
|
1881
1931
|
// Second triangle for tread
|
|
1882
1932
|
), l += a;
|
|
1883
1933
|
}
|
|
1884
|
-
this.setIndex(c), this.setAttribute("position", new
|
|
1934
|
+
this.setIndex(c), this.setAttribute("position", new O(i, 3)), this.computeVertexNormals();
|
|
1885
1935
|
}
|
|
1886
1936
|
}
|
|
1887
|
-
class
|
|
1888
|
-
constructor(t = 2, o = 0.3, n = 0.5,
|
|
1937
|
+
class $o extends E {
|
|
1938
|
+
constructor(t = 2, o = 0.3, n = 0.5, s = 10) {
|
|
1889
1939
|
super();
|
|
1890
|
-
const
|
|
1891
|
-
for (let i = 0; i <
|
|
1940
|
+
const r = [], a = [];
|
|
1941
|
+
for (let i = 0; i < s; i++) {
|
|
1892
1942
|
const c = i * o, l = c + o, u = i * n, m = u + n;
|
|
1893
|
-
|
|
1943
|
+
r.push(
|
|
1894
1944
|
// Bottom face of riser (front face)
|
|
1895
1945
|
-t / 2,
|
|
1896
1946
|
c,
|
|
@@ -1947,69 +1997,89 @@ class Vo extends A {
|
|
|
1947
1997
|
// Second triangle for tread
|
|
1948
1998
|
);
|
|
1949
1999
|
}
|
|
1950
|
-
this.setIndex(a), this.setAttribute("position", new
|
|
2000
|
+
this.setIndex(a), this.setAttribute("position", new O(r, 3)), this.computeVertexNormals();
|
|
1951
2001
|
}
|
|
1952
2002
|
}
|
|
1953
|
-
|
|
1954
|
-
|
|
1955
|
-
|
|
2003
|
+
class Pe extends E {
|
|
2004
|
+
constructor() {
|
|
2005
|
+
super();
|
|
2006
|
+
const t = [
|
|
2007
|
+
new I(0, 0),
|
|
2008
|
+
// Bottom of the jar
|
|
2009
|
+
new I(1.2, 0),
|
|
2010
|
+
// Base
|
|
2011
|
+
new I(1.5, 1.5),
|
|
2012
|
+
// Mid-body
|
|
2013
|
+
new I(1, 3),
|
|
2014
|
+
// Narrow neck
|
|
2015
|
+
new I(0.6, 3.5),
|
|
2016
|
+
// Mouth of the jar
|
|
2017
|
+
new I(0.5, 3.5)
|
|
2018
|
+
// Cork
|
|
2019
|
+
], o = new k(t, 10), n = new P(0.6, 0.5, 0.3, 10);
|
|
2020
|
+
n.translate(0, 3.5, 0), this.copy(S([o, n], !0));
|
|
2021
|
+
}
|
|
2022
|
+
}
|
|
2023
|
+
function vt(e, t, o, n, s) {
|
|
2024
|
+
const r = (n - t) / (o - e);
|
|
2025
|
+
return e + (s - t) / r;
|
|
1956
2026
|
}
|
|
1957
|
-
function
|
|
1958
|
-
const
|
|
1959
|
-
return t +
|
|
2027
|
+
function Te(e, t, o, n, s) {
|
|
2028
|
+
const r = (n - t) / (o - e);
|
|
2029
|
+
return t + r * (s - e);
|
|
1960
2030
|
}
|
|
1961
|
-
const
|
|
1962
|
-
calculateXFromSlopeIntercept:
|
|
1963
|
-
calculateYFromSlopeIntercept:
|
|
2031
|
+
const Wo = {
|
|
2032
|
+
calculateXFromSlopeIntercept: vt,
|
|
2033
|
+
calculateYFromSlopeIntercept: Te
|
|
1964
2034
|
};
|
|
1965
|
-
class
|
|
2035
|
+
class Ge extends E {
|
|
1966
2036
|
constructor() {
|
|
1967
2037
|
super();
|
|
1968
2038
|
const t = [
|
|
1969
|
-
new
|
|
2039
|
+
new I(0, 0),
|
|
1970
2040
|
// Origin
|
|
1971
|
-
new
|
|
2041
|
+
new I(0.8, 0),
|
|
1972
2042
|
// Base
|
|
1973
|
-
new
|
|
2043
|
+
new I(1, 1.5),
|
|
1974
2044
|
// Rounded body
|
|
1975
|
-
new
|
|
2045
|
+
new I(0.5, 2.2),
|
|
1976
2046
|
// Neck
|
|
1977
|
-
new
|
|
2047
|
+
new I(0.6, 2.5),
|
|
1978
2048
|
// Mouth
|
|
1979
|
-
new
|
|
2049
|
+
new I(0.5, 2.5)
|
|
1980
2050
|
// Cork
|
|
1981
|
-
], o = new
|
|
2051
|
+
], o = new k(t, 10), n = new P(0.55, 0.45, 0.2, 10);
|
|
1982
2052
|
n.translate(0, 2.5, 0);
|
|
1983
|
-
const
|
|
1984
|
-
new
|
|
1985
|
-
new
|
|
1986
|
-
new
|
|
1987
|
-
new
|
|
1988
|
-
],
|
|
1989
|
-
|
|
2053
|
+
const s = [
|
|
2054
|
+
new I(0, 0),
|
|
2055
|
+
new I(0.8, 0),
|
|
2056
|
+
new I(vt(0.8, 0, 1, 1.5, 1), 1),
|
|
2057
|
+
new I(0, 1)
|
|
2058
|
+
], r = new k(s, 10);
|
|
2059
|
+
r.translate(0, 0.1, 0), r.scale(0.9, 0.9, 0.9), this.copy(S([o, n, r], !0));
|
|
1990
2060
|
}
|
|
1991
2061
|
}
|
|
1992
|
-
class
|
|
1993
|
-
constructor({ radius: t = 0.5, neckRadius: o = 0.2, height: n = 3, neckHeight:
|
|
2062
|
+
class Ce extends E {
|
|
2063
|
+
constructor({ radius: t = 0.5, neckRadius: o = 0.2, height: n = 3, neckHeight: s = 1, segments: r = 16 } = {}) {
|
|
1994
2064
|
super();
|
|
1995
|
-
const a = n -
|
|
2065
|
+
const a = n - s, i = new P(t, t, a, r);
|
|
1996
2066
|
i.translate(0, a / 2, 0);
|
|
1997
|
-
const c = 0.3, l = new
|
|
2067
|
+
const c = 0.3, l = new P(o, t, c, r);
|
|
1998
2068
|
l.translate(0, a + c / 2, 0);
|
|
1999
|
-
const u = new
|
|
2000
|
-
u.translate(0, a + c +
|
|
2069
|
+
const u = new P(o, o, s, r);
|
|
2070
|
+
u.translate(0, a + c + s / 2, 0), this.copy(S([i, l, u], !1));
|
|
2001
2071
|
}
|
|
2002
2072
|
}
|
|
2003
|
-
class
|
|
2073
|
+
class Be extends E {
|
|
2004
2074
|
constructor(t = 0.4, o = 1.2, n = 0.2) {
|
|
2005
2075
|
super();
|
|
2006
|
-
const
|
|
2007
|
-
|
|
2076
|
+
const s = o * 0.6, r = new b(t / 2, s, n);
|
|
2077
|
+
r.translate(0, s / 2, 0);
|
|
2008
2078
|
const a = t * 1.5, i = new b(a, t / 4, n);
|
|
2009
|
-
i.translate(0,
|
|
2079
|
+
i.translate(0, s * 0.75, 0), this.copy(S([r, i], !1)), this.computeVertexNormals();
|
|
2010
2080
|
}
|
|
2011
2081
|
}
|
|
2012
|
-
class
|
|
2082
|
+
class Re extends E {
|
|
2013
2083
|
constructor() {
|
|
2014
2084
|
super();
|
|
2015
2085
|
const t = new b(5, 1, 5);
|
|
@@ -2021,13 +2091,13 @@ class Ge extends A {
|
|
|
2021
2091
|
[1.8, 2.3, -2.2],
|
|
2022
2092
|
[-1.8, 2.3, 2.2],
|
|
2023
2093
|
[1.8, 2.3, 2.2]
|
|
2024
|
-
],
|
|
2094
|
+
], s = [];
|
|
2025
2095
|
n.forEach((l) => {
|
|
2026
|
-
const u = new
|
|
2027
|
-
u.translate(l[0], l[1], l[2]),
|
|
2096
|
+
const u = new P(0.2, 0.2, 3.5, 16);
|
|
2097
|
+
u.translate(l[0], l[1], l[2]), s.push(u);
|
|
2028
2098
|
});
|
|
2029
|
-
const
|
|
2030
|
-
|
|
2099
|
+
const r = new Z(3.5, 2, 4);
|
|
2100
|
+
r.rotateY(Math.PI / 4), r.translate(0, 5, 0);
|
|
2031
2101
|
const a = new j();
|
|
2032
2102
|
a.moveTo(-1, 0), a.lineTo(-1, 2), a.absarc(0, 2, 1, Math.PI, 0, !0), a.lineTo(1, 0);
|
|
2033
2103
|
const i = {
|
|
@@ -2035,11 +2105,11 @@ class Ge extends A {
|
|
|
2035
2105
|
bevelEnabled: !1
|
|
2036
2106
|
}, c = new Q(a, i);
|
|
2037
2107
|
c.translate(0, 0.5, 1.7), c.setIndex([...Array(c.attributes.position.count).keys()]), this.copy(
|
|
2038
|
-
|
|
2108
|
+
S(
|
|
2039
2109
|
[
|
|
2040
2110
|
t,
|
|
2041
|
-
|
|
2042
|
-
|
|
2111
|
+
S([o, ...s], !1),
|
|
2112
|
+
r,
|
|
2043
2113
|
c
|
|
2044
2114
|
],
|
|
2045
2115
|
!0
|
|
@@ -2047,75 +2117,75 @@ class Ge extends A {
|
|
|
2047
2117
|
), this.computeVertexNormals();
|
|
2048
2118
|
}
|
|
2049
2119
|
}
|
|
2050
|
-
class
|
|
2120
|
+
class Ne extends E {
|
|
2051
2121
|
constructor(t = 1.75, o = 0.75) {
|
|
2052
2122
|
super();
|
|
2053
|
-
const n = t * 0.05,
|
|
2123
|
+
const n = t * 0.05, s = t * 0.15, r = t * 0.15, a = t * 0.75;
|
|
2054
2124
|
let i = 0;
|
|
2055
2125
|
const c = new b(o, n, o);
|
|
2056
2126
|
c.translate(0, i + n / 2, 0), i += n;
|
|
2057
|
-
const l = new b(o * 0.8,
|
|
2058
|
-
l.translate(0, i +
|
|
2059
|
-
const u = new b(o * 0.6,
|
|
2060
|
-
u.translate(0, i +
|
|
2127
|
+
const l = new b(o * 0.8, s, o * 0.8);
|
|
2128
|
+
l.translate(0, i + s / 2, 0), i += s;
|
|
2129
|
+
const u = new b(o * 0.6, r, o * 0.6);
|
|
2130
|
+
u.translate(0, i + r / 2, 0), i += r;
|
|
2061
2131
|
const m = new b(o * 0.4, a, o * 0.4);
|
|
2062
2132
|
m.translate(0, i + a / 2, 0), i += a;
|
|
2063
2133
|
const h = new Z(o * 0.4 / Math.sqrt(2), 0.1, 4, 1, !1, Math.PI / 4);
|
|
2064
|
-
h.translate(0, i + 0.1 / 2, 0), this.copy(
|
|
2134
|
+
h.translate(0, i + 0.1 / 2, 0), this.copy(S([c, l, u, m, h], !1)), this.computeVertexNormals();
|
|
2065
2135
|
}
|
|
2066
2136
|
}
|
|
2067
|
-
class
|
|
2068
|
-
constructor(t = 0.6, o = 1, n = 0.2,
|
|
2137
|
+
class _e extends E {
|
|
2138
|
+
constructor(t = 0.6, o = 1, n = 0.2, s = 0.6) {
|
|
2069
2139
|
super();
|
|
2070
|
-
const
|
|
2071
|
-
a.translate(0,
|
|
2072
|
-
const i = new
|
|
2073
|
-
i.rotateY(Math.PI / 2), i.rotateX(Math.PI / 2), i.translate(0,
|
|
2140
|
+
const r = o - s / 2, a = new b(t, r, n);
|
|
2141
|
+
a.translate(0, r / 2, 0);
|
|
2142
|
+
const i = new P(s / 2, s / 2, n, 16, 1, !1, 0, Math.PI);
|
|
2143
|
+
i.rotateY(Math.PI / 2), i.rotateX(Math.PI / 2), i.translate(0, r, 0), this.copy(S([a, i], !1)), this.computeVertexNormals();
|
|
2074
2144
|
}
|
|
2075
2145
|
}
|
|
2076
|
-
class
|
|
2146
|
+
class Ue extends E {
|
|
2077
2147
|
constructor(t = 0.5, o = 0.8, n = 0.15) {
|
|
2078
2148
|
super();
|
|
2079
|
-
const
|
|
2080
|
-
|
|
2149
|
+
const s = new b(t, o, n);
|
|
2150
|
+
s.translate(0, o / 2, 0), this.copy(s);
|
|
2081
2151
|
}
|
|
2082
2152
|
}
|
|
2083
|
-
class
|
|
2153
|
+
class Oe extends E {
|
|
2084
2154
|
constructor({ height: t = 2.25 } = {}) {
|
|
2085
2155
|
super();
|
|
2086
2156
|
const o = new b(1.2, 0.5, 1.2);
|
|
2087
2157
|
o.translate(0, 0.25, 0);
|
|
2088
2158
|
const n = new b(1, t, 1);
|
|
2089
2159
|
n.translate(0, 0.5 + t / 2, 0);
|
|
2090
|
-
const
|
|
2091
|
-
|
|
2160
|
+
const s = new b(1.4, 0.3, 1.4);
|
|
2161
|
+
s.translate(0, 0.5 + t + 0.15, 0), this.copy(S([o, n, s], !1));
|
|
2092
2162
|
}
|
|
2093
2163
|
}
|
|
2094
|
-
class gt extends
|
|
2164
|
+
class gt extends E {
|
|
2095
2165
|
constructor({
|
|
2096
2166
|
barHeight: t = 2,
|
|
2097
2167
|
//
|
|
2098
2168
|
barRadius: o = 0.05,
|
|
2099
2169
|
spikeHeight: n = 0.3,
|
|
2100
|
-
spikeRadius:
|
|
2101
|
-
spikeScaleZ:
|
|
2170
|
+
spikeRadius: s = 0.075,
|
|
2171
|
+
spikeScaleZ: r = 1,
|
|
2102
2172
|
radialSegments: a = 8
|
|
2103
2173
|
} = {}) {
|
|
2104
2174
|
super();
|
|
2105
|
-
const i = new
|
|
2175
|
+
const i = new P(o, o, t, a);
|
|
2106
2176
|
i.translate(0, t / 2, 0);
|
|
2107
|
-
const c = new Z(
|
|
2108
|
-
c.translate(0, t + n / 2, 0), c.scale(1, 1,
|
|
2177
|
+
const c = new Z(s, n, a);
|
|
2178
|
+
c.translate(0, t + n / 2, 0), c.scale(1, 1, r), this.copy(S([i, c], !1));
|
|
2109
2179
|
}
|
|
2110
2180
|
}
|
|
2111
|
-
class
|
|
2181
|
+
class ze extends E {
|
|
2112
2182
|
constructor({
|
|
2113
2183
|
count: t = 20,
|
|
2114
2184
|
//
|
|
2115
2185
|
spacing: o = 0.4,
|
|
2116
2186
|
barHeight: n = 2,
|
|
2117
|
-
barRadius:
|
|
2118
|
-
spikeHeight:
|
|
2187
|
+
barRadius: s = 0.05,
|
|
2188
|
+
spikeHeight: r = 0.3,
|
|
2119
2189
|
spikeRadius: a = 0.075,
|
|
2120
2190
|
spikeScaleZ: i = 1,
|
|
2121
2191
|
railHeight: c = 0.1,
|
|
@@ -2124,66 +2194,66 @@ class _e extends A {
|
|
|
2124
2194
|
radialSegments: m = 8
|
|
2125
2195
|
} = {}) {
|
|
2126
2196
|
super();
|
|
2127
|
-
const h = [], f = new gt({ barHeight: n, barRadius:
|
|
2128
|
-
for (let
|
|
2129
|
-
const
|
|
2130
|
-
|
|
2197
|
+
const h = [], f = new gt({ barHeight: n, barRadius: s, spikeHeight: r, spikeRadius: a, spikeScaleZ: i, radialSegments: m }), p = new b(t * o, c, l);
|
|
2198
|
+
for (let g = 0; g < t; g++) {
|
|
2199
|
+
const v = f.clone();
|
|
2200
|
+
v.translate(g * o, 0, 0), h.push(v);
|
|
2131
2201
|
}
|
|
2132
2202
|
const d = p.clone();
|
|
2133
2203
|
d.translate(o * (t - 1) / 2, n - u - c / 2, 0), h.push(d);
|
|
2134
|
-
const
|
|
2135
|
-
|
|
2204
|
+
const M = p.clone();
|
|
2205
|
+
M.translate(o * (t - 1) / 2, c / 2, 0), h.push(M), this.copy(S(h));
|
|
2136
2206
|
}
|
|
2137
2207
|
}
|
|
2138
|
-
class
|
|
2208
|
+
class Fe extends E {
|
|
2139
2209
|
constructor({
|
|
2140
2210
|
width: t = 5,
|
|
2141
2211
|
//
|
|
2142
2212
|
height: o = 8,
|
|
2143
2213
|
depth: n = 1,
|
|
2144
|
-
shelves:
|
|
2145
|
-
frameThickness:
|
|
2214
|
+
shelves: s = 4,
|
|
2215
|
+
frameThickness: r = 0.1,
|
|
2146
2216
|
open: a = !1
|
|
2147
2217
|
} = {}) {
|
|
2148
2218
|
super();
|
|
2149
|
-
const i = o, c = t, l = n, u = new b(
|
|
2150
|
-
h.translate(-c / 2 +
|
|
2219
|
+
const i = o, c = t, l = n, u = new b(r, i, l), m = new b(c - 2 * r, r, l), h = u.clone();
|
|
2220
|
+
h.translate(-c / 2 + r / 2, i / 2, 0);
|
|
2151
2221
|
const f = u.clone();
|
|
2152
|
-
f.translate(c / 2 -
|
|
2222
|
+
f.translate(c / 2 - r / 2, i / 2, 0);
|
|
2153
2223
|
const p = m.clone();
|
|
2154
|
-
p.translate(0, i -
|
|
2224
|
+
p.translate(0, i - r / 2, 0);
|
|
2155
2225
|
const d = m.clone();
|
|
2156
|
-
d.translate(0,
|
|
2157
|
-
const
|
|
2158
|
-
|
|
2159
|
-
const
|
|
2160
|
-
for (let R = 1; R <=
|
|
2161
|
-
const
|
|
2162
|
-
|
|
2226
|
+
d.translate(0, r / 2, 0);
|
|
2227
|
+
const M = new b(c, i, r);
|
|
2228
|
+
M.translate(0, i / 2, -l / 2 + r / 2);
|
|
2229
|
+
const g = [], v = (i - r) / (s + 1);
|
|
2230
|
+
for (let R = 1; R <= s; R++) {
|
|
2231
|
+
const T = m.clone();
|
|
2232
|
+
T.translate(0, r / 2 + R * v, 0), g.push(T);
|
|
2163
2233
|
}
|
|
2164
|
-
this.copy(
|
|
2234
|
+
this.copy(S([
|
|
2165
2235
|
h,
|
|
2166
2236
|
//
|
|
2167
2237
|
f,
|
|
2168
2238
|
p,
|
|
2169
2239
|
d,
|
|
2170
|
-
...a ? [] : [
|
|
2171
|
-
...
|
|
2240
|
+
...a ? [] : [M],
|
|
2241
|
+
...g
|
|
2172
2242
|
], !1));
|
|
2173
2243
|
}
|
|
2174
2244
|
}
|
|
2175
|
-
class
|
|
2245
|
+
class Le extends E {
|
|
2176
2246
|
constructor() {
|
|
2177
2247
|
super();
|
|
2178
2248
|
const t = new b(5, 0.3, 3);
|
|
2179
2249
|
t.translate(0, 3.15, 0);
|
|
2180
2250
|
const o = [
|
|
2181
|
-
new
|
|
2251
|
+
new I(0.2, 0),
|
|
2182
2252
|
//
|
|
2183
|
-
new
|
|
2184
|
-
new
|
|
2185
|
-
new
|
|
2186
|
-
], n = new
|
|
2253
|
+
new I(0.25, 0.5),
|
|
2254
|
+
new I(0.15, 1.5),
|
|
2255
|
+
new I(0.3, 3)
|
|
2256
|
+
], n = new k(o, 32), r = S(
|
|
2187
2257
|
[
|
|
2188
2258
|
[2.1, 0, 1.1],
|
|
2189
2259
|
[-2.1, 0, 1.1],
|
|
@@ -2194,176 +2264,269 @@ class Oe extends A {
|
|
|
2194
2264
|
return i.translate(a[0], a[1], a[2]), i;
|
|
2195
2265
|
})
|
|
2196
2266
|
);
|
|
2197
|
-
this.copy(
|
|
2267
|
+
this.copy(S([t, r], !0));
|
|
2268
|
+
}
|
|
2269
|
+
}
|
|
2270
|
+
class It extends Se {
|
|
2271
|
+
constructor({ height: t = 0.25, radius: o = 0.05, segmentsU: n = 16, segmentsV: s = 16 } = {}) {
|
|
2272
|
+
super(
|
|
2273
|
+
(r, a, i) => {
|
|
2274
|
+
const c = r * Math.PI * 2, l = Math.sin(a * Math.PI), u = o * l * Math.cos(c), m = a * t, h = o * l * Math.sin(c);
|
|
2275
|
+
i.set(u, m, -h);
|
|
2276
|
+
},
|
|
2277
|
+
n,
|
|
2278
|
+
s
|
|
2279
|
+
);
|
|
2198
2280
|
}
|
|
2199
2281
|
}
|
|
2200
|
-
|
|
2201
|
-
|
|
2202
|
-
|
|
2203
|
-
|
|
2204
|
-
|
|
2205
|
-
|
|
2282
|
+
class De extends E {
|
|
2283
|
+
constructor({
|
|
2284
|
+
radiusTop: t = 0.2,
|
|
2285
|
+
//
|
|
2286
|
+
radiusBottom: o = 0.2,
|
|
2287
|
+
height: n = 1,
|
|
2288
|
+
flameHeight: s = 0.25,
|
|
2289
|
+
flameRadius: r = 0.05,
|
|
2290
|
+
segments: a = 16
|
|
2291
|
+
} = {}) {
|
|
2292
|
+
super();
|
|
2293
|
+
const i = new P(t, o, n, a);
|
|
2294
|
+
i.translate(0, n / 2, 0);
|
|
2295
|
+
const c = new It({
|
|
2296
|
+
segmentsU: a,
|
|
2297
|
+
segmentsV: a,
|
|
2298
|
+
height: s,
|
|
2299
|
+
radius: r
|
|
2300
|
+
});
|
|
2301
|
+
c.translate(0, n, 0), this.copy(S([i, c], !0));
|
|
2206
2302
|
}
|
|
2207
|
-
return r.needsUpdate = !0, e.computeVertexNormals(), e;
|
|
2208
2303
|
}
|
|
2209
|
-
class
|
|
2304
|
+
class ke extends E {
|
|
2305
|
+
constructor() {
|
|
2306
|
+
super();
|
|
2307
|
+
const t = [], o = [];
|
|
2308
|
+
for (let n = 0; n < 5; n++) {
|
|
2309
|
+
const s = 0.8 + Math.random() * 0.4, r = 0.8 + Math.random() * 0.4, a = 0.8 + Math.random() * 0.4, i = Math.random() * Math.PI, c = Math.random() * Math.PI, l = Math.random() * Math.PI, u = (Math.random() - 0.5) * 4, m = 0, h = (Math.random() - 0.5) * 4, f = new J(1, 0);
|
|
2310
|
+
f.scale(s, r, a), f.rotateX(i), f.rotateY(c), f.rotateZ(l), f.translate(u, m, h), t.push(f);
|
|
2311
|
+
const p = new J(1, 0);
|
|
2312
|
+
p.scale(s * 0.9, r * 0.5, a * 0.9), p.rotateX(i), p.rotateY(c), p.rotateZ(l), p.translate(u, m + 0.3, h), o.push(p);
|
|
2313
|
+
}
|
|
2314
|
+
this.copy(
|
|
2315
|
+
S([
|
|
2316
|
+
S(t),
|
|
2317
|
+
S(o)
|
|
2318
|
+
], !0)
|
|
2319
|
+
);
|
|
2320
|
+
}
|
|
2321
|
+
}
|
|
2322
|
+
function Ve(e, t = ht.XYZ, o = 0.5, n = 2) {
|
|
2323
|
+
e.deleteAttribute("uv"), e.deleteAttribute("normal"), e = be(e), e.computeVertexNormals();
|
|
2324
|
+
const s = e.getAttribute("position");
|
|
2325
|
+
for (let r = 0; r < s.count; r++) {
|
|
2326
|
+
const a = new x().fromBufferAttribute(s, r), i = Math.random() * (n - o) + o, c = t.clone().multiplyScalar(i);
|
|
2327
|
+
a.add(c), s.setXYZ(r, a.x, a.y, a.z);
|
|
2328
|
+
}
|
|
2329
|
+
return s.needsUpdate = !0, e.computeVertexNormals(), e;
|
|
2330
|
+
}
|
|
2331
|
+
class qe extends E {
|
|
2210
2332
|
constructor(t = 1, o = 4, n = 4) {
|
|
2211
2333
|
super();
|
|
2212
|
-
const
|
|
2213
|
-
this.copy(
|
|
2334
|
+
const s = new U(t, o, n);
|
|
2335
|
+
this.copy(Ve(s, ht.XYZ, 0.5, 1)), this.computeVertexNormals(), this.center();
|
|
2336
|
+
}
|
|
2337
|
+
}
|
|
2338
|
+
class Ye extends E {
|
|
2339
|
+
constructor() {
|
|
2340
|
+
super();
|
|
2341
|
+
const t = [];
|
|
2342
|
+
for (let o = 0; o < 5; o++) {
|
|
2343
|
+
const n = new J(1, 0);
|
|
2344
|
+
n.scale(0.8 + Math.random() * 0.4, 0.8 + Math.random() * 0.4, 0.8 + Math.random() * 0.4), n.rotateX(Math.random() * Math.PI), n.rotateY(Math.random() * Math.PI), n.rotateZ(Math.random() * Math.PI), n.translate((Math.random() - 0.5) * 4, 0, (Math.random() - 0.5) * 4), t.push(n);
|
|
2345
|
+
}
|
|
2346
|
+
this.copy(S(t));
|
|
2214
2347
|
}
|
|
2215
2348
|
}
|
|
2216
|
-
class
|
|
2217
|
-
constructor(t = 0.1, o = 0.1, n = 0.4,
|
|
2349
|
+
class He extends E {
|
|
2350
|
+
constructor(t = 0.1, o = 0.1, n = 0.4, s = 8) {
|
|
2218
2351
|
super();
|
|
2219
|
-
const
|
|
2220
|
-
|
|
2221
|
-
const a = new
|
|
2222
|
-
i.translate(0, n / 2 + t * 0.6, -t * 0.6), c.translate(0, n / 2 + t * 0.6, t * 0.6), l.translate(0, -n / 2 - o * 0.6, -o * 0.6), u.translate(0, -n / 2 - o * 0.6, o * 0.6), this.copy(
|
|
2352
|
+
const r = new P(t * 0.6, o * 0.6, n, s);
|
|
2353
|
+
r.translate(0, 0, 0);
|
|
2354
|
+
const a = new U(t, s, s), i = a.clone(), c = a.clone(), l = a.clone(), u = a.clone();
|
|
2355
|
+
i.translate(0, n / 2 + t * 0.6, -t * 0.6), c.translate(0, n / 2 + t * 0.6, t * 0.6), l.translate(0, -n / 2 - o * 0.6, -o * 0.6), u.translate(0, -n / 2 - o * 0.6, o * 0.6), this.copy(S([r, i, c, l, u], !1));
|
|
2223
2356
|
}
|
|
2224
2357
|
}
|
|
2225
|
-
class
|
|
2358
|
+
class Xe extends E {
|
|
2226
2359
|
constructor({
|
|
2227
2360
|
flaskRadius: t = 1,
|
|
2228
2361
|
//
|
|
2229
2362
|
neckRadius: o = 0.3,
|
|
2230
2363
|
height: n = 2.5,
|
|
2231
|
-
neckHeight:
|
|
2232
|
-
radialSegments:
|
|
2364
|
+
neckHeight: s = 1,
|
|
2365
|
+
radialSegments: r = 16
|
|
2233
2366
|
} = {}) {
|
|
2234
2367
|
super();
|
|
2235
2368
|
const a = [
|
|
2236
|
-
new
|
|
2369
|
+
new I(0, 0),
|
|
2237
2370
|
// Bottom of the flask
|
|
2238
|
-
new
|
|
2371
|
+
new I(t * 0.875, 0),
|
|
2239
2372
|
// Flat base with minimum width
|
|
2240
|
-
new
|
|
2373
|
+
new I(t, 0.1),
|
|
2241
2374
|
// End of the rounded base
|
|
2242
|
-
new
|
|
2375
|
+
new I(o, n),
|
|
2243
2376
|
// Start of the straight neck
|
|
2244
|
-
new
|
|
2377
|
+
new I(o, n + s),
|
|
2245
2378
|
// End of the straight neck
|
|
2246
|
-
new
|
|
2379
|
+
new I(o * 1.1, n + s + 0.3)
|
|
2247
2380
|
// Slight outward lip at the top
|
|
2248
|
-
], i = new
|
|
2249
|
-
this.copy(
|
|
2381
|
+
], i = new k(a, r);
|
|
2382
|
+
this.copy(S([i], !1));
|
|
2250
2383
|
}
|
|
2251
2384
|
}
|
|
2252
|
-
|
|
2385
|
+
const tn = (e, t) => e / (1 - Math.cos(t)), At = (e, t) => e / (2 * Math.sin(t)), Ze = (e, t) => e * (1 - Math.cos(t)), en = (e, t) => 2 * e * Math.sin(t), dt = (e, t) => {
|
|
2386
|
+
const o = 2 * t;
|
|
2387
|
+
return Math.asin(o / (2 * e));
|
|
2388
|
+
}, on = (e, t, o) => ({
|
|
2389
|
+
x: e * Math.sin(o) * Math.cos(t),
|
|
2390
|
+
y: e * Math.sin(o) * Math.sin(t),
|
|
2391
|
+
z: e * Math.cos(o)
|
|
2392
|
+
}), nn = (e, t, o) => {
|
|
2393
|
+
const n = Math.sqrt(e * e + t * t + o * o), s = Math.atan2(t, e), r = Math.acos(o / n);
|
|
2394
|
+
return { radius: n, theta: s, phi: r };
|
|
2395
|
+
};
|
|
2396
|
+
function je(e, t, o, n = 0, s = 0, r = 32) {
|
|
2397
|
+
const a = n ? dt(e, n) : 0, i = s ? Math.PI - dt(e, s) : Math.PI, c = [];
|
|
2398
|
+
for (let l = 0; l <= r; l++) {
|
|
2399
|
+
const u = i - (i - a) / r * l, m = e * Math.sin(u), h = t * Math.cos(u) + o;
|
|
2400
|
+
c.push(new I(m, h));
|
|
2401
|
+
}
|
|
2402
|
+
return [...c];
|
|
2403
|
+
}
|
|
2404
|
+
class Qe extends E {
|
|
2253
2405
|
constructor() {
|
|
2254
2406
|
super();
|
|
2255
|
-
const t =
|
|
2256
|
-
|
|
2407
|
+
const t = [
|
|
2408
|
+
...je(1, 1, 0.5, 0.2, 0, 32),
|
|
2409
|
+
new I(0.2, 3)
|
|
2410
|
+
], o = new k(t, 32);
|
|
2411
|
+
this.copy(o);
|
|
2257
2412
|
}
|
|
2258
2413
|
}
|
|
2259
|
-
class
|
|
2414
|
+
class Ke extends E {
|
|
2260
2415
|
constructor() {
|
|
2261
2416
|
super();
|
|
2262
2417
|
const t = [
|
|
2263
|
-
new
|
|
2418
|
+
new I(1, 0),
|
|
2264
2419
|
// Bottom of the bowl
|
|
2265
|
-
new
|
|
2420
|
+
new I(1.2, 0.5),
|
|
2266
2421
|
// Slight flare at the base
|
|
2267
|
-
new
|
|
2422
|
+
new I(1.4, 1.5),
|
|
2268
2423
|
// Outer wall
|
|
2269
|
-
new
|
|
2424
|
+
new I(1.3, 1.8),
|
|
2270
2425
|
// Flared edge
|
|
2271
|
-
new
|
|
2426
|
+
new I(0.8, 1.8)
|
|
2272
2427
|
// Lip of the bowl
|
|
2273
|
-
], o = new
|
|
2274
|
-
n.rotateX(-Math.PI / 2), n.translate(0, 0, 0), this.copy(
|
|
2428
|
+
], o = new k(t, 12), n = new Gt(1, 12);
|
|
2429
|
+
n.rotateX(-Math.PI / 2), n.translate(0, 0, 0), this.copy(S([o, n], !1));
|
|
2275
2430
|
}
|
|
2276
2431
|
}
|
|
2277
|
-
class
|
|
2432
|
+
class Je extends E {
|
|
2278
2433
|
constructor({
|
|
2279
2434
|
radius: t = 0.3,
|
|
2280
2435
|
//
|
|
2281
2436
|
height: o = 0.4,
|
|
2282
2437
|
count: n = 3,
|
|
2283
|
-
thickness:
|
|
2284
|
-
radialSegments:
|
|
2438
|
+
thickness: s = 0.03,
|
|
2439
|
+
radialSegments: r = 16
|
|
2285
2440
|
} = {}) {
|
|
2286
2441
|
super();
|
|
2287
|
-
const a = new
|
|
2442
|
+
const a = new Mt(t, s, 8, r);
|
|
2288
2443
|
a.rotateX(Math.PI / 2), a.translate(0, o, 0);
|
|
2289
|
-
const i = new
|
|
2444
|
+
const i = new P(s * 0.6, s * 0.6, o, r), c = [];
|
|
2290
2445
|
for (let l = 0; l < n; l++) {
|
|
2291
2446
|
const u = l / n * Math.PI * 2, m = i.clone();
|
|
2292
2447
|
m.translate(Math.cos(u) * t, o / 2, Math.sin(u) * t), c.push(m);
|
|
2293
2448
|
}
|
|
2294
|
-
this.copy(
|
|
2449
|
+
this.copy(S([a, ...c], !1));
|
|
2450
|
+
}
|
|
2451
|
+
}
|
|
2452
|
+
class $e extends E {
|
|
2453
|
+
constructor() {
|
|
2454
|
+
super();
|
|
2455
|
+
const t = new P(0.5, 0.6, 0.3, 16);
|
|
2456
|
+
t.translate(0, 0.15, 0);
|
|
2457
|
+
const o = new P(0.15, 0.15, 2, 12, 1, !0);
|
|
2458
|
+
o.translate(0, 1.3, 0);
|
|
2459
|
+
const n = new U(0.3, 16, 16);
|
|
2460
|
+
n.translate(0, 2.4, 0), this.copy(
|
|
2461
|
+
S(
|
|
2462
|
+
[t, S([o, n])],
|
|
2463
|
+
!0
|
|
2464
|
+
)
|
|
2465
|
+
);
|
|
2295
2466
|
}
|
|
2296
2467
|
}
|
|
2297
|
-
class
|
|
2298
|
-
constructor(t = 0.2, o = 0.2, n = 3,
|
|
2468
|
+
class ct extends E {
|
|
2469
|
+
constructor(t = 0.2, o = 0.2, n = 3, s = 32, r = !0) {
|
|
2299
2470
|
super();
|
|
2300
|
-
const a = new
|
|
2301
|
-
i.translate(0, -(n / 2), 0), this.copy(
|
|
2471
|
+
const a = new P(t, o, n, s, 1, r), i = new U(o, s, s / 2, 0, Math.PI * 2, Math.PI / 2, Math.PI / 2);
|
|
2472
|
+
i.translate(0, -(n / 2), 0), this.copy(S([a, i], !1));
|
|
2302
2473
|
}
|
|
2303
2474
|
}
|
|
2304
|
-
class
|
|
2475
|
+
class We extends E {
|
|
2305
2476
|
constructor({
|
|
2306
2477
|
radius: t = 3,
|
|
2307
2478
|
//
|
|
2308
2479
|
height: o = 0.6,
|
|
2309
2480
|
widthSegments: n = 64,
|
|
2310
|
-
heightSegments:
|
|
2311
|
-
phiStart:
|
|
2481
|
+
heightSegments: s = 16,
|
|
2482
|
+
phiStart: r = 0,
|
|
2312
2483
|
phiLength: a = Math.PI * 2
|
|
2313
2484
|
} = {}) {
|
|
2314
|
-
super(), this.copy(new
|
|
2485
|
+
super(), this.copy(new U(t, n, s, r, a, 0, Math.PI / 2)), this.scale(1, o / t, 1);
|
|
2315
2486
|
}
|
|
2316
2487
|
}
|
|
2317
|
-
|
|
2318
|
-
x: e * Math.sin(o) * Math.cos(t),
|
|
2319
|
-
y: e * Math.sin(o) * Math.sin(t),
|
|
2320
|
-
z: e * Math.cos(o)
|
|
2321
|
-
}), jo = (e, t, o) => {
|
|
2322
|
-
const n = Math.sqrt(e * e + t * t + o * o), r = Math.atan2(t, e), s = Math.acos(o / n);
|
|
2323
|
-
return { radius: n, theta: r, phi: s };
|
|
2324
|
-
};
|
|
2325
|
-
class Xe extends A {
|
|
2488
|
+
class to extends E {
|
|
2326
2489
|
constructor({
|
|
2327
|
-
radius: t =
|
|
2490
|
+
radius: t = At(5, Math.PI / 10),
|
|
2328
2491
|
//
|
|
2329
2492
|
widthSegments: o = 64,
|
|
2330
2493
|
heightSegments: n = 32,
|
|
2331
|
-
phiStart:
|
|
2332
|
-
phiLength:
|
|
2494
|
+
phiStart: s = 0,
|
|
2495
|
+
phiLength: r = Math.PI * 2,
|
|
2333
2496
|
thetaLength: a = Math.PI / 10
|
|
2334
2497
|
} = {}) {
|
|
2335
|
-
super(), this.copy(new
|
|
2336
|
-
const i =
|
|
2498
|
+
super(), this.copy(new U(t, o, n, s, r, 0, a));
|
|
2499
|
+
const i = Ze(t, a);
|
|
2337
2500
|
this.translate(0, -t + i, 0);
|
|
2338
2501
|
}
|
|
2339
2502
|
}
|
|
2340
|
-
class
|
|
2503
|
+
class eo extends E {
|
|
2341
2504
|
constructor({
|
|
2342
2505
|
trunkRadiusTop: t = 0.25,
|
|
2343
2506
|
trunkRadiusBottom: o = 0.4,
|
|
2344
2507
|
trunkHeight: n = 2.5,
|
|
2345
|
-
trunkSegments:
|
|
2346
|
-
leafSize:
|
|
2508
|
+
trunkSegments: s = 14,
|
|
2509
|
+
leafSize: r = 0.8,
|
|
2347
2510
|
leafCount: a = 6,
|
|
2348
2511
|
leafDetail: i = 0,
|
|
2349
2512
|
leafSpreadRadius: c = 1.5
|
|
2350
2513
|
} = {}) {
|
|
2351
2514
|
super();
|
|
2352
|
-
const l = new
|
|
2515
|
+
const l = new P(t, o, n, s);
|
|
2353
2516
|
l.translate(0, n / 2, 0);
|
|
2354
2517
|
const u = [];
|
|
2355
2518
|
for (let m = 0; m < a; m++) {
|
|
2356
|
-
const h = new
|
|
2519
|
+
const h = new J(r, i);
|
|
2357
2520
|
h.translate(
|
|
2358
2521
|
(Math.random() - 0.5) * c,
|
|
2359
|
-
(Math.random() - 0.5) *
|
|
2522
|
+
(Math.random() - 0.5) * r + n,
|
|
2360
2523
|
(Math.random() - 0.5) * c
|
|
2361
2524
|
), u.push(h);
|
|
2362
2525
|
}
|
|
2363
|
-
this.copy(
|
|
2526
|
+
this.copy(S([l.toNonIndexed(), S(u, !1)], !0)), this.computeVertexNormals();
|
|
2364
2527
|
}
|
|
2365
2528
|
}
|
|
2366
|
-
const
|
|
2529
|
+
const oo = {
|
|
2367
2530
|
uniforms: {
|
|
2368
2531
|
time: { value: 0 }
|
|
2369
2532
|
},
|
|
@@ -2407,26 +2570,26 @@ const je = {
|
|
|
2407
2570
|
}
|
|
2408
2571
|
`
|
|
2409
2572
|
};
|
|
2410
|
-
class
|
|
2573
|
+
class sn extends w {
|
|
2411
2574
|
constructor() {
|
|
2412
2575
|
super(
|
|
2413
|
-
new
|
|
2414
|
-
new
|
|
2576
|
+
new U(5, 32, 32),
|
|
2577
|
+
new W(oo)
|
|
2415
2578
|
);
|
|
2416
2579
|
}
|
|
2417
2580
|
}
|
|
2418
|
-
class
|
|
2581
|
+
class rn extends w {
|
|
2419
2582
|
constructor({
|
|
2420
2583
|
width: t = 1,
|
|
2421
2584
|
height: o = 1.5,
|
|
2422
2585
|
depth: n = 0.5,
|
|
2423
|
-
coverThickness:
|
|
2424
|
-
pageIndent:
|
|
2425
|
-
coverColor: a =
|
|
2426
|
-
pageColor: i =
|
|
2586
|
+
coverThickness: s = 0.05,
|
|
2587
|
+
pageIndent: r = 0.05,
|
|
2588
|
+
coverColor: a = it.DARK_RED,
|
|
2589
|
+
pageColor: i = it.TITANIUM_WHITE
|
|
2427
2590
|
} = {}) {
|
|
2428
2591
|
super(
|
|
2429
|
-
new yt(t, o, n,
|
|
2592
|
+
new yt(t, o, n, s, r),
|
|
2430
2593
|
[
|
|
2431
2594
|
new y({ color: a, metalness: 0.1, roughness: 0.7, flatShading: !0 }),
|
|
2432
2595
|
new y({ color: i, flatShading: !0 })
|
|
@@ -2434,9 +2597,27 @@ class Ko extends M {
|
|
|
2434
2597
|
);
|
|
2435
2598
|
}
|
|
2436
2599
|
}
|
|
2437
|
-
class
|
|
2600
|
+
class an extends w {
|
|
2601
|
+
constructor() {
|
|
2602
|
+
super(new Pe(), [
|
|
2603
|
+
new y({
|
|
2604
|
+
color: 8965290,
|
|
2605
|
+
transparent: !0,
|
|
2606
|
+
depthWrite: !1,
|
|
2607
|
+
opacity: 0.4,
|
|
2608
|
+
roughness: 0.1,
|
|
2609
|
+
metalness: 0.5
|
|
2610
|
+
}),
|
|
2611
|
+
new y({
|
|
2612
|
+
color: 9127187,
|
|
2613
|
+
roughness: 1
|
|
2614
|
+
})
|
|
2615
|
+
]);
|
|
2616
|
+
}
|
|
2617
|
+
}
|
|
2618
|
+
class cn extends w {
|
|
2438
2619
|
constructor() {
|
|
2439
|
-
super(new
|
|
2620
|
+
super(new Ge(), [
|
|
2440
2621
|
new y({
|
|
2441
2622
|
color: 8965375,
|
|
2442
2623
|
transparent: !0,
|
|
@@ -2450,7 +2631,7 @@ class $o extends M {
|
|
|
2450
2631
|
roughness: 1
|
|
2451
2632
|
}),
|
|
2452
2633
|
new y({
|
|
2453
|
-
color:
|
|
2634
|
+
color: it.PINK_SHERBET,
|
|
2454
2635
|
transparent: !0,
|
|
2455
2636
|
depthWrite: !1,
|
|
2456
2637
|
opacity: 0.5
|
|
@@ -2458,15 +2639,14 @@ class $o extends M {
|
|
|
2458
2639
|
]);
|
|
2459
2640
|
}
|
|
2460
2641
|
}
|
|
2461
|
-
class
|
|
2642
|
+
class ln extends w {
|
|
2462
2643
|
constructor() {
|
|
2463
2644
|
super(
|
|
2464
|
-
new
|
|
2465
|
-
new
|
|
2645
|
+
new Ce(),
|
|
2646
|
+
new tt({
|
|
2466
2647
|
color: 5597999,
|
|
2467
2648
|
roughness: 0.1,
|
|
2468
2649
|
transmission: 0.9,
|
|
2469
|
-
// Makes the material transparent
|
|
2470
2650
|
thickness: 0.2,
|
|
2471
2651
|
metalness: 0,
|
|
2472
2652
|
clearcoat: 1,
|
|
@@ -2475,22 +2655,22 @@ class Jo extends M {
|
|
|
2475
2655
|
);
|
|
2476
2656
|
}
|
|
2477
2657
|
}
|
|
2478
|
-
class
|
|
2658
|
+
class un extends w {
|
|
2479
2659
|
constructor({
|
|
2480
2660
|
width: t = 0.4,
|
|
2481
2661
|
height: o = 1.2,
|
|
2482
2662
|
depth: n = 0.2
|
|
2483
2663
|
} = {}) {
|
|
2484
2664
|
super(
|
|
2485
|
-
new
|
|
2665
|
+
new Be(t, o, n),
|
|
2486
2666
|
new y({ color: 7829367, roughness: 0.8 })
|
|
2487
2667
|
);
|
|
2488
2668
|
}
|
|
2489
2669
|
}
|
|
2490
|
-
class
|
|
2670
|
+
class mn extends w {
|
|
2491
2671
|
constructor() {
|
|
2492
2672
|
super(
|
|
2493
|
-
new
|
|
2673
|
+
new Re(),
|
|
2494
2674
|
[
|
|
2495
2675
|
new y({ color: 8421504, flatShading: !0 }),
|
|
2496
2676
|
// Base
|
|
@@ -2504,46 +2684,46 @@ class tn extends M {
|
|
|
2504
2684
|
);
|
|
2505
2685
|
}
|
|
2506
2686
|
}
|
|
2507
|
-
class
|
|
2687
|
+
class hn extends w {
|
|
2508
2688
|
constructor({ totalHeight: t = 1.75, baseWidth: o = 0.75 } = {}) {
|
|
2509
2689
|
super(
|
|
2510
|
-
new
|
|
2690
|
+
new Ne(t, o),
|
|
2511
2691
|
new y({ color: 7829367, roughness: 0.8 })
|
|
2512
2692
|
);
|
|
2513
2693
|
}
|
|
2514
2694
|
}
|
|
2515
|
-
class
|
|
2516
|
-
constructor(t = 0.6, o = 1, n = 0.2,
|
|
2695
|
+
class fn extends w {
|
|
2696
|
+
constructor(t = 0.6, o = 1, n = 0.2, s = 0.6) {
|
|
2517
2697
|
super(
|
|
2518
|
-
new
|
|
2698
|
+
new _e(t, o, n, s),
|
|
2519
2699
|
new y({ color: 7829367, roughness: 0.8 })
|
|
2520
2700
|
);
|
|
2521
2701
|
}
|
|
2522
2702
|
}
|
|
2523
|
-
class
|
|
2703
|
+
class pn extends w {
|
|
2524
2704
|
constructor(t = 0.5, o = 0.8, n = 0.15) {
|
|
2525
2705
|
super(
|
|
2526
|
-
new
|
|
2706
|
+
new Ue(t, o, n),
|
|
2527
2707
|
new y({ color: 7829367, roughness: 0.8 })
|
|
2528
2708
|
);
|
|
2529
2709
|
}
|
|
2530
2710
|
}
|
|
2531
|
-
class
|
|
2711
|
+
class dn extends w {
|
|
2532
2712
|
constructor({ height: t = 2.25 } = {}) {
|
|
2533
2713
|
super(
|
|
2534
|
-
new
|
|
2714
|
+
new Oe({ height: t }),
|
|
2535
2715
|
new y({ color: 9141627, flatShading: !0 })
|
|
2536
2716
|
);
|
|
2537
2717
|
}
|
|
2538
2718
|
}
|
|
2539
|
-
class
|
|
2719
|
+
class Mn extends w {
|
|
2540
2720
|
constructor({
|
|
2541
2721
|
barHeight: t = 2,
|
|
2542
2722
|
//
|
|
2543
2723
|
barRadius: o = 0.05,
|
|
2544
2724
|
spikeHeight: n = 0.3,
|
|
2545
|
-
spikeRadius:
|
|
2546
|
-
spikeScaleZ:
|
|
2725
|
+
spikeRadius: s = 0.075,
|
|
2726
|
+
spikeScaleZ: r = 1,
|
|
2547
2727
|
radialSegments: a = 8
|
|
2548
2728
|
} = {}) {
|
|
2549
2729
|
super(
|
|
@@ -2551,22 +2731,22 @@ class rn extends M {
|
|
|
2551
2731
|
barHeight: t,
|
|
2552
2732
|
barRadius: o,
|
|
2553
2733
|
spikeHeight: n,
|
|
2554
|
-
spikeRadius:
|
|
2555
|
-
spikeScaleZ:
|
|
2734
|
+
spikeRadius: s,
|
|
2735
|
+
spikeScaleZ: r,
|
|
2556
2736
|
radialSegments: a
|
|
2557
2737
|
}),
|
|
2558
2738
|
new y({ color: 3355443, metalness: 0.8, roughness: 0.4 })
|
|
2559
2739
|
);
|
|
2560
2740
|
}
|
|
2561
2741
|
}
|
|
2562
|
-
class
|
|
2742
|
+
class yn extends w {
|
|
2563
2743
|
constructor({
|
|
2564
2744
|
count: t = 20,
|
|
2565
2745
|
//
|
|
2566
2746
|
spacing: o = 0.4,
|
|
2567
2747
|
barHeight: n = 2,
|
|
2568
|
-
barRadius:
|
|
2569
|
-
spikeHeight:
|
|
2748
|
+
barRadius: s = 0.05,
|
|
2749
|
+
spikeHeight: r = 0.3,
|
|
2570
2750
|
spikeRadius: a = 0.075,
|
|
2571
2751
|
spikeScaleZ: i = 1,
|
|
2572
2752
|
railHeight: c = 0.1,
|
|
@@ -2575,12 +2755,12 @@ class an extends M {
|
|
|
2575
2755
|
radialSegments: m = 8
|
|
2576
2756
|
} = {}) {
|
|
2577
2757
|
super(
|
|
2578
|
-
new
|
|
2758
|
+
new ze({
|
|
2579
2759
|
count: t,
|
|
2580
2760
|
spacing: o,
|
|
2581
2761
|
barHeight: n,
|
|
2582
|
-
barRadius:
|
|
2583
|
-
spikeHeight:
|
|
2762
|
+
barRadius: s,
|
|
2763
|
+
spikeHeight: r,
|
|
2584
2764
|
spikeRadius: a,
|
|
2585
2765
|
spikeScaleZ: i,
|
|
2586
2766
|
railHeight: c,
|
|
@@ -2592,25 +2772,25 @@ class an extends M {
|
|
|
2592
2772
|
);
|
|
2593
2773
|
}
|
|
2594
2774
|
}
|
|
2595
|
-
class
|
|
2775
|
+
class wn extends w {
|
|
2596
2776
|
constructor({
|
|
2597
2777
|
width: t = 5,
|
|
2598
2778
|
//
|
|
2599
2779
|
height: o = 8,
|
|
2600
2780
|
depth: n = 1,
|
|
2601
|
-
shelves:
|
|
2602
|
-
frameThickness:
|
|
2781
|
+
shelves: s = 4,
|
|
2782
|
+
frameThickness: r = 0.1,
|
|
2603
2783
|
open: a = !1
|
|
2604
2784
|
} = {}) {
|
|
2605
2785
|
super(
|
|
2606
|
-
new
|
|
2786
|
+
new Fe({ width: t, height: o, depth: n, shelves: s, frameThickness: r, open: a }),
|
|
2607
2787
|
new y({ color: 9127187 })
|
|
2608
2788
|
);
|
|
2609
2789
|
}
|
|
2610
2790
|
}
|
|
2611
|
-
class
|
|
2791
|
+
class xn extends w {
|
|
2612
2792
|
constructor() {
|
|
2613
|
-
super(new
|
|
2793
|
+
super(new Le(), [
|
|
2614
2794
|
new y({ color: 9132587 }),
|
|
2615
2795
|
// Desk surface
|
|
2616
2796
|
new y({ color: 4929057 })
|
|
@@ -2618,86 +2798,90 @@ class ln extends M {
|
|
|
2618
2798
|
]);
|
|
2619
2799
|
}
|
|
2620
2800
|
}
|
|
2621
|
-
class
|
|
2622
|
-
constructor(
|
|
2623
|
-
|
|
2624
|
-
|
|
2625
|
-
|
|
2626
|
-
|
|
2627
|
-
|
|
2628
|
-
|
|
2629
|
-
|
|
2630
|
-
|
|
2631
|
-
|
|
2632
|
-
|
|
2633
|
-
|
|
2634
|
-
|
|
2635
|
-
|
|
2636
|
-
|
|
2637
|
-
|
|
2638
|
-
|
|
2639
|
-
|
|
2801
|
+
class vn extends w {
|
|
2802
|
+
constructor({
|
|
2803
|
+
radiusTop: t = 0.2,
|
|
2804
|
+
//
|
|
2805
|
+
radiusBottom: o = 0.2,
|
|
2806
|
+
height: n = 1,
|
|
2807
|
+
flameHeight: s = 0.25,
|
|
2808
|
+
flameRadius: r = 0.05,
|
|
2809
|
+
segments: a = 16
|
|
2810
|
+
} = {}) {
|
|
2811
|
+
super(
|
|
2812
|
+
new De({
|
|
2813
|
+
radiusTop: t,
|
|
2814
|
+
radiusBottom: o,
|
|
2815
|
+
height: n,
|
|
2816
|
+
flameHeight: s,
|
|
2817
|
+
flameRadius: r,
|
|
2818
|
+
segments: a
|
|
2819
|
+
}),
|
|
2820
|
+
[
|
|
2821
|
+
new y({ color: 16777215 }),
|
|
2822
|
+
new y({ color: 16766720, emissive: 16753920, emissiveIntensity: 0.35 })
|
|
2823
|
+
]
|
|
2824
|
+
);
|
|
2640
2825
|
}
|
|
2641
2826
|
}
|
|
2642
|
-
class
|
|
2827
|
+
class gn extends w {
|
|
2828
|
+
constructor({ height: t = 0.25, radius: o = 0.05, segmentsU: n = 16, segmentsV: s = 16 } = {}) {
|
|
2829
|
+
super(
|
|
2830
|
+
new It({ segmentsU: n, segmentsV: s, height: t, radius: o }),
|
|
2831
|
+
new y({ color: 16766720, emissive: 16753920, emissiveIntensity: 0.35 })
|
|
2832
|
+
);
|
|
2833
|
+
}
|
|
2834
|
+
}
|
|
2835
|
+
class In extends L {
|
|
2643
2836
|
constructor(t = 1.3, o = 0.5) {
|
|
2644
2837
|
super();
|
|
2645
|
-
const n = new
|
|
2646
|
-
|
|
2647
|
-
const a = new
|
|
2838
|
+
const n = new P(o, o, 0.2, 16), s = new y({ color: 9127187, flatShading: !0 }), r = new w(n, s);
|
|
2839
|
+
r.position.set(0, 0, 0), this.add(r);
|
|
2840
|
+
const a = new P(o * 0.9, o * 0.9, t), i = new y({ color: 16766720, flatShading: !0, transparent: !0, opacity: 0.6 }), c = new w(a, i);
|
|
2648
2841
|
c.position.set(0, t / 2 + 0.1, 0), this.add(c);
|
|
2649
|
-
const l = new Z(o * 1.1, 0.5, 8), u = new y({ color: 9127187, flatShading: !0 }), m = new
|
|
2842
|
+
const l = new Z(o * 1.1, 0.5, 8), u = new y({ color: 9127187, flatShading: !0 }), m = new w(l, u);
|
|
2650
2843
|
m.position.set(0, t + 0.35, 0), this.add(m);
|
|
2651
|
-
const h = new
|
|
2844
|
+
const h = new Mt(o * 0.8, 0.05, 8, 16), f = new y({ color: 9127187, flatShading: !0 }), p = new w(h, f);
|
|
2652
2845
|
p.position.set(0, t + 0.85, 0), this.add(p);
|
|
2653
|
-
const d = new
|
|
2846
|
+
const d = new Ct(16755200, 1.5, 15);
|
|
2654
2847
|
d.position.set(0, t / 2 + 0.1, 0), d.castShadow = !0, this.add(d);
|
|
2655
2848
|
}
|
|
2656
2849
|
}
|
|
2657
|
-
class
|
|
2850
|
+
class An extends w {
|
|
2658
2851
|
constructor() {
|
|
2659
|
-
super()
|
|
2660
|
-
|
|
2661
|
-
|
|
2662
|
-
|
|
2663
|
-
s.scale.set(0.8 + Math.random() * 0.4, 0.8 + Math.random() * 0.4, 0.8 + Math.random() * 0.4), s.rotation.set(Math.random() * Math.PI, Math.random() * Math.PI, Math.random() * Math.PI), s.position.set((Math.random() - 0.5) * 4, 0, (Math.random() - 0.5) * 4), this.add(s);
|
|
2664
|
-
const a = new M(t, n);
|
|
2665
|
-
a.scale.set(s.scale.x * 0.9, s.scale.y * 0.5, s.scale.z * 0.9), a.rotation.copy(s.rotation), a.position.copy(s.position), a.position.y += 0.3, this.add(a);
|
|
2666
|
-
}
|
|
2852
|
+
super(new ke(), [
|
|
2853
|
+
new y({ color: 8421504, flatShading: !0 }),
|
|
2854
|
+
new y({ color: 4950843, flatShading: !0, opacity: 0.8, transparent: !0 })
|
|
2855
|
+
]);
|
|
2667
2856
|
}
|
|
2668
2857
|
}
|
|
2669
|
-
class
|
|
2858
|
+
class En extends w {
|
|
2670
2859
|
constructor(t = 1, o = 4, n = 4) {
|
|
2671
2860
|
super(
|
|
2672
|
-
new
|
|
2861
|
+
new qe(t, o, n),
|
|
2673
2862
|
new y({ color: 8421504, flatShading: !0 })
|
|
2674
2863
|
);
|
|
2675
2864
|
}
|
|
2676
2865
|
}
|
|
2677
|
-
class
|
|
2866
|
+
class bn extends w {
|
|
2678
2867
|
constructor() {
|
|
2679
|
-
super();
|
|
2680
|
-
const t = new ct(1, 0), o = new y({ color: 8421504, flatShading: !0 });
|
|
2681
|
-
for (let n = 0; n < 5; n++) {
|
|
2682
|
-
const r = new M(t, o);
|
|
2683
|
-
r.scale.set(0.8 + Math.random() * 0.4, 0.8 + Math.random() * 0.4, 0.8 + Math.random() * 0.4), r.rotation.set(Math.random() * Math.PI, Math.random() * Math.PI, Math.random() * Math.PI), r.position.set((Math.random() - 0.5) * 4, 0, (Math.random() - 0.5) * 4), this.add(r);
|
|
2684
|
-
}
|
|
2868
|
+
super(new Ye(), new y({ color: 8421504, flatShading: !0 }));
|
|
2685
2869
|
}
|
|
2686
2870
|
}
|
|
2687
|
-
class
|
|
2871
|
+
class Sn extends L {
|
|
2688
2872
|
constructor() {
|
|
2689
2873
|
super();
|
|
2690
|
-
const t = new
|
|
2874
|
+
const t = new P(0.3, 0.4, 0.1, 16), o = new y({
|
|
2691
2875
|
color: 3355443,
|
|
2692
2876
|
roughness: 0.6,
|
|
2693
2877
|
metalness: 0.3
|
|
2694
|
-
}), n = new
|
|
2878
|
+
}), n = new w(t, o);
|
|
2695
2879
|
n.position.y = 0.05;
|
|
2696
|
-
const
|
|
2880
|
+
const s = new P(0.1, 0.1, 0.7, 16), r = new y({
|
|
2697
2881
|
color: 5592405,
|
|
2698
2882
|
roughness: 0.5,
|
|
2699
2883
|
metalness: 0.4
|
|
2700
|
-
}), a = new
|
|
2884
|
+
}), a = new w(s, r);
|
|
2701
2885
|
a.position.y = 0.4;
|
|
2702
2886
|
const i = new Z(0.075, 0.2, 16), c = new y({
|
|
2703
2887
|
color: 16733440,
|
|
@@ -2705,59 +2889,59 @@ class dn extends _ {
|
|
|
2705
2889
|
emissiveIntensity: 0.6,
|
|
2706
2890
|
transparent: !0,
|
|
2707
2891
|
opacity: 0.8
|
|
2708
|
-
}), l = new
|
|
2892
|
+
}), l = new w(i, c);
|
|
2709
2893
|
l.position.y = 0.8, this.add(n, a, l);
|
|
2710
2894
|
}
|
|
2711
2895
|
}
|
|
2712
|
-
class
|
|
2896
|
+
class Pn extends L {
|
|
2713
2897
|
constructor() {
|
|
2714
2898
|
super();
|
|
2715
2899
|
const t = new b(3, 4, 0.1), o = new y({
|
|
2716
2900
|
color: 3026478,
|
|
2717
2901
|
roughness: 0.8,
|
|
2718
2902
|
metalness: 0.6
|
|
2719
|
-
}), n = new b(0.2, 0.5, 0.2),
|
|
2903
|
+
}), n = new b(0.2, 0.5, 0.2), s = new y({
|
|
2720
2904
|
color: 11184810,
|
|
2721
2905
|
roughness: 0.5,
|
|
2722
2906
|
metalness: 0.7
|
|
2723
|
-
}),
|
|
2907
|
+
}), r = new P(0.3, 0.3, 0.1, 16), a = new y({
|
|
2724
2908
|
color: 5592405,
|
|
2725
2909
|
roughness: 0.7,
|
|
2726
2910
|
metalness: 0.5
|
|
2727
|
-
}), i = new
|
|
2728
|
-
for (let
|
|
2729
|
-
const
|
|
2730
|
-
|
|
2911
|
+
}), i = new w(t, o);
|
|
2912
|
+
for (let M = -1; M <= 1; M++) {
|
|
2913
|
+
const g = new w(n, s);
|
|
2914
|
+
g.position.set(M, 1.5, 0.1), i.add(g);
|
|
2731
2915
|
}
|
|
2732
|
-
const c = new
|
|
2916
|
+
const c = new w(r, a);
|
|
2733
2917
|
c.rotation.x = Math.PI / 2, c.position.set(0, 0.5, 0.15), i.add(c);
|
|
2734
|
-
const l = new
|
|
2918
|
+
const l = new U(0.15, 8, 8), u = new y({
|
|
2735
2919
|
color: 16711680,
|
|
2736
2920
|
emissive: 16711680,
|
|
2737
2921
|
emissiveIntensity: 0.5
|
|
2738
|
-
}), m = new
|
|
2922
|
+
}), m = new w(l, u);
|
|
2739
2923
|
m.position.set(0, -1, 0.1), i.add(m), this.add(i);
|
|
2740
2924
|
let h = 0.015, f = 0.8, p = 0.2;
|
|
2741
2925
|
function d() {
|
|
2742
2926
|
requestAnimationFrame(d);
|
|
2743
|
-
const
|
|
2744
|
-
m.material.emissiveIntensity =
|
|
2927
|
+
const M = p + Math.abs(Math.sin(Date.now() * h)) * (f - p);
|
|
2928
|
+
m.material.emissiveIntensity = M;
|
|
2745
2929
|
}
|
|
2746
2930
|
d();
|
|
2747
2931
|
}
|
|
2748
2932
|
}
|
|
2749
|
-
class
|
|
2933
|
+
class Tn extends w {
|
|
2750
2934
|
constructor({
|
|
2751
2935
|
flaskRadius: t = 1,
|
|
2752
2936
|
//
|
|
2753
2937
|
neckRadius: o = 0.3,
|
|
2754
2938
|
height: n = 2.5,
|
|
2755
|
-
neckHeight:
|
|
2756
|
-
radialSegments:
|
|
2939
|
+
neckHeight: s = 1,
|
|
2940
|
+
radialSegments: r = 16
|
|
2757
2941
|
} = {}) {
|
|
2758
2942
|
super(
|
|
2759
|
-
new
|
|
2760
|
-
new
|
|
2943
|
+
new Xe({ flaskRadius: t, neckRadius: o, height: n, neckHeight: s, radialSegments: r }),
|
|
2944
|
+
new tt({
|
|
2761
2945
|
color: 8965375,
|
|
2762
2946
|
transparent: !0,
|
|
2763
2947
|
opacity: 0.4,
|
|
@@ -2765,182 +2949,152 @@ class yn extends M {
|
|
|
2765
2949
|
metalness: 0.1,
|
|
2766
2950
|
reflectivity: 0.8,
|
|
2767
2951
|
transmission: 0.9,
|
|
2768
|
-
side:
|
|
2769
|
-
wireframe: !1
|
|
2952
|
+
side: V
|
|
2770
2953
|
})
|
|
2771
2954
|
);
|
|
2772
2955
|
}
|
|
2773
2956
|
}
|
|
2774
|
-
class
|
|
2775
|
-
constructor() {
|
|
2776
|
-
super();
|
|
2777
|
-
const t = [
|
|
2778
|
-
new g(0, 0),
|
|
2779
|
-
// Bottom of the flask
|
|
2780
|
-
new g(1.2, 0),
|
|
2781
|
-
// Base
|
|
2782
|
-
new g(1.5, 1.5),
|
|
2783
|
-
// Mid-body
|
|
2784
|
-
new g(1, 3),
|
|
2785
|
-
// Narrow neck
|
|
2786
|
-
new g(0.6, 3.5)
|
|
2787
|
-
// Mouth of the flask
|
|
2788
|
-
], o = new D(t, 12), n = new S(0.6, 0.7, 0.3, 8), r = new y({
|
|
2789
|
-
color: 8965290,
|
|
2790
|
-
transparent: !0,
|
|
2791
|
-
opacity: 0.4,
|
|
2792
|
-
roughness: 0.1,
|
|
2793
|
-
metalness: 0.5,
|
|
2794
|
-
depthWrite: !1
|
|
2795
|
-
}), s = new y({
|
|
2796
|
-
color: 9127187,
|
|
2797
|
-
roughness: 1
|
|
2798
|
-
}), a = new M(o, r);
|
|
2799
|
-
a.castShadow = !0;
|
|
2800
|
-
const i = new M(n, s);
|
|
2801
|
-
i.position.y = 3.5, this.add(a, i);
|
|
2802
|
-
}
|
|
2803
|
-
}
|
|
2804
|
-
class vn extends M {
|
|
2957
|
+
class Gn extends w {
|
|
2805
2958
|
constructor() {
|
|
2806
2959
|
super(
|
|
2807
|
-
new
|
|
2808
|
-
new
|
|
2960
|
+
new Qe(),
|
|
2961
|
+
new tt({
|
|
2809
2962
|
color: 8965375,
|
|
2810
2963
|
transparent: !0,
|
|
2964
|
+
depthWrite: !1,
|
|
2811
2965
|
opacity: 0.4,
|
|
2812
2966
|
roughness: 0.1,
|
|
2813
2967
|
metalness: 0.1,
|
|
2814
2968
|
reflectivity: 0.8,
|
|
2815
2969
|
transmission: 0.9,
|
|
2816
|
-
side:
|
|
2970
|
+
side: V
|
|
2817
2971
|
})
|
|
2818
2972
|
);
|
|
2819
2973
|
}
|
|
2820
2974
|
}
|
|
2821
|
-
class
|
|
2975
|
+
class Cn extends L {
|
|
2822
2976
|
constructor() {
|
|
2823
2977
|
super();
|
|
2824
2978
|
const t = new b(2, 3, 0.1), o = new y({
|
|
2825
2979
|
color: 3355443,
|
|
2826
2980
|
roughness: 0.8,
|
|
2827
2981
|
metalness: 0.5
|
|
2828
|
-
}), n = new
|
|
2982
|
+
}), n = new w(t, o), s = new P(0.1, 0.1, 0.2, 8), r = new P(0.05, 0.05, 1, 8), a = new y({
|
|
2829
2983
|
color: 11184810,
|
|
2830
2984
|
roughness: 0.5,
|
|
2831
2985
|
metalness: 0.7
|
|
2832
2986
|
});
|
|
2833
2987
|
for (let i = -0.5; i <= 0.5; i += 0.5) {
|
|
2834
|
-
const c = new
|
|
2988
|
+
const c = new w(s, a);
|
|
2835
2989
|
c.position.set(i, 1, 0.1);
|
|
2836
|
-
const l = new
|
|
2990
|
+
const l = new w(r, a);
|
|
2837
2991
|
l.position.y = 0.5, c.add(l), this.add(c);
|
|
2838
2992
|
}
|
|
2839
2993
|
this.add(n);
|
|
2840
2994
|
}
|
|
2841
2995
|
}
|
|
2842
|
-
class
|
|
2996
|
+
class Bn extends L {
|
|
2843
2997
|
constructor() {
|
|
2844
2998
|
super();
|
|
2845
2999
|
const t = new b(1, 0.2, 0.5), o = new y({
|
|
2846
3000
|
color: 4473924,
|
|
2847
3001
|
roughness: 0.6,
|
|
2848
3002
|
metalness: 0.3
|
|
2849
|
-
}), n = new
|
|
3003
|
+
}), n = new w(t, o);
|
|
2850
3004
|
n.position.y = 0.1;
|
|
2851
|
-
const
|
|
2852
|
-
|
|
2853
|
-
const a = new
|
|
3005
|
+
const s = new b(0.2, 1, 0.2), r = new w(s, o);
|
|
3006
|
+
r.position.set(0, 0.6, -0.2);
|
|
3007
|
+
const a = new P(0.1, 0.1, 0.4, 8), i = new y({
|
|
2854
3008
|
color: 3355443,
|
|
2855
3009
|
roughness: 0.5,
|
|
2856
3010
|
metalness: 0.6
|
|
2857
|
-
}), c = new
|
|
3011
|
+
}), c = new w(a, i);
|
|
2858
3012
|
c.position.set(0, 1.1, -0.35), c.rotation.x = -Math.PI / 4;
|
|
2859
3013
|
const l = new b(0.6, 0.1, 0.6), u = new y({
|
|
2860
3014
|
color: 5592405,
|
|
2861
3015
|
roughness: 0.8,
|
|
2862
3016
|
metalness: 0.2
|
|
2863
|
-
}), m = new
|
|
2864
|
-
m.position.set(0, 0.6, 0), this.add(n,
|
|
3017
|
+
}), m = new w(l, u);
|
|
3018
|
+
m.position.set(0, 0.6, 0), this.add(n, r, c, m);
|
|
2865
3019
|
}
|
|
2866
3020
|
}
|
|
2867
|
-
class
|
|
3021
|
+
class Rn extends L {
|
|
2868
3022
|
constructor() {
|
|
2869
3023
|
super();
|
|
2870
|
-
const t = new
|
|
3024
|
+
const t = new Ke(), o = new P(0.2, 0.3, 1.5, 8);
|
|
2871
3025
|
o.translate(0, 0.75, 0);
|
|
2872
3026
|
const n = new y({
|
|
2873
3027
|
color: 6045747,
|
|
2874
3028
|
// Dark earthy tone
|
|
2875
3029
|
roughness: 1,
|
|
2876
3030
|
metalness: 0,
|
|
2877
|
-
side:
|
|
3031
|
+
side: V
|
|
2878
3032
|
// Render inside and outside
|
|
2879
|
-
}),
|
|
3033
|
+
}), s = new y({
|
|
2880
3034
|
color: 9132587,
|
|
2881
3035
|
// Slightly lighter earthy color
|
|
2882
3036
|
roughness: 0.8,
|
|
2883
3037
|
metalness: 0.1
|
|
2884
|
-
}),
|
|
2885
|
-
|
|
2886
|
-
const a = new
|
|
2887
|
-
a.castShadow = !0, a.position.set(0.3, 1.3, 0), a.rotation.z = Math.PI / 4, this.add(
|
|
3038
|
+
}), r = new w(t, n);
|
|
3039
|
+
r.castShadow = !0;
|
|
3040
|
+
const a = new w(o, s);
|
|
3041
|
+
a.castShadow = !0, a.position.set(0.3, 1.3, 0), a.rotation.z = Math.PI / 4, this.add(r, a);
|
|
2888
3042
|
}
|
|
2889
3043
|
}
|
|
2890
|
-
class
|
|
2891
|
-
constructor({ width: o = 3, height: n = 4, depth:
|
|
3044
|
+
class Nn extends w {
|
|
3045
|
+
constructor({ width: o = 3, height: n = 4, depth: s = 0.1 } = {}) {
|
|
2892
3046
|
super();
|
|
2893
|
-
|
|
2894
|
-
|
|
2895
|
-
this.geometry = new b(o, n,
|
|
3047
|
+
A(this, "geometry");
|
|
3048
|
+
A(this, "material");
|
|
3049
|
+
this.geometry = new b(o, n, s), this.material = new y({
|
|
2896
3050
|
color: 3026478,
|
|
2897
3051
|
roughness: 0.8,
|
|
2898
3052
|
metalness: 0.6
|
|
2899
3053
|
});
|
|
2900
3054
|
}
|
|
2901
3055
|
}
|
|
2902
|
-
class
|
|
3056
|
+
class _n extends w {
|
|
2903
3057
|
constructor({
|
|
2904
3058
|
radius: o = 0.15,
|
|
2905
3059
|
//
|
|
2906
3060
|
color: n = 16762823,
|
|
2907
|
-
emissive:
|
|
2908
|
-
emissiveIntensity:
|
|
3061
|
+
emissive: s = 16711680,
|
|
3062
|
+
emissiveIntensity: r = 0.5
|
|
2909
3063
|
} = {}) {
|
|
2910
3064
|
super();
|
|
2911
|
-
|
|
2912
|
-
|
|
2913
|
-
this.geometry = new
|
|
3065
|
+
A(this, "geometry");
|
|
3066
|
+
A(this, "material");
|
|
3067
|
+
this.geometry = new U(o, 8, 8), this.material = new y({
|
|
2914
3068
|
color: n,
|
|
2915
|
-
emissive:
|
|
2916
|
-
emissiveIntensity:
|
|
3069
|
+
emissive: s,
|
|
3070
|
+
emissiveIntensity: r
|
|
2917
3071
|
});
|
|
2918
3072
|
}
|
|
2919
3073
|
}
|
|
2920
|
-
class
|
|
3074
|
+
class Un extends L {
|
|
2921
3075
|
constructor() {
|
|
2922
3076
|
super();
|
|
2923
|
-
const t = 100, o = 0.05, n = new
|
|
3077
|
+
const t = 100, o = 0.05, n = new Bt(
|
|
2924
3078
|
Array.from({ length: t }, (l, u) => {
|
|
2925
3079
|
const m = u * 0.2;
|
|
2926
|
-
return new
|
|
3080
|
+
return new x(
|
|
2927
3081
|
Math.cos(m) * 0.4,
|
|
2928
3082
|
u * o,
|
|
2929
3083
|
// Gradual height increase
|
|
2930
3084
|
Math.sin(m) * 0.4
|
|
2931
3085
|
);
|
|
2932
3086
|
})
|
|
2933
|
-
),
|
|
3087
|
+
), s = new Rt(n, 200, 0.1, 8, !1), r = new y({
|
|
2934
3088
|
color: 8965375,
|
|
2935
3089
|
transparent: !0,
|
|
2936
3090
|
opacity: 0.3,
|
|
2937
3091
|
roughness: 0.1,
|
|
2938
3092
|
metalness: 0.2,
|
|
2939
3093
|
emissive: 8965375
|
|
2940
|
-
}), a = new
|
|
3094
|
+
}), a = new w(s, r);
|
|
2941
3095
|
this.add(a);
|
|
2942
3096
|
function i() {
|
|
2943
|
-
|
|
3097
|
+
r.emissiveIntensity = 0.2 + Math.sin(Date.now() * 5e-3) * 0.1;
|
|
2944
3098
|
}
|
|
2945
3099
|
function c() {
|
|
2946
3100
|
requestAnimationFrame(c), i();
|
|
@@ -2948,17 +3102,17 @@ class bn extends _ {
|
|
|
2948
3102
|
c();
|
|
2949
3103
|
}
|
|
2950
3104
|
}
|
|
2951
|
-
class
|
|
3105
|
+
class On extends w {
|
|
2952
3106
|
constructor({
|
|
2953
3107
|
radius: t = 0.3,
|
|
2954
3108
|
//
|
|
2955
3109
|
height: o = 0.4,
|
|
2956
3110
|
count: n = 3,
|
|
2957
|
-
thickness:
|
|
2958
|
-
radialSegments:
|
|
3111
|
+
thickness: s = 0.03,
|
|
3112
|
+
radialSegments: r = 16
|
|
2959
3113
|
} = {}) {
|
|
2960
3114
|
super(
|
|
2961
|
-
new
|
|
3115
|
+
new Je({ radius: t, height: o, count: n, thickness: s, radialSegments: r }),
|
|
2962
3116
|
new y({
|
|
2963
3117
|
color: 8947848,
|
|
2964
3118
|
roughness: 0.7,
|
|
@@ -2967,31 +3121,28 @@ class Sn extends M {
|
|
|
2967
3121
|
);
|
|
2968
3122
|
}
|
|
2969
3123
|
}
|
|
2970
|
-
class
|
|
3124
|
+
class zn extends w {
|
|
2971
3125
|
constructor() {
|
|
2972
|
-
super()
|
|
2973
|
-
|
|
2974
|
-
|
|
2975
|
-
|
|
2976
|
-
|
|
2977
|
-
|
|
2978
|
-
|
|
2979
|
-
|
|
2980
|
-
|
|
2981
|
-
|
|
2982
|
-
|
|
2983
|
-
|
|
2984
|
-
|
|
2985
|
-
a.position.y = 1.3;
|
|
2986
|
-
const i = new N(0.3, 16, 16), c = new M(i, s);
|
|
2987
|
-
c.position.y = 2.4, this.add(n, a, c);
|
|
3126
|
+
super(new $e(), [
|
|
3127
|
+
new y({
|
|
3128
|
+
color: 3355443,
|
|
3129
|
+
roughness: 0.6,
|
|
3130
|
+
metalness: 0.5
|
|
3131
|
+
}),
|
|
3132
|
+
new y({
|
|
3133
|
+
color: 16737792,
|
|
3134
|
+
roughness: 0.5,
|
|
3135
|
+
metalness: 0.8,
|
|
3136
|
+
side: V
|
|
3137
|
+
})
|
|
3138
|
+
]);
|
|
2988
3139
|
}
|
|
2989
3140
|
}
|
|
2990
|
-
class
|
|
2991
|
-
constructor(t = 0.2, o = 0.2, n = 3,
|
|
3141
|
+
class Fn extends w {
|
|
3142
|
+
constructor(t = 0.2, o = 0.2, n = 3, s = 32) {
|
|
2992
3143
|
super(
|
|
2993
|
-
new
|
|
2994
|
-
new
|
|
3144
|
+
new ct(t, o, n, s),
|
|
3145
|
+
new tt({
|
|
2995
3146
|
color: 8965375,
|
|
2996
3147
|
transparent: !0,
|
|
2997
3148
|
opacity: 0.4,
|
|
@@ -3000,63 +3151,63 @@ class Tn extends M {
|
|
|
3000
3151
|
reflectivity: 0.8,
|
|
3001
3152
|
transmission: 0.9,
|
|
3002
3153
|
depthWrite: !1,
|
|
3003
|
-
side:
|
|
3154
|
+
side: V
|
|
3004
3155
|
})
|
|
3005
3156
|
);
|
|
3006
3157
|
}
|
|
3007
3158
|
}
|
|
3008
|
-
class
|
|
3159
|
+
class Ln extends L {
|
|
3009
3160
|
constructor(t = 3, o = [65450, 16711850, 11141375]) {
|
|
3010
3161
|
super();
|
|
3011
|
-
const n = new b(3, 0.2, 1),
|
|
3162
|
+
const n = new b(3, 0.2, 1), s = new y({
|
|
3012
3163
|
color: 9127187,
|
|
3013
3164
|
// Wooden color or change to metallic tone
|
|
3014
3165
|
roughness: 0.7,
|
|
3015
3166
|
metalness: 0.3
|
|
3016
|
-
}),
|
|
3017
|
-
|
|
3018
|
-
const a = new
|
|
3167
|
+
}), r = new w(n, s);
|
|
3168
|
+
r.position.y = 0.5, r.castShadow = !0;
|
|
3169
|
+
const a = new ct(0.1, 0.1, 1, 16), i = new y({
|
|
3019
3170
|
color: 11184810,
|
|
3020
3171
|
transparent: !0,
|
|
3021
3172
|
opacity: 0.4,
|
|
3022
3173
|
roughness: 0.1,
|
|
3023
3174
|
metalness: 0.5,
|
|
3024
3175
|
depthWrite: !1,
|
|
3025
|
-
side:
|
|
3176
|
+
side: V
|
|
3026
3177
|
});
|
|
3027
3178
|
for (let c = 0; c < t; c++) {
|
|
3028
|
-
const l = new
|
|
3179
|
+
const l = new w(a, i), u = (c - (t - 1) / 2) * 0.8;
|
|
3029
3180
|
l.position.set(u, 1, 0), l.castShadow = !0;
|
|
3030
|
-
const m = new
|
|
3181
|
+
const m = new ct(0.099, 0.099, 0.5, 16, !1), h = o[c % o.length], f = new y({
|
|
3031
3182
|
color: h,
|
|
3032
3183
|
emissive: h,
|
|
3033
3184
|
emissiveIntensity: 0.5,
|
|
3034
3185
|
transparent: !0,
|
|
3035
3186
|
opacity: 0.6
|
|
3036
|
-
}), p = new
|
|
3037
|
-
p.position.set(0, -0.25, 0), l.add(p),
|
|
3187
|
+
}), p = new w(m, f);
|
|
3188
|
+
p.position.set(0, -0.25, 0), l.add(p), r.add(l);
|
|
3038
3189
|
}
|
|
3039
|
-
this.add(
|
|
3190
|
+
this.add(r);
|
|
3040
3191
|
}
|
|
3041
3192
|
}
|
|
3042
|
-
class
|
|
3193
|
+
class no extends j {
|
|
3043
3194
|
constructor(t = 5, o = 0.5, n = 1) {
|
|
3044
3195
|
super();
|
|
3045
|
-
const
|
|
3196
|
+
const s = Math.PI * 2 / t, r = s / 2, a = s / 4;
|
|
3046
3197
|
this.moveTo(Math.cos(0) * n, -Math.sin(0) * n);
|
|
3047
3198
|
for (let i = 1; i <= t; ++i) {
|
|
3048
|
-
let c = Math.cos(
|
|
3049
|
-
this.quadraticCurveTo(c, l, u, m), c = Math.cos(
|
|
3199
|
+
let c = Math.cos(s * i - a * 3) * (o / Math.cos(a)), l = -Math.sin(s * i - a * 3) * (o / Math.cos(a)), u = Math.cos(s * i - r) * o, m = -Math.sin(s * i - r) * o;
|
|
3200
|
+
this.quadraticCurveTo(c, l, u, m), c = Math.cos(s * i - a) * (o / Math.cos(a)), l = -Math.sin(s * i - a) * (o / Math.cos(a)), u = Math.cos(s * i) * n, m = -Math.sin(s * i) * n, this.quadraticCurveTo(c, l, u, m);
|
|
3050
3201
|
}
|
|
3051
3202
|
this.closePath();
|
|
3052
3203
|
}
|
|
3053
3204
|
}
|
|
3054
|
-
class
|
|
3055
|
-
constructor(t = 5, o = 0.5, n = 1,
|
|
3205
|
+
class Dn extends w {
|
|
3206
|
+
constructor(t = 5, o = 0.5, n = 1, s = 0.25) {
|
|
3056
3207
|
super();
|
|
3057
|
-
const
|
|
3058
|
-
depth:
|
|
3059
|
-
bevelEnabled:
|
|
3208
|
+
const r = new no(t, o, n), a = new Q(r, {
|
|
3209
|
+
depth: s,
|
|
3210
|
+
bevelEnabled: s > 0,
|
|
3060
3211
|
bevelThickness: 0,
|
|
3061
3212
|
bevelSize: 0
|
|
3062
3213
|
}), i = new y({
|
|
@@ -3070,26 +3221,26 @@ class Cn extends M {
|
|
|
3070
3221
|
a.center(), this.geometry = a, this.material = i;
|
|
3071
3222
|
}
|
|
3072
3223
|
}
|
|
3073
|
-
class
|
|
3074
|
-
constructor(t = 5, o = 0.5, n = 1,
|
|
3224
|
+
class so extends j {
|
|
3225
|
+
constructor(t = 5, o = 0.5, n = 1, s = 5, r = 0.25) {
|
|
3075
3226
|
super();
|
|
3076
3227
|
const a = Math.PI * 2 / t, i = a / 4;
|
|
3077
3228
|
this.moveTo(Math.cos(0) * n, -Math.sin(0) * n);
|
|
3078
3229
|
for (let c = 1; c <= t; ++c)
|
|
3079
3230
|
this.lineTo(Math.cos(a * c - i * 3) * o, -Math.sin(a * c - i * 3) * o), this.lineTo(Math.cos(a * c - i * 2) * o, -Math.sin(a * c - i * 2) * o), this.lineTo(Math.cos(a * c - i) * n, -Math.sin(a * c - i) * n), this.lineTo(Math.cos(a * c) * n, -Math.sin(a * c) * n);
|
|
3080
|
-
if (this.closePath(),
|
|
3081
|
-
const c = new
|
|
3082
|
-
c.moveTo(Math.cos(0) *
|
|
3083
|
-
for (let u = 1; u <
|
|
3084
|
-
c.lineTo(Math.cos(l * u) *
|
|
3085
|
-
c.lineTo(Math.cos(0) *
|
|
3231
|
+
if (this.closePath(), r > 0 && s > 2) {
|
|
3232
|
+
const c = new Nt(), l = Math.PI * 2 / s;
|
|
3233
|
+
c.moveTo(Math.cos(0) * r, -Math.sin(0) * r);
|
|
3234
|
+
for (let u = 1; u < s; ++u)
|
|
3235
|
+
c.lineTo(Math.cos(l * u) * r, -Math.sin(l * u) * r);
|
|
3236
|
+
c.lineTo(Math.cos(0) * r, -Math.sin(0) * r), this.holes.push(c);
|
|
3086
3237
|
}
|
|
3087
3238
|
}
|
|
3088
3239
|
}
|
|
3089
|
-
class
|
|
3090
|
-
constructor(t = 5, o = 0.5, n = 1,
|
|
3240
|
+
class kn extends w {
|
|
3241
|
+
constructor(t = 5, o = 0.5, n = 1, s = 5, r = 0.25, a = 0.25) {
|
|
3091
3242
|
super();
|
|
3092
|
-
const i = new
|
|
3243
|
+
const i = new so(t, o, n, s, r), c = new Q(i, {
|
|
3093
3244
|
depth: a,
|
|
3094
3245
|
bevelEnabled: a > 0,
|
|
3095
3246
|
bevelThickness: 0,
|
|
@@ -3102,8 +3253,8 @@ class Bn extends M {
|
|
|
3102
3253
|
c.center(), this.geometry = c, this.material = l;
|
|
3103
3254
|
}
|
|
3104
3255
|
}
|
|
3105
|
-
class
|
|
3106
|
-
constructor(t = 1, o = 2.1, n = 1.4,
|
|
3256
|
+
class ro extends j {
|
|
3257
|
+
constructor(t = 1, o = 2.1, n = 1.4, s = 1.6) {
|
|
3107
3258
|
super(), this.moveTo(0, n * t / 3), this.bezierCurveTo(
|
|
3108
3259
|
-o * 0.375 * t,
|
|
3109
3260
|
n * t,
|
|
@@ -3112,7 +3263,7 @@ class $e extends j {
|
|
|
3112
3263
|
n * t / 3,
|
|
3113
3264
|
// Control point 2 for the left side of the heart
|
|
3114
3265
|
0,
|
|
3115
|
-
-
|
|
3266
|
+
-s * t
|
|
3116
3267
|
// Bottom tip of the heart, controlled by `tipDepth`
|
|
3117
3268
|
), this.bezierCurveTo(
|
|
3118
3269
|
o * t,
|
|
@@ -3127,12 +3278,12 @@ class $e extends j {
|
|
|
3127
3278
|
);
|
|
3128
3279
|
}
|
|
3129
3280
|
}
|
|
3130
|
-
class
|
|
3131
|
-
constructor(t = 1, o = 1, n = 1,
|
|
3281
|
+
class Vn extends w {
|
|
3282
|
+
constructor(t = 1, o = 1, n = 1, s = 10, r = 0.25) {
|
|
3132
3283
|
super();
|
|
3133
|
-
const a = new
|
|
3134
|
-
depth:
|
|
3135
|
-
bevelEnabled:
|
|
3284
|
+
const a = new ro(t, o, n, s), i = new Q(a, {
|
|
3285
|
+
depth: r,
|
|
3286
|
+
bevelEnabled: r > 0,
|
|
3136
3287
|
bevelThickness: 0,
|
|
3137
3288
|
bevelSize: 0
|
|
3138
3289
|
}), c = new y({
|
|
@@ -3146,22 +3297,22 @@ class Rn extends M {
|
|
|
3146
3297
|
i.center(), this.geometry = i, this.material = c;
|
|
3147
3298
|
}
|
|
3148
3299
|
}
|
|
3149
|
-
class
|
|
3300
|
+
class ao extends j {
|
|
3150
3301
|
constructor(t = 5, o = 0.5, n = 1) {
|
|
3151
3302
|
super();
|
|
3152
|
-
const
|
|
3303
|
+
const s = Math.PI * 2 / t, r = s / 2;
|
|
3153
3304
|
this.moveTo(Math.cos(0) * n, Math.sin(0) * n);
|
|
3154
3305
|
for (let a = 1; a <= t; ++a)
|
|
3155
|
-
this.lineTo(Math.cos(
|
|
3306
|
+
this.lineTo(Math.cos(s * a - r) * o, Math.sin(s * a - r) * o), this.lineTo(Math.cos(s * a) * n, Math.sin(s * a) * n);
|
|
3156
3307
|
this.closePath();
|
|
3157
3308
|
}
|
|
3158
3309
|
}
|
|
3159
|
-
class
|
|
3160
|
-
constructor(t = 5, o = 0.5, n = 1,
|
|
3310
|
+
class qn extends w {
|
|
3311
|
+
constructor(t = 5, o = 0.5, n = 1, s = 0.25) {
|
|
3161
3312
|
super();
|
|
3162
|
-
const
|
|
3163
|
-
depth:
|
|
3164
|
-
bevelEnabled:
|
|
3313
|
+
const r = new ao(t, o, n), a = new Q(r, {
|
|
3314
|
+
depth: s,
|
|
3315
|
+
bevelEnabled: s > 0,
|
|
3165
3316
|
bevelThickness: 0,
|
|
3166
3317
|
bevelSize: 0
|
|
3167
3318
|
}), i = new y({
|
|
@@ -3175,18 +3326,18 @@ class Nn extends M {
|
|
|
3175
3326
|
a.center(), this.geometry = a, this.material = i;
|
|
3176
3327
|
}
|
|
3177
3328
|
}
|
|
3178
|
-
class
|
|
3329
|
+
class Yn extends w {
|
|
3179
3330
|
constructor() {
|
|
3180
|
-
super(new
|
|
3331
|
+
super(new He(), new y({ color: 16777215 }));
|
|
3181
3332
|
}
|
|
3182
3333
|
}
|
|
3183
|
-
class
|
|
3334
|
+
class Hn extends w {
|
|
3184
3335
|
constructor({
|
|
3185
3336
|
trunkRadiusTop: t = 0.25,
|
|
3186
3337
|
trunkRadiusBottom: o = 0.4,
|
|
3187
3338
|
trunkHeight: n = 2.5,
|
|
3188
|
-
trunkSegments:
|
|
3189
|
-
trunkColor:
|
|
3339
|
+
trunkSegments: s = 14,
|
|
3340
|
+
trunkColor: r = 9127187,
|
|
3190
3341
|
leafSize: a = 0.8,
|
|
3191
3342
|
leafCount: i = 6,
|
|
3192
3343
|
leafDetail: c = 0,
|
|
@@ -3194,11 +3345,11 @@ class Un extends M {
|
|
|
3194
3345
|
leafColor: u = 2263842
|
|
3195
3346
|
} = {}) {
|
|
3196
3347
|
super(
|
|
3197
|
-
new
|
|
3348
|
+
new eo({
|
|
3198
3349
|
trunkRadiusTop: t,
|
|
3199
3350
|
trunkRadiusBottom: o,
|
|
3200
3351
|
trunkHeight: n,
|
|
3201
|
-
trunkSegments:
|
|
3352
|
+
trunkSegments: s,
|
|
3202
3353
|
leafSize: a,
|
|
3203
3354
|
leafCount: i,
|
|
3204
3355
|
leafDetail: c,
|
|
@@ -3206,7 +3357,7 @@ class Un extends M {
|
|
|
3206
3357
|
}),
|
|
3207
3358
|
[
|
|
3208
3359
|
new y({
|
|
3209
|
-
color:
|
|
3360
|
+
color: r,
|
|
3210
3361
|
roughness: 0.9,
|
|
3211
3362
|
metalness: 0,
|
|
3212
3363
|
flatShading: !0
|
|
@@ -3221,49 +3372,55 @@ class Un extends M {
|
|
|
3221
3372
|
);
|
|
3222
3373
|
}
|
|
3223
3374
|
}
|
|
3224
|
-
class
|
|
3375
|
+
class Xn extends w {
|
|
3225
3376
|
constructor({
|
|
3226
3377
|
radius: t = 3,
|
|
3227
3378
|
//
|
|
3228
3379
|
height: o = 0.6,
|
|
3229
3380
|
widthSegments: n = 64,
|
|
3230
|
-
heightSegments:
|
|
3231
|
-
phiStart:
|
|
3381
|
+
heightSegments: s = 16,
|
|
3382
|
+
phiStart: r = 0,
|
|
3232
3383
|
phiLength: a = Math.PI * 2
|
|
3233
3384
|
} = {}) {
|
|
3234
|
-
super(
|
|
3235
|
-
|
|
3236
|
-
|
|
3237
|
-
|
|
3238
|
-
|
|
3239
|
-
|
|
3240
|
-
|
|
3241
|
-
|
|
3385
|
+
super(
|
|
3386
|
+
new We({
|
|
3387
|
+
radius: t,
|
|
3388
|
+
height: o,
|
|
3389
|
+
widthSegments: n,
|
|
3390
|
+
heightSegments: s,
|
|
3391
|
+
phiStart: r,
|
|
3392
|
+
phiLength: a
|
|
3393
|
+
}),
|
|
3394
|
+
new y({ color: 65280, flatShading: !0 })
|
|
3395
|
+
);
|
|
3242
3396
|
}
|
|
3243
3397
|
}
|
|
3244
|
-
class
|
|
3398
|
+
class Zn extends w {
|
|
3245
3399
|
constructor({
|
|
3246
|
-
radius: t =
|
|
3400
|
+
radius: t = At(5, Math.PI / 10),
|
|
3247
3401
|
//
|
|
3248
3402
|
widthSegments: o = 64,
|
|
3249
3403
|
heightSegments: n = 32,
|
|
3250
|
-
phiStart:
|
|
3251
|
-
phiLength:
|
|
3404
|
+
phiStart: s = 0,
|
|
3405
|
+
phiLength: r = Math.PI * 2,
|
|
3252
3406
|
thetaLength: a = Math.PI / 10
|
|
3253
3407
|
} = {}) {
|
|
3254
|
-
super(
|
|
3255
|
-
|
|
3256
|
-
|
|
3257
|
-
|
|
3258
|
-
|
|
3259
|
-
|
|
3260
|
-
|
|
3261
|
-
|
|
3408
|
+
super(
|
|
3409
|
+
new to({
|
|
3410
|
+
radius: t,
|
|
3411
|
+
widthSegments: o,
|
|
3412
|
+
heightSegments: n,
|
|
3413
|
+
phiStart: s,
|
|
3414
|
+
phiLength: r,
|
|
3415
|
+
thetaLength: a
|
|
3416
|
+
}),
|
|
3417
|
+
new y({ color: 65280, flatShading: !0 })
|
|
3418
|
+
);
|
|
3262
3419
|
}
|
|
3263
3420
|
}
|
|
3264
|
-
function
|
|
3265
|
-
e.onBeforeCompile = (
|
|
3266
|
-
|
|
3421
|
+
function jn(e, { time: t = 0, waveFrequency: o = 0.2, waveAmplitude: n = 0.5 } = {}) {
|
|
3422
|
+
e.onBeforeCompile = (s) => {
|
|
3423
|
+
s.uniforms.time = { value: t }, s.uniforms.waveFrequency = { value: o }, s.uniforms.waveAmplitude = { value: n }, s.vertexShader = `
|
|
3267
3424
|
uniform float time;
|
|
3268
3425
|
uniform float waveFrequency;
|
|
3269
3426
|
uniform float waveAmplitude;
|
|
@@ -3277,20 +3434,20 @@ function zn(e, { time: t = 0, waveFrequency: o = 0.2, waveAmplitude: n = 0.5 } =
|
|
|
3277
3434
|
|
|
3278
3435
|
return displaced;
|
|
3279
3436
|
}
|
|
3280
|
-
` +
|
|
3437
|
+
` + s.vertexShader, s.vertexShader = s.vertexShader.replace(
|
|
3281
3438
|
"#include <begin_vertex>",
|
|
3282
3439
|
`
|
|
3283
3440
|
vec3 transformed = waterDisplacement(position, normal);
|
|
3284
3441
|
`
|
|
3285
|
-
), e.userData.shader =
|
|
3442
|
+
), e.userData.shader = s;
|
|
3286
3443
|
};
|
|
3287
3444
|
}
|
|
3288
|
-
function
|
|
3445
|
+
function Qn(e, t) {
|
|
3289
3446
|
e.userData.shader && (e.userData.shader.uniforms.time.value += t);
|
|
3290
3447
|
}
|
|
3291
|
-
function
|
|
3292
|
-
e.onBeforeCompile = (
|
|
3293
|
-
|
|
3448
|
+
function Kn(e, { time: t = 0, intensity: o = 1, axis: n = ht.XYZ, scale: s = 10 } = {}) {
|
|
3449
|
+
e.onBeforeCompile = (r) => {
|
|
3450
|
+
r.uniforms.time = { value: t }, r.uniforms.axis = { value: n }, r.uniforms.intensity = { value: o }, r.uniforms.scale = { value: s }, r.vertexShader = `
|
|
3294
3451
|
uniform float time;
|
|
3295
3452
|
uniform vec3 axis;
|
|
3296
3453
|
uniform float intensity;
|
|
@@ -3321,7 +3478,7 @@ function kn(e, { time: t = 0, intensity: o = 1, axis: n = mt.XYZ, scale: r = 10
|
|
|
3321
3478
|
|
|
3322
3479
|
return o4.y * d.y + o4.x * (1.0 - d.y);
|
|
3323
3480
|
}
|
|
3324
|
-
` +
|
|
3481
|
+
` + r.vertexShader, r.vertexShader = r.vertexShader.replace(
|
|
3325
3482
|
"#include <begin_vertex>",
|
|
3326
3483
|
`
|
|
3327
3484
|
vec3 transformed = vec3(position);
|
|
@@ -3329,20 +3486,20 @@ function kn(e, { time: t = 0, intensity: o = 1, axis: n = mt.XYZ, scale: r = 10
|
|
|
3329
3486
|
transformed += normalize(axis) * n * intensity;
|
|
3330
3487
|
vec3 transformedNormal = normal;
|
|
3331
3488
|
`
|
|
3332
|
-
), e.userData.shader =
|
|
3489
|
+
), e.userData.shader = r;
|
|
3333
3490
|
};
|
|
3334
3491
|
}
|
|
3335
|
-
function
|
|
3492
|
+
function Jn(e, t) {
|
|
3336
3493
|
e.userData.shader && (e.userData.shader.uniforms.time.value += t);
|
|
3337
3494
|
}
|
|
3338
|
-
const
|
|
3495
|
+
const st = {
|
|
3339
3496
|
uniforms: {
|
|
3340
3497
|
turbidity: { value: 10 },
|
|
3341
3498
|
rayleigh: { value: 2 },
|
|
3342
3499
|
mieCoefficient: { value: 5e-3 },
|
|
3343
3500
|
mieDirectionalG: { value: 0.8 },
|
|
3344
|
-
sunPosition: { value: new
|
|
3345
|
-
up: { value: new
|
|
3501
|
+
sunPosition: { value: new x().setFromSphericalCoords(1, z.degToRad(90), z.degToRad(180)) },
|
|
3502
|
+
up: { value: new x(0, 1, 0) }
|
|
3346
3503
|
},
|
|
3347
3504
|
vertexShader: `
|
|
3348
3505
|
uniform vec3 sunPosition;
|
|
@@ -3497,7 +3654,7 @@ const ot = {
|
|
|
3497
3654
|
#include <colorspace_fragment>
|
|
3498
3655
|
}
|
|
3499
3656
|
`
|
|
3500
|
-
},
|
|
3657
|
+
}, rt = {
|
|
3501
3658
|
uniforms: {
|
|
3502
3659
|
topColor: { value: new $(0.5, 0.8, 1) },
|
|
3503
3660
|
bottomColor: { value: new $(1, 1, 1) }
|
|
@@ -3518,7 +3675,7 @@ const ot = {
|
|
|
3518
3675
|
gl_FragColor = vec4(mix(bottomColor, topColor, y), 1.0);
|
|
3519
3676
|
}
|
|
3520
3677
|
`
|
|
3521
|
-
},
|
|
3678
|
+
}, $n = {
|
|
3522
3679
|
uniforms: {
|
|
3523
3680
|
tDiffuse: { value: null },
|
|
3524
3681
|
opacity: { value: 1 }
|
|
@@ -3539,7 +3696,7 @@ const ot = {
|
|
|
3539
3696
|
gl_FragColor = opacity * texel;
|
|
3540
3697
|
}
|
|
3541
3698
|
`
|
|
3542
|
-
},
|
|
3699
|
+
}, at = {
|
|
3543
3700
|
uniforms: {
|
|
3544
3701
|
topColor: { value: new $(51) },
|
|
3545
3702
|
bottomColor: { value: new $(17) },
|
|
@@ -3566,20 +3723,20 @@ const ot = {
|
|
|
3566
3723
|
}
|
|
3567
3724
|
`
|
|
3568
3725
|
};
|
|
3569
|
-
class
|
|
3726
|
+
class Wn extends w {
|
|
3570
3727
|
constructor() {
|
|
3571
3728
|
super();
|
|
3572
|
-
|
|
3573
|
-
|
|
3574
|
-
this.geometry = new b(1, 1, 1), this.material = new
|
|
3575
|
-
uniforms:
|
|
3576
|
-
vertexShader:
|
|
3577
|
-
fragmentShader:
|
|
3729
|
+
A(this, "geometry");
|
|
3730
|
+
A(this, "material");
|
|
3731
|
+
this.geometry = new b(1, 1, 1), this.material = new W({
|
|
3732
|
+
uniforms: st.uniforms,
|
|
3733
|
+
vertexShader: st.vertexShader,
|
|
3734
|
+
fragmentShader: st.fragmentShader,
|
|
3578
3735
|
depthWrite: !1,
|
|
3579
|
-
side:
|
|
3736
|
+
side: ut
|
|
3580
3737
|
}), this.scale.setScalar(45e4);
|
|
3581
|
-
const o =
|
|
3582
|
-
this.material.uniforms.sunPosition.value =
|
|
3738
|
+
const o = z.degToRad(89), n = z.degToRad(180), s = new x().setFromSphericalCoords(1, o, n);
|
|
3739
|
+
this.material.uniforms.sunPosition.value = s;
|
|
3583
3740
|
}
|
|
3584
3741
|
/**
|
|
3585
3742
|
* Set the sun position.
|
|
@@ -3595,46 +3752,46 @@ class Vn extends M {
|
|
|
3595
3752
|
* - This is the horizontal angle in the xy-plane.
|
|
3596
3753
|
*/
|
|
3597
3754
|
sunPosition(o, n) {
|
|
3598
|
-
const
|
|
3599
|
-
|
|
3755
|
+
const s = new x();
|
|
3756
|
+
s.setFromSphericalCoords(1, o, n), this.material.uniforms.sunPosition.value = s;
|
|
3600
3757
|
}
|
|
3601
3758
|
}
|
|
3602
|
-
class
|
|
3759
|
+
class ts extends w {
|
|
3603
3760
|
constructor(o = 1e3) {
|
|
3604
3761
|
super();
|
|
3605
|
-
|
|
3606
|
-
|
|
3607
|
-
this.geometry = new b(o, o, o), this.material = new
|
|
3608
|
-
uniforms:
|
|
3609
|
-
vertexShader:
|
|
3610
|
-
fragmentShader:
|
|
3611
|
-
side:
|
|
3762
|
+
A(this, "geometry");
|
|
3763
|
+
A(this, "material");
|
|
3764
|
+
this.geometry = new b(o, o, o), this.material = new W({
|
|
3765
|
+
uniforms: rt.uniforms,
|
|
3766
|
+
vertexShader: rt.vertexShader,
|
|
3767
|
+
fragmentShader: rt.fragmentShader,
|
|
3768
|
+
side: ut
|
|
3612
3769
|
});
|
|
3613
3770
|
}
|
|
3614
3771
|
}
|
|
3615
|
-
class
|
|
3772
|
+
class es extends w {
|
|
3616
3773
|
constructor(o = 1e3) {
|
|
3617
3774
|
super();
|
|
3618
|
-
|
|
3619
|
-
|
|
3620
|
-
this.geometry = new
|
|
3621
|
-
vertexShader:
|
|
3622
|
-
fragmentShader:
|
|
3623
|
-
uniforms:
|
|
3624
|
-
side:
|
|
3775
|
+
A(this, "geometry");
|
|
3776
|
+
A(this, "material");
|
|
3777
|
+
this.geometry = new U(o, 32, 15), this.material = new W({
|
|
3778
|
+
vertexShader: at.vertexShader,
|
|
3779
|
+
fragmentShader: at.fragmentShader,
|
|
3780
|
+
uniforms: at.uniforms,
|
|
3781
|
+
side: ut
|
|
3625
3782
|
});
|
|
3626
3783
|
}
|
|
3627
3784
|
}
|
|
3628
|
-
const
|
|
3785
|
+
const os = (e) => {
|
|
3629
3786
|
const t = new Uint8Array(4 * e * e);
|
|
3630
3787
|
for (let n = 0; n < e * e; n++) {
|
|
3631
|
-
const
|
|
3632
|
-
t[
|
|
3788
|
+
const s = n * 4, r = (n % e ^ Math.floor(n / e)) & 1 ? 255 : 0;
|
|
3789
|
+
t[s] = r, t[s + 1] = r, t[s + 2] = r, t[s + 3] = 255;
|
|
3633
3790
|
}
|
|
3634
|
-
const o = new
|
|
3635
|
-
return o.wrapS =
|
|
3791
|
+
const o = new _t(t, e, e, Ut, Ot);
|
|
3792
|
+
return o.wrapS = ft, o.wrapT = ft, o.minFilter = zt, o.needsUpdate = !0, o;
|
|
3636
3793
|
};
|
|
3637
|
-
function
|
|
3794
|
+
function ns(e) {
|
|
3638
3795
|
const t = parseInt(e.slice(1), 16);
|
|
3639
3796
|
return [
|
|
3640
3797
|
t >> 16 & 255,
|
|
@@ -3645,219 +3802,233 @@ function Zn(e) {
|
|
|
3645
3802
|
// b
|
|
3646
3803
|
];
|
|
3647
3804
|
}
|
|
3648
|
-
function
|
|
3805
|
+
function ss(e) {
|
|
3649
3806
|
const [t, o, n] = X(e);
|
|
3650
|
-
return
|
|
3807
|
+
return co(t, o, n);
|
|
3651
3808
|
}
|
|
3652
3809
|
function X(e) {
|
|
3653
3810
|
const t = e >> 16 & 255, o = e >> 8 & 255, n = e & 255;
|
|
3654
3811
|
return [t, o, n];
|
|
3655
3812
|
}
|
|
3656
|
-
function
|
|
3813
|
+
function rs(e, t, o) {
|
|
3657
3814
|
t /= 100, o /= 100;
|
|
3658
3815
|
function n(c, l, u) {
|
|
3659
3816
|
return u < 0 && (u += 1), u > 1 && (u -= 1), u < 1 / 6 ? c + (l - c) * 6 * u : u < 1 / 2 ? l : u < 2 / 3 ? c + (l - c) * (2 / 3 - u) * 6 : c;
|
|
3660
3817
|
}
|
|
3661
|
-
let
|
|
3818
|
+
let s, r, a;
|
|
3662
3819
|
if (t === 0)
|
|
3663
|
-
|
|
3820
|
+
s = r = a = o;
|
|
3664
3821
|
else {
|
|
3665
3822
|
const c = o < 0.5 ? o * (1 + t) : o + t - o * t, l = 2 * o - c;
|
|
3666
|
-
|
|
3823
|
+
s = n(l, c, e / 360 + 1 / 3), r = n(l, c, e / 360), a = n(l, c, e / 360 - 1 / 3);
|
|
3667
3824
|
}
|
|
3668
3825
|
const i = (c) => Math.round(c * 255);
|
|
3669
3826
|
return [
|
|
3670
|
-
i(r),
|
|
3671
3827
|
i(s),
|
|
3828
|
+
i(r),
|
|
3672
3829
|
i(a)
|
|
3673
3830
|
];
|
|
3674
3831
|
}
|
|
3675
|
-
function
|
|
3832
|
+
function io(e, t, o) {
|
|
3676
3833
|
t /= 100, o /= 100;
|
|
3677
|
-
const n = (a) => (a + e / 30) % 12,
|
|
3678
|
-
return [
|
|
3834
|
+
const n = (a) => (a + e / 30) % 12, s = t * Math.min(o, 1 - o), r = (a) => o - s * Math.max(-1, Math.min(n(a) - 3, Math.min(9 - n(a), 1)));
|
|
3835
|
+
return [r(0) * 255, r(8) * 255, r(4) * 255];
|
|
3679
3836
|
}
|
|
3680
|
-
function
|
|
3837
|
+
function as(e, t, o) {
|
|
3681
3838
|
return [e / 255, t / 255, o / 255];
|
|
3682
3839
|
}
|
|
3683
|
-
function
|
|
3840
|
+
function is(e, t, o) {
|
|
3684
3841
|
return e = Math.round(e), t = Math.round(t), o = Math.round(o), (e << 16) + (t << 8) + o;
|
|
3685
3842
|
}
|
|
3686
|
-
function
|
|
3843
|
+
function co(e, t, o) {
|
|
3687
3844
|
e /= 255, t /= 255, o /= 255;
|
|
3688
|
-
const n = Math.max(e, t, o),
|
|
3845
|
+
const n = Math.max(e, t, o), s = Math.min(e, t, o), r = n - s;
|
|
3689
3846
|
let a = 0, i = 0;
|
|
3690
|
-
const c = (n +
|
|
3691
|
-
|
|
3847
|
+
const c = (n + s) / 2;
|
|
3848
|
+
r !== 0 && (n === e ? a = ((t - o) / r + (t < o ? 6 : 0)) * 60 : n === t ? a = ((o - e) / r + 2) * 60 : n === o && (a = ((e - t) / r + 4) * 60)), r !== 0 && (i = r / (1 - Math.abs(2 * c - 1))), a = Math.round(a), i = Math.round(i * 100);
|
|
3692
3849
|
const l = Math.round(c * 100);
|
|
3693
3850
|
return [a, i, l];
|
|
3694
3851
|
}
|
|
3695
|
-
function
|
|
3852
|
+
function lo(e, t) {
|
|
3696
3853
|
return Math.sqrt(
|
|
3697
3854
|
Math.pow(e[0] - t[0], 2) + Math.pow(e[1] - t[1], 2) + Math.pow(e[2] - t[2], 2)
|
|
3698
3855
|
);
|
|
3699
3856
|
}
|
|
3700
|
-
function
|
|
3857
|
+
function uo(e, t) {
|
|
3701
3858
|
return Math.abs(e[0] - t[0]) + //
|
|
3702
3859
|
Math.abs(e[1] - t[1]) + Math.abs(e[2] - t[2]);
|
|
3703
3860
|
}
|
|
3704
|
-
function
|
|
3861
|
+
function cs(e, t) {
|
|
3705
3862
|
const o = X(e);
|
|
3706
|
-
let n = null,
|
|
3707
|
-
for (const
|
|
3708
|
-
const a = X(
|
|
3709
|
-
i <
|
|
3863
|
+
let n = null, s = 1 / 0;
|
|
3864
|
+
for (const r of t) {
|
|
3865
|
+
const a = X(r), i = lo(o, a);
|
|
3866
|
+
i < s && (s = i, n = r);
|
|
3710
3867
|
}
|
|
3711
3868
|
return n;
|
|
3712
3869
|
}
|
|
3713
|
-
function
|
|
3870
|
+
function ls(e, t) {
|
|
3714
3871
|
const o = X(e);
|
|
3715
|
-
let n = null,
|
|
3716
|
-
for (const
|
|
3717
|
-
const a = X(
|
|
3718
|
-
i <
|
|
3872
|
+
let n = null, s = 1 / 0;
|
|
3873
|
+
for (const r of t) {
|
|
3874
|
+
const a = X(r), i = uo(o, a);
|
|
3875
|
+
i < s && (s = i, n = r);
|
|
3719
3876
|
}
|
|
3720
3877
|
return n;
|
|
3721
3878
|
}
|
|
3722
|
-
function
|
|
3879
|
+
function us(e) {
|
|
3723
3880
|
const t = (e + Math.floor(-30 + Math.random() * 61)) % 360, o = Math.floor(60 + Math.random() * 21), n = Math.floor(50 + Math.random() * 21);
|
|
3724
|
-
return
|
|
3881
|
+
return io(t, o, n);
|
|
3725
3882
|
}
|
|
3726
|
-
function
|
|
3727
|
-
const t = new
|
|
3883
|
+
function ms(e) {
|
|
3884
|
+
const t = new et().setFromObject(e), o = new x();
|
|
3728
3885
|
t.getCenter(o), e.position.sub(o);
|
|
3729
3886
|
}
|
|
3730
|
-
function
|
|
3731
|
-
const o = new
|
|
3887
|
+
function hs(e, t = new x(0, 0, 0)) {
|
|
3888
|
+
const o = new et().setFromObject(e), n = new x();
|
|
3732
3889
|
o.getCenter(n);
|
|
3733
|
-
const
|
|
3734
|
-
e.position.add(
|
|
3890
|
+
const s = new x().subVectors(t, n);
|
|
3891
|
+
e.position.add(s);
|
|
3735
3892
|
}
|
|
3736
|
-
function
|
|
3893
|
+
function fs(e) {
|
|
3737
3894
|
e.computeBoundingBox();
|
|
3738
3895
|
const t = e.boundingBox;
|
|
3739
3896
|
if (t) {
|
|
3740
|
-
const o = t.getCenter(new
|
|
3897
|
+
const o = t.getCenter(new x());
|
|
3741
3898
|
e.translateX(-o.x), e.translateY(-o.y), e.translateZ(-o.z);
|
|
3742
3899
|
}
|
|
3743
3900
|
}
|
|
3744
|
-
function
|
|
3901
|
+
function mo(e, t, o) {
|
|
3745
3902
|
return Math.max(0, Math.min(1, (e - t) / (o - t)));
|
|
3746
3903
|
}
|
|
3747
|
-
function
|
|
3904
|
+
function ps(e, t, o, n, s, r = 20, a = 0, i = 1) {
|
|
3748
3905
|
const c = [];
|
|
3749
|
-
for (let l = 0; l <=
|
|
3750
|
-
const u = l /
|
|
3751
|
-
c.push(new
|
|
3906
|
+
for (let l = 0; l <= r; l++) {
|
|
3907
|
+
const u = l / r, m = e(mo(u, a, i)), h = t + m * (o - t), f = n + u * (s - n);
|
|
3908
|
+
c.push(new I(h, f));
|
|
3752
3909
|
}
|
|
3753
3910
|
return c;
|
|
3754
3911
|
}
|
|
3755
|
-
function
|
|
3756
|
-
const o = new
|
|
3912
|
+
function ds(e) {
|
|
3913
|
+
const o = new et().setFromObject(e).getCenter(new x());
|
|
3757
3914
|
e.translateX(-o.x), e.translateY(-o.y), e.translateZ(-o.z), e.updateMatrixWorld(!0);
|
|
3758
3915
|
}
|
|
3759
|
-
function
|
|
3916
|
+
function Ms(e, t = new x(0, 0, 0)) {
|
|
3917
|
+
const o = new et().setFromObject(e), n = new x();
|
|
3918
|
+
o.getCenter(n);
|
|
3919
|
+
const s = new x().subVectors(t, n);
|
|
3920
|
+
e.position.add(s);
|
|
3921
|
+
}
|
|
3922
|
+
function ys(e) {
|
|
3760
3923
|
e.geometry.computeBoundingBox();
|
|
3761
3924
|
const t = e.geometry.boundingBox;
|
|
3762
3925
|
if (t) {
|
|
3763
|
-
const o = t.getCenter(new
|
|
3926
|
+
const o = t.getCenter(new x());
|
|
3764
3927
|
e.geometry.translate(-o.x, -o.y, -o.z);
|
|
3765
3928
|
}
|
|
3766
3929
|
}
|
|
3767
|
-
|
|
3768
|
-
|
|
3769
|
-
|
|
3770
|
-
|
|
3771
|
-
|
|
3930
|
+
function ws(e, t = new x(0, 0, 0)) {
|
|
3931
|
+
e.geometry.computeBoundingBox();
|
|
3932
|
+
const o = e.geometry.boundingBox;
|
|
3933
|
+
if (o) {
|
|
3934
|
+
const n = o.getCenter(new x()), s = new x().subVectors(t, n);
|
|
3935
|
+
e.geometry.translate(s.x, s.y, s.z);
|
|
3772
3936
|
}
|
|
3773
|
-
|
|
3774
|
-
|
|
3937
|
+
}
|
|
3938
|
+
const ho = (e, t, o, n, s = 24) => {
|
|
3775
3939
|
let r = [];
|
|
3776
|
-
for (let
|
|
3777
|
-
const
|
|
3778
|
-
r.push(new
|
|
3940
|
+
for (let a = 0; a <= s; a++) {
|
|
3941
|
+
const i = a / s, c = F.CUBIC(i, e.x, t.x, o.x, n.x), l = F.CUBIC(i, e.y, t.y, o.y, n.y);
|
|
3942
|
+
r.push(new I(c, l));
|
|
3779
3943
|
}
|
|
3780
3944
|
return r;
|
|
3781
|
-
},
|
|
3945
|
+
}, fo = (e, t, o, n = 24) => {
|
|
3782
3946
|
let s = [];
|
|
3783
|
-
for (let
|
|
3784
|
-
const
|
|
3785
|
-
s.push(new
|
|
3947
|
+
for (let r = 0; r <= n; r++) {
|
|
3948
|
+
const a = r / n, i = F.DAMPED(a, o) * (t.x - e.x) + e.x, c = e.y + a * (t.y - e.y);
|
|
3949
|
+
s.push(new I(i, c));
|
|
3786
3950
|
}
|
|
3787
3951
|
return s;
|
|
3788
|
-
},
|
|
3789
|
-
let s = [];
|
|
3790
|
-
for (let a = 0; a <= r; a++) {
|
|
3791
|
-
const i = a / r, c = z.LOGARITHMIC(i, o, n) * (t.x - e.x) + e.x, l = e.y + i * (t.y - e.y);
|
|
3792
|
-
s.push(new g(c, l));
|
|
3793
|
-
}
|
|
3794
|
-
return s;
|
|
3795
|
-
}, co = (e, t, o, n, r, s = 24) => {
|
|
3796
|
-
let a = [];
|
|
3797
|
-
for (let i = 0; i <= s; i++) {
|
|
3798
|
-
const c = i / s, l = o * c * c + n * c + r + e.x, u = e.y + c * (t.y - e.y);
|
|
3799
|
-
a.push(new g(l, u));
|
|
3800
|
-
}
|
|
3801
|
-
return a;
|
|
3802
|
-
}, lo = (e, t, o, n = 24) => {
|
|
3952
|
+
}, po = (e, t, o, n, s = 24) => {
|
|
3803
3953
|
let r = [];
|
|
3804
|
-
for (let
|
|
3805
|
-
const
|
|
3806
|
-
r.push(new
|
|
3954
|
+
for (let a = 0; a <= s; a++) {
|
|
3955
|
+
const i = a / s, c = F.EXPONENTIAL(i, o, n) * (t.x - e.x) + e.x, l = e.y + i * (t.y - e.y);
|
|
3956
|
+
r.push(new I(c, l));
|
|
3807
3957
|
}
|
|
3808
3958
|
return r;
|
|
3809
|
-
},
|
|
3959
|
+
}, Mo = (e, t, o, n, s = 24) => {
|
|
3810
3960
|
let r = [];
|
|
3811
|
-
for (let
|
|
3812
|
-
const
|
|
3813
|
-
r.push(new
|
|
3961
|
+
for (let a = 0; a <= s; a++) {
|
|
3962
|
+
const i = a / s, c = F.LOGARITHMIC(i, o, n) * (t.x - e.x) + e.x, l = e.y + i * (t.y - e.y);
|
|
3963
|
+
r.push(new I(c, l));
|
|
3814
3964
|
}
|
|
3815
3965
|
return r;
|
|
3816
|
-
},
|
|
3817
|
-
|
|
3818
|
-
|
|
3819
|
-
|
|
3820
|
-
|
|
3821
|
-
|
|
3822
|
-
|
|
3823
|
-
|
|
3966
|
+
}, yo = (e, t, o, n, s, r = 24) => {
|
|
3967
|
+
let a = [];
|
|
3968
|
+
for (let i = 0; i <= r; i++) {
|
|
3969
|
+
const c = i / r, l = o * c * c + n * c + s + e.x, u = e.y + c * (t.y - e.y);
|
|
3970
|
+
a.push(new I(l, u));
|
|
3971
|
+
}
|
|
3972
|
+
return a;
|
|
3973
|
+
}, wo = (e, t, o, n = 24) => {
|
|
3974
|
+
let s = [];
|
|
3975
|
+
for (let r = 0; r <= n; r++) {
|
|
3976
|
+
const a = r / n, i = F.QUADRATIC(a, e.x, t.x, o.x), c = F.QUADRATIC(a, e.y, t.y, o.y);
|
|
3977
|
+
s.push(new I(i, c));
|
|
3978
|
+
}
|
|
3979
|
+
return s;
|
|
3980
|
+
}, xo = (e, t, o, n = 24) => {
|
|
3981
|
+
let s = [];
|
|
3982
|
+
for (let r = 0; r <= n; r++) {
|
|
3983
|
+
const a = r / n, i = F.SIGMOID(a, o) * (t.x - e.x) + e.x, c = e.y + a * (t.y - e.y);
|
|
3984
|
+
s.push(new I(i, c));
|
|
3985
|
+
}
|
|
3986
|
+
return s;
|
|
3987
|
+
}, xs = {
|
|
3988
|
+
createCubicCurvePoints: ho,
|
|
3989
|
+
createDampedCurvePoints: fo,
|
|
3990
|
+
createExponentialCurvePoints: po,
|
|
3991
|
+
createLogarithmicCurvePoints: Mo,
|
|
3992
|
+
createParabolicCurvePoints: yo,
|
|
3993
|
+
createQuadraticCurvePoints: wo,
|
|
3994
|
+
createSigmoidCurvePoints: xo
|
|
3824
3995
|
};
|
|
3825
|
-
function
|
|
3826
|
-
const l =
|
|
3996
|
+
function vs(e, t, o, n, s, r = [0, 0], a = [1, 0], i = [0, 1], c = [1, 1]) {
|
|
3997
|
+
const l = s || vo(e, t, o);
|
|
3827
3998
|
return [
|
|
3828
3999
|
// Triangle 1
|
|
3829
|
-
{ pos: e, norm: l, uv:
|
|
4000
|
+
{ pos: e, norm: l, uv: r },
|
|
3830
4001
|
{ pos: t, norm: l, uv: a },
|
|
3831
4002
|
{ pos: n, norm: l, uv: c },
|
|
3832
4003
|
// Triangle 2
|
|
3833
|
-
{ pos: e, norm: l, uv:
|
|
4004
|
+
{ pos: e, norm: l, uv: r },
|
|
3834
4005
|
{ pos: n, norm: l, uv: c },
|
|
3835
4006
|
{ pos: o, norm: l, uv: i }
|
|
3836
4007
|
];
|
|
3837
4008
|
}
|
|
3838
|
-
function
|
|
4009
|
+
function vo(e, t, o) {
|
|
3839
4010
|
const n = [
|
|
3840
4011
|
t[0] - e[0],
|
|
3841
4012
|
t[1] - e[1],
|
|
3842
4013
|
t[2] - e[2]
|
|
3843
|
-
],
|
|
4014
|
+
], s = [
|
|
3844
4015
|
o[0] - e[0],
|
|
3845
4016
|
o[1] - e[1],
|
|
3846
4017
|
o[2] - e[2]
|
|
3847
|
-
],
|
|
3848
|
-
n[1] *
|
|
3849
|
-
n[2] *
|
|
3850
|
-
n[0] *
|
|
3851
|
-
], a = Math.sqrt(
|
|
3852
|
-
return
|
|
3853
|
-
}
|
|
3854
|
-
function
|
|
3855
|
-
return e.map(([o, n,
|
|
4018
|
+
], r = [
|
|
4019
|
+
n[1] * s[2] - n[2] * s[1],
|
|
4020
|
+
n[2] * s[0] - n[0] * s[2],
|
|
4021
|
+
n[0] * s[1] - n[1] * s[0]
|
|
4022
|
+
], a = Math.sqrt(r[0] ** 2 + r[1] ** 2 + r[2] ** 2);
|
|
4023
|
+
return r.map((i) => i / a);
|
|
4024
|
+
}
|
|
4025
|
+
function gs(e, t) {
|
|
4026
|
+
return e.map(([o, n, s]) => {
|
|
3856
4027
|
switch (t) {
|
|
3857
4028
|
case "x":
|
|
3858
|
-
return [n,
|
|
4029
|
+
return [n, s];
|
|
3859
4030
|
case "y":
|
|
3860
|
-
return [o,
|
|
4031
|
+
return [o, s];
|
|
3861
4032
|
case "z":
|
|
3862
4033
|
return [o, n];
|
|
3863
4034
|
default:
|
|
@@ -3865,249 +4036,261 @@ function ls(e, t) {
|
|
|
3865
4036
|
}
|
|
3866
4037
|
});
|
|
3867
4038
|
}
|
|
3868
|
-
function
|
|
3869
|
-
const [t, o, n] = e,
|
|
3870
|
-
return
|
|
4039
|
+
function go(e) {
|
|
4040
|
+
const [t, o, n] = e, s = Math.abs(t), r = Math.abs(o), a = Math.abs(n);
|
|
4041
|
+
return s >= r && s >= a ? [n > 0 ? n : -n, o] : r >= s && r >= a ? [t, n > 0 ? n : -n] : [t, o];
|
|
3871
4042
|
}
|
|
3872
|
-
function
|
|
3873
|
-
return e.map((t) =>
|
|
4043
|
+
function Is(e) {
|
|
4044
|
+
return e.map((t) => go(t));
|
|
3874
4045
|
}
|
|
3875
|
-
function
|
|
4046
|
+
function As(e) {
|
|
3876
4047
|
return e.map(([t, o, n]) => {
|
|
3877
|
-
const
|
|
4048
|
+
const s = Math.atan2(n, t), r = Math.acos(o / Math.sqrt(t ** 2 + o ** 2 + n ** 2)), a = s / (2 * Math.PI) + 0.5, i = 1 - r / Math.PI;
|
|
3878
4049
|
return [a, i];
|
|
3879
4050
|
});
|
|
3880
4051
|
}
|
|
3881
|
-
function
|
|
4052
|
+
function Es(e) {
|
|
3882
4053
|
return e.map(([t, o, n]) => [Math.atan2(n, t) / (2 * Math.PI) + 0.5, o]);
|
|
3883
4054
|
}
|
|
3884
|
-
function
|
|
4055
|
+
function bs(e) {
|
|
3885
4056
|
return e.map(([t, o, n]) => {
|
|
3886
|
-
const
|
|
3887
|
-
return [Math.atan2(n, t) / (2 * Math.PI) + 0.5,
|
|
4057
|
+
const s = Math.sqrt(t ** 2 + n ** 2);
|
|
4058
|
+
return [Math.atan2(n, t) / (2 * Math.PI) + 0.5, s];
|
|
3888
4059
|
});
|
|
3889
4060
|
}
|
|
3890
|
-
function
|
|
4061
|
+
function Io(e, t, o, n, s) {
|
|
3891
4062
|
return [
|
|
3892
4063
|
(e[0] - t) / (o - t),
|
|
3893
|
-
(e[1] - n) / (
|
|
4064
|
+
(e[1] - n) / (s - n)
|
|
3894
4065
|
];
|
|
3895
4066
|
}
|
|
3896
|
-
function
|
|
3897
|
-
const [n,
|
|
3898
|
-
return e.map((i) =>
|
|
4067
|
+
function Ss(e, t, o) {
|
|
4068
|
+
const [n, s] = t, [r, a] = o;
|
|
4069
|
+
return e.map((i) => Io(i, n, r, s, a));
|
|
3899
4070
|
}
|
|
3900
|
-
function
|
|
3901
|
-
const t = Math.min(...e.map((
|
|
4071
|
+
function Ps(e) {
|
|
4072
|
+
const t = Math.min(...e.map((r) => r[0])), o = Math.max(...e.map((r) => r[0])), n = Math.min(...e.map((r) => r[1])), s = Math.max(...e.map((r) => r[1]));
|
|
3902
4073
|
return {
|
|
3903
4074
|
minBounds: [t, n],
|
|
3904
|
-
maxBounds: [o,
|
|
4075
|
+
maxBounds: [o, s]
|
|
3905
4076
|
};
|
|
3906
4077
|
}
|
|
3907
4078
|
export {
|
|
3908
|
-
|
|
3909
|
-
|
|
3910
|
-
|
|
3911
|
-
|
|
3912
|
-
|
|
3913
|
-
|
|
4079
|
+
Wn as AtmosphericSkybox,
|
|
4080
|
+
ht as Axis,
|
|
4081
|
+
jo as BifurcatedStaircaseGeometry,
|
|
4082
|
+
Yn as Bone,
|
|
4083
|
+
He as BoneGeometry,
|
|
4084
|
+
rn as Book,
|
|
3914
4085
|
yt as BookGeometry,
|
|
3915
|
-
|
|
3916
|
-
|
|
3917
|
-
|
|
3918
|
-
|
|
3919
|
-
|
|
3920
|
-
|
|
3921
|
-
|
|
3922
|
-
|
|
3923
|
-
|
|
3924
|
-
|
|
3925
|
-
|
|
3926
|
-
|
|
3927
|
-
|
|
3928
|
-
|
|
3929
|
-
|
|
3930
|
-
|
|
3931
|
-
|
|
3932
|
-
|
|
3933
|
-
|
|
3934
|
-
|
|
3935
|
-
|
|
4086
|
+
wn as Bookshelf,
|
|
4087
|
+
Fe as BookshelfGeometry,
|
|
4088
|
+
Yo as BubblingEffect,
|
|
4089
|
+
Sn as BunsenBurner,
|
|
4090
|
+
Dn as Burst,
|
|
4091
|
+
no as BurstShape,
|
|
4092
|
+
vn as Candle,
|
|
4093
|
+
De as CandleGeometry,
|
|
4094
|
+
it as ColorPalette,
|
|
4095
|
+
un as CrossHeadstone,
|
|
4096
|
+
Be as CrossHeadstoneGeometry,
|
|
4097
|
+
ts as DaySkybox,
|
|
4098
|
+
xn as Desk,
|
|
4099
|
+
Le as DeskGeometry,
|
|
4100
|
+
Qo as DioramaGeometry,
|
|
4101
|
+
ot as Direction,
|
|
4102
|
+
qo as Easing,
|
|
4103
|
+
Pn as ElectricPanel,
|
|
4104
|
+
Ee as EllipticLeafGeometry,
|
|
4105
|
+
Ro as EmissivePulseAnimation,
|
|
4106
|
+
Tn as ErlenmeyerFlask,
|
|
4107
|
+
Xe as ErlenmeyerFlaskGeometry,
|
|
3936
4108
|
K as Falloff,
|
|
3937
|
-
|
|
3938
|
-
|
|
3939
|
-
|
|
3940
|
-
|
|
3941
|
-
|
|
3942
|
-
|
|
3943
|
-
|
|
3944
|
-
|
|
3945
|
-
|
|
3946
|
-
|
|
3947
|
-
|
|
3948
|
-
|
|
3949
|
-
|
|
3950
|
-
|
|
3951
|
-
Ho as
|
|
3952
|
-
|
|
3953
|
-
|
|
3954
|
-
|
|
3955
|
-
|
|
3956
|
-
|
|
3957
|
-
|
|
3958
|
-
|
|
3959
|
-
|
|
3960
|
-
|
|
3961
|
-
|
|
3962
|
-
|
|
3963
|
-
|
|
3964
|
-
|
|
3965
|
-
|
|
3966
|
-
|
|
3967
|
-
|
|
3968
|
-
|
|
3969
|
-
|
|
3970
|
-
|
|
3971
|
-
|
|
3972
|
-
|
|
3973
|
-
|
|
3974
|
-
|
|
3975
|
-
|
|
3976
|
-
|
|
3977
|
-
|
|
3978
|
-
|
|
3979
|
-
|
|
3980
|
-
|
|
3981
|
-
|
|
3982
|
-
|
|
3983
|
-
|
|
3984
|
-
|
|
3985
|
-
|
|
3986
|
-
|
|
3987
|
-
|
|
3988
|
-
|
|
3989
|
-
|
|
3990
|
-
|
|
3991
|
-
|
|
3992
|
-
|
|
3993
|
-
|
|
3994
|
-
|
|
4109
|
+
gn as Flame,
|
|
4110
|
+
It as FlameGeometry,
|
|
4111
|
+
Gn as FlorenceFlask,
|
|
4112
|
+
Qe as FlorenceFlaskGeometry,
|
|
4113
|
+
kn as Gear,
|
|
4114
|
+
so as GearShape,
|
|
4115
|
+
Vn as Heart,
|
|
4116
|
+
ro as HeartShape,
|
|
4117
|
+
Xn as Hill,
|
|
4118
|
+
We as HillGeometry,
|
|
4119
|
+
an as Jar,
|
|
4120
|
+
Pe as JarGeometry,
|
|
4121
|
+
Ko as LShapedStaircaseGeometry,
|
|
4122
|
+
In as Lantern,
|
|
4123
|
+
Ho as LeafEffect,
|
|
4124
|
+
Cn as LeverPanel,
|
|
4125
|
+
_o as LightFlickerAnimation,
|
|
4126
|
+
Oo as LightningAnimation,
|
|
4127
|
+
Wo as LineEquations,
|
|
4128
|
+
mn as Mausoleum,
|
|
4129
|
+
Re as MausoleumGeometry,
|
|
4130
|
+
Bn as Microscope,
|
|
4131
|
+
sn as Moon,
|
|
4132
|
+
Rn as MortarAndPestle,
|
|
4133
|
+
Ke as MortarGeometry,
|
|
4134
|
+
An as MossyRocks,
|
|
4135
|
+
ke as MossyRocksGeometry,
|
|
4136
|
+
Zn as Mound,
|
|
4137
|
+
to as MoundGeometry,
|
|
4138
|
+
es as NightSkybox,
|
|
4139
|
+
hn as ObeliskHeadstone,
|
|
4140
|
+
Ne as ObeliskHeadstoneGeometry,
|
|
4141
|
+
Nn as Panel,
|
|
4142
|
+
_n as PanelLight,
|
|
4143
|
+
F as ParametricCurve,
|
|
4144
|
+
xs as ParametricCurveUtils,
|
|
4145
|
+
cn as PotionBottle,
|
|
4146
|
+
Ge as PotionBottleGeometry,
|
|
4147
|
+
En as Rock,
|
|
4148
|
+
qe as RockGeometry,
|
|
4149
|
+
bn as Rocks,
|
|
4150
|
+
Ye as RocksGeometry,
|
|
4151
|
+
fn as RoundedHeadstone,
|
|
4152
|
+
_e as RoundedHeadstoneGeometry,
|
|
4153
|
+
Jo as SpiralStaircaseGeometry,
|
|
4154
|
+
Un as SpiralTube,
|
|
4155
|
+
pn as SquareHeadstone,
|
|
4156
|
+
Ue as SquareHeadstoneGeometry,
|
|
4157
|
+
$o as StaircaseGeometry,
|
|
4158
|
+
On as Stand,
|
|
4159
|
+
Je as StandGeometry,
|
|
4160
|
+
qn as Star,
|
|
4161
|
+
ao as StarShape,
|
|
4162
|
+
dn as StoneFencePost,
|
|
4163
|
+
Oe as StoneFencePostGeometry,
|
|
4164
|
+
zn as TeslaCoil,
|
|
4165
|
+
$e as TeslaCoilGeometry,
|
|
4166
|
+
Fn as TestTube,
|
|
4167
|
+
ct as TestTubeGeometry,
|
|
4168
|
+
Ln as TestTubeRack,
|
|
4169
|
+
Hn as Tree,
|
|
4170
|
+
eo as TreeGeometry,
|
|
4171
|
+
ln as WineBottle,
|
|
4172
|
+
Ce as WineBottleGeometry,
|
|
4173
|
+
Mn as WroughtIronBar,
|
|
3995
4174
|
gt as WroughtIronBarGeometry,
|
|
3996
|
-
|
|
3997
|
-
|
|
3998
|
-
|
|
3999
|
-
|
|
4000
|
-
|
|
4001
|
-
|
|
4002
|
-
|
|
4003
|
-
|
|
4004
|
-
|
|
4005
|
-
|
|
4006
|
-
|
|
4007
|
-
|
|
4008
|
-
|
|
4009
|
-
|
|
4010
|
-
|
|
4011
|
-
|
|
4012
|
-
|
|
4013
|
-
|
|
4014
|
-
|
|
4015
|
-
|
|
4016
|
-
|
|
4017
|
-
|
|
4018
|
-
|
|
4019
|
-
|
|
4020
|
-
|
|
4021
|
-
|
|
4022
|
-
|
|
4023
|
-
|
|
4024
|
-
|
|
4025
|
-
|
|
4026
|
-
|
|
4027
|
-
|
|
4028
|
-
|
|
4029
|
-
|
|
4030
|
-
|
|
4031
|
-
|
|
4032
|
-
|
|
4033
|
-
|
|
4034
|
-
|
|
4035
|
-
|
|
4036
|
-
|
|
4037
|
-
|
|
4038
|
-
|
|
4039
|
-
|
|
4040
|
-
|
|
4041
|
-
|
|
4042
|
-
|
|
4043
|
-
|
|
4044
|
-
|
|
4045
|
-
|
|
4046
|
-
|
|
4047
|
-
|
|
4048
|
-
|
|
4049
|
-
|
|
4050
|
-
|
|
4051
|
-
|
|
4175
|
+
yn as WroughtIronFence,
|
|
4176
|
+
ze as WroughtIronFenceGeometry,
|
|
4177
|
+
Kn as addNoiseDisplacement,
|
|
4178
|
+
jn as addWaterDisplacement,
|
|
4179
|
+
je as appendSphericalCurve,
|
|
4180
|
+
st as atmosphericShader,
|
|
4181
|
+
uo as calculateChannelDifference,
|
|
4182
|
+
lo as calculateDistance,
|
|
4183
|
+
vo as calculateNormal,
|
|
4184
|
+
Ps as calculateUVBounds,
|
|
4185
|
+
vt as calculateXFromSlopeIntercept,
|
|
4186
|
+
Te as calculateYFromSlopeIntercept,
|
|
4187
|
+
bo as cameraDollyAnimation,
|
|
4188
|
+
So as cameraFlythroughAnimation,
|
|
4189
|
+
Po as cameraOrbitAnimation,
|
|
4190
|
+
To as cameraPendulumAnimation,
|
|
4191
|
+
Go as cameraSpiralAscensionAnimation,
|
|
4192
|
+
Co as cameraWobbleAnimation,
|
|
4193
|
+
Bo as cameraZoomInAnimation,
|
|
4194
|
+
Ze as capHeightFromRadius,
|
|
4195
|
+
en as capWidthFromRadius,
|
|
4196
|
+
nn as cartesianToSpherical,
|
|
4197
|
+
ms as centerGroup,
|
|
4198
|
+
hs as centerGroupAtTarget,
|
|
4199
|
+
fs as centerInstancedMesh,
|
|
4200
|
+
ds as centerMesh,
|
|
4201
|
+
Ms as centerMeshAtTarget,
|
|
4202
|
+
ys as centerMeshGeometry,
|
|
4203
|
+
ws as centerMeshGeometryAtTarget,
|
|
4204
|
+
os as checkerboardTexture,
|
|
4205
|
+
re as circularEaseIn,
|
|
4206
|
+
ie as circularEaseInOut,
|
|
4207
|
+
ae as circularEaseOut,
|
|
4208
|
+
ue as concave,
|
|
4209
|
+
me as convex,
|
|
4210
|
+
ho as createCubicCurvePoints,
|
|
4211
|
+
fo as createDampedCurvePoints,
|
|
4212
|
+
po as createExponentialCurvePoints,
|
|
4213
|
+
Mo as createLogarithmicCurvePoints,
|
|
4214
|
+
yo as createParabolicCurvePoints,
|
|
4215
|
+
vs as createQuad,
|
|
4216
|
+
wo as createQuadraticCurvePoints,
|
|
4217
|
+
xo as createSigmoidCurvePoints,
|
|
4218
|
+
Me as cubicCurve,
|
|
4219
|
+
Zt as cubicEaseIn,
|
|
4220
|
+
Qt as cubicEaseInOut,
|
|
4221
|
+
jt as cubicEaseOut,
|
|
4222
|
+
go as cubicUVMapping,
|
|
4223
|
+
Is as cubicUVMappingBatch,
|
|
4224
|
+
Es as cylindricalUVMapping,
|
|
4225
|
+
ye as dampedCurve,
|
|
4226
|
+
rt as daySkyShader,
|
|
4227
|
+
zo as displacementBrush,
|
|
4228
|
+
we as exponentialCurve,
|
|
4229
|
+
oe as exponentialEaseIn,
|
|
4230
|
+
se as exponentialEaseInOut,
|
|
4231
|
+
ne as exponentialEaseOut,
|
|
4232
|
+
$n as fadeShader,
|
|
4233
|
+
cs as findClosestColor,
|
|
4234
|
+
ls as findClosestColorChannelWise,
|
|
4235
|
+
Fo as flattenBrush,
|
|
4236
|
+
de as gaussian,
|
|
4237
|
+
us as getAnalogousColors,
|
|
4238
|
+
ss as hexToHsl,
|
|
4052
4239
|
X as hexToRgb,
|
|
4053
|
-
|
|
4054
|
-
|
|
4055
|
-
|
|
4056
|
-
|
|
4057
|
-
|
|
4058
|
-
|
|
4059
|
-
|
|
4060
|
-
|
|
4061
|
-
|
|
4062
|
-
|
|
4063
|
-
|
|
4064
|
-
|
|
4065
|
-
|
|
4066
|
-
|
|
4067
|
-
|
|
4068
|
-
|
|
4069
|
-
|
|
4070
|
-
|
|
4071
|
-
|
|
4072
|
-
|
|
4073
|
-
|
|
4074
|
-
|
|
4075
|
-
|
|
4076
|
-
|
|
4077
|
-
|
|
4078
|
-
|
|
4079
|
-
|
|
4080
|
-
|
|
4081
|
-
|
|
4082
|
-
|
|
4083
|
-
|
|
4084
|
-
|
|
4085
|
-
|
|
4086
|
-
|
|
4087
|
-
|
|
4088
|
-
|
|
4089
|
-
|
|
4090
|
-
|
|
4091
|
-
|
|
4092
|
-
zo as rowOfBooksByLength,
|
|
4093
|
-
vt as rowOfBooksByScales,
|
|
4240
|
+
rs as hslToHex,
|
|
4241
|
+
io as hslToRgb,
|
|
4242
|
+
ps as interpolateCurve,
|
|
4243
|
+
pe as inverse,
|
|
4244
|
+
ce as linear,
|
|
4245
|
+
he as logarithmic,
|
|
4246
|
+
xe as logarithmicCurve,
|
|
4247
|
+
Ft as logarithmicRandomMax,
|
|
4248
|
+
Lt as logarithmicRandomMin,
|
|
4249
|
+
oo as moonShader,
|
|
4250
|
+
at as nightSkyShader,
|
|
4251
|
+
Lo as noiseBrush,
|
|
4252
|
+
as as normalizeRgb,
|
|
4253
|
+
Io as normalizeUV,
|
|
4254
|
+
Ss as normalizeUVBatch,
|
|
4255
|
+
ve as parabolicCurve,
|
|
4256
|
+
ns as parseHexCode,
|
|
4257
|
+
gs as planarUVMapping,
|
|
4258
|
+
bs as polarUVMapping,
|
|
4259
|
+
ge as quadraticCurve,
|
|
4260
|
+
Yt as quadraticEaseIn,
|
|
4261
|
+
Xt as quadraticEaseInOut,
|
|
4262
|
+
Ht as quadraticEaseOut,
|
|
4263
|
+
Kt as quarticEaseIn,
|
|
4264
|
+
$t as quarticEaseInOut,
|
|
4265
|
+
Jt as quarticEaseOut,
|
|
4266
|
+
Wt as quinticEaseIn,
|
|
4267
|
+
ee as quinticEaseInOut,
|
|
4268
|
+
te as quinticEaseOut,
|
|
4269
|
+
tn as radiusFromCapHeight,
|
|
4270
|
+
At as radiusFromCapWidth,
|
|
4271
|
+
mt as randomFloat,
|
|
4272
|
+
No as randomInteger,
|
|
4273
|
+
Ve as randomTransformVertices,
|
|
4274
|
+
is as rgbToHex,
|
|
4275
|
+
co as rgbToHsl,
|
|
4276
|
+
Xo as rowOfBooksByCount,
|
|
4277
|
+
Zo as rowOfBooksByLength,
|
|
4278
|
+
xt as rowOfBooksByScales,
|
|
4094
4279
|
Uo as setRandomInterval,
|
|
4095
|
-
|
|
4096
|
-
|
|
4097
|
-
|
|
4098
|
-
|
|
4099
|
-
|
|
4100
|
-
|
|
4101
|
-
|
|
4102
|
-
|
|
4103
|
-
|
|
4104
|
-
|
|
4105
|
-
|
|
4106
|
-
|
|
4107
|
-
|
|
4108
|
-
|
|
4109
|
-
|
|
4110
|
-
Io as wobbleAnimation,
|
|
4111
|
-
Eo as zoomInAnimation
|
|
4280
|
+
Dt as setRandomTimeout,
|
|
4281
|
+
Ie as sigmoidCurve,
|
|
4282
|
+
kt as sineEaseIn,
|
|
4283
|
+
qt as sineEaseInOut,
|
|
4284
|
+
Vt as sineEaseOut,
|
|
4285
|
+
Do as smoothBrush,
|
|
4286
|
+
le as smoothstep,
|
|
4287
|
+
on as sphericalToCartesian,
|
|
4288
|
+
As as sphericalUVMapping,
|
|
4289
|
+
ko as spikeBrush,
|
|
4290
|
+
fe as squareRoot,
|
|
4291
|
+
dt as thetaLengthForRadius,
|
|
4292
|
+
Vo as twistBrush,
|
|
4293
|
+
Jn as updateNoiseDisplacementTime,
|
|
4294
|
+
Qn as updateWaterDisplacementTime
|
|
4112
4295
|
};
|
|
4113
4296
|
//# sourceMappingURL=index.es.js.map
|