- 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>
76 lines
4.3 KiB
Markdown
76 lines
4.3 KiB
Markdown
# 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`.
|
||
|
||
```bash
|
||
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](https://open-meteo.com/) (gratis för icke-kommersiellt bruk)
|
||
- Kp-index nu och 3-dygnsprognos: [NOAA SWPC](https://www.swpc.noaa.gov/)
|
||
- Karta: [OpenStreetMap](https://www.openstreetmap.org/copyright) via [Leaflet](https://leafletjs.com/) 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
|