/** * Body render configuration — visual constants and FX configs scoped to * a single body's rendering pipeline. * * Scene-level constants (camera FOV, main orbit speed, god-rays mask * layer, etc.) are caller-owned and intentionally live outside this lib. */ /** Orbital drag sensitivity in the preview panel. */ export declare const PREVIEW_ORBIT_SPEED = 0.85; /** Camera focus interpolation rate (lerp per second). */ export declare const FOCUS_LERP = 5; /** Sun/star visual radius in world units — must match the star body config. */ export declare const SHADOW_SUN_RADIUS = 3; /** Number of line segments in an orbital trail ring. */ export declare const ORBIT_TRAIL_SEGMENTS = 128; /** * Tunable parameters for the screen-space god-rays (volumetric scattering) * post-processing pass. Fed to `GodRaysShader` uniforms. */ export interface GodRaysParams { /** Overall ray brightness */ exposure: number; /** Attenuation per step — closer to 1 = longer rays */ decay: number; /** Step stretch factor */ density: number; /** Per-sample weight before angular modulation */ weight: number; } /** * Configuration for the lens-flare overlay rendered in front of a star. * Scales the three flare sub-sprites (glow, ring, ghosts) independently. */ export interface LensFlareConfig { enabled: boolean; glowScale: number; ringScale: number; ghostScale: number; ghostOpacity: number; } /** * Screen-space sun effect bundle — blinding glow + concentric rings, * composited on top of the god-rays pass. */ export interface SunFXConfig { blindingEnabled: boolean; blindingIntensity: number; blindingSize: number; ringsEnabled: boolean; ringsCount: number; ringsOpacity: number; ringsSpread: number; } /** Default lens-flare configuration — balanced for a G-type reference star. */ export declare const DEFAULT_LENS_FLARE: LensFlareConfig; /** Default sun-FX configuration — moderate blinding with 5 rings. */ export declare const DEFAULT_SUN_FX: SunFXConfig; /** * Visual configuration for the per-tile hover overlay (fill + border ring), * consumed by `TileOverlayMesh` when rendering the hovered hex. */ export type HoverConfig = { /** Fill overlay color (hex integer, e.g. 0xffffff). */ fillColor: number; /** Fill overlay opacity — uses additive blending, keep low (0.05 – 0.3). */ fillOpacity: number; /** Border quad-strip color. */ borderColor: number; /** Border opacity. */ borderOpacity: number; /** * Border width as a fraction of the tile's average boundary radius. * 0.08 ≈ 8% of the tile radius — visible but not overwhelming. */ borderWidth: number; /** * Z-offset added on top of the tile height to avoid z-fighting. * Expressed as a scale delta on the sphere radius (≈ world units at r=1). */ surfaceOffset: number; /** * Outward expansion of the ring beyond the boundary vertices, * as a fraction of the tile average boundary radius. */ ringExpand: number; }; /** Default tile hover overlay — additive white fill with a thin white ring. */ export declare const DEFAULT_HOVER: HoverConfig; /** * Visual configuration for the body-level hover ring drawn around a planet * silhouette. All dimensions are screen-space so the ring stays constant * across camera zoom. */ export type BodyHoverConfig = { /** Circle stroke color. */ ringColor: number; /** Circle stroke opacity. */ ringOpacity: number; /** * Gap between the planet's silhouette edge and the circle's inner radius, * in screen pixels. Maintained at any zoom level. */ ringMarginPx: number; /** * Circle stroke width in screen pixels. Maintained at any zoom level. */ ringWidthPx: number; }; /** Default body hover ring — white stroke, 2 px wide, 6 px offset. */ export declare const DEFAULT_BODY_HOVER: BodyHoverConfig; //# sourceMappingURL=render.d.ts.map