Analog zu moonyear.php wird die Mondscheibe je nach Finsternisart (total,
partiell, Halbschatten) eingefärbt, basierend auf den bereits geladenen
Mondfinsternis-Ereignissen des Monats.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Verschieben nutzt jetzt camera.setViewOffset() statt Kameraposition/-ziel
zu bewegen, und Zoom erfolgt ueber camera.zoom (Brennweite) statt ueber
Annaeherung der Kamera. So bleibt der Blickwinkel auf den Mond in der
Standardansicht immer wie von der Erde aus - nur der freie Kamera-Modus
darf ihn aendern.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Sub-Erd- und Sub-Sonnen-Punkt (Laenge/Breite) werden jetzt aus der
offiziellen IAU-Rotationsachse des Mondes (RotationAxis: Pol-RA/Dec und
Rotationswinkel W) berechnet statt aus der aelteren, nur naeherungsweisen
Meeus-Optiklibration - gegen die oeffentlichen NASA-Dial-a-Moon-Daten
exakt validiert (Laenge/Breite und Positionswinkel stimmen auf drei
Nachkommastellen).
- Sonnenrichtung im 3D-Rendering direkt aus der Geometrie abgeleitet
(derselbe lokale Vektor wie bei der Krater-Platzierung, dann mit der
Mesh-Rotation gedreht), statt aus der Beleuchtungs-Prozentzahl
zurueckgerechnet - exakt statt angenaehert, konsistent mit Kratern.
- Mesh-Rotation (Kugel-Ausrichtung inkl. Textur) laeuft jetzt durch
dieselbe Laengen-Konvention wie Krater und Sonne, statt eine eigene,
inkonsistente Berechnung zu nutzen (behebt u. a. eine falsch
abgeschnittene Darstellung von Mare Crisium nahe dem Rand).
- Ost/West-Vorzeichen der selenographischen Laenge korrigiert.
- Tone-Mapping (ACESFilmicToneMapping) ergaenzt, damit duenne Mondsicheln
und Vollmond gleichzeitig vernuenftig belichtet dargestellt werden
koennen - eine feste Lichtstaerke allein konnte das nicht leisten.
- Schatten-Bias erhoeht gegen Shadow-Acne bei sehr flachem Lichteinfall;
Schatten-Map-Typ vereinheitlicht (Live-Ansicht und PNG-Export nutzten
bisher unterschiedliche Werte).
- Alle Licht-Parameter als benannte Konstanten mit Erklaerung gesammelt
und dabei doppelte, auseinanderlaufende Einstellungen (u. a.
toneMappingExposure, ambientLight) bereinigt.
- Neues, einklappbares (aktuell ausgeblendetes) Testregler-Panel fuer
alle Licht-Parameter samt "Werte speichern"-Button, um kuenftige
Feinabstimmung ohne Codesuche zu ermoeglichen.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Textbaustein-System für die Monatsübersicht deutlich robuster und
natürlicher gemacht:
- Zwischenüberschriften ("Der Mond im ...", "Die Planeten im ...") durch
strukturierte Absatz-Rückgabe statt reinem String; Live-Seite und
HTML-/Joomla-Export rendern jetzt korrekt h3 -> h4 -> p.
- Deterministische statt zufällige Textbaustein-Auswahl (seeded statt
random_int), damit derselbe Monat/Jahr bei erneutem Aufruf denselben
Text liefert.
- Übergangsphrasen zwischen Ereignissätzen ("Anschließend", "Kurz
darauf" etc.) berücksichtigen jetzt den tatsächlichen Tagesabstand
und wiederholen sich nie zwei Mal hintereinander; Ereignisse am
selben Tag werden zu einem Satz zusammengefasst statt das Datum
doppelt zu nennen.
- Bugfix: Merkur-Elongationen und Venus-Konjunktionen landeten wegen
eines Typo im Typvergleich im generischen Fallback-Satz.
- Venus korrekt feminin dekliniert (sie/ihre) statt durchgängig "er".
- Morgen-/Abenddämmerung wird bei Merkur-Sichtbarkeit und Venus-
Helligkeit jetzt benannt (Venus-Sichtbarkeitsrichtung neu in
api.py berechnet).
- Meteorstrom- und Bedeckungs-Label für Fließtext aufbereitet statt
Rohdaten-Format ("Maximum X - CODE - ZHR ca. Y", "- Größte
Bedeckung") direkt auszugeben.
- Aufhänger-Satz: Priorität um Mondbedeckungen erweitert, Planeten-
parade entfernt; nur im Export fett hervorgehoben.
- Viertes Sky-Intro-Textset (V4) ergänzt, Rotation von year%3 auf
year%4 umgestellt.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
apparent.radec(epoch=timescale.J2000) lieferte faelschlich das wahre
Aequinoktium/Aequator von J2000.0 statt ICRF-Koordinaten und rechnete
damit die Nutation von J2000.0 (~14,5") in die Merkur/Planeten-Ausgabe
ein, obwohl die CSV-Spalten "RA (J2000)"/"Dek (J2000)" ICRF-Koordinaten
meinen sollen. radec() ohne epoch-Argument liefert das korrekte
Bezugssystem.
Regressionstest ergaenzt, der bei erneutem epoch=-Argument fehlschlaegt.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Ein neuer Button rendert die Zeitleiste der aktuell aktiven Ansicht
(Weltraum oder Standort) Bild für Bild bei 24 fps und lädt sie als ZIP
herunter. Jedes Frame wird einzeln an einen neuen PHP-Endpunkt
hochgeladen und in einem Temp-Verzeichnis abgelegt statt im Browser
gesammelt zu werden - das hält den Speicherbedarf sowohl client- als
auch serverseitig unabhängig von der Frame-Anzahl vorhersagbar
(wichtig bei mehreren tausend Frames). Das serverseitige Zippen kommt
ohne ZipArchive-Modul aus und liefert die Datei in festen Blöcken statt
sie komplett im Speicher zu puffern. Zusätzlich lässt sich der
exportierte Zeitbereich per Von/Bis-Uhrzeit einschränken, statt immer
die komplette Finsternis zu exportieren.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Zusätzlich zur 3D-Weltraum-Ansicht zeigt ein neuer Umschalter jetzt die
Finsternis als Sonnenscheibe mit Mond davor, wie sie am gespeicherten
Favoritenstandort tatsächlich am Himmel erscheint. Dazu werden Sonne
und Mond topozentrisch (inkl. lunarer Parallaxe) berechnet und die
Ausrichtung per parallaktischem Winkel auf Zenit-oben gedreht, statt
nur Norden-oben wie in Sternkarten.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Dropdown-Bereich auf 1950-2100 erweitert, Standardauswahl war bisher
fix auf 1999-2000 statt am aktuellen Jahr orientiert.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Der Infokasten oben rechts blockierte auf kleinen Bildschirmen zu viel
von der 3D-Ansicht; ein Toggle-Button erlaubt jetzt das Einklappen.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Zeigt die Bewegung des gemeinsamen Schwerpunkts von Sonne und Planeten
von 2006 bis 2050 als animierte Canvas-Darstellung. Vergangener Pfad
in Cyan, Prognose gestrichelt in Gold. Planetenbeiträge aller 8 Planeten
(gewichtet nach Masse × Abstand) als Balkendiagramm.
Berechnung via astronomy-engine (Python), neuer API-Action `barycenter`.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>