/** * MoonRenderer - Unified Moon System * * Features: * - Stylized procedural moon with recognizable lunar features * - Lunar maria (dark "seas") and prominent craters including Tycho with rays * - Real lunar cycle calculations (shows actual current moon phase) * - Configurable color temperature (warm/cool tint) * - Smooth glow with no banding */ import type { Dimensions } from "../domain/types.js"; export type MoonType = "realistic" | "full" | "crescent"; export type MoonColorTemp = "warm" | "cool"; export interface MoonConfig { type: MoonType; x: number; y: number; radiusFraction: number; maxRadius: number; glowIntensity: number; useRealPhase: boolean; staticPhase: number; colorTemp: MoonColorTemp; animated: boolean; crescentRotation: number; detailLevel: number; surfaceDarkness: number; featureSpread: number; } export interface MoonState { x: number; y: number; radius: number; phase: number; illuminationFraction: number; isWaxing: boolean; visible: boolean; } export declare class MoonRenderer { private config; private state; private width; private height; private colors; private animationPhase; constructor(width?: number, height?: number, config?: Partial); private calculateState; private calculateRealLunarPhase; render(ctx: CanvasRenderingContext2D): void; private drawGlow; private drawMoonWithTexture; private drawLunarMaria; private drawMare; private drawCraters; private drawCrater; private drawCraterRays; private drawTychoRays; private drawPhaseShadow; initialize(width: number, height: number): void; update(frameMultiplier?: number): void; draw(ctx: CanvasRenderingContext2D, _dimensions?: Dimensions): void; resize(width: number, height: number): void; setConfig(config: Partial): void; setVisible(visible: boolean): void; getState(): MoonState; getConfig(): MoonConfig; getPhaseName(): string; getIlluminationPercent(): number; cleanup(): void; refreshPhase(): void; } /** Create a full moon with texture (for cherry blossom, etc) */ export declare function createFullMoon(options?: Partial): MoonRenderer; /** Create a crescent moon (for firefly forest, etc) */ export declare function createCrescentMoon(options?: Partial): MoonRenderer; /** Create a moon that shows real lunar phase */ export declare function createRealisticMoon(options?: Partial): MoonRenderer; //# sourceMappingURL=MoonRenderer.d.ts.map