three-low-poly 0.9.15 → 0.9.17

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.d.ts CHANGED
@@ -275,7 +275,7 @@ export declare class BifurcatedStaircaseGeometry extends BufferGeometry {
275
275
  constructor(stepWidth?: number, stepHeight?: number, stepDepth?: number, numStepsCentral?: number, numStepsBranch?: number, branchAngle?: number);
276
276
  }
277
277
 
278
- export declare class Bone extends Mesh {
278
+ export declare class Bone extends Mesh<BoneGeometry, MeshStandardMaterial> {
279
279
  constructor();
280
280
  }
281
281
 
@@ -294,7 +294,14 @@ export declare class BoneGeometry extends BufferGeometry {
294
294
  constructor(radiusTop?: number, radiusBottom?: number, height?: number, radialSegments?: number);
295
295
  }
296
296
 
297
- export declare class Book extends Mesh {
297
+ /**
298
+ * Book prefab
299
+ *
300
+ * Material indices:
301
+ * 0. cover
302
+ * 1. page
303
+ */
304
+ export declare class Book extends Mesh<BookGeometry, MeshStandardMaterial[]> {
298
305
  constructor({ width, height, depth, coverThickness, pageIndent, coverColor, pageColor, }?: {
299
306
  width?: number | undefined;
300
307
  height?: number | undefined;
@@ -306,11 +313,18 @@ export declare class Book extends Mesh {
306
313
  });
307
314
  }
308
315
 
316
+ /**
317
+ * Book
318
+ *
319
+ * Group indices:
320
+ * 0. cover
321
+ * 1. page
322
+ */
309
323
  export declare class BookGeometry extends BufferGeometry {
310
324
  constructor(width?: number, height?: number, depth?: number, coverThickness?: number, pageIndent?: number);
311
325
  }
312
326
 
313
- export declare class Bookshelf extends Mesh {
327
+ export declare class Bookshelf extends Mesh<BookshelfGeometry, MeshStandardMaterial> {
314
328
  constructor({ width, //
315
329
  height, depth, shelves, frameThickness, open, }?: {
316
330
  width?: number | undefined;
@@ -334,10 +348,6 @@ export declare class BookshelfGeometry extends BufferGeometry {
334
348
  });
335
349
  }
336
350
 
337
- export declare class Bottle extends Group {
338
- constructor();
339
- }
340
-
341
351
  export declare class BubblingEffect extends InstancedMesh {
342
352
  private bubblePositions;
343
353
  private velocities;
@@ -377,6 +387,18 @@ export declare class BurstShape extends Shape {
377
387
  constructor(sides?: number, innerRadius?: number, outerRadius?: number);
378
388
  }
379
389
 
390
+ /**
391
+ * Calculate the sum of absolute differences for each channel
392
+ * difference = |r1 - r2| + |g1 - g2| + |b1 - b2|
393
+ */
394
+ export declare function calculateChannelDifference(color1: [number, number, number], color2: [number, number, number]): number;
395
+
396
+ /**
397
+ * Calculate the Euclidean distance between two colors in RGB space
398
+ * distance = sqrt((r1 - r2)^2 + (g1 - g2)^2 + (b1 - b2)^2)
399
+ */
400
+ export declare function calculateDistance(color1: [number, number, number], color2: [number, number, number]): number;
401
+
380
402
  /**
381
403
  * Compute normal based on the quad’s vertices (using the cross product of two edges).
382
404
  */
@@ -391,6 +413,32 @@ export declare function calculateUVBounds(uvs: [number, number][]): {
391
413
  maxBounds: [number, number];
392
414
  };
393
415
 
416
+ /**
417
+ * Calculate the x-coordinate for a given y-coordinate using the slope-intercept equation of a line.
418
+ * x = x1 + (y - y1) / m
419
+ *
420
+ * Example usage
421
+ * ```
422
+ * const x1 = 0.8, y1 = 0, x2 = 1, y2 = 1.5, y = 1.0;
423
+ * const x = calculateXForY(x1, y1, x2, y2, y);
424
+ * console.log(`The x-position for y=${y} is x=${x.toFixed(4)}`);
425
+ * ```
426
+ */
427
+ export declare function calculateXFromSlopeIntercept(x1: number, y1: number, x2: number, y2: number, y: number): number;
428
+
429
+ /**
430
+ * Calculate the y-coordinate for a given x-coordinate using the slope-intercept equation of a line.
431
+ * y = y1 + m * (x - x1)
432
+ *
433
+ * Example usage
434
+ * ```
435
+ * const x1 = 0.8, y1 = 0, x2 = 1, y2 = 1.5, x = 0.9333;
436
+ * const y = calculateYForX(x1, y1, x2, y2, x);
437
+ * console.log(`The y-position for x=${x} is y=${y.toFixed(4)}`);
438
+ * ```
439
+ */
440
+ export declare function calculateYFromSlopeIntercept(x1: number, y1: number, x2: number, y2: number, x: number): number;
441
+
394
442
  export declare class Candle extends Group {
395
443
  private candle;
396
444
  private flame;
@@ -462,6 +510,76 @@ export declare const circularEaseInOut: (t: number) => number;
462
510
 
463
511
  export declare const circularEaseOut: (t: number) => number;
464
512
 
513
+ export declare const ColorPalette: {
514
+ CADMIUM_RED: number;
515
+ CARDINAL_RED: number;
516
+ CHERRY_RED: number;
517
+ CRIMSON: number;
518
+ ALIZARIN_CRIMSON: number;
519
+ RUST: number;
520
+ DARK_RED: number;
521
+ TANGERINE: number;
522
+ ORANGE_PEEL: number;
523
+ CADMIUM_ORANGE: number;
524
+ ORANGE: number;
525
+ AMBER: number;
526
+ CADMIUM_YELLOW: number;
527
+ GOLD: number;
528
+ YELLOW: number;
529
+ LIME_GREEN: number;
530
+ SPRING_GREEN: number;
531
+ MOSS_GREEN: number;
532
+ FERN_GREEN: number;
533
+ FOREST_GREEN: number;
534
+ SAP_GREEN: number;
535
+ OLIVE_DRAB: number;
536
+ VIRIDIAN_GREEN: number;
537
+ MINT_GREEN: number;
538
+ AQUAMARINE: number;
539
+ PHTHALO_BLUE: number;
540
+ SKY_BLUE: number;
541
+ CERULEAN_BLUE: number;
542
+ AZURE: number;
543
+ OCEAN_BLUE: number;
544
+ ROYAL_BLUE: number;
545
+ MIDNIGHT_BLUE: number;
546
+ ULTRAMARINE_BLUE: number;
547
+ COBALT_VIOLET: number;
548
+ DEEP_VIOLET: number;
549
+ CORAL_PINK: number;
550
+ VIVID_MAGENTA: number;
551
+ MAGENTA: number;
552
+ HOT_PINK: number;
553
+ PINK_SHERBET: number;
554
+ SOFT_PINK: number;
555
+ BURNT_SIENNA: number;
556
+ BURNT_UMBER: number;
557
+ SIENNA: number;
558
+ SADDLE_BROWN: number;
559
+ COFFEE_BROWN: number;
560
+ DARK_UMBER: number;
561
+ RAW_UMBER: number;
562
+ YELLOW_OCHRE: number;
563
+ RAW_SIENNA: number;
564
+ TAUPE: number;
565
+ ONYX: number;
566
+ CARBON: number;
567
+ CHARCOAL: number;
568
+ SLATE_GRAY: number;
569
+ ASH_GRAY: number;
570
+ GRAPHITE: number;
571
+ STEEL_GRAY: number;
572
+ DIM_GRAY: number;
573
+ IRON: number;
574
+ GRAY: number;
575
+ STONE: number;
576
+ SILVER: number;
577
+ LIGHT_GRAY: number;
578
+ PALE_GRAY: number;
579
+ WHITE_SMOKE: number;
580
+ TITANIUM_WHITE: number;
581
+ };
582
+
465
583
  export declare const concave: (t: number) => number;
466
584
 
467
585
  export declare const convex: (t: number) => number;
@@ -642,8 +760,8 @@ export declare const createQuadraticCurvePoints: (start: Vector2, control: Vecto
642
760
  */
643
761
  export declare const createSigmoidCurvePoints: (start: Vector2, end: Vector2, a: number, segments?: number) => Vector2[];
644
762
 
645
- export declare class CrossHeadstone extends Mesh {
646
- constructor({ width, height, depth, material, }?: CrossHeadstoneOptions);
763
+ export declare class CrossHeadstone extends Mesh<CrossHeadstoneGeometry, MeshStandardMaterial> {
764
+ constructor({ width, height, depth, }?: CrossHeadstoneOptions);
647
765
  }
648
766
 
649
767
  export declare class CrossHeadstoneGeometry extends BufferGeometry {
@@ -654,7 +772,6 @@ declare interface CrossHeadstoneOptions {
654
772
  width?: number;
655
773
  height?: number;
656
774
  depth?: number;
657
- material?: Material;
658
775
  }
659
776
 
660
777
  export declare const cubicCurve: (t: number, p0: number, p1: number, p2: number, p3: number) => number;
@@ -745,12 +862,20 @@ export declare interface DaySkyUniforms {
745
862
  bottomColor: Uniform<Color>;
746
863
  }
747
864
 
748
- export declare class Desk extends Mesh {
749
- geometry: DeskGeometry;
750
- material: MeshStandardMaterial[];
865
+ /**
866
+ * Material indices:
867
+ * 0. Desk surface
868
+ * 1. Desk legs
869
+ */
870
+ export declare class Desk extends Mesh<DeskGeometry, MeshStandardMaterial[]> {
751
871
  constructor();
752
872
  }
753
873
 
874
+ /**
875
+ * Group indices:
876
+ * 0. Desk surface
877
+ * 1. Desk legs
878
+ */
754
879
  export declare class DeskGeometry extends BufferGeometry {
755
880
  constructor();
756
881
  }
@@ -933,7 +1058,7 @@ export declare interface EmissivePulseEffectOptions {
933
1058
  material: MeshStandardMaterial | MeshPhysicalMaterial | MeshLambertMaterial | MeshPhongMaterial;
934
1059
  }
935
1060
 
936
- export declare class ErlenmeyerFlask extends Mesh {
1061
+ export declare class ErlenmeyerFlask extends Mesh<ErlenmeyerFlaskGeometry, MeshPhysicalMaterial> {
937
1062
  constructor({ flaskRadius, //
938
1063
  neckRadius, height, neckHeight, radialSegments, }?: {
939
1064
  flaskRadius?: number | undefined;
@@ -989,20 +1114,9 @@ export declare const Falloff: {
989
1114
  SMOOTHSTEP: (distance: number, radius: number) => number;
990
1115
  };
991
1116
 
992
- export declare class FenceColumn extends Mesh {
993
- constructor({ height }?: {
994
- height?: number | undefined;
995
- });
996
- }
1117
+ export declare function findClosestColor(inputColor: number, dataset: number[]): number | null;
997
1118
 
998
- /**
999
- * Fence Column Geometry, a stone slab fence column shape
1000
- */
1001
- export declare class FenceColumnGeometry extends BufferGeometry {
1002
- constructor({ height }?: {
1003
- height?: number | undefined;
1004
- });
1005
- }
1119
+ export declare function findClosestColorChannelWise(inputColor: number, dataset: number[]): number | null;
1006
1120
 
1007
1121
  export declare class Flask extends Group {
1008
1122
  constructor();
@@ -1013,9 +1127,7 @@ export declare class Flask extends Group {
1013
1127
  */
1014
1128
  export declare const flattenBrush: <T extends BufferGeometry>(geometry: T, position: Vector3, radius: number, targetHeight: number, strength: number, direction?: Vector3, falloffFn?: (distance: number, radius: number) => number) => void;
1015
1129
 
1016
- export declare class FlorenceFlask extends Mesh {
1017
- geometry: FlorenceFlaskGeometry;
1018
- material: MeshPhysicalMaterial;
1130
+ export declare class FlorenceFlask extends Mesh<FlorenceFlaskGeometry, MeshPhysicalMaterial> {
1019
1131
  constructor();
1020
1132
  }
1021
1133
 
@@ -1054,6 +1166,16 @@ export declare class GearShape extends Shape {
1054
1166
  constructor(sides?: number, innerRadius?: number, outerRadius?: number, holeSides?: number, holeRadius?: number);
1055
1167
  }
1056
1168
 
1169
+ /**
1170
+ * Example usage:
1171
+ * ```
1172
+ * const baseHue = Math.floor(Math.random() * 360);
1173
+ * const color1 = getAnalogousColors(baseHue);
1174
+ * const color2 = getAnalogousColors(baseHue);
1175
+ * ```
1176
+ */
1177
+ export declare function getAnalogousColors(baseHue: number): [number, number, number];
1178
+
1057
1179
  export declare class Heart extends Mesh {
1058
1180
  constructor(size?: number, width?: number, height?: number, tipDepth?: number, depth?: number);
1059
1181
  }
@@ -1062,6 +1184,14 @@ export declare class HeartShape extends Shape {
1062
1184
  constructor(size?: number, width?: number, height?: number, tipDepth?: number);
1063
1185
  }
1064
1186
 
1187
+ export declare function hexToHsl(hex: number): [number, number, number];
1188
+
1189
+ /**
1190
+ * Convert hexadecimal literal numeric color value to RGB array
1191
+ * @param hex
1192
+ */
1193
+ export declare function hexToRgb(hex: number): [number, number, number];
1194
+
1065
1195
  export declare class Hill extends Mesh {
1066
1196
  constructor({ radius, //
1067
1197
  height, widthSegments, heightSegments, phiStart, phiLength, }?: {
@@ -1086,6 +1216,20 @@ export declare class HillGeometry extends BufferGeometry {
1086
1216
  });
1087
1217
  }
1088
1218
 
1219
+ /**
1220
+ * Example usage:
1221
+ * ```
1222
+ * const h = 200; // Hue
1223
+ * const s = 75; // Saturation
1224
+ * const l = 50; // Lightness
1225
+ *
1226
+ * const [ r, g, b ] = hslToHex(h, s, l);
1227
+ * ```
1228
+ */
1229
+ export declare function hslToHex(h: number, s: number, l: number): [number, number, number];
1230
+
1231
+ export declare function hslToRgb(h: number, s: number, l: number): [number, number, number];
1232
+
1089
1233
  /**
1090
1234
  * Generates an array of interpolated 2D points using an easing function.
1091
1235
  * @param curveFunction - The easing function to apply to the normalized value.
@@ -1166,6 +1310,11 @@ declare interface LightningEffectOptions {
1166
1310
 
1167
1311
  export declare const linear: (t: number) => number;
1168
1312
 
1313
+ export declare const LineEquations: {
1314
+ calculateXFromSlopeIntercept: typeof calculateXFromSlopeIntercept;
1315
+ calculateYFromSlopeIntercept: typeof calculateYFromSlopeIntercept;
1316
+ };
1317
+
1169
1318
  export declare const logarithmic: (t: number) => number;
1170
1319
 
1171
1320
  export declare const logarithmicCurve: (t: number, base?: number, factor?: number) => number;
@@ -1198,7 +1347,27 @@ export declare class LShapedStaircaseGeometry extends BufferGeometry {
1198
1347
  constructor(stepWidth?: number, stepHeight?: number, stepDepth?: number, numStepsPerFlight?: number, landingDepth?: number);
1199
1348
  }
1200
1349
 
1201
- export declare class Mausoleum extends Group {
1350
+ /**
1351
+ * Material indices:
1352
+ * 0. Base
1353
+ * 1. Building
1354
+ * 2. Roof
1355
+ * 3. Arched entrance
1356
+ */
1357
+ export declare class Mausoleum extends Mesh<MausoleumGeometry, MeshStandardMaterial[]> {
1358
+ constructor();
1359
+ }
1360
+
1361
+ /**
1362
+ * Mausoleum Geometry
1363
+ *
1364
+ * Group indices:
1365
+ * 0. Base
1366
+ * 1. Building
1367
+ * 2. Roof
1368
+ * 3. Arched entrance
1369
+ */
1370
+ export declare class MausoleumGeometry extends BufferGeometry {
1202
1371
  constructor();
1203
1372
  }
1204
1373
 
@@ -1206,10 +1375,24 @@ export declare class Microscope extends Group {
1206
1375
  constructor();
1207
1376
  }
1208
1377
 
1209
- export declare class Moon extends Group {
1378
+ export declare class Moon extends Mesh<SphereGeometry, ShaderMaterial> {
1210
1379
  constructor();
1211
1380
  }
1212
1381
 
1382
+ /**
1383
+ * Moon shader
1384
+ * Simple moon effect with noise
1385
+ */
1386
+ export declare const moonShader: {
1387
+ uniforms: {
1388
+ time: {
1389
+ value: number;
1390
+ };
1391
+ };
1392
+ vertexShader: string;
1393
+ fragmentShader: string;
1394
+ };
1395
+
1213
1396
  export declare class MortarAndPestle extends Group {
1214
1397
  constructor();
1215
1398
  }
@@ -1339,6 +1522,8 @@ declare interface NoiseDisplacementOptions {
1339
1522
  scale?: number;
1340
1523
  }
1341
1524
 
1525
+ export declare function normalizeRgb(r: number, g: number, b: number): [number, number, number];
1526
+
1342
1527
  /**
1343
1528
  * Generic Normalization Function
1344
1529
  * This function will normalize 2D UV coordinates based on given bounds.
@@ -1364,7 +1549,7 @@ export declare function normalizeUV(uv: [number, number], minU: number, maxU: nu
1364
1549
  */
1365
1550
  export declare function normalizeUVBatch(uvs: [number, number][], minBounds: [number, number], maxBounds: [number, number]): [number, number][];
1366
1551
 
1367
- export declare class ObeliskHeadstone extends Mesh {
1552
+ export declare class ObeliskHeadstone extends Mesh<ObeliskHeadstoneGeometry, MeshStandardMaterial> {
1368
1553
  constructor({ totalHeight, baseWidth }?: ObeliskHeadstoneOptions);
1369
1554
  }
1370
1555
 
@@ -1446,6 +1631,11 @@ export declare const ParametricCurveUtils: {
1446
1631
  createSigmoidCurvePoints: (start: Vector2, end: Vector2, a: number, segments?: number) => Vector2[];
1447
1632
  };
1448
1633
 
1634
+ /**
1635
+ * Convert hex color code color string to RGB array
1636
+ */
1637
+ export declare function parseHexCode(hex: string): [number, number, number];
1638
+
1449
1639
  /**
1450
1640
  * The camera swings back and forth like a pendulum.
1451
1641
  *
@@ -1492,6 +1682,30 @@ export declare function planarUVMapping(vertices: [number, number, number][], ax
1492
1682
  */
1493
1683
  export declare function polarUVMapping(vertices: [number, number, number][]): [number, number][];
1494
1684
 
1685
+ /**
1686
+ * Potion bottle, with optional liquid fill
1687
+ *
1688
+ * Material indices
1689
+ * 0. Bottle
1690
+ * 1. Cork
1691
+ * 2. Liquid (optional)
1692
+ */
1693
+ export declare class PotionBottle extends Mesh<PotionBottleGeometry, MeshStandardMaterial[]> {
1694
+ constructor();
1695
+ }
1696
+
1697
+ /**
1698
+ * Potion bottle geometry
1699
+ *
1700
+ * Group indices
1701
+ * 0. Bottle
1702
+ * 1. Cork
1703
+ * 2. Liquid (optional)
1704
+ */
1705
+ export declare class PotionBottleGeometry extends BufferGeometry {
1706
+ constructor();
1707
+ }
1708
+
1495
1709
  export declare const quadraticCurve: (t: number, p0: number, p1: number, p2: number) => number;
1496
1710
 
1497
1711
  export declare const quadraticEaseIn: (t: number) => number;
@@ -1536,7 +1750,21 @@ export declare function randomInteger(min?: number, max?: number): number;
1536
1750
 
1537
1751
  export declare function randomTransformVertices<T extends BufferGeometry>(geometry: T, axis?: Vector3, minScale?: number, maxScale?: number): T;
1538
1752
 
1539
- export declare class Rock extends Mesh {
1753
+ export declare function rgbToHex(r: number, g: number, b: number): number;
1754
+
1755
+ /**
1756
+ * Converts an RGB color to HSL.
1757
+ *
1758
+ * Example usage:
1759
+ * ```
1760
+ * const rgbColor = { r: 255, g: 0, b: 0 }; // Red
1761
+ * const hslColor = rgbToHsl(rgbColor.r, rgbColor.g, rgbColor.b);
1762
+ * console.log(hslColor); // Output: { h: 0, s: 100, l: 50 }
1763
+ * ```
1764
+ */
1765
+ export declare function rgbToHsl(r: number, g: number, b: number): [number, number, number];
1766
+
1767
+ export declare class Rock extends Mesh<RockGeometry, MeshStandardMaterial> {
1540
1768
  constructor(radius?: number, widthSegments?: number, heightSegments?: number);
1541
1769
  }
1542
1770
 
@@ -1548,7 +1776,7 @@ export declare class Rocks extends Group {
1548
1776
  constructor();
1549
1777
  }
1550
1778
 
1551
- export declare class RoundedHeadstone extends Mesh {
1779
+ export declare class RoundedHeadstone extends Mesh<RoundedHeadstoneGeometry, MeshStandardMaterial> {
1552
1780
  constructor(width?: number, height?: number, depth?: number, radius?: number);
1553
1781
  }
1554
1782
 
@@ -1684,7 +1912,7 @@ export declare class SpiralTube extends Group {
1684
1912
  constructor();
1685
1913
  }
1686
1914
 
1687
- export declare class SquareHeadstone extends Mesh {
1915
+ export declare class SquareHeadstone extends Mesh<SquareHeadstoneGeometry, MeshStandardMaterial> {
1688
1916
  constructor(width?: number, height?: number, depth?: number);
1689
1917
  }
1690
1918
 
@@ -1698,9 +1926,7 @@ export declare class StaircaseGeometry extends BufferGeometry {
1698
1926
  constructor(width?: number, stepHeight?: number, stepDepth?: number, numSteps?: number);
1699
1927
  }
1700
1928
 
1701
- export declare class Stand extends Mesh {
1702
- geometry: StandGeometry;
1703
- material: MeshStandardMaterial;
1929
+ export declare class Stand extends Mesh<StandGeometry, MeshStandardMaterial> {
1704
1930
  constructor({ radius, //
1705
1931
  height, count, thickness, radialSegments, }?: {
1706
1932
  radius?: number | undefined;
@@ -1730,11 +1956,26 @@ export declare class StarShape extends Shape {
1730
1956
  constructor(points?: number, innerRadius?: number, outerRadius?: number);
1731
1957
  }
1732
1958
 
1959
+ export declare class StoneFencePost extends Mesh<StoneFencePostGeometry, MeshStandardMaterial> {
1960
+ constructor({ height }?: {
1961
+ height?: number | undefined;
1962
+ });
1963
+ }
1964
+
1965
+ /**
1966
+ * Fence Column Geometry, a stone slab fence column shape
1967
+ */
1968
+ export declare class StoneFencePostGeometry extends BufferGeometry {
1969
+ constructor({ height }?: {
1970
+ height?: number | undefined;
1971
+ });
1972
+ }
1973
+
1733
1974
  export declare class TeslaCoil extends Group {
1734
1975
  constructor();
1735
1976
  }
1736
1977
 
1737
- export declare class TestTube extends Group {
1978
+ export declare class TestTube extends Mesh<TestTubeGeometry, MeshPhysicalMaterial> {
1738
1979
  constructor(radiusTop?: number, radiusBottom?: number, height?: number, segments?: number);
1739
1980
  }
1740
1981
 
@@ -1747,7 +1988,12 @@ export declare class TestTubeRack extends Group {
1747
1988
  }
1748
1989
 
1749
1990
  /**
1750
- * @example
1991
+ * Material indices:
1992
+ * 0. Trunk
1993
+ * 1. leafSize
1994
+ *
1995
+ * Example usage:
1996
+ * ```
1751
1997
  * const tree = new Tree({
1752
1998
  * trunkRadiusTop: 0.25,
1753
1999
  * trunkRadiusBottom: 0.4,
@@ -1760,8 +2006,9 @@ export declare class TestTubeRack extends Group {
1760
2006
  * leafSpreadRadius: 1.5,
1761
2007
  * leafColor: 0x228b22,
1762
2008
  * });
2009
+ * ```
1763
2010
  */
1764
- export declare class Tree extends Mesh {
2011
+ export declare class Tree extends Mesh<TreeGeometry, MeshStandardMaterial[]> {
1765
2012
  constructor({ trunkRadiusTop, trunkRadiusBottom, trunkHeight, trunkSegments, trunkColor, leafSize, leafCount, leafDetail, leafSpreadRadius, leafColor, }?: {
1766
2013
  trunkRadiusTop?: number | undefined;
1767
2014
  trunkRadiusBottom?: number | undefined;
@@ -1815,7 +2062,7 @@ export declare function updateNoiseDisplacementTime<T extends Material>(material
1815
2062
  */
1816
2063
  export declare function updateWaterDisplacementTime<T extends Material>(material: T, deltaTime: number): void;
1817
2064
 
1818
- export declare class WineBottle extends Mesh {
2065
+ export declare class WineBottle extends Mesh<WineBottleGeometry, MeshPhysicalMaterial> {
1819
2066
  constructor();
1820
2067
  }
1821
2068
 
@@ -1841,7 +2088,7 @@ export declare class WineBottleGeometry extends BufferGeometry {
1841
2088
  */
1842
2089
  export declare function wobbleAnimation(camera: Camera, intensity: number, duration: number, onComplete?: () => void): void;
1843
2090
 
1844
- export declare class WroughtIronBar extends Mesh {
2091
+ export declare class WroughtIronBar extends Mesh<WroughtIronBarGeometry, MeshStandardMaterial> {
1845
2092
  constructor({ barHeight, //
1846
2093
  barRadius, spikeHeight, spikeRadius, spikeScaleZ, radialSegments, }?: {
1847
2094
  barHeight?: number | undefined;
@@ -1868,7 +2115,7 @@ export declare class WroughtIronBarGeometry extends BufferGeometry {
1868
2115
  });
1869
2116
  }
1870
2117
 
1871
- export declare class WroughtIronFence extends Mesh {
2118
+ export declare class WroughtIronFence extends Mesh<WroughtIronFenceGeometry, MeshStandardMaterial> {
1872
2119
  constructor({ count, //
1873
2120
  spacing, barHeight, barRadius, spikeHeight, spikeRadius, spikeScaleZ, railHeight, railDepth, railOffset, radialSegments, }?: {
1874
2121
  count?: number | undefined;