- Fyra rutor (Just nu, Plats med karta/GPS/platsval, Kväll & natt, Fotoljus), centrerad text som anpassas efter skärmstorlek, staplat på mobil - Månen skärs av molnen vid växlande molnighet (molnen är lagret ovanför) - Realistiskt stjärnglitter (scintillation) och norrsken i djupled efter SMHI-referens (grön ljus underkant, S-svep, mjukt sken) - Nymåne-överraskning: egen SVG-siluett av en fotograf på månskäran - Prototyp ?lager=1: procedurella molnlager med parallax + animerade ikoner - README uppdaterad med funktioner och testparametrar Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
4.3 KiB
4.3 KiB
PublicCloud – himlen över Örebro
Källkoden till https://publiccloud.se: en helskärmshimmel som följer solen, månen och det aktuella vädret, med en klocka i mitten och fyra glasrutor runt den.
Vad sidan gör
Himlen
- Dag och natt följer klockan. Dagfilmen spelas från verklig soluppgång till solnedgång och nattfilmen från solnedgång till soluppgång, en bildruta åt gången, med mjuk övertoning mellan rutorna.
- Vädret läggs ovanpå (Open-Meteo, var 10:e minut): klart (molnen tonas bort), växlande (solen genom molnen), mulet, dimma, duggregn, regn och kraftigt regn med droppar som rinner på "glaset", åska med blixtar och snö.
- Vind (hastighet, byar, riktning): snett regn, blåsande snö och droppar, vindstråk, höstlöv (sep–nov) och byar. Vyn är vänd mot söder, så västlig vind blåser åt vänster.
Natten
- Månen med rätt fas och position. Vid växlande molnighet skärs den av molnen i filmen, eftersom molnen ligger i lagret ovanför månen.
- Stjärnor som glittrar realistiskt (scintillation, utan strålkors).
- Mulet ger ett mörkt molntäcke.
- Norrsken styrs av NOAA:s Kp-index: gröna band med ljus underkant som kommer lågt från horisonten och sveper upp över himlen.
- Nymåne-överraskning: en egen SVG-siluett av en fotograf som sitter på en månskära med kameran (
img/moon-photographer.svg). Den visas bara vid nymåne, när det är mörkt och klart.
Fyra rutor
- Just nu: väder, temperatur, vind, måne, sol och plats.
- Plats: karta med zoom (+/−), knappen "Utgå från min plats" (GPS), klick i kartan för att välja plats, och standardplatsen Örebro slott. Allt räknas om för vald plats.
- Kväll & natt: betyg för stjärnhimlen, chans till norrsken (Kp nu och prognos), meteorregn samt fullmåne och nymåne.
- Fotoljus: gyllene och blå timmen med väderprognos, månens upp- och nedgång, dimma, regnbåge och nattlysande moln.
Textstorleken anpassas automatiskt så att allt får plats. På mobil staplas rutorna.
Prototyp (?lager=1): tre procedurella molnlager som driver med vinden på olika djup (månen och solen ligger mellan lagren), samt animerade SVG-väderikoner i rutorna.
Struktur
site/
public/index.html hela sidan (HTML, CSS, JS – inga byggsteg)
public/img/moon-photographer.svg nymåne-överraskningen
public/_headers cache-regler (filmerna cachas i ett år → nytt filnamn vid ny film)
public/video/ day-v2 / night som WebM (VP9) + MP4 (H.264, reserv för äldre Safari)
worker.js Cloudflare Worker: statiska filer + HTTP Range (206) för /video/* (krävs av Safari/iOS)
wrangler.jsonc Worker-konfiguration (namn publiccloud-sky)
tools/
upscale-slowmo.sh hur filmerna togs fram: Real-ESRGAN x4plus (uppskalning) + RIFE v4.6 (slowmotion)
Driftsättning
Sajten körs som en Cloudflare Worker med statiska filer och custom domain publiccloud.se.
cd site
export CLOUDFLARE_API_TOKEN=... # konto-token med Workers-rättighet
export CLOUDFLARE_ACCOUNT_ID=...
npx wrangler deploy
Testparametrar
| Parameter | Exempel | Effekt |
|---|---|---|
t |
?t=2026-10-10T23:30%2B02:00 |
startar klockan vid en viss tid |
speed |
?speed=600 |
kör klockan snabbare |
weather |
?weather=thunder |
tvingar väder: clear, partly, overcast, fog, drizzle, rain, heavyrain, thunder, snow |
wind, winddir |
?wind=75&winddir=270 |
tvingar vind (km/h, grader) |
kp |
?kp=7 |
tvingar Kp-index (norrsken) |
nymane |
?nymane=1 |
visar nymåne-överraskningen oavsett månfas (på natten) |
lager |
?lager=1 |
molnlager + animerade ikoner (prototyp) |
instant |
?instant=1 |
inga övertoningar (för skärmdumpar) |
debug |
?debug=1 |
visar bildruta, sol, väder, vind, måne, norrsken |
Datakällor
- Väder och prognos per timme: Open-Meteo (gratis för icke-kommersiellt bruk)
- Kp-index nu och 3-dygnsprognos: NOAA SWPC
- Karta: OpenStreetMap via Leaflet 1.9.4 (cdnjs, SRI)
- Platsnamn: OpenStreetMap Nominatim
- Sol- och månberäkningar: formler från SunCalc (Vladimir Agafonkin), inbäddade i sidan
- Meteorregn: American Meteor Society / IMO:s kalendrar