three-low-poly 0.9.3 → 0.9.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +4 -4
- package/dist/index.cjs.js +34 -3
- package/dist/index.cjs.js.map +1 -1
- package/dist/index.es.js +875 -647
- package/dist/index.es.js.map +1 -1
- package/dist/index.iife.js +34 -3
- package/dist/index.iife.js.map +1 -1
- package/dist/index.umd.js +34 -3
- package/dist/index.umd.js.map +1 -1
- package/package.json +2 -2
package/dist/index.es.js
CHANGED
|
@@ -1,244 +1,245 @@
|
|
|
1
|
-
import { Group as
|
|
2
|
-
import { mergeGeometries as
|
|
3
|
-
|
|
1
|
+
import { Group as g, SphereGeometry as T, MeshStandardMaterial as y, Mesh as m, BufferGeometry as b, Float32BufferAttribute as F, BoxGeometry as x, ConeGeometry as L, CylinderGeometry as v, Vector2 as G, LatheGeometry as z, CircleGeometry as oe, ShaderMaterial as Y, Shape as q, ExtrudeGeometry as A, MeshBasicMaterial as se, PointLight as Q, TorusGeometry as $, DodecahedronGeometry as D, MeshPhysicalMaterial as Z, DoubleSide as N, CatmullRomCurve3 as ne, Vector3 as C, TubeGeometry as ae, LineBasicMaterial as re, Line as ce, Path as ie, Color as H, BackSide as R, DataTexture as le, RGBAFormat as me, UnsignedByteType as he, RepeatWrapping as J, NearestFilter as ue } from "three";
|
|
2
|
+
import { mergeGeometries as I } from "three/addons/utils/BufferGeometryUtils.js";
|
|
3
|
+
import { Sky as fe } from "three/addons/objects/Sky.js";
|
|
4
|
+
class Se extends g {
|
|
4
5
|
constructor() {
|
|
5
6
|
super();
|
|
6
|
-
const e = [],
|
|
7
|
+
const e = [], o = 20, t = new T(0.1, 6, 6), s = new y({
|
|
7
8
|
color: 16777215,
|
|
8
9
|
transparent: !0,
|
|
9
10
|
opacity: 0.6,
|
|
10
11
|
roughness: 0.3,
|
|
11
12
|
metalness: 0.3
|
|
12
13
|
});
|
|
13
|
-
for (let
|
|
14
|
-
const
|
|
15
|
-
|
|
14
|
+
for (let a = 0; a < o; a++) {
|
|
15
|
+
const c = new m(t, s);
|
|
16
|
+
c.position.set(
|
|
16
17
|
(Math.random() - 0.5) * 1.5,
|
|
17
18
|
// Random x position within flask
|
|
18
19
|
Math.random() * 3,
|
|
19
20
|
// Random y position within flask height
|
|
20
21
|
(Math.random() - 0.5) * 1.5
|
|
21
22
|
// Random z position within flask
|
|
22
|
-
), e.push(
|
|
23
|
+
), e.push(c), this.add(c);
|
|
23
24
|
}
|
|
24
|
-
function
|
|
25
|
-
e.forEach((
|
|
26
|
-
|
|
25
|
+
function r() {
|
|
26
|
+
e.forEach((a) => {
|
|
27
|
+
a.position.y += 0.02, a.position.y > 3 && (a.position.y = 0, a.position.x = (Math.random() - 0.5) * 1.5, a.position.z = (Math.random() - 0.5) * 1.5);
|
|
27
28
|
});
|
|
28
29
|
}
|
|
29
|
-
function
|
|
30
|
-
requestAnimationFrame(
|
|
30
|
+
function n() {
|
|
31
|
+
requestAnimationFrame(n), r();
|
|
31
32
|
}
|
|
32
|
-
|
|
33
|
+
n();
|
|
33
34
|
}
|
|
34
35
|
}
|
|
35
|
-
class
|
|
36
|
-
constructor(e = 2,
|
|
36
|
+
class Pe extends b {
|
|
37
|
+
constructor(e = 2, o = 0.3, t = 0.6, s = 5, r = 5, n = Math.PI / 4) {
|
|
37
38
|
super();
|
|
38
|
-
const
|
|
39
|
-
for (let
|
|
40
|
-
const
|
|
41
|
-
|
|
39
|
+
const a = [], c = [];
|
|
40
|
+
for (let p = 0; p < s; p++) {
|
|
41
|
+
const M = p * o, d = M + o, w = p * t, P = w + t;
|
|
42
|
+
a.push(
|
|
42
43
|
// Vertical riser
|
|
43
44
|
-e / 2,
|
|
44
|
-
|
|
45
|
-
|
|
45
|
+
M,
|
|
46
|
+
w,
|
|
46
47
|
// Bottom-left
|
|
47
48
|
e / 2,
|
|
48
|
-
|
|
49
|
-
|
|
49
|
+
M,
|
|
50
|
+
w,
|
|
50
51
|
// Bottom-right
|
|
51
52
|
e / 2,
|
|
52
|
-
|
|
53
|
-
|
|
53
|
+
d,
|
|
54
|
+
w,
|
|
54
55
|
// Top-right
|
|
55
56
|
-e / 2,
|
|
56
|
-
|
|
57
|
-
|
|
57
|
+
d,
|
|
58
|
+
w,
|
|
58
59
|
// Top-left
|
|
59
60
|
// Horizontal tread
|
|
60
61
|
-e / 2,
|
|
61
|
-
|
|
62
|
-
|
|
62
|
+
d,
|
|
63
|
+
w,
|
|
63
64
|
// Top-left
|
|
64
65
|
e / 2,
|
|
65
|
-
|
|
66
|
-
|
|
66
|
+
d,
|
|
67
|
+
w,
|
|
67
68
|
// Top-right
|
|
68
69
|
e / 2,
|
|
69
|
-
|
|
70
|
-
|
|
70
|
+
d,
|
|
71
|
+
P,
|
|
71
72
|
// Back-right
|
|
72
73
|
-e / 2,
|
|
73
|
-
|
|
74
|
-
|
|
74
|
+
d,
|
|
75
|
+
P
|
|
75
76
|
// Back-left
|
|
76
77
|
);
|
|
77
|
-
const
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
),
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
78
|
+
const S = p * 8;
|
|
79
|
+
c.push(
|
|
80
|
+
S,
|
|
81
|
+
S + 1,
|
|
82
|
+
S + 2,
|
|
83
|
+
S,
|
|
84
|
+
S + 2,
|
|
85
|
+
S + 3
|
|
86
|
+
), c.push(
|
|
87
|
+
S + 4,
|
|
88
|
+
S + 5,
|
|
89
|
+
S + 6,
|
|
90
|
+
S + 4,
|
|
91
|
+
S + 6,
|
|
92
|
+
S + 7
|
|
92
93
|
);
|
|
93
94
|
}
|
|
94
|
-
const
|
|
95
|
-
|
|
95
|
+
const i = s * o, l = s * t, u = e * 2;
|
|
96
|
+
a.push(
|
|
96
97
|
// Landing platform (4 vertices)
|
|
97
|
-
-
|
|
98
|
-
|
|
98
|
+
-u / 2,
|
|
99
|
+
i,
|
|
99
100
|
l,
|
|
100
101
|
// Bottom-left
|
|
101
|
-
|
|
102
|
-
|
|
102
|
+
u / 2,
|
|
103
|
+
i,
|
|
103
104
|
l,
|
|
104
105
|
// Bottom-right
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
l +
|
|
106
|
+
u / 2,
|
|
107
|
+
i,
|
|
108
|
+
l + t,
|
|
108
109
|
// Top-right
|
|
109
|
-
-
|
|
110
|
-
|
|
111
|
-
l +
|
|
110
|
+
-u / 2,
|
|
111
|
+
i,
|
|
112
|
+
l + t
|
|
112
113
|
// Top-left
|
|
113
114
|
);
|
|
114
|
-
const
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
115
|
+
const f = s * 8;
|
|
116
|
+
c.push(
|
|
117
|
+
f,
|
|
118
|
+
f + 1,
|
|
119
|
+
f + 2,
|
|
119
120
|
// First triangle for landing
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
121
|
+
f,
|
|
122
|
+
f + 2,
|
|
123
|
+
f + 3
|
|
123
124
|
// Second triangle for landing
|
|
124
125
|
);
|
|
125
|
-
for (let
|
|
126
|
-
const
|
|
127
|
-
for (let
|
|
128
|
-
const
|
|
129
|
-
|
|
126
|
+
for (let p = 0; p < 2; p++) {
|
|
127
|
+
const M = p === 0 ? 1 : -1;
|
|
128
|
+
for (let d = 0; d < r; d++) {
|
|
129
|
+
const w = i + d * o, P = w + o, S = M * (u / 4), V = l + t, O = d * t * Math.cos(n), W = d * t * Math.sin(n), E = S + M * O - e / 2 * Math.cos(n), U = S + M * O + e / 2 * Math.cos(n), B = V + W, ee = E + M * t * Math.cos(n), te = U + M * t * Math.cos(n), X = B + t * Math.sin(n);
|
|
130
|
+
a.push(
|
|
130
131
|
// Vertical riser
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
132
|
+
E,
|
|
133
|
+
w,
|
|
134
|
+
B,
|
|
134
135
|
// Bottom-left
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
136
|
+
U,
|
|
137
|
+
w,
|
|
138
|
+
B,
|
|
138
139
|
// Bottom-right
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
140
|
+
U,
|
|
141
|
+
P,
|
|
142
|
+
B,
|
|
142
143
|
// Top-right
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
144
|
+
E,
|
|
145
|
+
P,
|
|
146
|
+
B,
|
|
146
147
|
// Top-left
|
|
147
148
|
// Horizontal tread
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
149
|
+
E,
|
|
150
|
+
P,
|
|
151
|
+
B,
|
|
151
152
|
// Top-left
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
153
|
+
U,
|
|
154
|
+
P,
|
|
155
|
+
B,
|
|
155
156
|
// Top-right
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
157
|
+
te,
|
|
158
|
+
P,
|
|
159
|
+
X,
|
|
159
160
|
// Back-right
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
161
|
+
ee,
|
|
162
|
+
P,
|
|
163
|
+
X
|
|
163
164
|
// Back-left
|
|
164
165
|
);
|
|
165
|
-
const
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
),
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
166
|
+
const k = f + 4 + p * r * 8 + d * 8;
|
|
167
|
+
c.push(
|
|
168
|
+
k,
|
|
169
|
+
k + 1,
|
|
170
|
+
k + 2,
|
|
171
|
+
k,
|
|
172
|
+
k + 2,
|
|
173
|
+
k + 3
|
|
174
|
+
), c.push(
|
|
175
|
+
k + 4,
|
|
176
|
+
k + 5,
|
|
177
|
+
k + 6,
|
|
178
|
+
k + 4,
|
|
179
|
+
k + 6,
|
|
180
|
+
k + 7
|
|
180
181
|
);
|
|
181
182
|
}
|
|
182
183
|
}
|
|
183
|
-
this.setIndex(
|
|
184
|
+
this.setIndex(c), this.setAttribute("position", new F(a, 3)), this.computeVertexNormals();
|
|
184
185
|
}
|
|
185
186
|
}
|
|
186
|
-
class
|
|
187
|
-
constructor(e = 5,
|
|
187
|
+
class ke extends b {
|
|
188
|
+
constructor(e = 5, o = 3, t = 5, s = 0.2) {
|
|
188
189
|
super();
|
|
189
|
-
const
|
|
190
|
+
const r = [
|
|
190
191
|
// Floor vertices
|
|
191
192
|
-e / 2,
|
|
192
193
|
0,
|
|
193
|
-
-
|
|
194
|
+
-t / 2,
|
|
194
195
|
// 0
|
|
195
196
|
e / 2,
|
|
196
197
|
0,
|
|
197
|
-
-
|
|
198
|
+
-t / 2,
|
|
198
199
|
// 1
|
|
199
200
|
e / 2,
|
|
200
201
|
0,
|
|
201
|
-
|
|
202
|
+
t / 2,
|
|
202
203
|
// 2
|
|
203
204
|
-e / 2,
|
|
204
205
|
0,
|
|
205
|
-
|
|
206
|
+
t / 2,
|
|
206
207
|
// 3
|
|
207
208
|
// Back wall vertices
|
|
208
209
|
-e / 2,
|
|
209
210
|
0,
|
|
210
|
-
-
|
|
211
|
+
-t / 2,
|
|
211
212
|
// 4
|
|
212
213
|
e / 2,
|
|
213
214
|
0,
|
|
214
|
-
-
|
|
215
|
+
-t / 2,
|
|
215
216
|
// 5
|
|
216
217
|
e / 2,
|
|
217
|
-
|
|
218
|
-
-
|
|
218
|
+
o,
|
|
219
|
+
-t / 2,
|
|
219
220
|
// 6
|
|
220
221
|
-e / 2,
|
|
221
|
-
|
|
222
|
-
-
|
|
222
|
+
o,
|
|
223
|
+
-t / 2,
|
|
223
224
|
// 7
|
|
224
225
|
// Left wall vertices
|
|
225
226
|
-e / 2,
|
|
226
227
|
0,
|
|
227
|
-
-
|
|
228
|
+
-t / 2,
|
|
228
229
|
// 8
|
|
229
230
|
-e / 2,
|
|
230
231
|
0,
|
|
231
|
-
|
|
232
|
+
t / 2,
|
|
232
233
|
// 9
|
|
233
234
|
-e / 2,
|
|
234
|
-
|
|
235
|
-
|
|
235
|
+
o,
|
|
236
|
+
t / 2,
|
|
236
237
|
// 10
|
|
237
238
|
-e / 2,
|
|
238
|
-
|
|
239
|
-
-
|
|
239
|
+
o,
|
|
240
|
+
-t / 2
|
|
240
241
|
// 11
|
|
241
|
-
],
|
|
242
|
+
], n = [
|
|
242
243
|
// Floor
|
|
243
244
|
0,
|
|
244
245
|
1,
|
|
@@ -261,90 +262,90 @@ class de extends b {
|
|
|
261
262
|
10,
|
|
262
263
|
11
|
|
263
264
|
];
|
|
264
|
-
this.setIndex(
|
|
265
|
+
this.setIndex(n), this.setAttribute("position", new F(r, 3)), this.computeVertexNormals();
|
|
265
266
|
}
|
|
266
267
|
}
|
|
267
|
-
class
|
|
268
|
-
constructor(e = 2,
|
|
268
|
+
class Ie extends b {
|
|
269
|
+
constructor(e = 2, o = 0.3, t = 0.5, s = 5, r = 2) {
|
|
269
270
|
super();
|
|
270
|
-
const
|
|
271
|
-
for (let
|
|
272
|
-
const
|
|
273
|
-
|
|
271
|
+
const n = [], a = [];
|
|
272
|
+
for (let u = 0; u < s; u++) {
|
|
273
|
+
const f = u * o, p = f + o, M = u * t, d = M + t;
|
|
274
|
+
n.push(
|
|
274
275
|
// Vertical riser
|
|
275
276
|
-e / 2,
|
|
276
|
-
u,
|
|
277
277
|
f,
|
|
278
|
+
M,
|
|
278
279
|
// Bottom-left
|
|
279
280
|
e / 2,
|
|
280
|
-
u,
|
|
281
281
|
f,
|
|
282
|
+
M,
|
|
282
283
|
// Bottom-right
|
|
283
284
|
e / 2,
|
|
285
|
+
p,
|
|
284
286
|
M,
|
|
285
|
-
f,
|
|
286
287
|
// Top-right
|
|
287
288
|
-e / 2,
|
|
289
|
+
p,
|
|
288
290
|
M,
|
|
289
|
-
f,
|
|
290
291
|
// Top-left
|
|
291
292
|
// Horizontal tread
|
|
292
293
|
-e / 2,
|
|
294
|
+
p,
|
|
293
295
|
M,
|
|
294
|
-
f,
|
|
295
296
|
// Top-left
|
|
296
297
|
e / 2,
|
|
298
|
+
p,
|
|
297
299
|
M,
|
|
298
|
-
f,
|
|
299
300
|
// Top-right
|
|
300
301
|
e / 2,
|
|
301
|
-
M,
|
|
302
302
|
p,
|
|
303
|
+
d,
|
|
303
304
|
// Back-right
|
|
304
305
|
-e / 2,
|
|
305
|
-
|
|
306
|
-
|
|
306
|
+
p,
|
|
307
|
+
d
|
|
307
308
|
// Back-left
|
|
308
309
|
);
|
|
309
|
-
const
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
),
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
310
|
+
const w = u * 8;
|
|
311
|
+
a.push(
|
|
312
|
+
w,
|
|
313
|
+
w + 1,
|
|
314
|
+
w + 2,
|
|
315
|
+
w,
|
|
316
|
+
w + 2,
|
|
317
|
+
w + 3
|
|
318
|
+
), a.push(
|
|
319
|
+
w + 4,
|
|
320
|
+
w + 5,
|
|
321
|
+
w + 6,
|
|
322
|
+
w + 4,
|
|
323
|
+
w + 6,
|
|
324
|
+
w + 7
|
|
324
325
|
);
|
|
325
326
|
}
|
|
326
|
-
const
|
|
327
|
-
|
|
327
|
+
const c = s * o, i = s * t;
|
|
328
|
+
n.push(
|
|
328
329
|
// Landing platform (4 vertices)
|
|
329
330
|
-e / 2,
|
|
330
|
-
i,
|
|
331
331
|
c,
|
|
332
|
+
i,
|
|
332
333
|
// Bottom-left
|
|
333
334
|
e / 2,
|
|
334
|
-
i,
|
|
335
335
|
c,
|
|
336
|
+
i,
|
|
336
337
|
// Bottom-right
|
|
337
338
|
e / 2,
|
|
338
|
-
|
|
339
|
-
|
|
339
|
+
c,
|
|
340
|
+
i + r,
|
|
340
341
|
// Top-right
|
|
341
342
|
-e / 2,
|
|
342
|
-
|
|
343
|
-
|
|
343
|
+
c,
|
|
344
|
+
i + r
|
|
344
345
|
// Top-left
|
|
345
346
|
);
|
|
346
347
|
const l = s * 8;
|
|
347
|
-
|
|
348
|
+
a.push(
|
|
348
349
|
l,
|
|
349
350
|
l + 1,
|
|
350
351
|
l + 2,
|
|
@@ -354,266 +355,266 @@ class fe extends b {
|
|
|
354
355
|
l + 3
|
|
355
356
|
// Second triangle for landing
|
|
356
357
|
);
|
|
357
|
-
for (let
|
|
358
|
-
const
|
|
359
|
-
|
|
358
|
+
for (let u = 0; u < s; u++) {
|
|
359
|
+
const f = c + u * o, p = f + o, M = -e / 2 - u * t, d = M - t;
|
|
360
|
+
n.push(
|
|
360
361
|
// Vertical riser
|
|
362
|
+
M,
|
|
361
363
|
f,
|
|
362
|
-
|
|
363
|
-
c + n,
|
|
364
|
+
i + r,
|
|
364
365
|
// Bottom-left
|
|
366
|
+
M,
|
|
365
367
|
f,
|
|
366
|
-
|
|
367
|
-
c + n - e,
|
|
368
|
+
i + r - e,
|
|
368
369
|
// Bottom-right
|
|
369
|
-
f,
|
|
370
370
|
M,
|
|
371
|
-
|
|
371
|
+
p,
|
|
372
|
+
i + r - e,
|
|
372
373
|
// Top-right
|
|
373
|
-
f,
|
|
374
374
|
M,
|
|
375
|
-
|
|
375
|
+
p,
|
|
376
|
+
i + r,
|
|
376
377
|
// Top-left
|
|
377
378
|
// Horizontal tread
|
|
378
|
-
f,
|
|
379
379
|
M,
|
|
380
|
-
|
|
380
|
+
p,
|
|
381
|
+
i + r,
|
|
381
382
|
// Top-left
|
|
382
|
-
f,
|
|
383
383
|
M,
|
|
384
|
-
|
|
384
|
+
p,
|
|
385
|
+
i + r - e,
|
|
385
386
|
// Top-right
|
|
387
|
+
d,
|
|
386
388
|
p,
|
|
387
|
-
|
|
388
|
-
c + n - e,
|
|
389
|
+
i + r - e,
|
|
389
390
|
// Back-right
|
|
391
|
+
d,
|
|
390
392
|
p,
|
|
391
|
-
|
|
392
|
-
c + n
|
|
393
|
+
i + r
|
|
393
394
|
// Back-left
|
|
394
395
|
);
|
|
395
|
-
const
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
),
|
|
404
|
-
|
|
405
|
-
|
|
406
|
-
|
|
407
|
-
|
|
408
|
-
|
|
409
|
-
|
|
396
|
+
const w = l + 4 + u * 8;
|
|
397
|
+
a.push(
|
|
398
|
+
w,
|
|
399
|
+
w + 1,
|
|
400
|
+
w + 2,
|
|
401
|
+
w,
|
|
402
|
+
w + 2,
|
|
403
|
+
w + 3
|
|
404
|
+
), a.push(
|
|
405
|
+
w + 4,
|
|
406
|
+
w + 5,
|
|
407
|
+
w + 6,
|
|
408
|
+
w + 4,
|
|
409
|
+
w + 6,
|
|
410
|
+
w + 7
|
|
410
411
|
);
|
|
411
412
|
}
|
|
412
|
-
this.setIndex(
|
|
413
|
+
this.setIndex(a), this.setAttribute("position", new F(n, 3)), this.computeVertexNormals();
|
|
413
414
|
}
|
|
414
415
|
}
|
|
415
|
-
class
|
|
416
|
-
constructor(e = 1,
|
|
416
|
+
class Te extends b {
|
|
417
|
+
constructor(e = 1, o = 0.4, t = 0.2, s = 20, r = 2, n = Math.PI / 8) {
|
|
417
418
|
super();
|
|
418
|
-
const
|
|
419
|
-
let
|
|
419
|
+
const a = [], c = [];
|
|
420
|
+
let i = 0;
|
|
420
421
|
for (let l = 0; l < s; l++) {
|
|
421
|
-
const
|
|
422
|
-
|
|
422
|
+
const u = r * Math.cos(i), f = r * Math.sin(i), p = l * t, M = p + t;
|
|
423
|
+
a.push(
|
|
423
424
|
// Front face (vertical riser)
|
|
424
|
-
|
|
425
|
-
|
|
426
|
-
|
|
425
|
+
u - e / 2 * Math.cos(i),
|
|
426
|
+
p,
|
|
427
|
+
f - e / 2 * Math.sin(i),
|
|
427
428
|
// Bottom-left
|
|
428
|
-
|
|
429
|
-
|
|
430
|
-
|
|
429
|
+
u + e / 2 * Math.cos(i),
|
|
430
|
+
p,
|
|
431
|
+
f + e / 2 * Math.sin(i),
|
|
431
432
|
// Bottom-right
|
|
432
|
-
|
|
433
|
-
|
|
434
|
-
|
|
433
|
+
u + e / 2 * Math.cos(i),
|
|
434
|
+
M,
|
|
435
|
+
f + e / 2 * Math.sin(i),
|
|
435
436
|
// Top-right
|
|
436
|
-
|
|
437
|
-
|
|
438
|
-
|
|
437
|
+
u - e / 2 * Math.cos(i),
|
|
438
|
+
M,
|
|
439
|
+
f - e / 2 * Math.sin(i)
|
|
439
440
|
// Top-left
|
|
440
|
-
),
|
|
441
|
+
), a.push(
|
|
441
442
|
// Top face (horizontal tread)
|
|
442
|
-
|
|
443
|
-
|
|
444
|
-
|
|
443
|
+
u - e / 2 * Math.cos(i),
|
|
444
|
+
M,
|
|
445
|
+
f - e / 2 * Math.sin(i),
|
|
445
446
|
// Top-left-front
|
|
446
|
-
|
|
447
|
-
|
|
448
|
-
|
|
447
|
+
u + e / 2 * Math.cos(i),
|
|
448
|
+
M,
|
|
449
|
+
f + e / 2 * Math.sin(i),
|
|
449
450
|
// Top-right-front
|
|
450
|
-
|
|
451
|
-
|
|
452
|
-
|
|
451
|
+
u + e / 2 * Math.cos(i) - o * Math.sin(i),
|
|
452
|
+
M,
|
|
453
|
+
f + e / 2 * Math.sin(i) + o * Math.cos(i),
|
|
453
454
|
// Back-right
|
|
454
|
-
|
|
455
|
-
|
|
456
|
-
|
|
455
|
+
u - e / 2 * Math.cos(i) - o * Math.sin(i),
|
|
456
|
+
M,
|
|
457
|
+
f - e / 2 * Math.sin(i) + o * Math.cos(i)
|
|
457
458
|
// Back-left
|
|
458
459
|
);
|
|
459
|
-
const
|
|
460
|
-
|
|
461
|
-
|
|
462
|
-
|
|
463
|
-
|
|
460
|
+
const d = l * 8;
|
|
461
|
+
c.push(
|
|
462
|
+
d,
|
|
463
|
+
d + 1,
|
|
464
|
+
d + 2,
|
|
464
465
|
// First triangle for riser
|
|
465
|
-
|
|
466
|
-
|
|
467
|
-
|
|
466
|
+
d,
|
|
467
|
+
d + 2,
|
|
468
|
+
d + 3
|
|
468
469
|
// Second triangle for riser
|
|
469
|
-
),
|
|
470
|
-
|
|
471
|
-
|
|
472
|
-
|
|
470
|
+
), c.push(
|
|
471
|
+
d + 4,
|
|
472
|
+
d + 5,
|
|
473
|
+
d + 6,
|
|
473
474
|
// First triangle for tread
|
|
474
|
-
|
|
475
|
-
|
|
476
|
-
|
|
475
|
+
d + 4,
|
|
476
|
+
d + 6,
|
|
477
|
+
d + 7
|
|
477
478
|
// Second triangle for tread
|
|
478
|
-
),
|
|
479
|
+
), i += n;
|
|
479
480
|
}
|
|
480
|
-
this.setIndex(
|
|
481
|
+
this.setIndex(c), this.setAttribute("position", new F(a, 3)), this.computeVertexNormals();
|
|
481
482
|
}
|
|
482
483
|
}
|
|
483
|
-
class
|
|
484
|
-
constructor(e = 2,
|
|
484
|
+
class Be extends b {
|
|
485
|
+
constructor(e = 2, o = 0.3, t = 0.5, s = 10) {
|
|
485
486
|
super();
|
|
486
|
-
const
|
|
487
|
-
for (let
|
|
488
|
-
const
|
|
489
|
-
|
|
487
|
+
const r = [], n = [];
|
|
488
|
+
for (let a = 0; a < s; a++) {
|
|
489
|
+
const c = a * o, i = c + o, l = a * t, u = l + t;
|
|
490
|
+
r.push(
|
|
490
491
|
// Bottom face of riser (front face)
|
|
491
492
|
-e / 2,
|
|
492
|
-
|
|
493
|
+
c,
|
|
493
494
|
l,
|
|
494
495
|
// 0: Bottom-left-front
|
|
495
496
|
e / 2,
|
|
496
|
-
|
|
497
|
+
c,
|
|
497
498
|
l,
|
|
498
499
|
// 1: Bottom-right-front
|
|
499
500
|
e / 2,
|
|
500
|
-
|
|
501
|
+
i,
|
|
501
502
|
l,
|
|
502
503
|
// 2: Top-right-front
|
|
503
504
|
-e / 2,
|
|
504
|
-
|
|
505
|
+
i,
|
|
505
506
|
l,
|
|
506
507
|
// 3: Top-left-front
|
|
507
508
|
// Top face of tread (horizontal step)
|
|
508
509
|
-e / 2,
|
|
509
|
-
|
|
510
|
+
i,
|
|
510
511
|
l,
|
|
511
512
|
// 4: Top-left-front (repeated)
|
|
512
513
|
e / 2,
|
|
513
|
-
|
|
514
|
+
i,
|
|
514
515
|
l,
|
|
515
516
|
// 5: Top-right-front (repeated)
|
|
516
517
|
e / 2,
|
|
517
|
-
|
|
518
|
-
|
|
518
|
+
i,
|
|
519
|
+
u,
|
|
519
520
|
// 6: Top-right-back
|
|
520
521
|
-e / 2,
|
|
521
|
-
|
|
522
|
-
|
|
522
|
+
i,
|
|
523
|
+
u
|
|
523
524
|
// 7: Top-left-back
|
|
524
525
|
);
|
|
525
|
-
const
|
|
526
|
-
|
|
527
|
-
|
|
528
|
-
|
|
529
|
-
|
|
526
|
+
const f = a * 8;
|
|
527
|
+
n.push(
|
|
528
|
+
f,
|
|
529
|
+
f + 1,
|
|
530
|
+
f + 2,
|
|
530
531
|
// First triangle for riser
|
|
531
|
-
|
|
532
|
-
|
|
533
|
-
|
|
532
|
+
f,
|
|
533
|
+
f + 2,
|
|
534
|
+
f + 3
|
|
534
535
|
// Second triangle for riser
|
|
535
|
-
),
|
|
536
|
-
|
|
537
|
-
|
|
538
|
-
|
|
536
|
+
), n.push(
|
|
537
|
+
f + 4,
|
|
538
|
+
f + 6,
|
|
539
|
+
f + 5,
|
|
539
540
|
// First triangle for tread
|
|
540
|
-
|
|
541
|
-
|
|
542
|
-
|
|
541
|
+
f + 4,
|
|
542
|
+
f + 7,
|
|
543
|
+
f + 6
|
|
543
544
|
// Second triangle for tread
|
|
544
545
|
);
|
|
545
546
|
}
|
|
546
|
-
this.setIndex(
|
|
547
|
+
this.setIndex(n), this.setAttribute("position", new F(r, 3)), this.computeVertexNormals();
|
|
547
548
|
}
|
|
548
549
|
}
|
|
549
|
-
class
|
|
550
|
-
constructor(e = 0.4,
|
|
550
|
+
class Ce extends b {
|
|
551
|
+
constructor(e = 0.4, o = 1.2, t = 0.2) {
|
|
551
552
|
super();
|
|
552
|
-
const s =
|
|
553
|
-
|
|
554
|
-
const
|
|
555
|
-
|
|
553
|
+
const s = o * 0.6, r = new x(e / 2, s, t);
|
|
554
|
+
r.translate(0, s / 2, 0);
|
|
555
|
+
const n = e * 1.5, a = new x(n, e / 4, t);
|
|
556
|
+
a.translate(0, s * 0.75, 0), this.copy(I([r, a], !1));
|
|
556
557
|
}
|
|
557
558
|
}
|
|
558
|
-
class
|
|
559
|
-
constructor(e = 1.75,
|
|
559
|
+
class Fe extends b {
|
|
560
|
+
constructor(e = 1.75, o = 0.75) {
|
|
560
561
|
super();
|
|
561
|
-
const
|
|
562
|
-
let
|
|
563
|
-
const
|
|
564
|
-
|
|
565
|
-
const
|
|
566
|
-
|
|
567
|
-
const l = new x(
|
|
568
|
-
l.translate(0,
|
|
569
|
-
const
|
|
570
|
-
|
|
571
|
-
const
|
|
572
|
-
|
|
573
|
-
|
|
562
|
+
const t = e * 0.05, s = e * 0.15, r = e * 0.15, n = e * 0.75;
|
|
563
|
+
let a = 0;
|
|
564
|
+
const c = new x(o, t, o);
|
|
565
|
+
c.translate(0, a + t / 2, 0), a += t;
|
|
566
|
+
const i = new x(o * 0.8, s, o * 0.8);
|
|
567
|
+
i.translate(0, a + s / 2, 0), a += s;
|
|
568
|
+
const l = new x(o * 0.6, r, o * 0.6);
|
|
569
|
+
l.translate(0, a + r / 2, 0), a += r;
|
|
570
|
+
const u = new x(o * 0.4, n, o * 0.4);
|
|
571
|
+
u.translate(0, a + n / 2, 0), a += n;
|
|
572
|
+
const f = new L(o * 0.4 / Math.sqrt(2), 0.1, 4, 1, !1, Math.PI / 4);
|
|
573
|
+
f.translate(0, a + 0.1 / 2, 0), this.copy(
|
|
574
|
+
I([c, i, l, u, f], !1)
|
|
574
575
|
);
|
|
575
576
|
}
|
|
576
577
|
}
|
|
577
|
-
class
|
|
578
|
-
constructor(e = 0.6,
|
|
578
|
+
class Le extends b {
|
|
579
|
+
constructor(e = 0.6, o = 1, t = 0.2) {
|
|
579
580
|
super();
|
|
580
|
-
const s =
|
|
581
|
-
|
|
582
|
-
const
|
|
583
|
-
|
|
581
|
+
const s = o * 0.7, r = new x(e, s, t);
|
|
582
|
+
r.translate(0, s / 2, 0);
|
|
583
|
+
const n = o - s, a = new v(e / 2, e / 2, t, 16, 1, !1, 0, Math.PI);
|
|
584
|
+
a.rotateY(Math.PI / 2), a.rotateX(Math.PI / 2), a.translate(0, s + n / 2 - t / 2 - 0.05, 0), this.copy(I([r, a], !1));
|
|
584
585
|
}
|
|
585
586
|
}
|
|
586
|
-
class
|
|
587
|
-
constructor(e = 0.5,
|
|
587
|
+
class qe extends b {
|
|
588
|
+
constructor(e = 0.5, o = 0.8, t = 0.15) {
|
|
588
589
|
super();
|
|
589
|
-
const s = new x(e,
|
|
590
|
-
s.translate(0,
|
|
590
|
+
const s = new x(e, o, t);
|
|
591
|
+
s.translate(0, o / 2, 0), this.copy(s);
|
|
591
592
|
}
|
|
592
593
|
}
|
|
593
|
-
class
|
|
594
|
+
class Ae extends b {
|
|
594
595
|
constructor(e = 2.25) {
|
|
595
596
|
super();
|
|
596
|
-
const
|
|
597
|
-
|
|
598
|
-
const
|
|
599
|
-
|
|
597
|
+
const o = new x(1.2, 0.5, 1.2);
|
|
598
|
+
o.translate(0, 0.25, 0);
|
|
599
|
+
const t = new x(1, e, 1);
|
|
600
|
+
t.translate(0, 0.5 + e / 2, 0);
|
|
600
601
|
const s = new x(1.4, 0.3, 1.4);
|
|
601
|
-
s.translate(0, 0.5 + e + 0.15, 0), this.copy(
|
|
602
|
+
s.translate(0, 0.5 + e + 0.15, 0), this.copy(I([o, t, s], !1));
|
|
602
603
|
}
|
|
603
604
|
}
|
|
604
|
-
class
|
|
605
|
-
constructor(e = 2,
|
|
605
|
+
class Ne extends b {
|
|
606
|
+
constructor(e = 2, o = 0.05, t = 0.3) {
|
|
606
607
|
super();
|
|
607
|
-
const s = new
|
|
608
|
+
const s = new v(o, o, e, 8);
|
|
608
609
|
s.translate(0, e / 2, 0);
|
|
609
|
-
const
|
|
610
|
-
|
|
610
|
+
const r = new L(o * 1.5, t, 8);
|
|
611
|
+
r.translate(0, e + t / 2, 0), this.copy(I([s, r], !1));
|
|
611
612
|
}
|
|
612
613
|
}
|
|
613
|
-
class
|
|
614
|
+
class Ve extends b {
|
|
614
615
|
constructor(e = 0.1) {
|
|
615
616
|
super();
|
|
616
|
-
const
|
|
617
|
+
const o = [], t = [], s = [
|
|
617
618
|
[0, 1],
|
|
618
619
|
// Top point
|
|
619
620
|
[0.5, 0.75],
|
|
@@ -631,73 +632,73 @@ class Ie extends b {
|
|
|
631
632
|
[-0.5, 0.75]
|
|
632
633
|
// Left upper middle
|
|
633
634
|
];
|
|
634
|
-
for (let
|
|
635
|
-
const [
|
|
636
|
-
|
|
635
|
+
for (let n = 0; n < s.length; n++) {
|
|
636
|
+
const [a, c] = s[n];
|
|
637
|
+
o.push(a * e, c * e, 0);
|
|
637
638
|
}
|
|
638
|
-
for (let
|
|
639
|
-
|
|
640
|
-
|
|
641
|
-
const
|
|
642
|
-
this.setAttribute("position",
|
|
639
|
+
for (let n = 1; n < s.length - 1; n++)
|
|
640
|
+
t.push(0, n, n + 1);
|
|
641
|
+
t.push(0, s.length - 1, 1);
|
|
642
|
+
const r = new F(o, 3);
|
|
643
|
+
this.setAttribute("position", r), this.setIndex(t), this.computeVertexNormals();
|
|
643
644
|
}
|
|
644
645
|
}
|
|
645
|
-
class
|
|
646
|
-
constructor(e = 0.1,
|
|
646
|
+
class Ee extends b {
|
|
647
|
+
constructor(e = 0.1, o = 0.1, t = 0.4, s = 8) {
|
|
647
648
|
super();
|
|
648
|
-
const
|
|
649
|
-
|
|
650
|
-
const
|
|
651
|
-
|
|
649
|
+
const r = new v(e * 0.6, o * 0.6, t, s);
|
|
650
|
+
r.translate(0, 0, 0);
|
|
651
|
+
const n = new T(e, s, s), a = n.clone(), c = n.clone(), i = n.clone(), l = n.clone();
|
|
652
|
+
a.translate(0, t / 2 + e * 0.6, -e * 0.6), c.translate(0, t / 2 + e * 0.6, e * 0.6), i.translate(0, -t / 2 - o * 0.6, -o * 0.6), l.translate(0, -t / 2 - o * 0.6, o * 0.6), this.copy(I([r, a, c, i, l], !1));
|
|
652
653
|
}
|
|
653
654
|
}
|
|
654
|
-
class
|
|
655
|
+
class ye extends b {
|
|
655
656
|
constructor() {
|
|
656
657
|
super();
|
|
657
|
-
const e = new
|
|
658
|
-
|
|
658
|
+
const e = new T(1, 16, 16), o = new v(0.2, 0.2, 2, 16, 1, !0);
|
|
659
|
+
o.translate(0, 1.5, 0), o.rotateX(Math.PI / 2), this.copy(I([e, o], !1));
|
|
659
660
|
}
|
|
660
661
|
}
|
|
661
|
-
class
|
|
662
|
+
class we extends b {
|
|
662
663
|
constructor() {
|
|
663
664
|
super();
|
|
664
665
|
const e = [
|
|
665
|
-
new
|
|
666
|
+
new G(1, 0),
|
|
666
667
|
// Bottom of the bowl
|
|
667
|
-
new
|
|
668
|
+
new G(1.2, 0.5),
|
|
668
669
|
// Slight flare at the base
|
|
669
|
-
new
|
|
670
|
+
new G(1.4, 1.5),
|
|
670
671
|
// Outer wall
|
|
671
|
-
new
|
|
672
|
+
new G(1.3, 1.8),
|
|
672
673
|
// Flared edge
|
|
673
|
-
new
|
|
674
|
+
new G(0.8, 1.8)
|
|
674
675
|
// Lip of the bowl
|
|
675
|
-
],
|
|
676
|
-
|
|
676
|
+
], o = new z(e, 12), t = new oe(1, 12);
|
|
677
|
+
t.rotateX(-Math.PI / 2), t.translate(0, 0, 0), this.copy(I([o, t], !1));
|
|
677
678
|
}
|
|
678
679
|
}
|
|
679
|
-
class
|
|
680
|
-
constructor(e = 0.2,
|
|
680
|
+
class j extends b {
|
|
681
|
+
constructor(e = 0.2, o = 0.2, t = 3, s = 32, r = !0) {
|
|
681
682
|
super();
|
|
682
|
-
const
|
|
683
|
-
|
|
683
|
+
const n = new v(e, o, t, s, 1, r), a = new T(o, s, s / 2, 0, Math.PI * 2, Math.PI / 2, Math.PI / 2);
|
|
684
|
+
a.translate(0, -(t / 2), 0), this.copy(I([n, a], !1));
|
|
684
685
|
}
|
|
685
686
|
}
|
|
686
|
-
class
|
|
687
|
-
constructor({ radius: e = 0.5, neckRadius:
|
|
687
|
+
class Me extends b {
|
|
688
|
+
constructor({ radius: e = 0.5, neckRadius: o = 0.2, height: t = 3, neckHeight: s = 1, segments: r = 16 } = {}) {
|
|
688
689
|
super();
|
|
689
|
-
const
|
|
690
|
-
|
|
691
|
-
const
|
|
692
|
-
|
|
693
|
-
const l = new
|
|
694
|
-
l.translate(0,
|
|
690
|
+
const n = t - s, a = new v(e, e, n, r);
|
|
691
|
+
a.translate(0, n / 2, 0);
|
|
692
|
+
const c = 0.3, i = new v(o, e, c, r);
|
|
693
|
+
i.translate(0, n + c / 2, 0);
|
|
694
|
+
const l = new v(o, o, s, r);
|
|
695
|
+
l.translate(0, n + c + s / 2, 0), this.copy(I([a, i, l], !1));
|
|
695
696
|
}
|
|
696
697
|
}
|
|
697
|
-
class
|
|
698
|
+
class Ue extends g {
|
|
698
699
|
constructor() {
|
|
699
700
|
super();
|
|
700
|
-
const e = new
|
|
701
|
+
const e = new T(5, 32, 32), o = new Y({
|
|
701
702
|
uniforms: {
|
|
702
703
|
time: { value: 0 }
|
|
703
704
|
},
|
|
@@ -740,67 +741,67 @@ class Se extends v {
|
|
|
740
741
|
gl_FragColor = vec4(color, 1.0);
|
|
741
742
|
}
|
|
742
743
|
`
|
|
743
|
-
}),
|
|
744
|
-
this.add(
|
|
744
|
+
}), t = new m(e, o);
|
|
745
|
+
this.add(t);
|
|
745
746
|
}
|
|
746
747
|
}
|
|
747
|
-
class
|
|
748
|
+
class ze extends g {
|
|
748
749
|
constructor() {
|
|
749
750
|
super();
|
|
750
|
-
const e = new x(5, 1, 5),
|
|
751
|
-
|
|
752
|
-
const s = new x(4, 3, 4),
|
|
753
|
-
|
|
754
|
-
const
|
|
755
|
-
|
|
756
|
-
const l = new
|
|
751
|
+
const e = new x(5, 1, 5), o = new y({ color: 8421504, flatShading: !0 }), t = new m(e, o);
|
|
752
|
+
t.position.set(0, 0.5, 0), this.add(t);
|
|
753
|
+
const s = new x(4, 3, 4), r = new y({ color: 6908265, flatShading: !0 }), n = new m(s, r);
|
|
754
|
+
n.position.set(0, 2.5, 0), this.add(n);
|
|
755
|
+
const a = new L(3.5, 2, 4), c = new y({ color: 5263440, flatShading: !0 }), i = new m(a, c);
|
|
756
|
+
i.rotation.y = Math.PI / 4, i.position.set(0, 5, 0), this.add(i);
|
|
757
|
+
const l = new v(0.2, 0.2, 3.5, 16), u = new y({ color: 6908265, flatShading: !0 });
|
|
757
758
|
[
|
|
758
759
|
[-1.8, 2.3, -2.2],
|
|
759
760
|
[1.8, 2.3, -2.2],
|
|
760
761
|
[-1.8, 2.3, 2.2],
|
|
761
762
|
[1.8, 2.3, 2.2]
|
|
762
|
-
].forEach((
|
|
763
|
-
const
|
|
764
|
-
|
|
763
|
+
].forEach((S) => {
|
|
764
|
+
const V = new m(l, u);
|
|
765
|
+
V.position.set(...S), this.add(V);
|
|
765
766
|
});
|
|
766
|
-
const
|
|
767
|
-
|
|
768
|
-
const
|
|
767
|
+
const p = new q();
|
|
768
|
+
p.moveTo(-1, 0), p.lineTo(-1, 2), p.absarc(0, 2, 1, Math.PI, 0, !0), p.lineTo(1, 0);
|
|
769
|
+
const M = {
|
|
769
770
|
depth: 0.5,
|
|
770
771
|
bevelEnabled: !1
|
|
771
|
-
},
|
|
772
|
-
|
|
772
|
+
}, d = new A(p, M), w = new y({ color: 4210752, flatShading: !0 }), P = new m(d, w);
|
|
773
|
+
P.position.set(0, 0.5, 1.7), this.add(P);
|
|
773
774
|
}
|
|
774
775
|
}
|
|
775
|
-
class
|
|
776
|
+
class _e extends g {
|
|
776
777
|
constructor() {
|
|
777
778
|
super();
|
|
778
|
-
const e = new x(5, 0.3, 3),
|
|
779
|
-
|
|
779
|
+
const e = new x(5, 0.3, 3), o = new y({ color: 9132587 }), t = new m(e, o);
|
|
780
|
+
t.position.set(0, 3.15, 0);
|
|
780
781
|
const s = [];
|
|
781
|
-
s.push(new
|
|
782
|
-
const
|
|
782
|
+
s.push(new G(0.2, 0)), s.push(new G(0.25, 0.5)), s.push(new G(0.15, 1.5)), s.push(new G(0.3, 3));
|
|
783
|
+
const r = new z(s, 32), n = new y({ color: 4929057 });
|
|
783
784
|
[
|
|
784
785
|
[2.2, 0, 1.2],
|
|
785
786
|
// Adjust Y to 0 so legs start at ground level
|
|
786
787
|
[-2.2, 0, 1.2],
|
|
787
788
|
[2.2, 0, -1.2],
|
|
788
789
|
[-2.2, 0, -1.2]
|
|
789
|
-
].forEach((
|
|
790
|
-
const
|
|
791
|
-
|
|
792
|
-
}), this.add(
|
|
790
|
+
].forEach((c) => {
|
|
791
|
+
const i = new m(r, n);
|
|
792
|
+
i.position.set(...c), this.add(i);
|
|
793
|
+
}), this.add(t);
|
|
793
794
|
}
|
|
794
795
|
}
|
|
795
|
-
class
|
|
796
|
-
constructor(e = 1,
|
|
797
|
-
super(), this.height = e, this.radius =
|
|
796
|
+
class je extends g {
|
|
797
|
+
constructor(e = 1, o = 0.2) {
|
|
798
|
+
super(), this.height = e, this.radius = o, this.createCandle(), this.animateFlicker();
|
|
798
799
|
}
|
|
799
800
|
createCandle() {
|
|
800
|
-
const e = new
|
|
801
|
-
this.candle = new m(e,
|
|
802
|
-
const
|
|
803
|
-
this.flame = new m(
|
|
801
|
+
const e = new v(this.radius, this.radius, this.height, 32), o = new y({ color: 16777215 });
|
|
802
|
+
this.candle = new m(e, o), this.candle.position.set(0, this.height / 2, 0), this.add(this.candle);
|
|
803
|
+
const t = new T(0.05, 16, 16), s = new se({ color: 16753920 });
|
|
804
|
+
this.flame = new m(t, s), this.flame.position.set(0, this.height + 0.05, 0), this.add(this.flame), this.candleLight = new Q(16753920, 1, 5), this.candleLight.position.set(0, this.height + 0.05, 0), this.candleLight.castShadow = !0, this.add(this.candleLight);
|
|
804
805
|
}
|
|
805
806
|
animateFlicker() {
|
|
806
807
|
const e = () => {
|
|
@@ -809,47 +810,47 @@ class Fe extends v {
|
|
|
809
810
|
e();
|
|
810
811
|
}
|
|
811
812
|
}
|
|
812
|
-
class
|
|
813
|
-
constructor(e = 1.3,
|
|
813
|
+
class Ye extends g {
|
|
814
|
+
constructor(e = 1.3, o = 0.5) {
|
|
814
815
|
super();
|
|
815
|
-
const
|
|
816
|
-
|
|
817
|
-
const
|
|
818
|
-
|
|
819
|
-
const
|
|
820
|
-
|
|
821
|
-
const
|
|
822
|
-
|
|
823
|
-
const
|
|
824
|
-
|
|
816
|
+
const t = new v(o, o, 0.2, 16), s = new y({ color: 9127187, flatShading: !0 }), r = new m(t, s);
|
|
817
|
+
r.position.set(0, 0, 0), this.add(r);
|
|
818
|
+
const n = new v(o * 0.9, o * 0.9, e), a = new y({ color: 16766720, flatShading: !0, transparent: !0, opacity: 0.6 }), c = new m(n, a);
|
|
819
|
+
c.position.set(0, e / 2 + 0.1, 0), this.add(c);
|
|
820
|
+
const i = new L(o * 1.1, 0.5, 8), l = new y({ color: 9127187, flatShading: !0 }), u = new m(i, l);
|
|
821
|
+
u.position.set(0, e + 0.35, 0), this.add(u);
|
|
822
|
+
const f = new $(o * 0.8, 0.05, 8, 16), p = new y({ color: 9127187, flatShading: !0 }), M = new m(f, p);
|
|
823
|
+
M.position.set(0, e + 0.85, 0), this.add(M);
|
|
824
|
+
const d = new Q(16755200, 1.5, 15);
|
|
825
|
+
d.position.set(0, e / 2 + 0.1, 0), d.castShadow = !0, this.add(d);
|
|
825
826
|
}
|
|
826
827
|
}
|
|
827
|
-
class
|
|
828
|
+
class Ze extends g {
|
|
828
829
|
constructor() {
|
|
829
830
|
super();
|
|
830
|
-
const e = new
|
|
831
|
+
const e = new D(1, 0), o = new y({ color: 8421504, flatShading: !0 }), t = new y({ color: 4950843, flatShading: !0, opacity: 0.8, transparent: !0 });
|
|
831
832
|
for (let s = 0; s < 5; s++) {
|
|
833
|
+
const r = new m(e, o);
|
|
834
|
+
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);
|
|
832
835
|
const n = new m(e, t);
|
|
833
|
-
n.scale.set(
|
|
834
|
-
const a = new m(e, o);
|
|
835
|
-
a.scale.set(n.scale.x * 0.9, n.scale.y * 0.5, n.scale.z * 0.9), a.rotation.copy(n.rotation), a.position.copy(n.position), a.position.y += 0.3, this.add(a);
|
|
836
|
+
n.scale.set(r.scale.x * 0.9, r.scale.y * 0.5, r.scale.z * 0.9), n.rotation.copy(r.rotation), n.position.copy(r.position), n.position.y += 0.3, this.add(n);
|
|
836
837
|
}
|
|
837
838
|
}
|
|
838
839
|
}
|
|
839
|
-
class
|
|
840
|
+
class Oe extends g {
|
|
840
841
|
constructor() {
|
|
841
842
|
super();
|
|
842
|
-
const e = new
|
|
843
|
-
for (let
|
|
844
|
-
const s = new m(e,
|
|
843
|
+
const e = new D(1, 0), o = new y({ color: 8421504, flatShading: !0 });
|
|
844
|
+
for (let t = 0; t < 5; t++) {
|
|
845
|
+
const s = new m(e, o);
|
|
845
846
|
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);
|
|
846
847
|
}
|
|
847
848
|
}
|
|
848
849
|
}
|
|
849
|
-
class
|
|
850
|
+
class Xe extends g {
|
|
850
851
|
constructor() {
|
|
851
852
|
super();
|
|
852
|
-
const e = new
|
|
853
|
+
const e = new ye(), o = new Z({
|
|
853
854
|
color: 8965375,
|
|
854
855
|
transparent: !0,
|
|
855
856
|
opacity: 0.4,
|
|
@@ -857,309 +858,309 @@ class Ae extends v {
|
|
|
857
858
|
metalness: 0.1,
|
|
858
859
|
reflectivity: 0.8,
|
|
859
860
|
transmission: 0.9,
|
|
860
|
-
side:
|
|
861
|
-
}),
|
|
862
|
-
|
|
861
|
+
side: N
|
|
862
|
+
}), t = new m(e, o);
|
|
863
|
+
t.rotation.x = -Math.PI / 2, this.add(t);
|
|
863
864
|
}
|
|
864
865
|
}
|
|
865
|
-
class
|
|
866
|
+
class He extends g {
|
|
866
867
|
constructor() {
|
|
867
868
|
super();
|
|
868
|
-
const e = new x(1.6, 0.05, 2.1),
|
|
869
|
-
|
|
870
|
-
const
|
|
871
|
-
|
|
872
|
-
const
|
|
873
|
-
l.position.set(-0.8, 0, 0), this.add(
|
|
869
|
+
const e = new x(1.6, 0.05, 2.1), o = new y({ color: 9109504 }), t = new m(e, o), s = new m(e, o);
|
|
870
|
+
t.position.set(0, 0.125, 0), s.position.set(0, -0.125, 0);
|
|
871
|
+
const r = new x(1.55, 0.2, 2), n = new y({ color: 16777215 }), a = new m(r, n);
|
|
872
|
+
a.position.set(-0.025, 0, 0);
|
|
873
|
+
const c = new x(0.05, 0.25, 2.1), i = new y({ color: 4915200 }), l = new m(c, i);
|
|
874
|
+
l.position.set(-0.8, 0, 0), this.add(t), this.add(s), this.add(a), this.add(l);
|
|
874
875
|
}
|
|
875
876
|
}
|
|
876
|
-
class
|
|
877
|
+
class Je extends g {
|
|
877
878
|
constructor() {
|
|
878
879
|
super();
|
|
879
880
|
const e = [
|
|
880
|
-
new
|
|
881
|
+
new G(0, 0),
|
|
881
882
|
// Bottom
|
|
882
|
-
new
|
|
883
|
+
new G(0.8, 0),
|
|
883
884
|
// Base
|
|
884
|
-
new
|
|
885
|
+
new G(1, 1.5),
|
|
885
886
|
// Rounded body
|
|
886
|
-
new
|
|
887
|
+
new G(0.5, 2.2),
|
|
887
888
|
// Neck
|
|
888
|
-
new
|
|
889
|
+
new G(0.6, 2.5)
|
|
889
890
|
// Mouth
|
|
890
|
-
],
|
|
891
|
+
], o = new z(e, 10), t = new v(0.3, 0.4, 0.2, 8), s = new y({
|
|
891
892
|
color: 8965375,
|
|
892
893
|
transparent: !0,
|
|
893
894
|
opacity: 0.5,
|
|
894
895
|
roughness: 0.1,
|
|
895
896
|
metalness: 0.3
|
|
896
|
-
}),
|
|
897
|
+
}), r = new y({
|
|
897
898
|
color: 16724838,
|
|
898
899
|
// Vibrant potion color
|
|
899
900
|
transparent: !0,
|
|
900
901
|
opacity: 0.6
|
|
901
|
-
}),
|
|
902
|
+
}), n = new y({
|
|
902
903
|
color: 9127187,
|
|
903
904
|
roughness: 1
|
|
904
|
-
}),
|
|
905
|
-
|
|
906
|
-
const l = new
|
|
907
|
-
l.add(
|
|
905
|
+
}), a = new m(o, s), c = new m(o, r), i = new m(t, n);
|
|
906
|
+
c.scale.set(0.8, 0.8, 0.8), c.position.y = 0.1, i.position.y = 2.5;
|
|
907
|
+
const l = new g();
|
|
908
|
+
l.add(a, c, i), this.add(l);
|
|
908
909
|
}
|
|
909
910
|
}
|
|
910
|
-
class
|
|
911
|
+
class Ke extends g {
|
|
911
912
|
constructor() {
|
|
912
913
|
super();
|
|
913
|
-
const e = new
|
|
914
|
+
const e = new v(0.3, 0.4, 0.1, 16), o = new y({
|
|
914
915
|
color: 3355443,
|
|
915
916
|
roughness: 0.6,
|
|
916
917
|
metalness: 0.3
|
|
917
|
-
}),
|
|
918
|
-
|
|
919
|
-
const s = new
|
|
918
|
+
}), t = new m(e, o);
|
|
919
|
+
t.position.y = 0.05;
|
|
920
|
+
const s = new v(0.1, 0.1, 0.7, 16), r = new y({
|
|
920
921
|
color: 5592405,
|
|
921
922
|
roughness: 0.5,
|
|
922
923
|
metalness: 0.4
|
|
923
|
-
}),
|
|
924
|
-
|
|
925
|
-
const
|
|
924
|
+
}), n = new m(s, r);
|
|
925
|
+
n.position.y = 0.4;
|
|
926
|
+
const a = new L(0.075, 0.2, 16), c = new y({
|
|
926
927
|
color: 16733440,
|
|
927
928
|
emissive: 16733440,
|
|
928
929
|
emissiveIntensity: 0.6,
|
|
929
930
|
transparent: !0,
|
|
930
931
|
opacity: 0.8
|
|
931
|
-
}),
|
|
932
|
-
|
|
932
|
+
}), i = new m(a, c);
|
|
933
|
+
i.position.y = 0.8, this.add(t, n, i);
|
|
933
934
|
}
|
|
934
935
|
}
|
|
935
|
-
class
|
|
936
|
+
class Qe extends g {
|
|
936
937
|
constructor() {
|
|
937
938
|
super();
|
|
938
|
-
const e = new x(3, 4, 0.1),
|
|
939
|
+
const e = new x(3, 4, 0.1), o = new y({
|
|
939
940
|
color: 3026478,
|
|
940
941
|
roughness: 0.8,
|
|
941
942
|
metalness: 0.6
|
|
942
|
-
}),
|
|
943
|
+
}), t = new x(0.2, 0.5, 0.2), s = new y({
|
|
943
944
|
color: 11184810,
|
|
944
945
|
roughness: 0.5,
|
|
945
946
|
metalness: 0.7
|
|
946
|
-
}),
|
|
947
|
+
}), r = new v(0.3, 0.3, 0.1, 16), n = new y({
|
|
947
948
|
color: 5592405,
|
|
948
949
|
roughness: 0.7,
|
|
949
950
|
metalness: 0.5
|
|
950
|
-
}),
|
|
951
|
-
for (let
|
|
952
|
-
const
|
|
953
|
-
|
|
951
|
+
}), a = new m(e, o);
|
|
952
|
+
for (let w = -1; w <= 1; w++) {
|
|
953
|
+
const P = new m(t, s);
|
|
954
|
+
P.position.set(w, 1.5, 0.1), a.add(P);
|
|
954
955
|
}
|
|
955
|
-
const
|
|
956
|
-
|
|
957
|
-
const
|
|
956
|
+
const c = new m(r, n);
|
|
957
|
+
c.rotation.x = Math.PI / 2, c.position.set(0, 0.5, 0.15), a.add(c);
|
|
958
|
+
const i = new T(0.15, 8, 8), l = new y({
|
|
958
959
|
color: 16711680,
|
|
959
960
|
emissive: 16711680,
|
|
960
961
|
emissiveIntensity: 0.5
|
|
961
|
-
}),
|
|
962
|
-
|
|
963
|
-
let
|
|
964
|
-
function
|
|
965
|
-
requestAnimationFrame(
|
|
966
|
-
const
|
|
967
|
-
|
|
962
|
+
}), u = new m(i, l);
|
|
963
|
+
u.position.set(0, -1, 0.1), a.add(u), this.add(a);
|
|
964
|
+
let f = 0.015, p = 0.8, M = 0.2;
|
|
965
|
+
function d() {
|
|
966
|
+
requestAnimationFrame(d);
|
|
967
|
+
const w = M + Math.abs(Math.sin(Date.now() * f)) * (p - M);
|
|
968
|
+
u.material.emissiveIntensity = w;
|
|
968
969
|
}
|
|
969
|
-
|
|
970
|
+
d();
|
|
970
971
|
}
|
|
971
972
|
}
|
|
972
|
-
class
|
|
973
|
+
class $e extends g {
|
|
973
974
|
constructor() {
|
|
974
975
|
super();
|
|
975
976
|
const e = [
|
|
976
|
-
new
|
|
977
|
+
new G(0, 0),
|
|
977
978
|
// Bottom of the flask
|
|
978
|
-
new
|
|
979
|
+
new G(1.2, 0),
|
|
979
980
|
// Base
|
|
980
|
-
new
|
|
981
|
+
new G(1.5, 1.5),
|
|
981
982
|
// Mid-body
|
|
982
|
-
new
|
|
983
|
+
new G(1, 3),
|
|
983
984
|
// Narrow neck
|
|
984
|
-
new
|
|
985
|
+
new G(0.6, 3.5)
|
|
985
986
|
// Mouth of the flask
|
|
986
|
-
],
|
|
987
|
+
], o = new z(e, 12), t = new v(0.6, 0.7, 0.3, 8), s = new y({
|
|
987
988
|
color: 8965290,
|
|
988
989
|
transparent: !0,
|
|
989
990
|
opacity: 0.4,
|
|
990
991
|
roughness: 0.1,
|
|
991
992
|
metalness: 0.5
|
|
992
|
-
}),
|
|
993
|
+
}), r = new y({
|
|
993
994
|
color: 9127187,
|
|
994
995
|
roughness: 1
|
|
995
|
-
}),
|
|
996
|
-
|
|
996
|
+
}), n = new m(o, s), a = new m(t, r);
|
|
997
|
+
a.position.y = 3.5, this.add(n, a);
|
|
997
998
|
}
|
|
998
999
|
}
|
|
999
|
-
class
|
|
1000
|
+
class De extends g {
|
|
1000
1001
|
constructor() {
|
|
1001
1002
|
super();
|
|
1002
|
-
const e = new x(2, 3, 0.1),
|
|
1003
|
+
const e = new x(2, 3, 0.1), o = new y({
|
|
1003
1004
|
color: 3355443,
|
|
1004
1005
|
roughness: 0.8,
|
|
1005
1006
|
metalness: 0.5
|
|
1006
|
-
}),
|
|
1007
|
+
}), t = new m(e, o), s = new v(0.1, 0.1, 0.2, 8), r = new v(0.05, 0.05, 1, 8), n = new y({
|
|
1007
1008
|
color: 11184810,
|
|
1008
1009
|
roughness: 0.5,
|
|
1009
1010
|
metalness: 0.7
|
|
1010
1011
|
});
|
|
1011
|
-
for (let
|
|
1012
|
-
const
|
|
1013
|
-
|
|
1014
|
-
const
|
|
1015
|
-
|
|
1012
|
+
for (let a = -0.5; a <= 0.5; a += 0.5) {
|
|
1013
|
+
const c = new m(s, n);
|
|
1014
|
+
c.position.set(a, 1, 0.1);
|
|
1015
|
+
const i = new m(r, n);
|
|
1016
|
+
i.position.y = 0.5, c.add(i), this.add(c);
|
|
1016
1017
|
}
|
|
1017
|
-
this.add(
|
|
1018
|
+
this.add(t);
|
|
1018
1019
|
}
|
|
1019
1020
|
}
|
|
1020
|
-
class
|
|
1021
|
+
class Re extends g {
|
|
1021
1022
|
constructor() {
|
|
1022
1023
|
super();
|
|
1023
|
-
const e = new x(1, 0.2, 0.5),
|
|
1024
|
+
const e = new x(1, 0.2, 0.5), o = new y({
|
|
1024
1025
|
color: 4473924,
|
|
1025
1026
|
roughness: 0.6,
|
|
1026
1027
|
metalness: 0.3
|
|
1027
|
-
}),
|
|
1028
|
-
|
|
1029
|
-
const s = new x(0.2, 1, 0.2),
|
|
1030
|
-
|
|
1031
|
-
const
|
|
1028
|
+
}), t = new m(e, o);
|
|
1029
|
+
t.position.y = 0.1;
|
|
1030
|
+
const s = new x(0.2, 1, 0.2), r = new m(s, o);
|
|
1031
|
+
r.position.set(0, 0.6, -0.2);
|
|
1032
|
+
const n = new v(0.1, 0.1, 0.4, 8), a = new y({
|
|
1032
1033
|
color: 3355443,
|
|
1033
1034
|
roughness: 0.5,
|
|
1034
1035
|
metalness: 0.6
|
|
1035
|
-
}),
|
|
1036
|
-
|
|
1037
|
-
const
|
|
1036
|
+
}), c = new m(n, a);
|
|
1037
|
+
c.position.set(0, 1.1, -0.35), c.rotation.x = -Math.PI / 4;
|
|
1038
|
+
const i = new x(0.6, 0.1, 0.6), l = new y({
|
|
1038
1039
|
color: 5592405,
|
|
1039
1040
|
roughness: 0.8,
|
|
1040
1041
|
metalness: 0.2
|
|
1041
|
-
}),
|
|
1042
|
-
|
|
1042
|
+
}), u = new m(i, l);
|
|
1043
|
+
u.position.set(0, 0.6, 0), this.add(t, r, c, u);
|
|
1043
1044
|
}
|
|
1044
1045
|
}
|
|
1045
|
-
class
|
|
1046
|
+
class We extends g {
|
|
1046
1047
|
constructor() {
|
|
1047
1048
|
super();
|
|
1048
|
-
const e = new
|
|
1049
|
-
|
|
1050
|
-
const
|
|
1049
|
+
const e = new we(), o = new v(0.2, 0.3, 1.5, 8);
|
|
1050
|
+
o.translate(0, 0.75, 0);
|
|
1051
|
+
const t = new y({
|
|
1051
1052
|
color: 6045747,
|
|
1052
1053
|
// Dark earthy tone
|
|
1053
1054
|
roughness: 1,
|
|
1054
1055
|
metalness: 0,
|
|
1055
|
-
side:
|
|
1056
|
+
side: N
|
|
1056
1057
|
// Render inside and outside
|
|
1057
|
-
}), s = new
|
|
1058
|
+
}), s = new y({
|
|
1058
1059
|
color: 9132587,
|
|
1059
1060
|
// Slightly lighter earthy color
|
|
1060
1061
|
roughness: 0.8,
|
|
1061
1062
|
metalness: 0.1
|
|
1062
|
-
}),
|
|
1063
|
-
|
|
1063
|
+
}), r = new m(e, t), n = new m(o, s);
|
|
1064
|
+
n.position.set(0.3, 1.3, 0), n.rotation.z = Math.PI / 4, this.add(r, n);
|
|
1064
1065
|
}
|
|
1065
1066
|
}
|
|
1066
|
-
class
|
|
1067
|
+
class et extends g {
|
|
1067
1068
|
constructor() {
|
|
1068
1069
|
super();
|
|
1069
|
-
const e = 100,
|
|
1070
|
-
Array.from({ length: e }, (
|
|
1071
|
-
const
|
|
1072
|
-
return new
|
|
1073
|
-
Math.cos(
|
|
1074
|
-
l *
|
|
1070
|
+
const e = 100, o = 0.05, t = new ne(
|
|
1071
|
+
Array.from({ length: e }, (i, l) => {
|
|
1072
|
+
const u = l * 0.2;
|
|
1073
|
+
return new C(
|
|
1074
|
+
Math.cos(u) * 0.4,
|
|
1075
|
+
l * o,
|
|
1075
1076
|
// Gradual height increase
|
|
1076
|
-
Math.sin(
|
|
1077
|
+
Math.sin(u) * 0.4
|
|
1077
1078
|
);
|
|
1078
1079
|
})
|
|
1079
|
-
), s = new
|
|
1080
|
+
), s = new ae(t, 200, 0.1, 8, !1), r = new y({
|
|
1080
1081
|
color: 8965375,
|
|
1081
1082
|
transparent: !0,
|
|
1082
1083
|
opacity: 0.3,
|
|
1083
1084
|
roughness: 0.1,
|
|
1084
1085
|
metalness: 0.2,
|
|
1085
1086
|
emissive: 8965375
|
|
1086
|
-
}),
|
|
1087
|
-
this.add(
|
|
1088
|
-
function
|
|
1089
|
-
|
|
1087
|
+
}), n = new m(s, r);
|
|
1088
|
+
this.add(n);
|
|
1089
|
+
function a() {
|
|
1090
|
+
r.emissiveIntensity = 0.2 + Math.sin(Date.now() * 5e-3) * 0.1;
|
|
1090
1091
|
}
|
|
1091
|
-
function
|
|
1092
|
-
requestAnimationFrame(
|
|
1092
|
+
function c() {
|
|
1093
|
+
requestAnimationFrame(c), a();
|
|
1093
1094
|
}
|
|
1094
|
-
|
|
1095
|
+
c();
|
|
1095
1096
|
}
|
|
1096
1097
|
}
|
|
1097
|
-
class
|
|
1098
|
+
class tt extends g {
|
|
1098
1099
|
constructor() {
|
|
1099
1100
|
super();
|
|
1100
|
-
const e = new
|
|
1101
|
+
const e = new $(0.3, 0.03, 8, 16), o = new y({
|
|
1101
1102
|
color: 8947848,
|
|
1102
1103
|
roughness: 0.7,
|
|
1103
1104
|
metalness: 0.3
|
|
1104
|
-
}),
|
|
1105
|
-
|
|
1106
|
-
const s = new
|
|
1105
|
+
}), t = new m(e, o);
|
|
1106
|
+
t.rotation.x = Math.PI / 2, t.position.y = 0.4;
|
|
1107
|
+
const s = new v(0.02, 0.02, 0.4, 8), r = new y({
|
|
1107
1108
|
color: 6710886,
|
|
1108
1109
|
roughness: 0.8,
|
|
1109
1110
|
metalness: 0.3
|
|
1110
|
-
}),
|
|
1111
|
-
for (let
|
|
1112
|
-
const
|
|
1113
|
-
|
|
1111
|
+
}), n = [];
|
|
1112
|
+
for (let a = 0; a < 3; a++) {
|
|
1113
|
+
const c = a / 3 * Math.PI * 2, i = new m(s, r);
|
|
1114
|
+
i.position.set(Math.cos(c) * 0.25, 0.2, Math.sin(c) * 0.25), n.push(i);
|
|
1114
1115
|
}
|
|
1115
|
-
this.add(
|
|
1116
|
+
this.add(t, ...n);
|
|
1116
1117
|
}
|
|
1117
1118
|
}
|
|
1118
|
-
class
|
|
1119
|
+
class ot extends g {
|
|
1119
1120
|
constructor() {
|
|
1120
1121
|
super();
|
|
1121
|
-
const e = new
|
|
1122
|
+
const e = new v(0.5, 0.6, 0.3, 16), o = new y({
|
|
1122
1123
|
color: 3355443,
|
|
1123
1124
|
roughness: 0.6,
|
|
1124
1125
|
metalness: 0.5
|
|
1125
|
-
}),
|
|
1126
|
-
|
|
1127
|
-
const s = new
|
|
1126
|
+
}), t = new m(e, o);
|
|
1127
|
+
t.position.y = 0.15;
|
|
1128
|
+
const s = new v(0.15, 0.15, 2, 12, 1, !0), r = new y({
|
|
1128
1129
|
color: 16737792,
|
|
1129
1130
|
roughness: 0.5,
|
|
1130
1131
|
metalness: 0.8,
|
|
1131
|
-
side:
|
|
1132
|
-
}),
|
|
1133
|
-
|
|
1134
|
-
const
|
|
1135
|
-
|
|
1136
|
-
const
|
|
1137
|
-
for (let
|
|
1138
|
-
const
|
|
1139
|
-
new
|
|
1140
|
-
new
|
|
1141
|
-
],
|
|
1142
|
-
this.add(
|
|
1132
|
+
side: N
|
|
1133
|
+
}), n = new m(s, r);
|
|
1134
|
+
n.position.y = 1.3;
|
|
1135
|
+
const a = new T(0.3, 16, 16), c = new m(a, r);
|
|
1136
|
+
c.position.y = 2.4, this.add(t, n, c);
|
|
1137
|
+
const i = [];
|
|
1138
|
+
for (let f = 0; f < 5; f++) {
|
|
1139
|
+
const p = new re({ color: 10079487 }), M = [
|
|
1140
|
+
new C(0, 2.4, 0),
|
|
1141
|
+
new C((Math.random() - 0.5) * 1.5, Math.random() * 2.4, (Math.random() - 0.5) * 1.5)
|
|
1142
|
+
], d = new b().setFromPoints(M), w = new ce(d, p);
|
|
1143
|
+
this.add(w), i.push(w);
|
|
1143
1144
|
}
|
|
1144
1145
|
function l() {
|
|
1145
|
-
|
|
1146
|
-
const
|
|
1147
|
-
new
|
|
1148
|
-
new
|
|
1146
|
+
i.forEach((f) => {
|
|
1147
|
+
const p = [
|
|
1148
|
+
new C(0, 2.4, 0),
|
|
1149
|
+
new C((Math.random() - 0.5) * 1.5, Math.random() * 2.4, (Math.random() - 0.5) * 1.5)
|
|
1149
1150
|
];
|
|
1150
|
-
|
|
1151
|
+
f.geometry.setFromPoints(p);
|
|
1151
1152
|
});
|
|
1152
1153
|
}
|
|
1153
|
-
function
|
|
1154
|
-
requestAnimationFrame(
|
|
1154
|
+
function u() {
|
|
1155
|
+
requestAnimationFrame(u), l();
|
|
1155
1156
|
}
|
|
1156
|
-
|
|
1157
|
+
u();
|
|
1157
1158
|
}
|
|
1158
1159
|
}
|
|
1159
|
-
class
|
|
1160
|
-
constructor(e = 0.2,
|
|
1160
|
+
class st extends g {
|
|
1161
|
+
constructor(e = 0.2, o = 0.2, t = 3, s = 32) {
|
|
1161
1162
|
super();
|
|
1162
|
-
const
|
|
1163
|
+
const r = new j(e, o, t, s), n = new Z({
|
|
1163
1164
|
color: 8965375,
|
|
1164
1165
|
transparent: !0,
|
|
1165
1166
|
opacity: 0.4,
|
|
@@ -1168,48 +1169,48 @@ class Xe extends v {
|
|
|
1168
1169
|
reflectivity: 0.8,
|
|
1169
1170
|
transmission: 0.9,
|
|
1170
1171
|
// For glass effect
|
|
1171
|
-
side:
|
|
1172
|
-
}),
|
|
1173
|
-
this.add(
|
|
1172
|
+
side: N
|
|
1173
|
+
}), a = new m(r, n);
|
|
1174
|
+
this.add(a);
|
|
1174
1175
|
}
|
|
1175
1176
|
}
|
|
1176
|
-
class
|
|
1177
|
-
constructor(e = 3,
|
|
1177
|
+
class nt extends g {
|
|
1178
|
+
constructor(e = 3, o = [65450, 16711850, 11141375]) {
|
|
1178
1179
|
super();
|
|
1179
|
-
const
|
|
1180
|
+
const t = new x(3, 0.2, 1), s = new y({
|
|
1180
1181
|
color: 9127187,
|
|
1181
1182
|
// Wooden color or change to metallic tone
|
|
1182
1183
|
roughness: 0.7,
|
|
1183
1184
|
metalness: 0.3
|
|
1184
|
-
}),
|
|
1185
|
-
|
|
1186
|
-
const
|
|
1185
|
+
}), r = new m(t, s);
|
|
1186
|
+
r.position.y = 0.5;
|
|
1187
|
+
const n = new j(0.1, 0.1, 1, 16), a = new y({
|
|
1187
1188
|
color: 11184810,
|
|
1188
1189
|
transparent: !0,
|
|
1189
1190
|
opacity: 0.4,
|
|
1190
1191
|
roughness: 0.1,
|
|
1191
1192
|
metalness: 0.5,
|
|
1192
|
-
side:
|
|
1193
|
+
side: N
|
|
1193
1194
|
});
|
|
1194
|
-
for (let
|
|
1195
|
-
const
|
|
1196
|
-
|
|
1197
|
-
const
|
|
1198
|
-
color:
|
|
1199
|
-
emissive:
|
|
1195
|
+
for (let c = 0; c < e; c++) {
|
|
1196
|
+
const i = new m(n, a), l = (c - (e - 1) / 2) * 0.8;
|
|
1197
|
+
i.position.set(l, 1, 0);
|
|
1198
|
+
const u = new j(0.099, 0.099, 0.5, 16, !1), f = o[c % o.length], p = new y({
|
|
1199
|
+
color: f,
|
|
1200
|
+
emissive: f,
|
|
1200
1201
|
emissiveIntensity: 0.5,
|
|
1201
1202
|
transparent: !0,
|
|
1202
1203
|
opacity: 0.6
|
|
1203
|
-
}),
|
|
1204
|
-
|
|
1204
|
+
}), M = new m(u, p);
|
|
1205
|
+
M.position.set(0, -0.25, 0), i.add(M), r.add(i);
|
|
1205
1206
|
}
|
|
1206
|
-
this.add(
|
|
1207
|
+
this.add(r);
|
|
1207
1208
|
}
|
|
1208
1209
|
}
|
|
1209
|
-
class
|
|
1210
|
+
class at extends m {
|
|
1210
1211
|
constructor() {
|
|
1211
1212
|
super();
|
|
1212
|
-
const e = new
|
|
1213
|
+
const e = new Me(), o = new Z({
|
|
1213
1214
|
color: 5597999,
|
|
1214
1215
|
roughness: 0.1,
|
|
1215
1216
|
transmission: 0.9,
|
|
@@ -1219,10 +1220,165 @@ class Ke extends m {
|
|
|
1219
1220
|
clearcoat: 1,
|
|
1220
1221
|
clearcoatRoughness: 0.1
|
|
1221
1222
|
});
|
|
1222
|
-
this.geometry = e, this.material =
|
|
1223
|
+
this.geometry = e, this.material = o;
|
|
1224
|
+
}
|
|
1225
|
+
}
|
|
1226
|
+
class pe extends q {
|
|
1227
|
+
constructor(e = 5, o = 0.5, t = 1) {
|
|
1228
|
+
super();
|
|
1229
|
+
const s = Math.PI * 2 / e, r = s / 2, n = s / 4;
|
|
1230
|
+
this.moveTo(Math.cos(0) * t, -Math.sin(0) * t);
|
|
1231
|
+
for (let a = 1; a <= e; ++a) {
|
|
1232
|
+
let c = Math.cos(s * a - n * 3) * (o / Math.cos(n)), i = -Math.sin(s * a - n * 3) * (o / Math.cos(n)), l = Math.cos(s * a - r) * o, u = -Math.sin(s * a - r) * o;
|
|
1233
|
+
this.quadraticCurveTo(c, i, l, u), c = Math.cos(s * a - n) * (o / Math.cos(n)), i = -Math.sin(s * a - n) * (o / Math.cos(n)), l = Math.cos(s * a) * t, u = -Math.sin(s * a) * t, this.quadraticCurveTo(c, i, l, u);
|
|
1234
|
+
}
|
|
1235
|
+
this.closePath();
|
|
1236
|
+
}
|
|
1237
|
+
}
|
|
1238
|
+
class rt extends m {
|
|
1239
|
+
constructor(e = 5, o = 0.5, t = 1, s = 0.25) {
|
|
1240
|
+
super();
|
|
1241
|
+
const r = new pe(e, o, t), n = new A(r, {
|
|
1242
|
+
depth: s,
|
|
1243
|
+
bevelEnabled: s > 0,
|
|
1244
|
+
bevelThickness: 0,
|
|
1245
|
+
bevelSize: 0
|
|
1246
|
+
}), a = new y({
|
|
1247
|
+
color: 16776960,
|
|
1248
|
+
emissive: 16766720,
|
|
1249
|
+
emissiveIntensity: 0.25,
|
|
1250
|
+
metalness: 0.1,
|
|
1251
|
+
roughness: 0.3,
|
|
1252
|
+
flatShading: !0
|
|
1253
|
+
});
|
|
1254
|
+
n.center(), this.geometry = n, this.material = a;
|
|
1223
1255
|
}
|
|
1224
1256
|
}
|
|
1225
|
-
|
|
1257
|
+
class de extends q {
|
|
1258
|
+
constructor(e = 5, o = 0.5, t = 1, s = 5, r = 0.25) {
|
|
1259
|
+
super();
|
|
1260
|
+
const n = Math.PI * 2 / e, a = n / 4;
|
|
1261
|
+
this.moveTo(Math.cos(0) * t, -Math.sin(0) * t);
|
|
1262
|
+
for (let c = 1; c <= e; ++c)
|
|
1263
|
+
this.lineTo(Math.cos(n * c - a * 3) * o, -Math.sin(n * c - a * 3) * o), this.lineTo(Math.cos(n * c - a * 2) * o, -Math.sin(n * c - a * 2) * o), this.lineTo(Math.cos(n * c - a) * t, -Math.sin(n * c - a) * t), this.lineTo(Math.cos(n * c) * t, -Math.sin(n * c) * t);
|
|
1264
|
+
if (this.closePath(), r > 0 && s > 2) {
|
|
1265
|
+
const c = new ie(), i = Math.PI * 2 / s;
|
|
1266
|
+
c.moveTo(Math.cos(0) * r, -Math.sin(0) * r);
|
|
1267
|
+
for (let l = 1; l < s; ++l)
|
|
1268
|
+
c.lineTo(Math.cos(i * l) * r, -Math.sin(i * l) * r);
|
|
1269
|
+
c.lineTo(Math.cos(0) * r, -Math.sin(0) * r), this.holes.push(c);
|
|
1270
|
+
}
|
|
1271
|
+
}
|
|
1272
|
+
}
|
|
1273
|
+
class ct extends m {
|
|
1274
|
+
constructor(e = 5, o = 0.5, t = 1, s = 5, r = 0.25, n = 0.25) {
|
|
1275
|
+
super();
|
|
1276
|
+
const a = new de(e, o, t, s, r), c = new A(a, {
|
|
1277
|
+
depth: n,
|
|
1278
|
+
bevelEnabled: n > 0,
|
|
1279
|
+
bevelThickness: 0,
|
|
1280
|
+
bevelSize: 0
|
|
1281
|
+
}), i = new y({
|
|
1282
|
+
color: 11184810,
|
|
1283
|
+
metalness: 0.8,
|
|
1284
|
+
roughness: 0.2,
|
|
1285
|
+
reflectivity: 0.5
|
|
1286
|
+
});
|
|
1287
|
+
c.center(), this.geometry = c, this.material = i;
|
|
1288
|
+
}
|
|
1289
|
+
}
|
|
1290
|
+
class xe extends q {
|
|
1291
|
+
constructor(e = 1, o = 2.1, t = 1.4, s = 1.6) {
|
|
1292
|
+
super(), this.moveTo(0, t * e / 3), this.bezierCurveTo(
|
|
1293
|
+
-o * 0.375 * e,
|
|
1294
|
+
t * e,
|
|
1295
|
+
// Control point 1 for the left lobe
|
|
1296
|
+
-o * e,
|
|
1297
|
+
t * e / 3,
|
|
1298
|
+
// Control point 2 for the left side of the heart
|
|
1299
|
+
0,
|
|
1300
|
+
-s * e
|
|
1301
|
+
// Bottom tip of the heart, controlled by `tipDepth`
|
|
1302
|
+
), this.bezierCurveTo(
|
|
1303
|
+
o * e,
|
|
1304
|
+
t * e / 3,
|
|
1305
|
+
// Control point 3 for the right side of the heart
|
|
1306
|
+
o * 0.375 * e,
|
|
1307
|
+
t * e,
|
|
1308
|
+
// Control point 4 for the right lobe
|
|
1309
|
+
0,
|
|
1310
|
+
t * e / 3
|
|
1311
|
+
// Close shape at the top middle
|
|
1312
|
+
);
|
|
1313
|
+
}
|
|
1314
|
+
}
|
|
1315
|
+
class it extends m {
|
|
1316
|
+
constructor(e = 1, o = 1, t = 1, s = 10, r = 0.25) {
|
|
1317
|
+
super();
|
|
1318
|
+
const n = new xe(e, o, t, s), a = new A(n, {
|
|
1319
|
+
depth: r,
|
|
1320
|
+
bevelEnabled: r > 0,
|
|
1321
|
+
bevelThickness: 0,
|
|
1322
|
+
bevelSize: 0
|
|
1323
|
+
}), c = new y({
|
|
1324
|
+
color: 12986408,
|
|
1325
|
+
emissive: 12981270,
|
|
1326
|
+
emissiveIntensity: 0.25,
|
|
1327
|
+
metalness: 0.1,
|
|
1328
|
+
roughness: 0.3,
|
|
1329
|
+
flatShading: !0
|
|
1330
|
+
});
|
|
1331
|
+
a.center(), this.geometry = a, this.material = c;
|
|
1332
|
+
}
|
|
1333
|
+
}
|
|
1334
|
+
class ve extends q {
|
|
1335
|
+
constructor(e = 5, o = 0.5, t = 1) {
|
|
1336
|
+
super();
|
|
1337
|
+
const s = Math.PI * 2 / e, r = s / 2;
|
|
1338
|
+
this.moveTo(Math.cos(0) * t, Math.sin(0) * t);
|
|
1339
|
+
for (let n = 1; n <= e; ++n)
|
|
1340
|
+
this.lineTo(Math.cos(s * n - r) * o, Math.sin(s * n - r) * o), this.lineTo(Math.cos(s * n) * t, Math.sin(s * n) * t);
|
|
1341
|
+
this.closePath();
|
|
1342
|
+
}
|
|
1343
|
+
}
|
|
1344
|
+
class lt extends m {
|
|
1345
|
+
constructor(e = 5, o = 0.5, t = 1, s = 0.25) {
|
|
1346
|
+
super();
|
|
1347
|
+
const r = new ve(e, o, t), n = new A(r, {
|
|
1348
|
+
depth: s,
|
|
1349
|
+
bevelEnabled: s > 0,
|
|
1350
|
+
bevelThickness: 0,
|
|
1351
|
+
bevelSize: 0
|
|
1352
|
+
}), a = new y({
|
|
1353
|
+
color: 16776960,
|
|
1354
|
+
emissive: 16766720,
|
|
1355
|
+
emissiveIntensity: 0.25,
|
|
1356
|
+
metalness: 0.1,
|
|
1357
|
+
roughness: 0.3,
|
|
1358
|
+
flatShading: !0
|
|
1359
|
+
});
|
|
1360
|
+
n.center(), this.geometry = n, this.material = a;
|
|
1361
|
+
}
|
|
1362
|
+
}
|
|
1363
|
+
const K = {
|
|
1364
|
+
uniforms: {},
|
|
1365
|
+
vertexShader: `
|
|
1366
|
+
varying vec3 vPosition;
|
|
1367
|
+
void main() {
|
|
1368
|
+
vPosition = position;
|
|
1369
|
+
gl_Position = projectionMatrix * modelViewMatrix * vec4(position, 1.0);
|
|
1370
|
+
}
|
|
1371
|
+
`,
|
|
1372
|
+
fragmentShader: `
|
|
1373
|
+
varying vec3 vPosition;
|
|
1374
|
+
void main() {
|
|
1375
|
+
float y = normalize(vPosition).y * 0.5 + 0.5; // Normalizing y to range 0 to 1
|
|
1376
|
+
vec3 topColor = vec3(0.5, 0.8, 1.0); // Light blue
|
|
1377
|
+
vec3 bottomColor = vec3(1.0, 1.0, 1.0); // Light white/gray for the horizon
|
|
1378
|
+
gl_FragColor = vec4(mix(bottomColor, topColor, y), 1.0);
|
|
1379
|
+
}
|
|
1380
|
+
`
|
|
1381
|
+
}, mt = {
|
|
1226
1382
|
uniforms: {
|
|
1227
1383
|
tDiffuse: { value: null },
|
|
1228
1384
|
opacity: { value: 1 }
|
|
@@ -1243,57 +1399,129 @@ const Qe = {
|
|
|
1243
1399
|
gl_FragColor = opacity * texel;
|
|
1244
1400
|
}
|
|
1245
1401
|
`
|
|
1246
|
-
},
|
|
1402
|
+
}, _ = {
|
|
1403
|
+
uniforms: {
|
|
1404
|
+
topColor: { value: new H(51) },
|
|
1405
|
+
bottomColor: { value: new H(17) },
|
|
1406
|
+
offset: { value: 33 },
|
|
1407
|
+
exponent: { value: 0.6 }
|
|
1408
|
+
},
|
|
1409
|
+
vertexShader: `
|
|
1410
|
+
varying vec3 vWorldPosition;
|
|
1411
|
+
void main() {
|
|
1412
|
+
vec4 worldPosition = modelMatrix * vec4(position, 1.0);
|
|
1413
|
+
vWorldPosition = worldPosition.xyz;
|
|
1414
|
+
gl_Position = projectionMatrix * modelViewMatrix * vec4(position, 1.0);
|
|
1415
|
+
}
|
|
1416
|
+
`,
|
|
1417
|
+
fragmentShader: `
|
|
1418
|
+
uniform vec3 topColor;
|
|
1419
|
+
uniform vec3 bottomColor;
|
|
1420
|
+
uniform float offset;
|
|
1421
|
+
uniform float exponent;
|
|
1422
|
+
varying vec3 vWorldPosition;
|
|
1423
|
+
void main() {
|
|
1424
|
+
float h = normalize(vWorldPosition + offset).y;
|
|
1425
|
+
gl_FragColor = vec4(mix(bottomColor, topColor, max(pow(max(h, 0.0), exponent), 0.0)), 1.0);
|
|
1426
|
+
}
|
|
1427
|
+
`
|
|
1428
|
+
};
|
|
1429
|
+
class ht extends m {
|
|
1430
|
+
constructor(e = 1e3) {
|
|
1431
|
+
super(), this.geometry = new x(e, e, e), this.material = new Y({
|
|
1432
|
+
vertexShader: K.vertexShader,
|
|
1433
|
+
fragmentShader: K.fragmentShader,
|
|
1434
|
+
side: R
|
|
1435
|
+
});
|
|
1436
|
+
}
|
|
1437
|
+
}
|
|
1438
|
+
class ut extends m {
|
|
1439
|
+
constructor(e = 1e3) {
|
|
1440
|
+
super(), this.geometry = new T(e, 32, 15), this.material = new Y({
|
|
1441
|
+
vertexShader: _.vertexShader,
|
|
1442
|
+
fragmentShader: _.fragmentShader,
|
|
1443
|
+
uniforms: _.uniforms,
|
|
1444
|
+
side: R
|
|
1445
|
+
});
|
|
1446
|
+
}
|
|
1447
|
+
}
|
|
1448
|
+
class ft extends m {
|
|
1449
|
+
constructor(e = Math.PI * 0.49, o = 2 * Math.PI * 0.25, t = 10, s = 2, r = 5e-3, n = 0.8) {
|
|
1450
|
+
super();
|
|
1451
|
+
const a = new fe();
|
|
1452
|
+
a.scale.setScalar(45e4), this.add(a);
|
|
1453
|
+
const c = a.material.uniforms;
|
|
1454
|
+
c.turbidity.value = t, c.rayleigh.value = s, c.mieCoefficient.value = r, c.mieDirectionalG.value = n, this.skyUniforms = c, this.sunPosition(e, o);
|
|
1455
|
+
}
|
|
1456
|
+
sunPosition(e, o) {
|
|
1457
|
+
const t = new C(), s = this.skyUniforms;
|
|
1458
|
+
t.setFromSphericalCoords(1, e, o), s.sunPosition.value.copy(t);
|
|
1459
|
+
}
|
|
1460
|
+
}
|
|
1461
|
+
const yt = (h) => {
|
|
1247
1462
|
const e = new Uint8Array(4 * h * h);
|
|
1248
|
-
for (let
|
|
1249
|
-
const s =
|
|
1250
|
-
e[s] =
|
|
1463
|
+
for (let t = 0; t < h * h; t++) {
|
|
1464
|
+
const s = t * 4, r = (t % h ^ Math.floor(t / h)) & 1 ? 255 : 0;
|
|
1465
|
+
e[s] = r, e[s + 1] = r, e[s + 2] = r, e[s + 3] = 255;
|
|
1251
1466
|
}
|
|
1252
|
-
const
|
|
1253
|
-
return
|
|
1467
|
+
const o = new le(e, h, h, me, he);
|
|
1468
|
+
return o.wrapS = J, o.wrapT = J, o.minFilter = ue, o.needsUpdate = !0, o;
|
|
1254
1469
|
};
|
|
1255
1470
|
export {
|
|
1256
|
-
|
|
1257
|
-
|
|
1258
|
-
|
|
1259
|
-
|
|
1260
|
-
|
|
1261
|
-
|
|
1262
|
-
|
|
1263
|
-
|
|
1264
|
-
|
|
1265
|
-
|
|
1266
|
-
|
|
1267
|
-
|
|
1268
|
-
|
|
1269
|
-
|
|
1270
|
-
|
|
1271
|
-
|
|
1272
|
-
|
|
1273
|
-
|
|
1274
|
-
|
|
1275
|
-
|
|
1276
|
-
|
|
1277
|
-
|
|
1278
|
-
|
|
1279
|
-
|
|
1280
|
-
|
|
1281
|
-
|
|
1282
|
-
|
|
1283
|
-
|
|
1284
|
-
|
|
1285
|
-
|
|
1286
|
-
|
|
1287
|
-
|
|
1288
|
-
|
|
1289
|
-
Oe as
|
|
1290
|
-
|
|
1291
|
-
|
|
1292
|
-
|
|
1293
|
-
|
|
1294
|
-
|
|
1295
|
-
|
|
1296
|
-
|
|
1297
|
-
|
|
1471
|
+
Xe as Beaker,
|
|
1472
|
+
ye as BeakerGeometry,
|
|
1473
|
+
Pe as BifurcatedStaircaseGeometry,
|
|
1474
|
+
Ee as BoneGeometry,
|
|
1475
|
+
He as Book,
|
|
1476
|
+
Je as Bottle,
|
|
1477
|
+
Se as Bubbling,
|
|
1478
|
+
Ke as BunsenBurner,
|
|
1479
|
+
rt as Burst,
|
|
1480
|
+
pe as BurstShape,
|
|
1481
|
+
je as Candle,
|
|
1482
|
+
Ce as CrossHeadstoneGeometry,
|
|
1483
|
+
ht as DaySkybox,
|
|
1484
|
+
_e as Desk,
|
|
1485
|
+
ke as DioramaGeometry,
|
|
1486
|
+
Qe as ElectricPanel,
|
|
1487
|
+
Ae as FenceColumn,
|
|
1488
|
+
$e as Flask,
|
|
1489
|
+
ct as Gear,
|
|
1490
|
+
de as GearShape,
|
|
1491
|
+
it as Heart,
|
|
1492
|
+
xe as HeartShape,
|
|
1493
|
+
Ie as LShapedStaircaseGeometry,
|
|
1494
|
+
Ye as Lantern,
|
|
1495
|
+
De as LeverPanel,
|
|
1496
|
+
ze as Mausoleum,
|
|
1497
|
+
Re as Microscope,
|
|
1498
|
+
Ue as Moon,
|
|
1499
|
+
We as MortarAndPestle,
|
|
1500
|
+
we as MortarGeometry,
|
|
1501
|
+
Ze as MossyRocks,
|
|
1502
|
+
ut as NightSkybox,
|
|
1503
|
+
Fe as ObeliskHeadstoneGeometry,
|
|
1504
|
+
Oe as Rocks,
|
|
1505
|
+
Le as RoundedHeadstoneGeometry,
|
|
1506
|
+
Ve as SimpleLeafGeometry,
|
|
1507
|
+
Te as SpiralStaircaseGeometry,
|
|
1508
|
+
et as SpiralTube,
|
|
1509
|
+
qe as SquareHeadstoneGeometry,
|
|
1510
|
+
Be as StaircaseGeometry,
|
|
1511
|
+
tt as Stand,
|
|
1512
|
+
lt as Star,
|
|
1513
|
+
ve as StarShape,
|
|
1514
|
+
ot as TeslaCoil,
|
|
1515
|
+
st as TestTube,
|
|
1516
|
+
j as TestTubeGeometry,
|
|
1517
|
+
nt as TestTubeRack,
|
|
1518
|
+
ft as TwilightSkybox,
|
|
1519
|
+
at as WineBottle,
|
|
1520
|
+
Me as WineBottleGeometry,
|
|
1521
|
+
Ne as WroughtIronBarGeometry,
|
|
1522
|
+
yt as checkerboardTexture,
|
|
1523
|
+
K as daySkyShader,
|
|
1524
|
+
mt as fadeShader,
|
|
1525
|
+
_ as nightSkyShader
|
|
1298
1526
|
};
|
|
1299
1527
|
//# sourceMappingURL=index.es.js.map
|