ZeusWatch v1.21.1
Bug-fix release: real moon astronomy + southern-hemisphere visualization.
Fixed
- Moon rise/set + illumination wildly off vs Jean Meeus astronomical algorithm (#16) — The previous
estimateMoonTimereturned a location-independent18:00-anchored time drifted only by lunar age. Real moonrise/moonset depend on the observer's latitude, longitude, and the moon's declination. Replaced withMoonAstronomy.kt: Meeus-style geocentric position model (Ch. 47), moonrise/moonset solved by hourly altitude-curve sampling and linear interpolation through theh0 = +0.125°horizon (parallax + semi-diameter absorbed per Meeus § 15). Returns explicitalwaysUp/alwaysDownfor polar latitudes. Illumination now uses the Meeus 48 phase-angle formula(1 + cos i) / 2with actual Sun-Earth-Moon geometry. - Moon visualization upside-down for southern-hemisphere observers (#16) — The terminator was always rendered on the right side for waxing phases (northern view). Sydney / Buenos Aires observers actually see the moon rotated 180° relative to the northern view, and the app's forced-northern rendering was the bug — not the southern view being 'upside down'. Fixed by XOR-ing the waxing/waning bias with
latitude < 0.
Install
Sideload ZeusWatch-v1.21.1.apk from the release assets. Same signing key as v1.21.0 — in-place upgrade works.