Core Functions
Core Functions API
Section titled “Core Functions API”Pure TypeScript functions with no React dependencies. Import from @strata-game-library/core.
SDF Primitives
Section titled “SDF Primitives”sdSphere
Section titled “sdSphere”Signed distance to a sphere.
function sdSphere( point: [number, number, number], center: [number, number, number], radius: number): number;Signed distance to an axis-aligned box.
function sdBox( point: [number, number, number], center: [number, number, number], size: [number, number, number]): number;sdCapsule
Section titled “sdCapsule”Signed distance to a capsule.
function sdCapsule( point: [number, number, number], start: [number, number, number], end: [number, number, number], radius: number): number;sdTorus
Section titled “sdTorus”Signed distance to a torus.
function sdTorus( point: [number, number, number], center: [number, number, number], majorRadius: number, minorRadius: number): number;SDF Operations
Section titled “SDF Operations”opUnion
Section titled “opUnion”Boolean union of two SDFs.
function opUnion(d1: number, d2: number): number;opSubtraction
Section titled “opSubtraction”Boolean subtraction (d1 - d2).
function opSubtraction(d1: number, d2: number): number;opSmoothUnion
Section titled “opSmoothUnion”Smooth blended union.
function opSmoothUnion(d1: number, d2: number, k: number): number;// k = smoothness factor (0.1 - 1.0)Noise Functions
Section titled “Noise Functions”noise3D
Section titled “noise3D”3D Perlin noise.
function noise3D(x: number, y: number, z: number): number;// Returns -1 to 1Fractal Brownian Motion noise.
function fbm( x: number, y: number, z: number, options?: { octaves?: number; // Default: 6 persistence?: number; // Default: 0.5 lacunarity?: number; // Default: 2.0 }): number;warpedFbm
Section titled “warpedFbm”Domain-warped FBM for organic shapes.
function warpedFbm( x: number, y: number, z: number, options?: { octaves?: number; warpStrength?: number; }): number;Terrain Functions
Section titled “Terrain Functions”getBiomeAt
Section titled “getBiomeAt”Get biome type at a position.
function getBiomeAt( x: number, z: number, config: BiomeConfig): string;getTerrainHeight
Section titled “getTerrainHeight”Get terrain height at a position.
function getTerrainHeight( x: number, z: number, biome: string, config?: TerrainConfig): number;sdTerrain
Section titled “sdTerrain”SDF for terrain heightfield.
function sdTerrain( point: [number, number, number], config: TerrainConfig): number;calcNormal
Section titled “calcNormal”Calculate surface normal from SDF.
function calcNormal( point: [number, number, number], sdf: (p: [number, number, number]) => number, epsilon?: number): [number, number, number];Marching Cubes
Section titled “Marching Cubes”marchingCubes
Section titled “marchingCubes”Generate mesh from SDF.
function marchingCubes( sdf: (point: [number, number, number]) => number, bounds: { min: [number, number, number]; max: [number, number, number] }, resolution: number): { vertices: Float32Array; indices: Uint32Array };createGeometryFromMarchingCubes
Section titled “createGeometryFromMarchingCubes”Create Three.js geometry from SDF.
function createGeometryFromMarchingCubes(options: { bounds: { min: [number, number, number]; max: [number, number, number] }; resolution: number; sdf: (point: [number, number, number]) => number;}): THREE.BufferGeometry;generateTerrainChunk
Section titled “generateTerrainChunk”Generate complete terrain chunk.
function generateTerrainChunk(options: { position: [number, number, number]; size: number; resolution: number; sdfFunction: (p: [number, number, number]) => number; biomeFunction?: (x: number, z: number) => string;}): THREE.BufferGeometry;Material Creation
Section titled “Material Creation”createWaterMaterial
Section titled “createWaterMaterial”Create simple water material.
function createWaterMaterial(options: { color: THREE.Color; opacity?: number; reflectivity?: number; waveHeight?: number; waveSpeed?: number;}): THREE.ShaderMaterial;createSkyMaterial
Section titled “createSkyMaterial”Create procedural sky material.
function createSkyMaterial(options: { sunPosition: THREE.Vector3; turbidity?: number; rayleigh?: number;}): THREE.ShaderMaterial;Animation
Section titled “Animation”createTimeOfDay
Section titled “createTimeOfDay”Create time of day object.
function createTimeOfDay( hour: number, minute: number): TimeOfDay;createWalkCycle
Section titled “createWalkCycle”Create procedural walk animation.
function createWalkCycle(options: { speed?: number; stride?: number; bounce?: number; armSwing?: number;}): Animation;Related
Section titled “Related”- Components - React components
- Hooks - React hooks
- Types - TypeScript types