three-low-poly 0.9.0 → 0.9.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.es.js CHANGED
@@ -1,20 +1,1267 @@
1
- import { Group as l, CylinderGeometry as G, MeshStandardMaterial as M, Mesh as s, SphereGeometry as S } from "three";
2
- class x extends l {
3
- constructor(e = 0.5, n = 0.5, t = 2, r = 8) {
4
- super();
5
- const d = new G(
6
- e * 0.6,
7
- // slightly narrower for the shaft
8
- n * 0.6,
1
+ import { Group as b, SphereGeometry as B, MeshStandardMaterial as y, Mesh as m, BufferGeometry as v, Float32BufferAttribute as z, BoxGeometry as x, ConeGeometry as F, CylinderGeometry as G, Vector2 as g, LatheGeometry as V, CircleGeometry as Q, ShaderMaterial as U, Shape as $, ExtrudeGeometry as H, MeshBasicMaterial as D, PointLight as O, TorusGeometry as X, DodecahedronGeometry as _, MeshPhysicalMaterial as Y, DoubleSide as C, CatmullRomCurve3 as W, Vector3 as L, TubeGeometry as ee, LineBasicMaterial as te, Line as oe } from "three";
2
+ import { mergeGeometries as S } from "three/addons/utils/BufferGeometryUtils.js";
3
+ class ie extends b {
4
+ constructor() {
5
+ super();
6
+ const e = [], t = 20, o = new B(0.1, 6, 6), s = new y({
7
+ color: 16777215,
8
+ transparent: !0,
9
+ opacity: 0.6,
10
+ roughness: 0.3,
11
+ metalness: 0.3
12
+ });
13
+ for (let a = 0; a < t; a++) {
14
+ const i = new m(o, s);
15
+ i.position.set(
16
+ (Math.random() - 0.5) * 1.5,
17
+ // Random x position within flask
18
+ Math.random() * 3,
19
+ // Random y position within flask height
20
+ (Math.random() - 0.5) * 1.5
21
+ // Random z position within flask
22
+ ), e.push(i), this.add(i);
23
+ }
24
+ function r() {
25
+ e.forEach((a) => {
26
+ 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
+ }
29
+ function n() {
30
+ requestAnimationFrame(n), r();
31
+ }
32
+ n();
33
+ }
34
+ }
35
+ class le extends v {
36
+ constructor(e = 2, t = 0.3, o = 0.6, s = 5, r = 5, n = Math.PI / 4) {
37
+ super();
38
+ const a = [], i = [];
39
+ for (let d = 0; d < s; d++) {
40
+ const M = d * t, f = M + t, h = d * o, I = h + o;
41
+ a.push(
42
+ // Vertical riser
43
+ -e / 2,
44
+ M,
45
+ h,
46
+ // Bottom-left
47
+ e / 2,
48
+ M,
49
+ h,
50
+ // Bottom-right
51
+ e / 2,
52
+ f,
53
+ h,
54
+ // Top-right
55
+ -e / 2,
56
+ f,
57
+ h,
58
+ // Top-left
59
+ // Horizontal tread
60
+ -e / 2,
61
+ f,
62
+ h,
63
+ // Top-left
64
+ e / 2,
65
+ f,
66
+ h,
67
+ // Top-right
68
+ e / 2,
69
+ f,
70
+ I,
71
+ // Back-right
72
+ -e / 2,
73
+ f,
74
+ I
75
+ // Back-left
76
+ );
77
+ const k = d * 8;
78
+ i.push(
79
+ k,
80
+ k + 1,
81
+ k + 2,
82
+ k,
83
+ k + 2,
84
+ k + 3
85
+ ), i.push(
86
+ k + 4,
87
+ k + 5,
88
+ k + 6,
89
+ k + 4,
90
+ k + 6,
91
+ k + 7
92
+ );
93
+ }
94
+ const c = s * t, l = s * o, w = e * 2;
95
+ a.push(
96
+ // Landing platform (4 vertices)
97
+ -w / 2,
98
+ c,
99
+ l,
100
+ // Bottom-left
101
+ w / 2,
102
+ c,
103
+ l,
104
+ // Bottom-right
105
+ w / 2,
106
+ c,
107
+ l + o,
108
+ // Top-right
109
+ -w / 2,
110
+ c,
111
+ l + o
112
+ // Top-left
113
+ );
114
+ const u = s * 8;
115
+ i.push(
116
+ u,
117
+ u + 1,
118
+ u + 2,
119
+ // First triangle for landing
120
+ u,
121
+ u + 2,
122
+ u + 3
123
+ // Second triangle for landing
124
+ );
125
+ for (let d = 0; d < 2; d++) {
126
+ const M = d === 0 ? 1 : -1;
127
+ for (let f = 0; f < r; f++) {
128
+ const h = c + f * t, I = h + t, k = M * (w / 4), q = l + o, R = f * o * Math.cos(n), j = f * o * Math.sin(n), A = k + M * R - e / 2 * Math.cos(n), N = k + M * R + e / 2 * Math.cos(n), T = q + j, J = A + M * o * Math.cos(n), K = N + M * o * Math.cos(n), Z = T + o * Math.sin(n);
129
+ a.push(
130
+ // Vertical riser
131
+ A,
132
+ h,
133
+ T,
134
+ // Bottom-left
135
+ N,
136
+ h,
137
+ T,
138
+ // Bottom-right
139
+ N,
140
+ I,
141
+ T,
142
+ // Top-right
143
+ A,
144
+ I,
145
+ T,
146
+ // Top-left
147
+ // Horizontal tread
148
+ A,
149
+ I,
150
+ T,
151
+ // Top-left
152
+ N,
153
+ I,
154
+ T,
155
+ // Top-right
156
+ K,
157
+ I,
158
+ Z,
159
+ // Back-right
160
+ J,
161
+ I,
162
+ Z
163
+ // Back-left
164
+ );
165
+ const P = u + 4 + d * r * 8 + f * 8;
166
+ i.push(
167
+ P,
168
+ P + 1,
169
+ P + 2,
170
+ P,
171
+ P + 2,
172
+ P + 3
173
+ ), i.push(
174
+ P + 4,
175
+ P + 5,
176
+ P + 6,
177
+ P + 4,
178
+ P + 6,
179
+ P + 7
180
+ );
181
+ }
182
+ }
183
+ this.setIndex(i), this.setAttribute("position", new z(a, 3)), this.computeVertexNormals();
184
+ }
185
+ }
186
+ class me extends v {
187
+ constructor(e = 5, t = 3, o = 5, s = 0.2) {
188
+ super();
189
+ const r = [
190
+ // Floor vertices
191
+ -e / 2,
192
+ 0,
193
+ -o / 2,
194
+ // 0
195
+ e / 2,
196
+ 0,
197
+ -o / 2,
198
+ // 1
199
+ e / 2,
200
+ 0,
201
+ o / 2,
202
+ // 2
203
+ -e / 2,
204
+ 0,
205
+ o / 2,
206
+ // 3
207
+ // Back wall vertices
208
+ -e / 2,
209
+ 0,
210
+ -o / 2,
211
+ // 4
212
+ e / 2,
213
+ 0,
214
+ -o / 2,
215
+ // 5
216
+ e / 2,
217
+ t,
218
+ -o / 2,
219
+ // 6
220
+ -e / 2,
9
221
  t,
10
- r
11
- ), o = new M({ color: 16777215 }), p = new s(d, o);
12
- p.position.y = 0, this.add(p);
13
- const c = new S(e, r, r), w = new s(c, o), y = new s(c, o), h = new s(c, o), i = new s(c, o);
14
- w.position.set(0, t / 2 + e * 0.6, -e * 0.6), y.position.set(0, t / 2 + e * 0.6, e * 0.6), h.position.set(0, -t / 2 - n * 0.6, -n * 0.6), i.position.set(0, -t / 2 - n * 0.6, n * 0.6), this.add(w), this.add(y), this.add(h), this.add(i);
222
+ -o / 2,
223
+ // 7
224
+ // Left wall vertices
225
+ -e / 2,
226
+ 0,
227
+ -o / 2,
228
+ // 8
229
+ -e / 2,
230
+ 0,
231
+ o / 2,
232
+ // 9
233
+ -e / 2,
234
+ t,
235
+ o / 2,
236
+ // 10
237
+ -e / 2,
238
+ t,
239
+ -o / 2
240
+ // 11
241
+ ], n = [
242
+ // Floor
243
+ 0,
244
+ 1,
245
+ 2,
246
+ 0,
247
+ 2,
248
+ 3,
249
+ // Back wall
250
+ 4,
251
+ 5,
252
+ 6,
253
+ 4,
254
+ 6,
255
+ 7,
256
+ // Left wall
257
+ 8,
258
+ 9,
259
+ 10,
260
+ 8,
261
+ 10,
262
+ 11
263
+ ];
264
+ this.setIndex(n), this.setAttribute("position", new z(r, 3)), this.computeVertexNormals();
265
+ }
266
+ }
267
+ class ue extends v {
268
+ constructor(e = 2, t = 0.3, o = 0.5, s = 5, r = 2) {
269
+ super();
270
+ const n = [], a = [];
271
+ for (let w = 0; w < s; w++) {
272
+ const u = w * t, d = u + t, M = w * o, f = M + o;
273
+ n.push(
274
+ // Vertical riser
275
+ -e / 2,
276
+ u,
277
+ M,
278
+ // Bottom-left
279
+ e / 2,
280
+ u,
281
+ M,
282
+ // Bottom-right
283
+ e / 2,
284
+ d,
285
+ M,
286
+ // Top-right
287
+ -e / 2,
288
+ d,
289
+ M,
290
+ // Top-left
291
+ // Horizontal tread
292
+ -e / 2,
293
+ d,
294
+ M,
295
+ // Top-left
296
+ e / 2,
297
+ d,
298
+ M,
299
+ // Top-right
300
+ e / 2,
301
+ d,
302
+ f,
303
+ // Back-right
304
+ -e / 2,
305
+ d,
306
+ f
307
+ // Back-left
308
+ );
309
+ const h = w * 8;
310
+ a.push(
311
+ h,
312
+ h + 1,
313
+ h + 2,
314
+ h,
315
+ h + 2,
316
+ h + 3
317
+ ), a.push(
318
+ h + 4,
319
+ h + 5,
320
+ h + 6,
321
+ h + 4,
322
+ h + 6,
323
+ h + 7
324
+ );
325
+ }
326
+ const i = s * t, c = s * o;
327
+ n.push(
328
+ // Landing platform (4 vertices)
329
+ -e / 2,
330
+ i,
331
+ c,
332
+ // Bottom-left
333
+ e / 2,
334
+ i,
335
+ c,
336
+ // Bottom-right
337
+ e / 2,
338
+ i,
339
+ c + r,
340
+ // Top-right
341
+ -e / 2,
342
+ i,
343
+ c + r
344
+ // Top-left
345
+ );
346
+ const l = s * 8;
347
+ a.push(
348
+ l,
349
+ l + 1,
350
+ l + 2,
351
+ // First triangle for landing
352
+ l,
353
+ l + 2,
354
+ l + 3
355
+ // Second triangle for landing
356
+ );
357
+ for (let w = 0; w < s; w++) {
358
+ const u = i + w * t, d = u + t, M = -e / 2 - w * o, f = M - o;
359
+ n.push(
360
+ // Vertical riser
361
+ M,
362
+ u,
363
+ c + r,
364
+ // Bottom-left
365
+ M,
366
+ u,
367
+ c + r - e,
368
+ // Bottom-right
369
+ M,
370
+ d,
371
+ c + r - e,
372
+ // Top-right
373
+ M,
374
+ d,
375
+ c + r,
376
+ // Top-left
377
+ // Horizontal tread
378
+ M,
379
+ d,
380
+ c + r,
381
+ // Top-left
382
+ M,
383
+ d,
384
+ c + r - e,
385
+ // Top-right
386
+ f,
387
+ d,
388
+ c + r - e,
389
+ // Back-right
390
+ f,
391
+ d,
392
+ c + r
393
+ // Back-left
394
+ );
395
+ const h = l + 4 + w * 8;
396
+ a.push(
397
+ h,
398
+ h + 1,
399
+ h + 2,
400
+ h,
401
+ h + 2,
402
+ h + 3
403
+ ), a.push(
404
+ h + 4,
405
+ h + 5,
406
+ h + 6,
407
+ h + 4,
408
+ h + 6,
409
+ h + 7
410
+ );
411
+ }
412
+ this.setIndex(a), this.setAttribute("position", new z(n, 3)), this.computeVertexNormals();
413
+ }
414
+ }
415
+ class we extends v {
416
+ constructor(e = 1, t = 0.4, o = 0.2, s = 20, r = 2, n = Math.PI / 8) {
417
+ super();
418
+ const a = [], i = [];
419
+ let c = 0;
420
+ for (let l = 0; l < s; l++) {
421
+ const w = r * Math.cos(c), u = r * Math.sin(c), d = l * o, M = d + o;
422
+ a.push(
423
+ // Front face (vertical riser)
424
+ w - e / 2 * Math.cos(c),
425
+ d,
426
+ u - e / 2 * Math.sin(c),
427
+ // Bottom-left
428
+ w + e / 2 * Math.cos(c),
429
+ d,
430
+ u + e / 2 * Math.sin(c),
431
+ // Bottom-right
432
+ w + e / 2 * Math.cos(c),
433
+ M,
434
+ u + e / 2 * Math.sin(c),
435
+ // Top-right
436
+ w - e / 2 * Math.cos(c),
437
+ M,
438
+ u - e / 2 * Math.sin(c)
439
+ // Top-left
440
+ ), a.push(
441
+ // Top face (horizontal tread)
442
+ w - e / 2 * Math.cos(c),
443
+ M,
444
+ u - e / 2 * Math.sin(c),
445
+ // Top-left-front
446
+ w + e / 2 * Math.cos(c),
447
+ M,
448
+ u + e / 2 * Math.sin(c),
449
+ // Top-right-front
450
+ w + e / 2 * Math.cos(c) - t * Math.sin(c),
451
+ M,
452
+ u + e / 2 * Math.sin(c) + t * Math.cos(c),
453
+ // Back-right
454
+ w - e / 2 * Math.cos(c) - t * Math.sin(c),
455
+ M,
456
+ u - e / 2 * Math.sin(c) + t * Math.cos(c)
457
+ // Back-left
458
+ );
459
+ const f = l * 8;
460
+ i.push(
461
+ f,
462
+ f + 1,
463
+ f + 2,
464
+ // First triangle for riser
465
+ f,
466
+ f + 2,
467
+ f + 3
468
+ // Second triangle for riser
469
+ ), i.push(
470
+ f + 4,
471
+ f + 5,
472
+ f + 6,
473
+ // First triangle for tread
474
+ f + 4,
475
+ f + 6,
476
+ f + 7
477
+ // Second triangle for tread
478
+ ), c += n;
479
+ }
480
+ this.setIndex(i), this.setAttribute("position", new z(a, 3)), this.computeVertexNormals();
481
+ }
482
+ }
483
+ class he extends v {
484
+ constructor(e = 2, t = 0.3, o = 0.5, s = 10) {
485
+ super();
486
+ const r = [], n = [];
487
+ for (let a = 0; a < s; a++) {
488
+ const i = a * t, c = i + t, l = a * o, w = l + o;
489
+ r.push(
490
+ // Bottom face of riser (front face)
491
+ -e / 2,
492
+ i,
493
+ l,
494
+ // 0: Bottom-left-front
495
+ e / 2,
496
+ i,
497
+ l,
498
+ // 1: Bottom-right-front
499
+ e / 2,
500
+ c,
501
+ l,
502
+ // 2: Top-right-front
503
+ -e / 2,
504
+ c,
505
+ l,
506
+ // 3: Top-left-front
507
+ // Top face of tread (horizontal step)
508
+ -e / 2,
509
+ c,
510
+ l,
511
+ // 4: Top-left-front (repeated)
512
+ e / 2,
513
+ c,
514
+ l,
515
+ // 5: Top-right-front (repeated)
516
+ e / 2,
517
+ c,
518
+ w,
519
+ // 6: Top-right-back
520
+ -e / 2,
521
+ c,
522
+ w
523
+ // 7: Top-left-back
524
+ );
525
+ const u = a * 8;
526
+ n.push(
527
+ u,
528
+ u + 1,
529
+ u + 2,
530
+ // First triangle for riser
531
+ u,
532
+ u + 2,
533
+ u + 3
534
+ // Second triangle for riser
535
+ ), n.push(
536
+ u + 4,
537
+ u + 6,
538
+ u + 5,
539
+ // First triangle for tread
540
+ u + 4,
541
+ u + 7,
542
+ u + 6
543
+ // Second triangle for tread
544
+ );
545
+ }
546
+ this.setIndex(n), this.setAttribute("position", new z(r, 3)), this.computeVertexNormals();
547
+ }
548
+ }
549
+ class ye extends v {
550
+ constructor(e = 0.4, t = 1.2, o = 0.2) {
551
+ super();
552
+ const s = t * 0.6, r = new x(e / 2, s, o);
553
+ r.translate(0, s / 2, 0);
554
+ const n = e * 1.5, a = new x(n, e / 4, o);
555
+ a.translate(0, s * 0.75, 0), this.copy(S([r, a], !0));
556
+ }
557
+ }
558
+ class Me extends v {
559
+ constructor(e = 1.75, t = 0.75) {
560
+ super();
561
+ const o = e * 0.05, s = e * 0.15, r = e * 0.15, n = e * 0.75;
562
+ let a = 0;
563
+ const i = new x(t, o, t);
564
+ i.translate(0, a + o / 2, 0), a += o;
565
+ const c = new x(t * 0.8, s, t * 0.8);
566
+ c.translate(0, a + s / 2, 0), a += s;
567
+ const l = new x(t * 0.6, r, t * 0.6);
568
+ l.translate(0, a + r / 2, 0), a += r;
569
+ const w = new x(t * 0.4, n, t * 0.4);
570
+ w.translate(0, a + n / 2, 0), a += n;
571
+ const u = new F(t * 0.4 / Math.sqrt(2), 0.1, 4, 1, !1, Math.PI / 4);
572
+ u.translate(0, a + 0.1 / 2, 0), this.copy(
573
+ S([i, c, l, w, u], !0)
574
+ );
575
+ }
576
+ }
577
+ class de extends v {
578
+ constructor(e = 0.6, t = 1, o = 0.2) {
579
+ super();
580
+ const s = t * 0.7, r = new x(e, s, o);
581
+ r.translate(0, s / 2, 0);
582
+ const n = t - s, a = new G(e / 2, e / 2, o, 16, 1, !1, 0, Math.PI);
583
+ a.rotateY(Math.PI / 2), a.rotateX(Math.PI / 2), a.translate(0, s + n / 2 - o / 2 - 0.05, 0), this.copy(S([r, a], !0));
584
+ }
585
+ }
586
+ class fe extends v {
587
+ constructor(e = 0.5, t = 0.8, o = 0.15) {
588
+ super();
589
+ const s = new x(e, t, o);
590
+ s.translate(0, t / 2, 0), this.copy(s);
591
+ }
592
+ }
593
+ class pe extends v {
594
+ constructor(e = 2.25) {
595
+ super();
596
+ const t = new x(1.2, 0.5, 1.2);
597
+ t.translate(0, 0.25, 0);
598
+ const o = new x(1, e, 1);
599
+ o.translate(0, 0.5 + e / 2, 0);
600
+ const s = new x(1.4, 0.3, 1.4);
601
+ s.translate(0, 0.5 + e + 0.15, 0), this.copy(S([t, o, s], !0));
602
+ }
603
+ }
604
+ class xe extends v {
605
+ constructor(e = 2, t = 0.05, o = 0.3) {
606
+ super();
607
+ const s = new G(t, t, e, 8);
608
+ s.translate(0, e / 2, 0);
609
+ const r = new F(t * 1.5, o, 8);
610
+ r.translate(0, e + o / 2, 0), this.copy(S([s, r], !0));
611
+ }
612
+ }
613
+ class Ge extends v {
614
+ constructor(e = 0.1) {
615
+ super();
616
+ const t = [], o = [], s = [
617
+ [0, 1],
618
+ // Top point
619
+ [0.5, 0.75],
620
+ // Right upper middle
621
+ [0.75, 0.25],
622
+ // Right lower middle
623
+ [0.5, -0.5],
624
+ // Right bottom middle
625
+ [0, -1],
626
+ // Bottom point
627
+ [-0.5, -0.5],
628
+ // Left bottom middle
629
+ [-0.75, 0.25],
630
+ // Left lower middle
631
+ [-0.5, 0.75]
632
+ // Left upper middle
633
+ ];
634
+ for (let n = 0; n < s.length; n++) {
635
+ const [a, i] = s[n];
636
+ t.push(a * e, i * e, 0);
637
+ }
638
+ for (let n = 1; n < s.length - 1; n++)
639
+ o.push(0, n, n + 1);
640
+ o.push(0, s.length - 1, 1);
641
+ const r = new z(t, 3);
642
+ this.setAttribute("position", r), this.setIndex(o), this.computeVertexNormals();
643
+ }
644
+ }
645
+ class be extends v {
646
+ constructor(e = 0.1, t = 0.1, o = 0.4, s = 8) {
647
+ super();
648
+ const r = new G(e * 0.6, t * 0.6, o, s);
649
+ r.translate(0, 0, 0);
650
+ const n = new B(e, s, s), a = n.clone(), i = n.clone(), c = n.clone(), l = n.clone();
651
+ a.translate(0, o / 2 + e * 0.6, -e * 0.6), i.translate(0, o / 2 + e * 0.6, e * 0.6), c.translate(0, -o / 2 - t * 0.6, -t * 0.6), l.translate(0, -o / 2 - t * 0.6, t * 0.6), this.copy(S([r, a, i, c, l], !0));
652
+ }
653
+ }
654
+ class se extends v {
655
+ constructor() {
656
+ super();
657
+ const e = new B(1, 16, 16), t = new G(0.2, 0.2, 2, 16, 1, !0);
658
+ t.translate(0, 1.5, 0), t.rotateX(Math.PI / 2), this.copy(S([e, t], !0));
659
+ }
660
+ }
661
+ class ne extends v {
662
+ constructor() {
663
+ super();
664
+ const e = [
665
+ new g(1, 0),
666
+ // Bottom of the bowl
667
+ new g(1.2, 0.5),
668
+ // Slight flare at the base
669
+ new g(1.4, 1.5),
670
+ // Outer wall
671
+ new g(1.3, 1.8),
672
+ // Flared edge
673
+ new g(0.8, 1.8)
674
+ // Lip of the bowl
675
+ ], t = new V(e, 12), o = new Q(1, 12);
676
+ o.rotateX(-Math.PI / 2), o.translate(0, 0, 0), this.copy(S([t, o], !0));
677
+ }
678
+ }
679
+ class E extends v {
680
+ constructor(e = 0.2, t = 0.2, o = 3, s = 32, r = !0) {
681
+ super();
682
+ const n = new G(e, t, o, s, 1, r), a = new B(t, s, s / 2, 0, Math.PI * 2, Math.PI / 2, Math.PI / 2);
683
+ a.translate(0, -(o / 2), 0), this.copy(S([n, a], !0));
684
+ }
685
+ }
686
+ class ae extends v {
687
+ constructor({ radius: e = 0.5, neckRadius: t = 0.2, height: o = 3, neckHeight: s = 1, segments: r = 16 } = {}) {
688
+ super();
689
+ const n = o - s, a = new G(e, e, n, r);
690
+ a.translate(0, n / 2, 0);
691
+ const i = 0.3, c = new G(t, e, i, r);
692
+ c.translate(0, n + i / 2, 0);
693
+ const l = new G(t, t, s, r);
694
+ l.translate(0, n + i + s / 2, 0), this.copy(S([a, c, l], !0));
695
+ }
696
+ }
697
+ class ge extends b {
698
+ constructor() {
699
+ super();
700
+ const e = new B(5, 32, 32), t = new U({
701
+ uniforms: {
702
+ time: { value: 0 }
703
+ },
704
+ vertexShader: `
705
+ varying vec3 vNormal;
706
+ varying vec3 vPosition;
707
+ void main() {
708
+ vNormal = normalize(normal);
709
+ vPosition = position;
710
+ gl_Position = projectionMatrix * modelViewMatrix * vec4(position, 1.0);
711
+ }
712
+ `,
713
+ fragmentShader: `
714
+ varying vec3 vNormal;
715
+ varying vec3 vPosition;
716
+
717
+ // Simple 3D noise function
718
+ float hash(vec3 p) {
719
+ p = fract(p * 0.3183099 + vec3(0.71, 0.113, 0.419));
720
+ p *= 17.0;
721
+ return fract(p.x * p.y * p.z * (p.x + p.y + p.z));
722
+ }
723
+
724
+ float noise(vec3 p) {
725
+ vec3 ip = floor(p);
726
+ vec3 fp = fract(p);
727
+ fp = fp * fp * (3.0 - 2.0 * fp); // Smoothstep
728
+ return mix(
729
+ mix(mix(hash(ip), hash(ip + vec3(1.0, 0.0, 0.0)), fp.x),
730
+ mix(hash(ip + vec3(0.0, 1.0, 0.0)), hash(ip + vec3(1.0, 1.0, 0.0)), fp.x), fp.y),
731
+ mix(mix(hash(ip + vec3(0.0, 0.0, 1.0)), hash(ip + vec3(1.0, 0.0, 1.0)), fp.x),
732
+ mix(hash(ip + vec3(0.0, 1.0, 1.0)), hash(ip + vec3(1.0, 1.0, 1.0)), fp.x), fp.y),
733
+ fp.z);
734
+ }
735
+
736
+ void main() {
737
+ vec3 color = vec3(0.8, 0.8, 0.7); // Base moon color
738
+ float n = noise(vPosition * 0.5); // Apply noise with frequency
739
+ color *= 0.8 + 0.2 * n; // Modulate color by noise
740
+ gl_FragColor = vec4(color, 1.0);
741
+ }
742
+ `
743
+ }), o = new m(e, t);
744
+ this.add(o);
745
+ }
746
+ }
747
+ class ve extends b {
748
+ constructor() {
749
+ super();
750
+ const e = new x(5, 1, 5), t = new y({ color: 8421504, flatShading: !0 }), o = new m(e, t);
751
+ o.position.set(0, 0.5, 0), this.add(o);
752
+ const s = new x(4, 3, 4), r = new y({ color: 6908265, flatShading: !0 }), n = new m(s, r);
753
+ n.position.set(0, 2.5, 0), this.add(n);
754
+ const a = new F(3.5, 2, 4), i = new y({ color: 5263440, flatShading: !0 }), c = new m(a, i);
755
+ c.rotation.y = Math.PI / 4, c.position.set(0, 5, 0), this.add(c);
756
+ const l = new G(0.2, 0.2, 3.5, 16), w = new y({ color: 6908265, flatShading: !0 });
757
+ [
758
+ [-1.8, 2.3, -2.2],
759
+ [1.8, 2.3, -2.2],
760
+ [-1.8, 2.3, 2.2],
761
+ [1.8, 2.3, 2.2]
762
+ ].forEach((k) => {
763
+ const q = new m(l, w);
764
+ q.position.set(...k), this.add(q);
765
+ });
766
+ const d = new $();
767
+ d.moveTo(-1, 0), d.lineTo(-1, 2), d.absarc(0, 2, 1, Math.PI, 0, !0), d.lineTo(1, 0);
768
+ const M = {
769
+ depth: 0.5,
770
+ bevelEnabled: !1
771
+ }, f = new H(d, M), h = new y({ color: 4210752, flatShading: !0 }), I = new m(f, h);
772
+ I.position.set(0, 0.5, 1.7), this.add(I);
773
+ }
774
+ }
775
+ class ke extends b {
776
+ constructor() {
777
+ super();
778
+ const e = new x(5, 0.3, 3), t = new y({ color: 9132587 }), o = new m(e, t);
779
+ o.position.set(0, 3.15, 0);
780
+ const s = [];
781
+ 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));
782
+ const r = new V(s, 32), n = new y({ color: 4929057 });
783
+ [
784
+ [2.2, 0, 1.2],
785
+ // Adjust Y to 0 so legs start at ground level
786
+ [-2.2, 0, 1.2],
787
+ [2.2, 0, -1.2],
788
+ [-2.2, 0, -1.2]
789
+ ].forEach((i) => {
790
+ const c = new m(r, n);
791
+ c.position.set(...i), this.add(c);
792
+ }), this.add(o);
793
+ }
794
+ }
795
+ class Ie extends b {
796
+ constructor(e = 1, t = 0.2) {
797
+ super(), this.height = e, this.radius = t, this.createCandle(), this.animateFlicker();
798
+ }
799
+ createCandle() {
800
+ const e = new G(this.radius, this.radius, this.height, 32), t = new y({ color: 16777215 });
801
+ this.candle = new m(e, t), this.candle.position.set(0, this.height / 2, 0), this.add(this.candle);
802
+ const o = new B(0.05, 16, 16), s = new D({ color: 16753920 });
803
+ this.flame = new m(o, s), this.flame.position.set(0, this.height + 0.05, 0), this.add(this.flame), this.candleLight = new O(16753920, 1, 5), this.candleLight.position.set(0, this.height + 0.05, 0), this.candleLight.castShadow = !0, this.add(this.candleLight);
804
+ }
805
+ animateFlicker() {
806
+ const e = () => {
807
+ this.candleLight.intensity = 1 + (Math.random() * 0.4 - 0.2), this.candleLight.position.x = Math.random() * 0.02 - 0.01, this.candleLight.position.z = Math.random() * 0.02 - 0.01, requestAnimationFrame(e);
808
+ };
809
+ e();
810
+ }
811
+ }
812
+ class Pe extends b {
813
+ constructor(e = 1.3, t = 0.5) {
814
+ super();
815
+ const o = new G(t, t, 0.2, 16), s = new y({ color: 9127187, flatShading: !0 }), r = new m(o, s);
816
+ r.position.set(0, 0, 0), this.add(r);
817
+ const n = new G(t * 0.9, t * 0.9, e), a = new y({ color: 16766720, flatShading: !0, transparent: !0, opacity: 0.6 }), i = new m(n, a);
818
+ i.position.set(0, e / 2 + 0.1, 0), this.add(i);
819
+ const c = new F(t * 1.1, 0.5, 8), l = new y({ color: 9127187, flatShading: !0 }), w = new m(c, l);
820
+ w.position.set(0, e + 0.35, 0), this.add(w);
821
+ const u = new X(t * 0.8, 0.05, 8, 16), d = new y({ color: 9127187, flatShading: !0 }), M = new m(u, d);
822
+ M.position.set(0, e + 0.85, 0), this.add(M);
823
+ const f = new O(16755200, 1.5, 15);
824
+ f.position.set(0, e / 2 + 0.1, 0), f.castShadow = !0, this.add(f);
825
+ }
826
+ }
827
+ class Se extends b {
828
+ constructor() {
829
+ super();
830
+ const e = new _(1, 0), t = new y({ color: 8421504, flatShading: !0 }), o = new y({ color: 4950843, flatShading: !0, opacity: 0.8, transparent: !0 });
831
+ for (let s = 0; s < 5; s++) {
832
+ const r = new m(e, t);
833
+ 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);
834
+ const n = new m(e, o);
835
+ 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
+ }
838
+ }
839
+ class Be extends b {
840
+ constructor() {
841
+ super();
842
+ const e = new _(1, 0), t = new y({ color: 8421504, flatShading: !0 });
843
+ for (let o = 0; o < 5; o++) {
844
+ const s = new m(e, t);
845
+ 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
+ }
848
+ }
849
+ class Te extends b {
850
+ constructor() {
851
+ super();
852
+ const e = new se(), t = new Y({
853
+ color: 8965375,
854
+ transparent: !0,
855
+ opacity: 0.4,
856
+ roughness: 0.1,
857
+ metalness: 0.1,
858
+ reflectivity: 0.8,
859
+ transmission: 0.9,
860
+ side: C
861
+ }), o = new m(e, t);
862
+ o.rotation.x = -Math.PI / 2, this.add(o);
863
+ }
864
+ }
865
+ class ze extends b {
866
+ constructor() {
867
+ super();
868
+ const e = new x(1.6, 0.05, 2.1), t = new y({ color: 9109504 }), o = new m(e, t), s = new m(e, t);
869
+ o.position.set(0, 0.125, 0), s.position.set(0, -0.125, 0);
870
+ const r = new x(1.55, 0.2, 2), n = new y({ color: 16777215 }), a = new m(r, n);
871
+ a.position.set(-0.025, 0, 0);
872
+ const i = new x(0.05, 0.25, 2.1), c = new y({ color: 4915200 }), l = new m(i, c);
873
+ l.position.set(-0.8, 0, 0), this.add(o), this.add(s), this.add(a), this.add(l);
874
+ }
875
+ }
876
+ class Le extends b {
877
+ constructor() {
878
+ super();
879
+ const e = [
880
+ new g(0, 0),
881
+ // Bottom
882
+ new g(0.8, 0),
883
+ // Base
884
+ new g(1, 1.5),
885
+ // Rounded body
886
+ new g(0.5, 2.2),
887
+ // Neck
888
+ new g(0.6, 2.5)
889
+ // Mouth
890
+ ], t = new V(e, 10), o = new G(0.3, 0.4, 0.2, 8), s = new y({
891
+ color: 8965375,
892
+ transparent: !0,
893
+ opacity: 0.5,
894
+ roughness: 0.1,
895
+ metalness: 0.3
896
+ }), r = new y({
897
+ color: 16724838,
898
+ // Vibrant potion color
899
+ transparent: !0,
900
+ opacity: 0.6
901
+ }), n = new y({
902
+ color: 9127187,
903
+ roughness: 1
904
+ }), a = new m(t, s), i = new m(t, r), c = new m(o, n);
905
+ i.scale.set(0.8, 0.8, 0.8), i.position.y = 0.1, c.position.y = 2.5;
906
+ const l = new b();
907
+ l.add(a, i, c), this.add(l);
908
+ }
909
+ }
910
+ class Fe extends b {
911
+ constructor() {
912
+ super();
913
+ const e = new G(0.3, 0.4, 0.1, 16), t = new y({
914
+ color: 3355443,
915
+ roughness: 0.6,
916
+ metalness: 0.3
917
+ }), o = new m(e, t);
918
+ o.position.y = 0.05;
919
+ const s = new G(0.1, 0.1, 0.7, 16), r = new y({
920
+ color: 5592405,
921
+ roughness: 0.5,
922
+ metalness: 0.4
923
+ }), n = new m(s, r);
924
+ n.position.y = 0.4;
925
+ const a = new F(0.075, 0.2, 16), i = new y({
926
+ color: 16733440,
927
+ emissive: 16733440,
928
+ emissiveIntensity: 0.6,
929
+ transparent: !0,
930
+ opacity: 0.8
931
+ }), c = new m(a, i);
932
+ c.position.y = 0.8, this.add(o, n, c);
933
+ }
934
+ }
935
+ class Ce extends b {
936
+ constructor() {
937
+ super();
938
+ const e = new x(3, 4, 0.1), t = new y({
939
+ color: 3026478,
940
+ roughness: 0.8,
941
+ metalness: 0.6
942
+ }), o = new x(0.2, 0.5, 0.2), s = new y({
943
+ color: 11184810,
944
+ roughness: 0.5,
945
+ metalness: 0.7
946
+ }), r = new G(0.3, 0.3, 0.1, 16), n = new y({
947
+ color: 5592405,
948
+ roughness: 0.7,
949
+ metalness: 0.5
950
+ }), a = new m(e, t);
951
+ for (let h = -1; h <= 1; h++) {
952
+ const I = new m(o, s);
953
+ I.position.set(h, 1.5, 0.1), a.add(I);
954
+ }
955
+ const i = new m(r, n);
956
+ i.rotation.x = Math.PI / 2, i.position.set(0, 0.5, 0.15), a.add(i);
957
+ const c = new B(0.15, 8, 8), l = new y({
958
+ color: 16711680,
959
+ emissive: 16711680,
960
+ emissiveIntensity: 0.5
961
+ }), w = new m(c, l);
962
+ w.position.set(0, -1, 0.1), a.add(w), this.add(a);
963
+ let u = 0.015, d = 0.8, M = 0.2;
964
+ function f() {
965
+ requestAnimationFrame(f);
966
+ const h = M + Math.abs(Math.sin(Date.now() * u)) * (d - M);
967
+ w.material.emissiveIntensity = h;
968
+ }
969
+ f();
970
+ }
971
+ }
972
+ class qe extends b {
973
+ constructor() {
974
+ super();
975
+ const e = [
976
+ new g(0, 0),
977
+ // Bottom of the flask
978
+ new g(1.2, 0),
979
+ // Base
980
+ new g(1.5, 1.5),
981
+ // Mid-body
982
+ new g(1, 3),
983
+ // Narrow neck
984
+ new g(0.6, 3.5)
985
+ // Mouth of the flask
986
+ ], t = new V(e, 12), o = new G(0.6, 0.7, 0.3, 8), s = new y({
987
+ color: 8965290,
988
+ transparent: !0,
989
+ opacity: 0.4,
990
+ roughness: 0.1,
991
+ metalness: 0.5
992
+ }), r = new y({
993
+ color: 9127187,
994
+ roughness: 1
995
+ }), n = new m(t, s), a = new m(o, r);
996
+ a.position.y = 3.5, this.add(n, a);
997
+ }
998
+ }
999
+ class Ae extends b {
1000
+ constructor() {
1001
+ super();
1002
+ const e = new x(2, 3, 0.1), t = new y({
1003
+ color: 3355443,
1004
+ roughness: 0.8,
1005
+ metalness: 0.5
1006
+ }), o = new m(e, t), s = new G(0.1, 0.1, 0.2, 8), r = new G(0.05, 0.05, 1, 8), n = new y({
1007
+ color: 11184810,
1008
+ roughness: 0.5,
1009
+ metalness: 0.7
1010
+ });
1011
+ for (let a = -0.5; a <= 0.5; a += 0.5) {
1012
+ const i = new m(s, n);
1013
+ i.position.set(a, 1, 0.1);
1014
+ const c = new m(r, n);
1015
+ c.position.y = 0.5, i.add(c), this.add(i);
1016
+ }
1017
+ this.add(o);
1018
+ }
1019
+ }
1020
+ class Ne extends b {
1021
+ constructor() {
1022
+ super();
1023
+ const e = new x(1, 0.2, 0.5), t = new y({
1024
+ color: 4473924,
1025
+ roughness: 0.6,
1026
+ metalness: 0.3
1027
+ }), o = new m(e, t);
1028
+ o.position.y = 0.1;
1029
+ const s = new x(0.2, 1, 0.2), r = new m(s, t);
1030
+ r.position.set(0, 0.6, -0.2);
1031
+ const n = new G(0.1, 0.1, 0.4, 8), a = new y({
1032
+ color: 3355443,
1033
+ roughness: 0.5,
1034
+ metalness: 0.6
1035
+ }), i = new m(n, a);
1036
+ i.position.set(0, 1.1, -0.35), i.rotation.x = -Math.PI / 4;
1037
+ const c = new x(0.6, 0.1, 0.6), l = new y({
1038
+ color: 5592405,
1039
+ roughness: 0.8,
1040
+ metalness: 0.2
1041
+ }), w = new m(c, l);
1042
+ w.position.set(0, 0.6, 0), this.add(o, r, i, w);
1043
+ }
1044
+ }
1045
+ class Ve extends b {
1046
+ constructor() {
1047
+ super();
1048
+ const e = new ne(), t = new G(0.2, 0.3, 1.5, 8);
1049
+ t.translate(0, 0.75, 0);
1050
+ const o = new y({
1051
+ color: 6045747,
1052
+ // Dark earthy tone
1053
+ roughness: 1,
1054
+ metalness: 0,
1055
+ side: C
1056
+ // Render inside and outside
1057
+ }), s = new y({
1058
+ color: 9132587,
1059
+ // Slightly lighter earthy color
1060
+ roughness: 0.8,
1061
+ metalness: 0.1
1062
+ }), r = new m(e, o), n = new m(t, s);
1063
+ n.position.set(0.3, 1.3, 0), n.rotation.z = Math.PI / 4, this.add(r, n);
1064
+ }
1065
+ }
1066
+ class Ee extends b {
1067
+ constructor() {
1068
+ super();
1069
+ const e = 100, t = 0.05, o = new W(
1070
+ Array.from({ length: e }, (c, l) => {
1071
+ const w = l * 0.2;
1072
+ return new L(
1073
+ Math.cos(w) * 0.4,
1074
+ l * t,
1075
+ // Gradual height increase
1076
+ Math.sin(w) * 0.4
1077
+ );
1078
+ })
1079
+ ), s = new ee(o, 200, 0.1, 8, !1), r = new y({
1080
+ color: 8965375,
1081
+ transparent: !0,
1082
+ opacity: 0.3,
1083
+ roughness: 0.1,
1084
+ metalness: 0.2,
1085
+ emissive: 8965375
1086
+ }), n = new m(s, r);
1087
+ this.add(n);
1088
+ function a() {
1089
+ r.emissiveIntensity = 0.2 + Math.sin(Date.now() * 5e-3) * 0.1;
1090
+ }
1091
+ function i() {
1092
+ requestAnimationFrame(i), a();
1093
+ }
1094
+ i();
1095
+ }
1096
+ }
1097
+ class Ye extends b {
1098
+ constructor() {
1099
+ super();
1100
+ const e = new X(0.3, 0.03, 8, 16), t = new y({
1101
+ color: 8947848,
1102
+ roughness: 0.7,
1103
+ metalness: 0.3
1104
+ }), o = new m(e, t);
1105
+ o.rotation.x = Math.PI / 2, o.position.y = 0.4;
1106
+ const s = new G(0.02, 0.02, 0.4, 8), r = new y({
1107
+ color: 6710886,
1108
+ roughness: 0.8,
1109
+ metalness: 0.3
1110
+ }), n = [];
1111
+ for (let a = 0; a < 3; a++) {
1112
+ const i = a / 3 * Math.PI * 2, c = new m(s, r);
1113
+ c.position.set(Math.cos(i) * 0.25, 0.2, Math.sin(i) * 0.25), n.push(c);
1114
+ }
1115
+ this.add(o, ...n);
1116
+ }
1117
+ }
1118
+ class Re extends b {
1119
+ constructor() {
1120
+ super();
1121
+ const e = new G(0.5, 0.6, 0.3, 16), t = new y({
1122
+ color: 3355443,
1123
+ roughness: 0.6,
1124
+ metalness: 0.5
1125
+ }), o = new m(e, t);
1126
+ o.position.y = 0.15;
1127
+ const s = new G(0.15, 0.15, 2, 12, 1, !0), r = new y({
1128
+ color: 16737792,
1129
+ roughness: 0.5,
1130
+ metalness: 0.8,
1131
+ side: C
1132
+ }), n = new m(s, r);
1133
+ n.position.y = 1.3;
1134
+ const a = new B(0.3, 16, 16), i = new m(a, r);
1135
+ i.position.y = 2.4, this.add(o, n, i);
1136
+ const c = [];
1137
+ for (let u = 0; u < 5; u++) {
1138
+ const d = new te({ color: 10079487 }), M = [
1139
+ new L(0, 2.4, 0),
1140
+ new L((Math.random() - 0.5) * 1.5, Math.random() * 2.4, (Math.random() - 0.5) * 1.5)
1141
+ ], f = new v().setFromPoints(M), h = new oe(f, d);
1142
+ this.add(h), c.push(h);
1143
+ }
1144
+ function l() {
1145
+ c.forEach((u) => {
1146
+ const d = [
1147
+ new L(0, 2.4, 0),
1148
+ new L((Math.random() - 0.5) * 1.5, Math.random() * 2.4, (Math.random() - 0.5) * 1.5)
1149
+ ];
1150
+ u.geometry.setFromPoints(d);
1151
+ });
1152
+ }
1153
+ function w() {
1154
+ requestAnimationFrame(w), l();
1155
+ }
1156
+ w();
1157
+ }
1158
+ }
1159
+ class Ze extends b {
1160
+ constructor(e = 0.2, t = 0.2, o = 3, s = 32) {
1161
+ super();
1162
+ const r = new E(e, t, o, s), n = new Y({
1163
+ color: 8965375,
1164
+ transparent: !0,
1165
+ opacity: 0.4,
1166
+ roughness: 0.1,
1167
+ metalness: 0.1,
1168
+ reflectivity: 0.8,
1169
+ transmission: 0.9,
1170
+ // For glass effect
1171
+ side: C
1172
+ }), a = new m(r, n);
1173
+ this.add(a);
1174
+ }
1175
+ }
1176
+ class Oe extends b {
1177
+ constructor(e = 3, t = [65450, 16711850, 11141375]) {
1178
+ super();
1179
+ const o = new x(3, 0.2, 1), s = new y({
1180
+ color: 9127187,
1181
+ // Wooden color or change to metallic tone
1182
+ roughness: 0.7,
1183
+ metalness: 0.3
1184
+ }), r = new m(o, s);
1185
+ r.position.y = 0.5;
1186
+ const n = new E(0.1, 0.1, 1, 16), a = new y({
1187
+ color: 11184810,
1188
+ transparent: !0,
1189
+ opacity: 0.4,
1190
+ roughness: 0.1,
1191
+ metalness: 0.5,
1192
+ side: C
1193
+ });
1194
+ for (let i = 0; i < e; i++) {
1195
+ const c = new m(n, a), l = (i - (e - 1) / 2) * 0.8;
1196
+ c.position.set(l, 1, 0);
1197
+ const w = new E(0.099, 0.099, 0.5, 16, !1), u = t[i % t.length], d = new y({
1198
+ color: u,
1199
+ emissive: u,
1200
+ emissiveIntensity: 0.5,
1201
+ transparent: !0,
1202
+ opacity: 0.6
1203
+ }), M = new m(w, d);
1204
+ M.position.set(0, -0.25, 0), c.add(M), r.add(c);
1205
+ }
1206
+ this.add(r);
1207
+ }
1208
+ }
1209
+ class Xe extends m {
1210
+ constructor() {
1211
+ super();
1212
+ const e = new ae(), t = new Y({
1213
+ color: 5597999,
1214
+ roughness: 0.1,
1215
+ transmission: 0.9,
1216
+ // Makes the material transparent
1217
+ thickness: 0.2,
1218
+ metalness: 0,
1219
+ clearcoat: 1,
1220
+ clearcoatRoughness: 0.1
1221
+ });
1222
+ this.geometry = e, this.material = t;
15
1223
  }
16
1224
  }
17
1225
  export {
18
- x as Bone
1226
+ Te as Beaker,
1227
+ se as BeakerGeometry,
1228
+ le as BifurcatedStaircaseGeometry,
1229
+ be as BoneGeometry,
1230
+ ze as Book,
1231
+ Le as Bottle,
1232
+ ie as Bubbling,
1233
+ Fe as BunsenBurner,
1234
+ Ie as Candle,
1235
+ ye as CrossHeadstoneGeometry,
1236
+ ke as Desk,
1237
+ me as DioramaGeometry,
1238
+ Ce as ElectricPanel,
1239
+ pe as FenceColumn,
1240
+ qe as Flask,
1241
+ ue as LShapedStaircaseGeometry,
1242
+ Pe as Lantern,
1243
+ Ae as LeverPanel,
1244
+ ve as Mausoleum,
1245
+ Ne as Microscope,
1246
+ ge as Moon,
1247
+ Ve as MortarAndPestle,
1248
+ ne as MortarGeometry,
1249
+ Se as MossyRocks,
1250
+ Me as ObeliskHeadstoneGeometry,
1251
+ Be as Rocks,
1252
+ de as RoundedHeadstoneGeometry,
1253
+ Ge as SimpleLeafGeometry,
1254
+ we as SpiralStaircaseGeometry,
1255
+ Ee as SpiralTube,
1256
+ fe as SquareHeadstoneGeometry,
1257
+ he as StaircaseGeometry,
1258
+ Ye as Stand,
1259
+ Re as TeslaCoil,
1260
+ Ze as TestTube,
1261
+ E as TestTubeGeometry,
1262
+ Oe as TestTubeRack,
1263
+ Xe as WineBottle,
1264
+ ae as WineBottleGeometry,
1265
+ xe as WroughtIronBarGeometry
19
1266
  };
20
1267
  //# sourceMappingURL=index.es.js.map