v2.2.0: 2026-04-29 (atual)
Marco L2 + L3 + L4 + L6++: Sistema solar completo, atlas estelar, pequenos corpos.
- VSOP87D full para os 7 planetas (Mercury, Venus, Mars, Jupiter, Saturn, Uranus, Neptune): 31577 termos brutos baixados do IMCCE, 12104 preservados após truncagem em 1e-7 rad / 1e-9 AU. Validado contra Meeus 32.a (Venus heliocêntrico) com erro de 3.3 arcsec.
- core/astro/ephemeris/PlanetEphemerisVSOP87.php: classe que computa posição geocêntrica com light-time iterativo (3 passes), conversão ecliptic-equatorial, magnitude aparente Meeus 41.
- Páginas /astronomia/planeta/{nome}: 7 páginas individuais para cada planeta com posição em tempo real.
- Hub /astronomia/planetas: tabela viva dos 7 planetas com RA, Dec, magnitude, fase, elongação.
- API /api/v1/planeta: endpoint REST para qualquer planeta.
- core/astro/StarCatalog.php: acesso a top 80 estrelas brilhantes (HIP) + 88 constelações IAU.
- Páginas /astronomia/atlas, atlas-estrela, atlas-constelacao: catálogo navegável com nomes em PT, EN e Latim, formas genitivas, RA/Dec J2000.
- core/astro/charts/LunarGlobe.php: SVG do globo lunar com terminator e libração.
- core/astro/charts/EclipseMap.php: mapa-mundi para mostrar visibilidade de eclipses.
- core/astro/ephemeris/KeplerEphemeris.php: solver de Kepler para pequenos corpos (asteroides + cometas).
- 22 asteroides numerados com elementos osculadores JPL SBDB: Ceres, Pallas, Juno, Vesta, Hygiea, Eros, Ida, Apophis, Bennu, Ryugu, Itokawa, Didymos, etc.
- 10 cometas históricos: Halley, Hale-Bopp, NEOWISE, Hyakutake, Churyumov-Gerasimenko, Tempel 1, Borrelly, Wild 2, Tsuchinshan-ATLAS, Borisov.
- Páginas /astronomia/asteroides + asteroide individual: posição geocêntrica em tempo real, elementos orbitais, contexto editorial.
- Endpoints visuais /astronomia/lunar-globe, /astronomia/sky-chart: SVG server-rendered.
- 16 testes VSOP87 planetário (test_phase16_planets.php), todos pass. Adiciona ao total existente.
v2.1.0: 2026-04-28
Marco L0+L1+L5+L6+L8: Astronomia inaugurada.
- Estrutura /astronomia/ criada com hub, páginas docs (precisão, metodologia, fontes, glossário, changelog).
- Hub /astronomia/ criado para trilha pública de intent rápido.
- IAU 2006 P03 precessão implementada em
core/astro/frames/PrecessionIAU2006.php(Capitaine, Wallace & Chapront 2003). - Frame Bias matrix B em
core/astro/frames/FrameBias.php(IERS Conventions 2010 Eq. 5.18). - Cadeia NPB (Nutação x Precessão x Bias) em
core/astro/frames/NPBChain.php: ICRS <-> true of date. - Eclipses Besselian em
core/astro/eclipse/BesselianElements.php: classifica eclipses solares (parcial/anular/total) e lunares (penumbral/parcial/total) com gamma e magnitude. - SVG charts server-rendered:
SvgChart,SkyChartPolar(estereográfica),AltitudeTrack(altitude vs tempo). - Endpoint /astronomia/sky-chart: mapa do céu para qualquer data + localização.
- API REST interna em
/api/v1/:lua,sol,health,version. Restrita a localhost / X-OC-Internal por enquanto. - InputValidator com limites cientificamente justificados (latitude, altitude, pressão, temperatura, refração, ΔT, UT1-UTC, TAI-UTC, datetime).
- i18n PT/EN com hreflang em todas páginas do laboratório.
- 21 testes IAU 2006 (test_phase12_iau2006_frames.php), 15 testes charts (test_phase14_charts.php), 9 testes Besselian (test_phase15_besselian.php). Total: 45 novos testes, 100% pass.
- Validação contra NASA Espenak: gamma com erro de 0.001 em eclipses solares, magnitude lunar com erro de 0.02.
v2.0.0: 2026-04-27
Refatoração em camadas SSOT (Single Source of Truth).
- Layered architecture: motor reorganizado em
core/astro/com 30+ classes especializadas (TimeScales,Coordinates,MoonPosition,SunPosition,ObserverModel,TopocentricTransformer,RiseSetTransitSolver,PhaseGeometryCalculator, etc). - ELP-2000/82B full: 36 séries carregadas em
elp_all.php(8467 termos preservados após truncagem em 0.0001 arcsec). Reproduz Meeus 47.a com erro < 0.02 arcsec. - VSOP87D Sun: 58 termos truncados (35 L + 7 B + 16 R), substituindo as séries simplificadas anteriores.
- IAU 2000A nutation opt-in: 1365 termos completos disponíveis via
observer.nutation_model = 'iau2000a'. Default permanece IAU 1980 para compatibilidade. - 3 modelos de refração: Bennett 1982 (default), Saemundsson 1986, None (modo astrométrico).
- Espenak-Meeus ΔT: polinômio completo em 9 ramos históricos cobrindo 4000 BC – 3000 AD.
- Topocentric transformer: paralaxe via elipsoide WGS84 (opcional, default esfera para compatibilidade).
- Time scale bundle: UTC, UT1, TAI, TT, TDB explícitos em cada saída.
- Calendários multiculturais: gregoriano, juliano, hijri, hebraico, chinês.
- Folclore lunar: nomes de Lua Cheia/Nova por mês (Algonquin) + termos Tupi-Guarani por fase.
- Birth date metrics: lunações vividas, dias, anos.
- Validation suite: 30+ scripts
test_phase*.phpcobrindo cada camada. - JPL Horizons benchmark: 322 pontos seed, 9/9 métricas dentro de tolerância.
v1.x.x: 2026-04 e anteriores
Versões anteriores antes da refatoração em camadas. Implementação monolítica em MoonPhaseCalculator.php com aproximações de baixa ordem (suficiente para uso recreativo/educacional simples mas não para validação científica). Mantida em lua/data/MoonPhaseCalculator.php para compatibilidade com páginas públicas que não precisam da precisão do v2.
Roadmap próximas versões
v2.1.0: Frames IAU 2006
- IAU 2006 P03 precessão (substitui IAU 1976)
- Frame bias matrix B (ICRS → equador médio J2000)
- Cadeia ICRS → BCRS → GCRS → CIRS → ITRS
- TT-TDB diferença relativística completa
v2.2.0: Sistema solar
- VSOP87D FULL para 7 planetas (Mercury, Venus, Mars, Jupiter, Saturn, Uranus, Neptune)
- Páginas individuais por planeta em
/astronomia/planeta/{nome} - Predição de oposições e maior elongação
v2.3.0: Atlas estelar
- Catálogo Hipparcos top 5000
- 88 constelações IAU + culturas Tupi, Yanomami, Chinesa, Indiana
- Páginas
/astronomia/atlas/constelacao/{nome}e/astronomia/atlas/estrela/{HIP}
v2.4.0: Pequenos corpos
- 5000 asteroides com elementos osculadores Keplerianos
- 100 cometas históricos numerados
- Predição de próximas aparições
v2.5.0: Eclipses Besselian
- Elementos Besselianos completos
- Mapa de visibilidade global
- Magnitude local exata para qualquer cidade
v2.6.0: Saídas gráficas
- Sky chart 2D estereográfica polar SVG
- All-sky panoramic SVG
- Lunar globe com terminator
- Eclipse path maps
- Sistema solar vista superior
v3.0.0: DE440 com lazy load
- Leitor SPK em PHP
- Suporte ao DE440 (1550-2650, 114 MB binário)
- Toggle
engine=elp(default) vsengine=de440 - Precisão de metros em vez de arcsec
Política de compatibilidade
- MAJOR (X.0.0): pode quebrar API ou alterar saídas existentes. Anunciada com 90 dias de antecedência.
- MINOR (x.Y.0): novas features ou novos campos de saída, sem quebrar existentes.
- PATCH (x.y.Z): correção de bugs ou aumentos de precisão que não mudam contratos.
Veja a metodologia atual, validação de precisão, e bibliografia completa.