Files
PublicCloud/README.md
T
Linus OlofssonandClaude Opus 5.5 ee727204b1 Fyra glasrutor, väder-/natteffekter och nymåne-överraskning
- 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>
2026-09-24 23:35:19 +02:00

76 lines
4.3 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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