/** * Celestial body rendering sizes configuration * Shared across components for consistent sizing */ /** * Planet rendering sizes (radius in scene units) */ export const PLANET_SIZES: Record = { Mercury: 0.35, Venus: 0.55, Earth: 0.6, Mars: 0.45, Jupiter: 1.4, Saturn: 1.2, Uranus: 0.8, Neptune: 0.8, Pluto: 0.2, // Default for unknown planets default: 0.5, }; /** * Satellite rendering sizes (radius in scene units) */ export const SATELLITE_SIZES: Record = { Moon: 0.15, // Default for unknown satellites default: 0.12, }; /** * Star rendering sizes (radius in scene units) */ export const STAR_SIZES: Record = { Sun: 0.4, // Default for unknown stars default: 0.4, }; /** * Comet rendering sizes (radius in scene units) * Comets are typically small with a bright nucleus */ export const COMET_SIZES: Record = { // Famous comets Halley: 0.15, // Default for unknown comets default: 0.12, }; /** * Get the rendering size for a celestial body by name and type */ export function getCelestialSize(name: string, type: string): number { switch (type) { case 'planet': case 'dwarf_planet': return PLANET_SIZES[name] || PLANET_SIZES.default; case 'satellite': return SATELLITE_SIZES[name] || SATELLITE_SIZES.default; case 'star': return STAR_SIZES[name] || STAR_SIZES.default; case 'comet': return COMET_SIZES[name] || COMET_SIZES.default; default: return 0.5; } }