/** * Planet and star mesh factories built on top of the merged hex * geometry. `buildPlanetMesh` returns a raycast-proxy mesh used by legacy * consumers (star path); `buildStarSmoothMesh` returns the animated * smooth-sphere display mesh for stars. */ import * as THREE from 'three'; import type { TerrainLevel } from '../types/terrain.types'; import type { BodySimulation } from '../../sim/BodySimulation'; import type { BodyVariation } from './bodyVariation'; import { BodyMaterial } from '../../shaders'; import { type RenderQuality } from '../quality/renderQuality'; /** * Builds a merged hex-tile mesh for raycast / display purposes. * When the body carries a liquid surface, the explicit ocean tiles are * skipped so the smooth water sphere can render on top. * * @param sim - Pre-computed body simulation (tiles + elevations). * @param levels - Terrain palette driving vertex colours and heights. * @returns - The mesh and a face→tile id lookup for hover queries. */ export declare function buildPlanetMesh(sim: BodySimulation, levels: TerrainLevel[]): { mesh: THREE.Mesh; faceToTileId: number[]; }; /** * Builds an animated star-surface sphere using the lib `BodyMaterial`. * * Indexed sphere (like rocky) as overview display — animated star shader * baked with per-vertex granulation colors derived from the star palette * + elevation. The raycast / interactive swap is handled by the star * factory via `buildInteractiveMesh` hex tiles when the camera focuses * the star. */ export declare function buildStarSmoothMesh(sim: BodySimulation, levels: TerrainLevel[], variation?: BodyVariation, options?: { quality?: RenderQuality; }): { mesh: THREE.Mesh; tick: (dt: number) => void; planetMaterial: InstanceType; }; //# sourceMappingURL=buildPlanetMesh.d.ts.map