@glyphcss/core 0.0.3 → 0.0.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/dist/index.cjs +3 -3
- package/dist/index.d.cts +94 -3
- package/dist/index.d.ts +94 -3
- package/dist/index.js +3 -3
- package/package.json +1 -1
package/dist/index.d.cts
CHANGED
|
@@ -28,6 +28,8 @@ interface TextureTriangle {
|
|
|
28
28
|
uvs: [Vec2, Vec2, Vec2];
|
|
29
29
|
/** Hex color string (`#rrggbb`) propagated from source model material. */
|
|
30
30
|
color?: string;
|
|
31
|
+
/** Texture URL carried for renderers that sample textures per cell (UV-mapped). */
|
|
32
|
+
texture?: string;
|
|
31
33
|
}
|
|
32
34
|
/**
|
|
33
35
|
* Directional light — simulates a single distant source (sun, key light).
|
|
@@ -77,6 +79,13 @@ interface PolyMaterial {
|
|
|
77
79
|
* reference. */
|
|
78
80
|
key?: string;
|
|
79
81
|
}
|
|
82
|
+
/** Texture sampler wrap mode for one axis (glTF sampler convention). */
|
|
83
|
+
type PolyTextureWrapMode = "repeat" | "clamp-to-edge" | "mirrored-repeat";
|
|
84
|
+
/** Per-axis texture wrap modes (see {@link Polygon.textureWrap}). */
|
|
85
|
+
interface PolyTextureWrap {
|
|
86
|
+
s: PolyTextureWrapMode;
|
|
87
|
+
t: PolyTextureWrapMode;
|
|
88
|
+
}
|
|
80
89
|
/**
|
|
81
90
|
* The single polygon type for glyphcss. N coplanar vertices in 3D space,
|
|
82
91
|
* CCW winding from outside. No bbox field, no shape discriminator, no
|
|
@@ -104,6 +113,14 @@ interface Polygon {
|
|
|
104
113
|
* polygon canvas rasterization). Falls back to the atlas path otherwise.
|
|
105
114
|
*/
|
|
106
115
|
material?: PolyMaterial;
|
|
116
|
+
/**
|
|
117
|
+
* Texture sampler wrap mode for UVs outside [0, 1]. glTF imports and the
|
|
118
|
+
* fonts extruder preserve sampler.wrapS / wrapT here so a renderer that
|
|
119
|
+
* tiles textures can repeat the UVs. The ASCII renderer bakes textures to a
|
|
120
|
+
* flat per-face color and ignores this; unset keeps single-image behavior.
|
|
121
|
+
* @internal
|
|
122
|
+
*/
|
|
123
|
+
textureWrap?: PolyTextureWrap;
|
|
107
124
|
/**
|
|
108
125
|
* Per-vertex UV coords (0..1, OBJ convention with v=0 at bottom).
|
|
109
126
|
* Length MUST equal vertices.length when set; mismatched UVs are
|
|
@@ -1755,7 +1772,7 @@ declare function resolveGeometry(name: GlyphGeometryName, opts?: GlyphGeometryOp
|
|
|
1755
1772
|
|
|
1756
1773
|
/**
|
|
1757
1774
|
* Unified parser return type. All polygon-emitting parsers (parseObj,
|
|
1758
|
-
* parseGltf, the loadMesh dispatcher) return this exact shape.
|
|
1775
|
+
* parseGltf, parseVox, parseStl, the loadMesh dispatcher) return this exact shape.
|
|
1759
1776
|
*
|
|
1760
1777
|
* The asymmetric helper `parseMtl` returns its own `MtlParseResult` (it
|
|
1761
1778
|
* emits materials, not polygons) — see parseMtl.ts for the rationale.
|
|
@@ -1765,6 +1782,26 @@ declare function resolveGeometry(name: GlyphGeometryName, opts?: GlyphGeometryOp
|
|
|
1765
1782
|
* is empty (e.g. `parseObj`, where it's a no-op).
|
|
1766
1783
|
*/
|
|
1767
1784
|
|
|
1785
|
+
interface ParseStlTopology {
|
|
1786
|
+
componentCount: number;
|
|
1787
|
+
repairedTriangleCount: number;
|
|
1788
|
+
outwardComponentCount: number;
|
|
1789
|
+
suppliedNormalComponentCount: number;
|
|
1790
|
+
inconsistentSharedEdgeCount: number;
|
|
1791
|
+
nonManifoldSharedEdgeCount: number;
|
|
1792
|
+
}
|
|
1793
|
+
interface ParseStlColor {
|
|
1794
|
+
format: "magics";
|
|
1795
|
+
defaultColor: string;
|
|
1796
|
+
alpha: number;
|
|
1797
|
+
coloredTriangleCount: number;
|
|
1798
|
+
defaultColorTriangleCount: number;
|
|
1799
|
+
}
|
|
1800
|
+
interface ParseStlSolid {
|
|
1801
|
+
name: string;
|
|
1802
|
+
start: number;
|
|
1803
|
+
count: number;
|
|
1804
|
+
}
|
|
1768
1805
|
interface ParseAnimationClip {
|
|
1769
1806
|
/** Stable numeric index in the source file's animation array. */
|
|
1770
1807
|
index: number;
|
|
@@ -1818,6 +1855,16 @@ interface ParseResult {
|
|
|
1818
1855
|
animations?: ParseAnimationClip[];
|
|
1819
1856
|
/** Source file size in bytes (for diagnostics). */
|
|
1820
1857
|
sourceBytes?: number;
|
|
1858
|
+
/** Voxel count for `.vox` sources. */
|
|
1859
|
+
voxelCount?: number;
|
|
1860
|
+
/** Printable binary STL header, trimmed. */
|
|
1861
|
+
stlHeader?: string;
|
|
1862
|
+
/** Binary STL color metadata when a supported color extension is present. */
|
|
1863
|
+
stlColor?: ParseStlColor;
|
|
1864
|
+
/** Consecutive ASCII `solid` groups after parse/filtering. */
|
|
1865
|
+
stlSolids?: ParseStlSolid[];
|
|
1866
|
+
/** STL winding/connectivity diagnostics. */
|
|
1867
|
+
stlTopology?: ParseStlTopology;
|
|
1821
1868
|
};
|
|
1822
1869
|
}
|
|
1823
1870
|
|
|
@@ -2048,8 +2095,33 @@ interface SolidTextureSampleOptions {
|
|
|
2048
2095
|
/** Skip decoding very large textures for this optimization. Default 16 MP. */
|
|
2049
2096
|
maxTexturePixels?: number;
|
|
2050
2097
|
}
|
|
2098
|
+
interface SampledColor {
|
|
2099
|
+
r: number;
|
|
2100
|
+
g: number;
|
|
2101
|
+
b: number;
|
|
2102
|
+
a: number;
|
|
2103
|
+
}
|
|
2104
|
+
interface TextureSampler {
|
|
2105
|
+
width: number;
|
|
2106
|
+
height: number;
|
|
2107
|
+
data: ArrayLike<number>;
|
|
2108
|
+
lowDetail: boolean;
|
|
2109
|
+
}
|
|
2051
2110
|
declare function bakeSolidTextureSampledPolygons(polygons: Polygon[], options?: SolidTextureSampleOptions): Promise<Polygon[]>;
|
|
2052
2111
|
declare function bakeSolidTextureSamples(result: ParseResult, options?: SolidTextureSampleOptions): Promise<ParseResult>;
|
|
2112
|
+
/**
|
|
2113
|
+
* Decode every distinct texture referenced by `polygons` into a pixel sampler,
|
|
2114
|
+
* for renderers that sample textures at draw time (per-cell UV mapping) instead
|
|
2115
|
+
* of baking each face to one flat color. Keyed by texture URL. Empty map when no
|
|
2116
|
+
* browser image/canvas env is available (SSR / tests).
|
|
2117
|
+
*/
|
|
2118
|
+
declare function buildTextureSamplers(polygons: Polygon[], options?: {
|
|
2119
|
+
maxTexturePixels?: number;
|
|
2120
|
+
}): Promise<Map<string, TextureSampler>>;
|
|
2121
|
+
/** Sample a decoded texture at UV (0..1, OBJ convention with v=0 at bottom). */
|
|
2122
|
+
declare function sampleTexel(sampler: TextureSampler, u: number, v: number): SampledColor | null;
|
|
2123
|
+
/** The texture URL a polygon renders with (`material.texture` takes precedence). */
|
|
2124
|
+
declare function polygonTexture(polygon: Polygon): string | undefined;
|
|
2053
2125
|
|
|
2054
2126
|
interface VoxParseOptions {
|
|
2055
2127
|
/**
|
|
@@ -2066,6 +2138,22 @@ interface VoxParseOptions {
|
|
|
2066
2138
|
}
|
|
2067
2139
|
declare function parseVox(buffer: ArrayBuffer, options?: VoxParseOptions): ParseResult;
|
|
2068
2140
|
|
|
2141
|
+
interface StlParseOptions {
|
|
2142
|
+
/** Largest mesh extent (units). Mesh is uniformly scaled to fit. Default: 60. */
|
|
2143
|
+
targetSize?: number;
|
|
2144
|
+
/** Padding offset added after scaling. Default: 1. */
|
|
2145
|
+
gridShift?: number;
|
|
2146
|
+
/** Solid color assigned to every STL triangle. Default: "#888888". */
|
|
2147
|
+
defaultColor?: string;
|
|
2148
|
+
/**
|
|
2149
|
+
* Which axis is "up" in the source mesh.
|
|
2150
|
+
* - "z" (default): identity axes, matching common CAD/3D-print STL exports.
|
|
2151
|
+
* - "y": cyclic permutation (x,y,z) → (z,x,y), matching OBJ/glTF's +Y-up path.
|
|
2152
|
+
*/
|
|
2153
|
+
upAxis?: "z" | "y";
|
|
2154
|
+
}
|
|
2155
|
+
declare function parseStl(source: ArrayBuffer | Uint8Array | string, options?: StlParseOptions): ParseResult;
|
|
2156
|
+
|
|
2069
2157
|
/**
|
|
2070
2158
|
* loadMesh — high-level fetch+parse dispatcher. Picks the parser by file
|
|
2071
2159
|
* extension, fetches the URL, runs the parser, returns the unified
|
|
@@ -2076,11 +2164,12 @@ declare function parseVox(buffer: ArrayBuffer, options?: VoxParseOptions): Parse
|
|
|
2076
2164
|
* - `.glb` → ArrayBuffer fetch + `parseGltf`
|
|
2077
2165
|
* - `.gltf` → ArrayBuffer fetch + `parseGltf` (caller may pass `baseUrl`)
|
|
2078
2166
|
* - `.vox` → ArrayBuffer fetch + `parseVox`
|
|
2167
|
+
* - `.stl` → ArrayBuffer fetch + `parseStl`
|
|
2079
2168
|
*
|
|
2080
2169
|
* `.mtl` is rejected — it's a material file, not a mesh. Use `parseMtl`
|
|
2081
2170
|
* directly if you want to read materials.
|
|
2082
2171
|
*
|
|
2083
|
-
* Other extensions throw. Future formats (
|
|
2172
|
+
* Other extensions throw. Future formats (PLY, 3MF) plug in here.
|
|
2084
2173
|
*/
|
|
2085
2174
|
|
|
2086
2175
|
interface LoadMeshOptions {
|
|
@@ -2104,6 +2193,8 @@ interface LoadMeshOptions {
|
|
|
2104
2193
|
gltfOptions?: GltfParseOptions;
|
|
2105
2194
|
/** Forwarded to `parseVox`. */
|
|
2106
2195
|
voxOptions?: VoxParseOptions;
|
|
2196
|
+
/** Forwarded to `parseStl`. */
|
|
2197
|
+
stlOptions?: StlParseOptions;
|
|
2107
2198
|
/**
|
|
2108
2199
|
* Converts texture-backed faces whose UV samples are a uniform color into
|
|
2109
2200
|
* solid-color polygons before culling/merging. This avoids atlas sprites for
|
|
@@ -2128,4 +2219,4 @@ declare function project(v: Vec3, cols: number, rows: number, cellAspect: number
|
|
|
2128
2219
|
/** Public: derive feature edges from a triangle list. `featureAngleDeg = 0` = all edges. */
|
|
2129
2220
|
declare function trianglesToFeatureEdges(triangles: TextureTriangle[], featureAngleDeg?: number): WireframeEdge[];
|
|
2130
2221
|
|
|
2131
|
-
export { type AntiprismPolygonsOptions, type ApproximateMergeOptions, type ArrowPolygonsOptions, type AutoRotateConfig, type AutoRotateOption, type AxesHelperOptions, BASE_TILE, type BipyramidPolygonsOptions, CAMERA_BACKFACE_CULL_EPS, type CameraCullNormalGroup, type CameraCullRotation, type CameraHandle, type CameraState, type CameraStyleInput, type CharRamp, type ConePolygonsOptions, type CoverPlanarPolygonsOptions, type CubePolygonsOptions, type CuboctahedronPolygonsOptions, type CullInteriorOptions, type CylinderPolygonsOptions, DEFAULT_CAMERA_STATE, DEFAULT_PROJECTION, type DedupeOverlappingPolygonsOptions, type DeltoidalHexecontahedronPolygonsOptions, type DeltoidalIcositetrahedronPolygonsOptions, type DisdyakisDodecahedronPolygonsOptions, type DisdyakisTriacontahedronPolygonsOptions, type DodecahedronPolygonsOptions, type EdgeWeight, type GltfParseOptions, type GlyphAmbientLight, type GlyphAnimationAction, type ParseAnimationClip as GlyphAnimationClip, type GlyphAnimationMixer, type GlyphAnimationTarget, type GlyphDirectionalLight, type GlyphGeometryName, type GlyphGeometryOptions, type GreatDodecahedronPolygonsOptions, type GreatIcosahedronPolygonsOptions, type GreatStellatedDodecahedronPolygonsOptions, type GridSize, type Hotspot, type HotspotCell, type IcosahedronPolygonsOptions, type IcosidodecahedronPolygonsOptions, type LoadMeshOptions, type LoopMode, LoopOnce, LoopPingPong, LoopRepeat, type MeshResolution, type MtlParseResult, type NormalizeResult, type ObjParseOptions, type OctahedronPolygonsOptions, type OptimizeMeshPolygonsOptions, type ParseAnimationClip, type ParseAnimationController, type ParseResult, type ParsedColor, type PentagonalHexecontahedronPolygonsOptions, type PentagonalIcositetrahedronPolygonsOptions, type PentakisDodecahedronPolygonsOptions, type PlanePolygonsOptions, type Polygon, type PolygonFace, type PrismPolygonsOptions, type PyramidPolygonsOptions, QUAT_IDENTITY, type Quat, type RenderMode, type RhombicDodecahedronPolygonsOptions, type RhombicTriacontahedronPolygonsOptions, type RhombicosidodecahedronPolygonsOptions, type RhombicuboctahedronPolygonsOptions, type RingPolygonsOptions, type RingQuadPolygonsOptions, type SceneBbox, type SceneContext, type SceneContextBuildArgs, type SceneContextBuildResult, type SmallStellatedDodecahedronPolygonsOptions, type SnubCubePolygonsOptions, type SnubDodecahedronPolygonsOptions, type SolidTextureSampleOptions, type SpherePolygonsOptions, type TetrahedronPolygonsOptions, type TetrakisHexahedronPolygonsOptions, type TextureTriangle, type TorusPolygonsOptions, type TrapezohedronPolygonsOptions, type TriakisIcosahedronPolygonsOptions, type TriakisOctahedronPolygonsOptions, type TriakisTetrahedronPolygonsOptions, type TruncatedCubePolygonsOptions, type TruncatedCuboctahedronPolygonsOptions, type TruncatedDodecahedronPolygonsOptions, type TruncatedIcosahedronPolygonsOptions, type TruncatedIcosidodecahedronPolygonsOptions, type TruncatedOctahedronPolygonsOptions, type TruncatedTetrahedronPolygonsOptions, VOXEL_CAMERA_CULL_AXIS_EPS, VOXEL_CAMERA_CULL_NORMAL_LIMIT, type Vec2, type Vec3, type VoxParseOptions, type WireframeEdge, antiprismPolygons, arrowPolygons, axesHelperPolygons, bakeSolidTextureSampledPolygons, bakeSolidTextureSamples, bipyramidPolygons, buildSceneContext, cameraCullNormalGroups, cameraCullNormalGroupsFromPolygons, cameraCullNormalKey, cameraCullVisibleSignature, cameraFacingDepth, clampChannel, computeSceneBbox, computeShapeLighting, conePolygons, coverPlanarPolygons, createGlyphAnimationMixer, createIsometricCamera, cubePolygons, cuboctahedronPolygons, cullInteriorPolygons, cylinderPolygons, dedupeOverlappingPolygons, deltoidalHexecontahedronPolygons, deltoidalIcositetrahedronPolygons, disdyakisDodecahedronPolygons, disdyakisTriacontahedronPolygons, dodecahedronPolygons, eulerXYZFromQuat, findOverlappingPolygonDuplicates, formatColor, greatDodecahedronPolygons, greatIcosahedronPolygons, greatStellatedDodecahedronPolygons, icosahedronPolygons, icosidodecahedronPolygons, inverseRotateVec3, isAxisAlignedSurfaceNormal, isVoxelCameraCullableNormalGroups, loadMesh, mergePolygons, normalFacesCamera, normalizeInvertMultiplier, normalizePolygons, octahedronPolygons, optimizeMeshPolygons, parseColor, parseGltf, parseHexColor, parseMtl, parseObj, parsePureColor, parseRgbColor, parseVox, pentagonalHexecontahedronPolygons, pentagonalIcositetrahedronPolygons, pentakisDodecahedronPolygons, planePolygons, polygonCssSurfaceNormal, polygonFaces, polygonFacesCamera, prismPolygons, project, pyramidPolygons, quatFromAxisAngle, quatFromEulerXYZ, quatMultiply, resolveGeometry, rhombicDodecahedronPolygons, rhombicTriacontahedronPolygons, rhombicosidodecahedronPolygons, rhombicuboctahedronPolygons, ringPolygons, ringQuadPolygons, rotateVec3, shadeColor, smallStellatedDodecahedronPolygons, snubCubePolygons, snubDodecahedronPolygons, spherePolygons, tetrahedronPolygons, tetrakisHexahedronPolygons, torusPolygons, trapezohedronPolygons, triakisIcosahedronPolygons, triakisOctahedronPolygons, triakisTetrahedronPolygons, trianglesToFeatureEdges, truncatedCubePolygons, truncatedCuboctahedronPolygons, truncatedDodecahedronPolygons, truncatedIcosahedronPolygons, truncatedIcosidodecahedronPolygons, truncatedOctahedronPolygons, truncatedTetrahedronPolygons };
|
|
2222
|
+
export { type AntiprismPolygonsOptions, type ApproximateMergeOptions, type ArrowPolygonsOptions, type AutoRotateConfig, type AutoRotateOption, type AxesHelperOptions, BASE_TILE, type BipyramidPolygonsOptions, CAMERA_BACKFACE_CULL_EPS, type CameraCullNormalGroup, type CameraCullRotation, type CameraHandle, type CameraState, type CameraStyleInput, type CharRamp, type ConePolygonsOptions, type CoverPlanarPolygonsOptions, type CubePolygonsOptions, type CuboctahedronPolygonsOptions, type CullInteriorOptions, type CylinderPolygonsOptions, DEFAULT_CAMERA_STATE, DEFAULT_PROJECTION, type DedupeOverlappingPolygonsOptions, type DeltoidalHexecontahedronPolygonsOptions, type DeltoidalIcositetrahedronPolygonsOptions, type DisdyakisDodecahedronPolygonsOptions, type DisdyakisTriacontahedronPolygonsOptions, type DodecahedronPolygonsOptions, type EdgeWeight, type GltfParseOptions, type GlyphAmbientLight, type GlyphAnimationAction, type ParseAnimationClip as GlyphAnimationClip, type GlyphAnimationMixer, type GlyphAnimationTarget, type GlyphDirectionalLight, type GlyphGeometryName, type GlyphGeometryOptions, type GreatDodecahedronPolygonsOptions, type GreatIcosahedronPolygonsOptions, type GreatStellatedDodecahedronPolygonsOptions, type GridSize, type Hotspot, type HotspotCell, type IcosahedronPolygonsOptions, type IcosidodecahedronPolygonsOptions, type LoadMeshOptions, type LoopMode, LoopOnce, LoopPingPong, LoopRepeat, type MeshResolution, type MtlParseResult, type NormalizeResult, type ObjParseOptions, type OctahedronPolygonsOptions, type OptimizeMeshPolygonsOptions, type ParseAnimationClip, type ParseAnimationController, type ParseResult, type ParseStlColor, type ParseStlSolid, type ParseStlTopology, type ParsedColor, type PentagonalHexecontahedronPolygonsOptions, type PentagonalIcositetrahedronPolygonsOptions, type PentakisDodecahedronPolygonsOptions, type PlanePolygonsOptions, type PolyTextureWrap, type PolyTextureWrapMode, type Polygon, type PolygonFace, type PrismPolygonsOptions, type PyramidPolygonsOptions, QUAT_IDENTITY, type Quat, type RenderMode, type RhombicDodecahedronPolygonsOptions, type RhombicTriacontahedronPolygonsOptions, type RhombicosidodecahedronPolygonsOptions, type RhombicuboctahedronPolygonsOptions, type RingPolygonsOptions, type RingQuadPolygonsOptions, type SampledColor, type SceneBbox, type SceneContext, type SceneContextBuildArgs, type SceneContextBuildResult, type SmallStellatedDodecahedronPolygonsOptions, type SnubCubePolygonsOptions, type SnubDodecahedronPolygonsOptions, type SolidTextureSampleOptions, type SpherePolygonsOptions, type StlParseOptions, type TetrahedronPolygonsOptions, type TetrakisHexahedronPolygonsOptions, type TextureSampler, type TextureTriangle, type TorusPolygonsOptions, type TrapezohedronPolygonsOptions, type TriakisIcosahedronPolygonsOptions, type TriakisOctahedronPolygonsOptions, type TriakisTetrahedronPolygonsOptions, type TruncatedCubePolygonsOptions, type TruncatedCuboctahedronPolygonsOptions, type TruncatedDodecahedronPolygonsOptions, type TruncatedIcosahedronPolygonsOptions, type TruncatedIcosidodecahedronPolygonsOptions, type TruncatedOctahedronPolygonsOptions, type TruncatedTetrahedronPolygonsOptions, VOXEL_CAMERA_CULL_AXIS_EPS, VOXEL_CAMERA_CULL_NORMAL_LIMIT, type Vec2, type Vec3, type VoxParseOptions, type WireframeEdge, antiprismPolygons, arrowPolygons, axesHelperPolygons, bakeSolidTextureSampledPolygons, bakeSolidTextureSamples, bipyramidPolygons, buildSceneContext, buildTextureSamplers, cameraCullNormalGroups, cameraCullNormalGroupsFromPolygons, cameraCullNormalKey, cameraCullVisibleSignature, cameraFacingDepth, clampChannel, computeSceneBbox, computeShapeLighting, conePolygons, coverPlanarPolygons, createGlyphAnimationMixer, createIsometricCamera, cubePolygons, cuboctahedronPolygons, cullInteriorPolygons, cylinderPolygons, dedupeOverlappingPolygons, deltoidalHexecontahedronPolygons, deltoidalIcositetrahedronPolygons, disdyakisDodecahedronPolygons, disdyakisTriacontahedronPolygons, dodecahedronPolygons, eulerXYZFromQuat, findOverlappingPolygonDuplicates, formatColor, greatDodecahedronPolygons, greatIcosahedronPolygons, greatStellatedDodecahedronPolygons, icosahedronPolygons, icosidodecahedronPolygons, inverseRotateVec3, isAxisAlignedSurfaceNormal, isVoxelCameraCullableNormalGroups, loadMesh, mergePolygons, normalFacesCamera, normalizeInvertMultiplier, normalizePolygons, octahedronPolygons, optimizeMeshPolygons, parseColor, parseGltf, parseHexColor, parseMtl, parseObj, parsePureColor, parseRgbColor, parseStl, parseVox, pentagonalHexecontahedronPolygons, pentagonalIcositetrahedronPolygons, pentakisDodecahedronPolygons, planePolygons, polygonCssSurfaceNormal, polygonFaces, polygonFacesCamera, polygonTexture, prismPolygons, project, pyramidPolygons, quatFromAxisAngle, quatFromEulerXYZ, quatMultiply, resolveGeometry, rhombicDodecahedronPolygons, rhombicTriacontahedronPolygons, rhombicosidodecahedronPolygons, rhombicuboctahedronPolygons, ringPolygons, ringQuadPolygons, rotateVec3, sampleTexel, shadeColor, smallStellatedDodecahedronPolygons, snubCubePolygons, snubDodecahedronPolygons, spherePolygons, tetrahedronPolygons, tetrakisHexahedronPolygons, torusPolygons, trapezohedronPolygons, triakisIcosahedronPolygons, triakisOctahedronPolygons, triakisTetrahedronPolygons, trianglesToFeatureEdges, truncatedCubePolygons, truncatedCuboctahedronPolygons, truncatedDodecahedronPolygons, truncatedIcosahedronPolygons, truncatedIcosidodecahedronPolygons, truncatedOctahedronPolygons, truncatedTetrahedronPolygons };
|
package/dist/index.d.ts
CHANGED
|
@@ -28,6 +28,8 @@ interface TextureTriangle {
|
|
|
28
28
|
uvs: [Vec2, Vec2, Vec2];
|
|
29
29
|
/** Hex color string (`#rrggbb`) propagated from source model material. */
|
|
30
30
|
color?: string;
|
|
31
|
+
/** Texture URL carried for renderers that sample textures per cell (UV-mapped). */
|
|
32
|
+
texture?: string;
|
|
31
33
|
}
|
|
32
34
|
/**
|
|
33
35
|
* Directional light — simulates a single distant source (sun, key light).
|
|
@@ -77,6 +79,13 @@ interface PolyMaterial {
|
|
|
77
79
|
* reference. */
|
|
78
80
|
key?: string;
|
|
79
81
|
}
|
|
82
|
+
/** Texture sampler wrap mode for one axis (glTF sampler convention). */
|
|
83
|
+
type PolyTextureWrapMode = "repeat" | "clamp-to-edge" | "mirrored-repeat";
|
|
84
|
+
/** Per-axis texture wrap modes (see {@link Polygon.textureWrap}). */
|
|
85
|
+
interface PolyTextureWrap {
|
|
86
|
+
s: PolyTextureWrapMode;
|
|
87
|
+
t: PolyTextureWrapMode;
|
|
88
|
+
}
|
|
80
89
|
/**
|
|
81
90
|
* The single polygon type for glyphcss. N coplanar vertices in 3D space,
|
|
82
91
|
* CCW winding from outside. No bbox field, no shape discriminator, no
|
|
@@ -104,6 +113,14 @@ interface Polygon {
|
|
|
104
113
|
* polygon canvas rasterization). Falls back to the atlas path otherwise.
|
|
105
114
|
*/
|
|
106
115
|
material?: PolyMaterial;
|
|
116
|
+
/**
|
|
117
|
+
* Texture sampler wrap mode for UVs outside [0, 1]. glTF imports and the
|
|
118
|
+
* fonts extruder preserve sampler.wrapS / wrapT here so a renderer that
|
|
119
|
+
* tiles textures can repeat the UVs. The ASCII renderer bakes textures to a
|
|
120
|
+
* flat per-face color and ignores this; unset keeps single-image behavior.
|
|
121
|
+
* @internal
|
|
122
|
+
*/
|
|
123
|
+
textureWrap?: PolyTextureWrap;
|
|
107
124
|
/**
|
|
108
125
|
* Per-vertex UV coords (0..1, OBJ convention with v=0 at bottom).
|
|
109
126
|
* Length MUST equal vertices.length when set; mismatched UVs are
|
|
@@ -1755,7 +1772,7 @@ declare function resolveGeometry(name: GlyphGeometryName, opts?: GlyphGeometryOp
|
|
|
1755
1772
|
|
|
1756
1773
|
/**
|
|
1757
1774
|
* Unified parser return type. All polygon-emitting parsers (parseObj,
|
|
1758
|
-
* parseGltf, the loadMesh dispatcher) return this exact shape.
|
|
1775
|
+
* parseGltf, parseVox, parseStl, the loadMesh dispatcher) return this exact shape.
|
|
1759
1776
|
*
|
|
1760
1777
|
* The asymmetric helper `parseMtl` returns its own `MtlParseResult` (it
|
|
1761
1778
|
* emits materials, not polygons) — see parseMtl.ts for the rationale.
|
|
@@ -1765,6 +1782,26 @@ declare function resolveGeometry(name: GlyphGeometryName, opts?: GlyphGeometryOp
|
|
|
1765
1782
|
* is empty (e.g. `parseObj`, where it's a no-op).
|
|
1766
1783
|
*/
|
|
1767
1784
|
|
|
1785
|
+
interface ParseStlTopology {
|
|
1786
|
+
componentCount: number;
|
|
1787
|
+
repairedTriangleCount: number;
|
|
1788
|
+
outwardComponentCount: number;
|
|
1789
|
+
suppliedNormalComponentCount: number;
|
|
1790
|
+
inconsistentSharedEdgeCount: number;
|
|
1791
|
+
nonManifoldSharedEdgeCount: number;
|
|
1792
|
+
}
|
|
1793
|
+
interface ParseStlColor {
|
|
1794
|
+
format: "magics";
|
|
1795
|
+
defaultColor: string;
|
|
1796
|
+
alpha: number;
|
|
1797
|
+
coloredTriangleCount: number;
|
|
1798
|
+
defaultColorTriangleCount: number;
|
|
1799
|
+
}
|
|
1800
|
+
interface ParseStlSolid {
|
|
1801
|
+
name: string;
|
|
1802
|
+
start: number;
|
|
1803
|
+
count: number;
|
|
1804
|
+
}
|
|
1768
1805
|
interface ParseAnimationClip {
|
|
1769
1806
|
/** Stable numeric index in the source file's animation array. */
|
|
1770
1807
|
index: number;
|
|
@@ -1818,6 +1855,16 @@ interface ParseResult {
|
|
|
1818
1855
|
animations?: ParseAnimationClip[];
|
|
1819
1856
|
/** Source file size in bytes (for diagnostics). */
|
|
1820
1857
|
sourceBytes?: number;
|
|
1858
|
+
/** Voxel count for `.vox` sources. */
|
|
1859
|
+
voxelCount?: number;
|
|
1860
|
+
/** Printable binary STL header, trimmed. */
|
|
1861
|
+
stlHeader?: string;
|
|
1862
|
+
/** Binary STL color metadata when a supported color extension is present. */
|
|
1863
|
+
stlColor?: ParseStlColor;
|
|
1864
|
+
/** Consecutive ASCII `solid` groups after parse/filtering. */
|
|
1865
|
+
stlSolids?: ParseStlSolid[];
|
|
1866
|
+
/** STL winding/connectivity diagnostics. */
|
|
1867
|
+
stlTopology?: ParseStlTopology;
|
|
1821
1868
|
};
|
|
1822
1869
|
}
|
|
1823
1870
|
|
|
@@ -2048,8 +2095,33 @@ interface SolidTextureSampleOptions {
|
|
|
2048
2095
|
/** Skip decoding very large textures for this optimization. Default 16 MP. */
|
|
2049
2096
|
maxTexturePixels?: number;
|
|
2050
2097
|
}
|
|
2098
|
+
interface SampledColor {
|
|
2099
|
+
r: number;
|
|
2100
|
+
g: number;
|
|
2101
|
+
b: number;
|
|
2102
|
+
a: number;
|
|
2103
|
+
}
|
|
2104
|
+
interface TextureSampler {
|
|
2105
|
+
width: number;
|
|
2106
|
+
height: number;
|
|
2107
|
+
data: ArrayLike<number>;
|
|
2108
|
+
lowDetail: boolean;
|
|
2109
|
+
}
|
|
2051
2110
|
declare function bakeSolidTextureSampledPolygons(polygons: Polygon[], options?: SolidTextureSampleOptions): Promise<Polygon[]>;
|
|
2052
2111
|
declare function bakeSolidTextureSamples(result: ParseResult, options?: SolidTextureSampleOptions): Promise<ParseResult>;
|
|
2112
|
+
/**
|
|
2113
|
+
* Decode every distinct texture referenced by `polygons` into a pixel sampler,
|
|
2114
|
+
* for renderers that sample textures at draw time (per-cell UV mapping) instead
|
|
2115
|
+
* of baking each face to one flat color. Keyed by texture URL. Empty map when no
|
|
2116
|
+
* browser image/canvas env is available (SSR / tests).
|
|
2117
|
+
*/
|
|
2118
|
+
declare function buildTextureSamplers(polygons: Polygon[], options?: {
|
|
2119
|
+
maxTexturePixels?: number;
|
|
2120
|
+
}): Promise<Map<string, TextureSampler>>;
|
|
2121
|
+
/** Sample a decoded texture at UV (0..1, OBJ convention with v=0 at bottom). */
|
|
2122
|
+
declare function sampleTexel(sampler: TextureSampler, u: number, v: number): SampledColor | null;
|
|
2123
|
+
/** The texture URL a polygon renders with (`material.texture` takes precedence). */
|
|
2124
|
+
declare function polygonTexture(polygon: Polygon): string | undefined;
|
|
2053
2125
|
|
|
2054
2126
|
interface VoxParseOptions {
|
|
2055
2127
|
/**
|
|
@@ -2066,6 +2138,22 @@ interface VoxParseOptions {
|
|
|
2066
2138
|
}
|
|
2067
2139
|
declare function parseVox(buffer: ArrayBuffer, options?: VoxParseOptions): ParseResult;
|
|
2068
2140
|
|
|
2141
|
+
interface StlParseOptions {
|
|
2142
|
+
/** Largest mesh extent (units). Mesh is uniformly scaled to fit. Default: 60. */
|
|
2143
|
+
targetSize?: number;
|
|
2144
|
+
/** Padding offset added after scaling. Default: 1. */
|
|
2145
|
+
gridShift?: number;
|
|
2146
|
+
/** Solid color assigned to every STL triangle. Default: "#888888". */
|
|
2147
|
+
defaultColor?: string;
|
|
2148
|
+
/**
|
|
2149
|
+
* Which axis is "up" in the source mesh.
|
|
2150
|
+
* - "z" (default): identity axes, matching common CAD/3D-print STL exports.
|
|
2151
|
+
* - "y": cyclic permutation (x,y,z) → (z,x,y), matching OBJ/glTF's +Y-up path.
|
|
2152
|
+
*/
|
|
2153
|
+
upAxis?: "z" | "y";
|
|
2154
|
+
}
|
|
2155
|
+
declare function parseStl(source: ArrayBuffer | Uint8Array | string, options?: StlParseOptions): ParseResult;
|
|
2156
|
+
|
|
2069
2157
|
/**
|
|
2070
2158
|
* loadMesh — high-level fetch+parse dispatcher. Picks the parser by file
|
|
2071
2159
|
* extension, fetches the URL, runs the parser, returns the unified
|
|
@@ -2076,11 +2164,12 @@ declare function parseVox(buffer: ArrayBuffer, options?: VoxParseOptions): Parse
|
|
|
2076
2164
|
* - `.glb` → ArrayBuffer fetch + `parseGltf`
|
|
2077
2165
|
* - `.gltf` → ArrayBuffer fetch + `parseGltf` (caller may pass `baseUrl`)
|
|
2078
2166
|
* - `.vox` → ArrayBuffer fetch + `parseVox`
|
|
2167
|
+
* - `.stl` → ArrayBuffer fetch + `parseStl`
|
|
2079
2168
|
*
|
|
2080
2169
|
* `.mtl` is rejected — it's a material file, not a mesh. Use `parseMtl`
|
|
2081
2170
|
* directly if you want to read materials.
|
|
2082
2171
|
*
|
|
2083
|
-
* Other extensions throw. Future formats (
|
|
2172
|
+
* Other extensions throw. Future formats (PLY, 3MF) plug in here.
|
|
2084
2173
|
*/
|
|
2085
2174
|
|
|
2086
2175
|
interface LoadMeshOptions {
|
|
@@ -2104,6 +2193,8 @@ interface LoadMeshOptions {
|
|
|
2104
2193
|
gltfOptions?: GltfParseOptions;
|
|
2105
2194
|
/** Forwarded to `parseVox`. */
|
|
2106
2195
|
voxOptions?: VoxParseOptions;
|
|
2196
|
+
/** Forwarded to `parseStl`. */
|
|
2197
|
+
stlOptions?: StlParseOptions;
|
|
2107
2198
|
/**
|
|
2108
2199
|
* Converts texture-backed faces whose UV samples are a uniform color into
|
|
2109
2200
|
* solid-color polygons before culling/merging. This avoids atlas sprites for
|
|
@@ -2128,4 +2219,4 @@ declare function project(v: Vec3, cols: number, rows: number, cellAspect: number
|
|
|
2128
2219
|
/** Public: derive feature edges from a triangle list. `featureAngleDeg = 0` = all edges. */
|
|
2129
2220
|
declare function trianglesToFeatureEdges(triangles: TextureTriangle[], featureAngleDeg?: number): WireframeEdge[];
|
|
2130
2221
|
|
|
2131
|
-
export { type AntiprismPolygonsOptions, type ApproximateMergeOptions, type ArrowPolygonsOptions, type AutoRotateConfig, type AutoRotateOption, type AxesHelperOptions, BASE_TILE, type BipyramidPolygonsOptions, CAMERA_BACKFACE_CULL_EPS, type CameraCullNormalGroup, type CameraCullRotation, type CameraHandle, type CameraState, type CameraStyleInput, type CharRamp, type ConePolygonsOptions, type CoverPlanarPolygonsOptions, type CubePolygonsOptions, type CuboctahedronPolygonsOptions, type CullInteriorOptions, type CylinderPolygonsOptions, DEFAULT_CAMERA_STATE, DEFAULT_PROJECTION, type DedupeOverlappingPolygonsOptions, type DeltoidalHexecontahedronPolygonsOptions, type DeltoidalIcositetrahedronPolygonsOptions, type DisdyakisDodecahedronPolygonsOptions, type DisdyakisTriacontahedronPolygonsOptions, type DodecahedronPolygonsOptions, type EdgeWeight, type GltfParseOptions, type GlyphAmbientLight, type GlyphAnimationAction, type ParseAnimationClip as GlyphAnimationClip, type GlyphAnimationMixer, type GlyphAnimationTarget, type GlyphDirectionalLight, type GlyphGeometryName, type GlyphGeometryOptions, type GreatDodecahedronPolygonsOptions, type GreatIcosahedronPolygonsOptions, type GreatStellatedDodecahedronPolygonsOptions, type GridSize, type Hotspot, type HotspotCell, type IcosahedronPolygonsOptions, type IcosidodecahedronPolygonsOptions, type LoadMeshOptions, type LoopMode, LoopOnce, LoopPingPong, LoopRepeat, type MeshResolution, type MtlParseResult, type NormalizeResult, type ObjParseOptions, type OctahedronPolygonsOptions, type OptimizeMeshPolygonsOptions, type ParseAnimationClip, type ParseAnimationController, type ParseResult, type ParsedColor, type PentagonalHexecontahedronPolygonsOptions, type PentagonalIcositetrahedronPolygonsOptions, type PentakisDodecahedronPolygonsOptions, type PlanePolygonsOptions, type Polygon, type PolygonFace, type PrismPolygonsOptions, type PyramidPolygonsOptions, QUAT_IDENTITY, type Quat, type RenderMode, type RhombicDodecahedronPolygonsOptions, type RhombicTriacontahedronPolygonsOptions, type RhombicosidodecahedronPolygonsOptions, type RhombicuboctahedronPolygonsOptions, type RingPolygonsOptions, type RingQuadPolygonsOptions, type SceneBbox, type SceneContext, type SceneContextBuildArgs, type SceneContextBuildResult, type SmallStellatedDodecahedronPolygonsOptions, type SnubCubePolygonsOptions, type SnubDodecahedronPolygonsOptions, type SolidTextureSampleOptions, type SpherePolygonsOptions, type TetrahedronPolygonsOptions, type TetrakisHexahedronPolygonsOptions, type TextureTriangle, type TorusPolygonsOptions, type TrapezohedronPolygonsOptions, type TriakisIcosahedronPolygonsOptions, type TriakisOctahedronPolygonsOptions, type TriakisTetrahedronPolygonsOptions, type TruncatedCubePolygonsOptions, type TruncatedCuboctahedronPolygonsOptions, type TruncatedDodecahedronPolygonsOptions, type TruncatedIcosahedronPolygonsOptions, type TruncatedIcosidodecahedronPolygonsOptions, type TruncatedOctahedronPolygonsOptions, type TruncatedTetrahedronPolygonsOptions, VOXEL_CAMERA_CULL_AXIS_EPS, VOXEL_CAMERA_CULL_NORMAL_LIMIT, type Vec2, type Vec3, type VoxParseOptions, type WireframeEdge, antiprismPolygons, arrowPolygons, axesHelperPolygons, bakeSolidTextureSampledPolygons, bakeSolidTextureSamples, bipyramidPolygons, buildSceneContext, cameraCullNormalGroups, cameraCullNormalGroupsFromPolygons, cameraCullNormalKey, cameraCullVisibleSignature, cameraFacingDepth, clampChannel, computeSceneBbox, computeShapeLighting, conePolygons, coverPlanarPolygons, createGlyphAnimationMixer, createIsometricCamera, cubePolygons, cuboctahedronPolygons, cullInteriorPolygons, cylinderPolygons, dedupeOverlappingPolygons, deltoidalHexecontahedronPolygons, deltoidalIcositetrahedronPolygons, disdyakisDodecahedronPolygons, disdyakisTriacontahedronPolygons, dodecahedronPolygons, eulerXYZFromQuat, findOverlappingPolygonDuplicates, formatColor, greatDodecahedronPolygons, greatIcosahedronPolygons, greatStellatedDodecahedronPolygons, icosahedronPolygons, icosidodecahedronPolygons, inverseRotateVec3, isAxisAlignedSurfaceNormal, isVoxelCameraCullableNormalGroups, loadMesh, mergePolygons, normalFacesCamera, normalizeInvertMultiplier, normalizePolygons, octahedronPolygons, optimizeMeshPolygons, parseColor, parseGltf, parseHexColor, parseMtl, parseObj, parsePureColor, parseRgbColor, parseVox, pentagonalHexecontahedronPolygons, pentagonalIcositetrahedronPolygons, pentakisDodecahedronPolygons, planePolygons, polygonCssSurfaceNormal, polygonFaces, polygonFacesCamera, prismPolygons, project, pyramidPolygons, quatFromAxisAngle, quatFromEulerXYZ, quatMultiply, resolveGeometry, rhombicDodecahedronPolygons, rhombicTriacontahedronPolygons, rhombicosidodecahedronPolygons, rhombicuboctahedronPolygons, ringPolygons, ringQuadPolygons, rotateVec3, shadeColor, smallStellatedDodecahedronPolygons, snubCubePolygons, snubDodecahedronPolygons, spherePolygons, tetrahedronPolygons, tetrakisHexahedronPolygons, torusPolygons, trapezohedronPolygons, triakisIcosahedronPolygons, triakisOctahedronPolygons, triakisTetrahedronPolygons, trianglesToFeatureEdges, truncatedCubePolygons, truncatedCuboctahedronPolygons, truncatedDodecahedronPolygons, truncatedIcosahedronPolygons, truncatedIcosidodecahedronPolygons, truncatedOctahedronPolygons, truncatedTetrahedronPolygons };
|
|
2222
|
+
export { type AntiprismPolygonsOptions, type ApproximateMergeOptions, type ArrowPolygonsOptions, type AutoRotateConfig, type AutoRotateOption, type AxesHelperOptions, BASE_TILE, type BipyramidPolygonsOptions, CAMERA_BACKFACE_CULL_EPS, type CameraCullNormalGroup, type CameraCullRotation, type CameraHandle, type CameraState, type CameraStyleInput, type CharRamp, type ConePolygonsOptions, type CoverPlanarPolygonsOptions, type CubePolygonsOptions, type CuboctahedronPolygonsOptions, type CullInteriorOptions, type CylinderPolygonsOptions, DEFAULT_CAMERA_STATE, DEFAULT_PROJECTION, type DedupeOverlappingPolygonsOptions, type DeltoidalHexecontahedronPolygonsOptions, type DeltoidalIcositetrahedronPolygonsOptions, type DisdyakisDodecahedronPolygonsOptions, type DisdyakisTriacontahedronPolygonsOptions, type DodecahedronPolygonsOptions, type EdgeWeight, type GltfParseOptions, type GlyphAmbientLight, type GlyphAnimationAction, type ParseAnimationClip as GlyphAnimationClip, type GlyphAnimationMixer, type GlyphAnimationTarget, type GlyphDirectionalLight, type GlyphGeometryName, type GlyphGeometryOptions, type GreatDodecahedronPolygonsOptions, type GreatIcosahedronPolygonsOptions, type GreatStellatedDodecahedronPolygonsOptions, type GridSize, type Hotspot, type HotspotCell, type IcosahedronPolygonsOptions, type IcosidodecahedronPolygonsOptions, type LoadMeshOptions, type LoopMode, LoopOnce, LoopPingPong, LoopRepeat, type MeshResolution, type MtlParseResult, type NormalizeResult, type ObjParseOptions, type OctahedronPolygonsOptions, type OptimizeMeshPolygonsOptions, type ParseAnimationClip, type ParseAnimationController, type ParseResult, type ParseStlColor, type ParseStlSolid, type ParseStlTopology, type ParsedColor, type PentagonalHexecontahedronPolygonsOptions, type PentagonalIcositetrahedronPolygonsOptions, type PentakisDodecahedronPolygonsOptions, type PlanePolygonsOptions, type PolyTextureWrap, type PolyTextureWrapMode, type Polygon, type PolygonFace, type PrismPolygonsOptions, type PyramidPolygonsOptions, QUAT_IDENTITY, type Quat, type RenderMode, type RhombicDodecahedronPolygonsOptions, type RhombicTriacontahedronPolygonsOptions, type RhombicosidodecahedronPolygonsOptions, type RhombicuboctahedronPolygonsOptions, type RingPolygonsOptions, type RingQuadPolygonsOptions, type SampledColor, type SceneBbox, type SceneContext, type SceneContextBuildArgs, type SceneContextBuildResult, type SmallStellatedDodecahedronPolygonsOptions, type SnubCubePolygonsOptions, type SnubDodecahedronPolygonsOptions, type SolidTextureSampleOptions, type SpherePolygonsOptions, type StlParseOptions, type TetrahedronPolygonsOptions, type TetrakisHexahedronPolygonsOptions, type TextureSampler, type TextureTriangle, type TorusPolygonsOptions, type TrapezohedronPolygonsOptions, type TriakisIcosahedronPolygonsOptions, type TriakisOctahedronPolygonsOptions, type TriakisTetrahedronPolygonsOptions, type TruncatedCubePolygonsOptions, type TruncatedCuboctahedronPolygonsOptions, type TruncatedDodecahedronPolygonsOptions, type TruncatedIcosahedronPolygonsOptions, type TruncatedIcosidodecahedronPolygonsOptions, type TruncatedOctahedronPolygonsOptions, type TruncatedTetrahedronPolygonsOptions, VOXEL_CAMERA_CULL_AXIS_EPS, VOXEL_CAMERA_CULL_NORMAL_LIMIT, type Vec2, type Vec3, type VoxParseOptions, type WireframeEdge, antiprismPolygons, arrowPolygons, axesHelperPolygons, bakeSolidTextureSampledPolygons, bakeSolidTextureSamples, bipyramidPolygons, buildSceneContext, buildTextureSamplers, cameraCullNormalGroups, cameraCullNormalGroupsFromPolygons, cameraCullNormalKey, cameraCullVisibleSignature, cameraFacingDepth, clampChannel, computeSceneBbox, computeShapeLighting, conePolygons, coverPlanarPolygons, createGlyphAnimationMixer, createIsometricCamera, cubePolygons, cuboctahedronPolygons, cullInteriorPolygons, cylinderPolygons, dedupeOverlappingPolygons, deltoidalHexecontahedronPolygons, deltoidalIcositetrahedronPolygons, disdyakisDodecahedronPolygons, disdyakisTriacontahedronPolygons, dodecahedronPolygons, eulerXYZFromQuat, findOverlappingPolygonDuplicates, formatColor, greatDodecahedronPolygons, greatIcosahedronPolygons, greatStellatedDodecahedronPolygons, icosahedronPolygons, icosidodecahedronPolygons, inverseRotateVec3, isAxisAlignedSurfaceNormal, isVoxelCameraCullableNormalGroups, loadMesh, mergePolygons, normalFacesCamera, normalizeInvertMultiplier, normalizePolygons, octahedronPolygons, optimizeMeshPolygons, parseColor, parseGltf, parseHexColor, parseMtl, parseObj, parsePureColor, parseRgbColor, parseStl, parseVox, pentagonalHexecontahedronPolygons, pentagonalIcositetrahedronPolygons, pentakisDodecahedronPolygons, planePolygons, polygonCssSurfaceNormal, polygonFaces, polygonFacesCamera, polygonTexture, prismPolygons, project, pyramidPolygons, quatFromAxisAngle, quatFromEulerXYZ, quatMultiply, resolveGeometry, rhombicDodecahedronPolygons, rhombicTriacontahedronPolygons, rhombicosidodecahedronPolygons, rhombicuboctahedronPolygons, ringPolygons, ringQuadPolygons, rotateVec3, sampleTexel, shadeColor, smallStellatedDodecahedronPolygons, snubCubePolygons, snubDodecahedronPolygons, spherePolygons, tetrahedronPolygons, tetrakisHexahedronPolygons, torusPolygons, trapezohedronPolygons, triakisIcosahedronPolygons, triakisOctahedronPolygons, triakisTetrahedronPolygons, trianglesToFeatureEdges, truncatedCubePolygons, truncatedCuboctahedronPolygons, truncatedDodecahedronPolygons, truncatedIcosahedronPolygons, truncatedIcosidodecahedronPolygons, truncatedOctahedronPolygons, truncatedTetrahedronPolygons };
|