The globe under the Sun of now or of a post, with borders and country names
Build / Build (push) Successful in 46s
Deploy / decepub.thepra.dev (push) Successful in 1m52s

The Sun lights the globe where it really is (wwwroot/js/sun.js, the Astronomical Almanac's low-precision solar
coordinates): the day map shaded by the Sun's height and the Earth–Sun distance, warm city lights on the night side,
and a twilight blend about 13° wide between them. It shows now, refreshed every 30 s, or the moment of the hovered,
focused or pinned post: a click on a card pins it, and the subsolar point travels there the shorter way round. The
panel's top corner shows that moment, the phase of the day and solar time at the post's place, and the season in its
hemisphere (or in both, for a post without a place). Its tooltip shows the subsolar point, declination, axial tilt,
distance, irradiance, day length and the next equinox or solstice.

Land borders are thin paths. Country names are in the reader's language and appear as the camera comes closer:
largest countries first, away from the globe's edge, never overlapping. They come from world-atlas 2.0.2 (Natural
Earth 1:50m), prepared by tools/globe/prepare-countries.py, and are vendored with their hashes in SOURCES.md.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01LsXgEaXee4GCU1hwYgPJXw
This commit is contained in:
thepraandClaude Opus 5.5 committed 2026-10-04 20:23:42 +02:00
1 parent 69d0a641fe
commit 0f68e74e38
13 files changed
+1066 -50

No files matched your search

+121 -1
View File
@@ -1,4 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<?xml version="1.0" encoding="utf-8"?>
<root>
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
@@ -686,4 +686,124 @@
<data name="idle: nothing moves, nothing is drawn" xml:space="preserve">
<value>idle: nothing moves, nothing is drawn</value>
</data>
<data name="Sun" xml:space="preserve">
<value>Sun</value>
</data>
<data name="Now" xml:space="preserve">
<value>Now</value>
</data>
<data name="When it was written" xml:space="preserve">
<value>When it was written</value>
</data>
<data name="solar time {0}" xml:space="preserve">
<value>solar time {0}</value>
</data>
<data name="northern hemisphere" xml:space="preserve">
<value>northern hemisphere</value>
</data>
<data name="southern hemisphere" xml:space="preserve">
<value>southern hemisphere</value>
</data>
<data name="{0} in the north, {1} in the south" xml:space="preserve">
<value>{0} in the north, {1} in the south</value>
</data>
<data name="countries" xml:space="preserve">
<value>countries</value>
</data>
<data name="named at this zoom" xml:space="preserve">
<value>named at this zoom</value>
</data>
<data name="borders" xml:space="preserve">
<value>borders</value>
</data>
<data name="lines" xml:space="preserve">
<value>lines</value>
</data>
<data name="moment" xml:space="preserve">
<value>moment</value>
</data>
<data name="subsolar point" xml:space="preserve">
<value>subsolar point</value>
</data>
<data name="declination" xml:space="preserve">
<value>declination</value>
</data>
<data name="axial tilt" xml:space="preserve">
<value>axial tilt</value>
</data>
<data name="ecliptic longitude" xml:space="preserve">
<value>ecliptic longitude</value>
</data>
<data name="Earth–Sun distance" xml:space="preserve">
<value>Earth–Sun distance</value>
</data>
<data name="irradiance" xml:space="preserve">
<value>irradiance</value>
</data>
<data name="elevation" xml:space="preserve">
<value>elevation</value>
</data>
<data name="day length" xml:space="preserve">
<value>day length</value>
</data>
<data name="seasons" xml:space="preserve">
<value>seasons</value>
</data>
<data name="next" xml:space="preserve">
<value>next</value>
</data>
<data name="{0} in {1} days" xml:space="preserve">
<value>{0} in {1} days</value>
</data>
<data name="daylight" xml:space="preserve">
<value>daylight</value>
</data>
<data name="night" xml:space="preserve">
<value>night</value>
</data>
<data name="{0}, {1}" xml:space="preserve">
<value>{0}, {1}</value>
</data>
<data name="golden hour" xml:space="preserve">
<value>golden hour</value>
</data>
<data name="civil twilight" xml:space="preserve">
<value>civil twilight</value>
</data>
<data name="nautical twilight" xml:space="preserve">
<value>nautical twilight</value>
</data>
<data name="astronomical twilight" xml:space="preserve">
<value>astronomical twilight</value>
</data>
<data name="morning" xml:space="preserve">
<value>morning</value>
</data>
<data name="evening" xml:space="preserve">
<value>evening</value>
</data>
<data name="spring" xml:space="preserve">
<value>spring</value>
</data>
<data name="summer" xml:space="preserve">
<value>summer</value>
</data>
<data name="autumn" xml:space="preserve">
<value>autumn</value>
</data>
<data name="winter" xml:space="preserve">
<value>winter</value>
</data>
<data name="March equinox" xml:space="preserve">
<value>March equinox</value>
</data>
<data name="June solstice" xml:space="preserve">
<value>June solstice</value>
</data>
<data name="September equinox" xml:space="preserve">
<value>September equinox</value>
</data>
<data name="December solstice" xml:space="preserve">
<value>December solstice</value>
</data>
</root>