feat(cosmobiologia): esfera 3D — Tierra interior con continentes + topocéntricos

Tierra interior: un globo pequeño y transparente en el centro de la
esfera celeste, con los continentes esquemáticos (referenciales, no un
mapa de precisión) y el observador marcado en su lugar real. Orientada
por la longitud geográfica y el RAMC, de modo que el punto del
observador mira exactamente al cénit — y gira con la vista, así que
delata la rotación que el sombreado fijo no daba.

Topocéntricos: la capa topocéntrica del motor se dibuja como disco
hueco con un conector hasta su par geocéntrico. El LARGO del conector
es la paralaje — honesto sobre su magnitud (un cinturón aparte la
exageraría: la diferencia es sub-grado salvo la Luna).

`RenderModel` gana `geo_longitude_deg` (lo puebla el bridge). 41 tests
verdes (3 nuevos: orientación de la Tierra, observador↔cénit,
continentes).

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
sergio
2026-05-22 19:23:47 +00:00
parent 5c462e6d30
commit 3454b8ba1e
5 changed files with 237 additions and 13 deletions
@@ -1497,6 +1497,7 @@ fn build_render_model(
descendant_deg,
imum_coeli_deg,
geo_latitude_deg: chart.birth_data.latitude_deg as f32,
geo_longitude_deg: chart.birth_data.longitude_deg as f32,
layers: vec![sign_dial, houses, bodies, aspects_layer],
overlays: Vec::new(),
aspect_summary: Vec::new(),
@@ -389,6 +389,7 @@ pub fn compute_mock(chart: &Chart) -> RenderModel {
descendant_deg: 180.0,
imum_coeli_deg: 90.0,
geo_latitude_deg: chart.birth_data.latitude_deg as f32,
geo_longitude_deg: chart.birth_data.longitude_deg as f32,
layers: vec![sign_dial],
overlays: Vec::new(),
aspect_summary: Vec::new(),