import { createRng } from "@/lib/voronoi-mesh"; /** Organic contour paths for light backgrounds (topographic wave lines). */ export function buildWavyContourPaths( lineCount: number, width: number, height: number, seed: number ): string[] { const rng = createRng(seed); const paths: string[] = []; for (let i = 0; i < lineCount; i++) { const yBase = ((i + 0.5) / lineCount) * height; const amp = 2 + rng() * 4.5; const freq1 = 0.035 + rng() * 0.038; const freq2 = 0.008 + rng() * 0.014; const phase1 = rng() * Math.PI * 2; const phase2 = rng() * Math.PI * 2; const drift = (rng() - 0.5) * 3; const steps = 80; let d = ""; for (let s = 0; s <= steps; s++) { const x = (s / steps) * width; const y = yBase + drift * (x / width - 0.5) + amp * Math.sin(x * freq1 + phase1) + amp * 0.42 * Math.sin(x * freq2 + phase2); d += s === 0 ? `M ${x.toFixed(2)} ${y.toFixed(2)}` : ` L ${x.toFixed(2)} ${y.toFixed(2)}`; } paths.push(d); } return paths; }