three-low-poly 0.9.16 → 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
 
@@ -295,9 +295,11 @@ export declare class BoneGeometry extends BufferGeometry {
295
295
  }
296
296
 
297
297
  /**
298
- * Material Order:
299
- * 1. Cover
300
- * 2. Page
298
+ * Book prefab
299
+ *
300
+ * Material indices:
301
+ * 0. cover
302
+ * 1. page
301
303
  */
302
304
  export declare class Book extends Mesh<BookGeometry, MeshStandardMaterial[]> {
303
305
  constructor({ width, height, depth, coverThickness, pageIndent, coverColor, pageColor, }?: {
@@ -311,11 +313,18 @@ export declare class Book extends Mesh<BookGeometry, MeshStandardMaterial[]> {
311
313
  });
312
314
  }
313
315
 
316
+ /**
317
+ * Book
318
+ *
319
+ * Group indices:
320
+ * 0. cover
321
+ * 1. page
322
+ */
314
323
  export declare class BookGeometry extends BufferGeometry {
315
324
  constructor(width?: number, height?: number, depth?: number, coverThickness?: number, pageIndent?: number);
316
325
  }
317
326
 
318
- export declare class Bookshelf extends Mesh {
327
+ export declare class Bookshelf extends Mesh<BookshelfGeometry, MeshStandardMaterial> {
319
328
  constructor({ width, //
320
329
  height, depth, shelves, frameThickness, open, }?: {
321
330
  width?: number | undefined;
@@ -339,10 +348,6 @@ export declare class BookshelfGeometry extends BufferGeometry {
339
348
  });
340
349
  }
341
350
 
342
- export declare class Bottle extends Group {
343
- constructor();
344
- }
345
-
346
351
  export declare class BubblingEffect extends InstancedMesh {
347
352
  private bubblePositions;
348
353
  private velocities;
@@ -408,6 +413,32 @@ export declare function calculateUVBounds(uvs: [number, number][]): {
408
413
  maxBounds: [number, number];
409
414
  };
410
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
+
411
442
  export declare class Candle extends Group {
412
443
  private candle;
413
444
  private flame;
@@ -480,15 +511,19 @@ export declare const circularEaseInOut: (t: number) => number;
480
511
  export declare const circularEaseOut: (t: number) => number;
481
512
 
482
513
  export declare const ColorPalette: {
514
+ CADMIUM_RED: number;
483
515
  CARDINAL_RED: number;
484
516
  CHERRY_RED: number;
485
517
  CRIMSON: number;
518
+ ALIZARIN_CRIMSON: number;
486
519
  RUST: number;
487
520
  DARK_RED: number;
488
521
  TANGERINE: number;
489
522
  ORANGE_PEEL: number;
523
+ CADMIUM_ORANGE: number;
490
524
  ORANGE: number;
491
525
  AMBER: number;
526
+ CADMIUM_YELLOW: number;
492
527
  GOLD: number;
493
528
  YELLOW: number;
494
529
  LIME_GREEN: number;
@@ -496,41 +531,53 @@ export declare const ColorPalette: {
496
531
  MOSS_GREEN: number;
497
532
  FERN_GREEN: number;
498
533
  FOREST_GREEN: number;
534
+ SAP_GREEN: number;
499
535
  OLIVE_DRAB: number;
536
+ VIRIDIAN_GREEN: number;
500
537
  MINT_GREEN: number;
501
538
  AQUAMARINE: number;
539
+ PHTHALO_BLUE: number;
502
540
  SKY_BLUE: number;
503
541
  CERULEAN_BLUE: number;
504
542
  AZURE: number;
505
543
  OCEAN_BLUE: number;
506
544
  ROYAL_BLUE: number;
507
545
  MIDNIGHT_BLUE: number;
546
+ ULTRAMARINE_BLUE: number;
547
+ COBALT_VIOLET: number;
548
+ DEEP_VIOLET: number;
508
549
  CORAL_PINK: number;
509
550
  VIVID_MAGENTA: number;
510
551
  MAGENTA: number;
511
552
  HOT_PINK: number;
512
553
  PINK_SHERBET: number;
513
554
  SOFT_PINK: number;
514
- DEEP_VIOLET: number;
515
- TAUPE: number;
555
+ BURNT_SIENNA: number;
556
+ BURNT_UMBER: number;
516
557
  SIENNA: number;
517
558
  SADDLE_BROWN: number;
518
559
  COFFEE_BROWN: number;
519
560
  DARK_UMBER: number;
561
+ RAW_UMBER: number;
562
+ YELLOW_OCHRE: number;
563
+ RAW_SIENNA: number;
564
+ TAUPE: number;
520
565
  ONYX: number;
521
566
  CARBON: number;
522
567
  CHARCOAL: number;
523
568
  SLATE_GRAY: number;
524
569
  ASH_GRAY: number;
570
+ GRAPHITE: number;
525
571
  STEEL_GRAY: number;
526
- COOL_GRAY: number;
572
+ DIM_GRAY: number;
527
573
  IRON: number;
528
574
  GRAY: number;
529
575
  STONE: number;
530
576
  SILVER: number;
577
+ LIGHT_GRAY: number;
531
578
  PALE_GRAY: number;
532
579
  WHITE_SMOKE: number;
533
- WHITE: number;
580
+ TITANIUM_WHITE: number;
534
581
  };
535
582
 
536
583
  export declare const concave: (t: number) => number;
@@ -815,12 +862,20 @@ export declare interface DaySkyUniforms {
815
862
  bottomColor: Uniform<Color>;
816
863
  }
817
864
 
818
- export declare class Desk extends Mesh {
819
- geometry: DeskGeometry;
820
- material: MeshStandardMaterial[];
865
+ /**
866
+ * Material indices:
867
+ * 0. Desk surface
868
+ * 1. Desk legs
869
+ */
870
+ export declare class Desk extends Mesh<DeskGeometry, MeshStandardMaterial[]> {
821
871
  constructor();
822
872
  }
823
873
 
874
+ /**
875
+ * Group indices:
876
+ * 0. Desk surface
877
+ * 1. Desk legs
878
+ */
824
879
  export declare class DeskGeometry extends BufferGeometry {
825
880
  constructor();
826
881
  }
@@ -1003,7 +1058,7 @@ export declare interface EmissivePulseEffectOptions {
1003
1058
  material: MeshStandardMaterial | MeshPhysicalMaterial | MeshLambertMaterial | MeshPhongMaterial;
1004
1059
  }
1005
1060
 
1006
- export declare class ErlenmeyerFlask extends Mesh {
1061
+ export declare class ErlenmeyerFlask extends Mesh<ErlenmeyerFlaskGeometry, MeshPhysicalMaterial> {
1007
1062
  constructor({ flaskRadius, //
1008
1063
  neckRadius, height, neckHeight, radialSegments, }?: {
1009
1064
  flaskRadius?: number | undefined;
@@ -1059,21 +1114,6 @@ export declare const Falloff: {
1059
1114
  SMOOTHSTEP: (distance: number, radius: number) => number;
1060
1115
  };
1061
1116
 
1062
- export declare class FenceColumn extends Mesh<FenceColumnGeometry, MeshStandardMaterial> {
1063
- constructor({ height }?: {
1064
- height?: number | undefined;
1065
- });
1066
- }
1067
-
1068
- /**
1069
- * Fence Column Geometry, a stone slab fence column shape
1070
- */
1071
- export declare class FenceColumnGeometry extends BufferGeometry {
1072
- constructor({ height }?: {
1073
- height?: number | undefined;
1074
- });
1075
- }
1076
-
1077
1117
  export declare function findClosestColor(inputColor: number, dataset: number[]): number | null;
1078
1118
 
1079
1119
  export declare function findClosestColorChannelWise(inputColor: number, dataset: number[]): number | null;
@@ -1087,9 +1127,7 @@ export declare class Flask extends Group {
1087
1127
  */
1088
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;
1089
1129
 
1090
- export declare class FlorenceFlask extends Mesh {
1091
- geometry: FlorenceFlaskGeometry;
1092
- material: MeshPhysicalMaterial;
1130
+ export declare class FlorenceFlask extends Mesh<FlorenceFlaskGeometry, MeshPhysicalMaterial> {
1093
1131
  constructor();
1094
1132
  }
1095
1133
 
@@ -1272,6 +1310,11 @@ declare interface LightningEffectOptions {
1272
1310
 
1273
1311
  export declare const linear: (t: number) => number;
1274
1312
 
1313
+ export declare const LineEquations: {
1314
+ calculateXFromSlopeIntercept: typeof calculateXFromSlopeIntercept;
1315
+ calculateYFromSlopeIntercept: typeof calculateYFromSlopeIntercept;
1316
+ };
1317
+
1275
1318
  export declare const logarithmic: (t: number) => number;
1276
1319
 
1277
1320
  export declare const logarithmicCurve: (t: number, base?: number, factor?: number) => number;
@@ -1304,7 +1347,27 @@ export declare class LShapedStaircaseGeometry extends BufferGeometry {
1304
1347
  constructor(stepWidth?: number, stepHeight?: number, stepDepth?: number, numStepsPerFlight?: number, landingDepth?: number);
1305
1348
  }
1306
1349
 
1307
- 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 {
1308
1371
  constructor();
1309
1372
  }
1310
1373
 
@@ -1619,6 +1682,30 @@ export declare function planarUVMapping(vertices: [number, number, number][], ax
1619
1682
  */
1620
1683
  export declare function polarUVMapping(vertices: [number, number, number][]): [number, number][];
1621
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
+
1622
1709
  export declare const quadraticCurve: (t: number, p0: number, p1: number, p2: number) => number;
1623
1710
 
1624
1711
  export declare const quadraticEaseIn: (t: number) => number;
@@ -1677,7 +1764,7 @@ export declare function rgbToHex(r: number, g: number, b: number): number;
1677
1764
  */
1678
1765
  export declare function rgbToHsl(r: number, g: number, b: number): [number, number, number];
1679
1766
 
1680
- export declare class Rock extends Mesh {
1767
+ export declare class Rock extends Mesh<RockGeometry, MeshStandardMaterial> {
1681
1768
  constructor(radius?: number, widthSegments?: number, heightSegments?: number);
1682
1769
  }
1683
1770
 
@@ -1839,9 +1926,7 @@ export declare class StaircaseGeometry extends BufferGeometry {
1839
1926
  constructor(width?: number, stepHeight?: number, stepDepth?: number, numSteps?: number);
1840
1927
  }
1841
1928
 
1842
- export declare class Stand extends Mesh {
1843
- geometry: StandGeometry;
1844
- material: MeshStandardMaterial;
1929
+ export declare class Stand extends Mesh<StandGeometry, MeshStandardMaterial> {
1845
1930
  constructor({ radius, //
1846
1931
  height, count, thickness, radialSegments, }?: {
1847
1932
  radius?: number | undefined;
@@ -1871,11 +1956,26 @@ export declare class StarShape extends Shape {
1871
1956
  constructor(points?: number, innerRadius?: number, outerRadius?: number);
1872
1957
  }
1873
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
+
1874
1974
  export declare class TeslaCoil extends Group {
1875
1975
  constructor();
1876
1976
  }
1877
1977
 
1878
- export declare class TestTube extends Group {
1978
+ export declare class TestTube extends Mesh<TestTubeGeometry, MeshPhysicalMaterial> {
1879
1979
  constructor(radiusTop?: number, radiusBottom?: number, height?: number, segments?: number);
1880
1980
  }
1881
1981
 
@@ -1888,7 +1988,12 @@ export declare class TestTubeRack extends Group {
1888
1988
  }
1889
1989
 
1890
1990
  /**
1891
- * @example
1991
+ * Material indices:
1992
+ * 0. Trunk
1993
+ * 1. leafSize
1994
+ *
1995
+ * Example usage:
1996
+ * ```
1892
1997
  * const tree = new Tree({
1893
1998
  * trunkRadiusTop: 0.25,
1894
1999
  * trunkRadiusBottom: 0.4,
@@ -1901,8 +2006,9 @@ export declare class TestTubeRack extends Group {
1901
2006
  * leafSpreadRadius: 1.5,
1902
2007
  * leafColor: 0x228b22,
1903
2008
  * });
2009
+ * ```
1904
2010
  */
1905
- export declare class Tree extends Mesh {
2011
+ export declare class Tree extends Mesh<TreeGeometry, MeshStandardMaterial[]> {
1906
2012
  constructor({ trunkRadiusTop, trunkRadiusBottom, trunkHeight, trunkSegments, trunkColor, leafSize, leafCount, leafDetail, leafSpreadRadius, leafColor, }?: {
1907
2013
  trunkRadiusTop?: number | undefined;
1908
2014
  trunkRadiusBottom?: number | undefined;
@@ -1956,7 +2062,7 @@ export declare function updateNoiseDisplacementTime<T extends Material>(material
1956
2062
  */
1957
2063
  export declare function updateWaterDisplacementTime<T extends Material>(material: T, deltaTime: number): void;
1958
2064
 
1959
- export declare class WineBottle extends Mesh {
2065
+ export declare class WineBottle extends Mesh<WineBottleGeometry, MeshPhysicalMaterial> {
1960
2066
  constructor();
1961
2067
  }
1962
2068