config+docs: sun/moon/camera/day blocks, moon map attribution and cache manifest

This commit is contained in:
Richard Zink committed 2026-10-11 22:46:35 +02:00
1 parent 21f75e64ce
commit e005789ba8
2 files changed
+80 -14

No files matched your search

+18 -4
View File
@@ -14,7 +14,9 @@ dropped into an iframe or kiosk browser and left running.
ground: direct beam through a Kasten-Young air mass with Rayleigh, ozone and
aerosol extinction, diffuse skylight, moonlight, a starlight floor and aerial
perspective. Sun and moon come from the real positions (SunCalc) for
`CONFIG.location`, or from an accelerated 24 h simulation (`CONFIG.day`).
`CONFIG.location`; `CONFIG.day` can move the clock those positions are
evaluated at (start at a chosen date/time, optionally accelerated) without
replacing the astronomy.
- **Theme-tinted lighting**: each theme may pull the physical colours toward
its own palette and set its own day/night exposure, without replacing the
physics (`window.THEMES[...].lighting`).
@@ -126,7 +128,10 @@ Groups:
| `lights` | twilight switching window of every artificial light (`offDeg`, `onDeg`, `softDeg`) |
| `atmosphere` | turbidity, moon/star gains, night floor, albedo/sky/air gains, haze residual, cloud albedo and cloud haze, cloud shadows, terrain shadows |
| `stars` | star colour `tint` and `brightness` |
| `day` | `simulation`, `cycleSeconds`, `fixedTime` |
| `sun` | `angularRadius` (disc size only, 12x physical by default) |
| `moon` | disc size (`angularRadius`, 12x physical by default), `texture`, `lightGain`, `earthshine`, `limbDarkening`, `brightness`, `halo`, `flipU`/`flipV` |
| `camera` | `aim` (`'off'` or `'moon'`), `aimEase`, `aimBob` |
| `day` | `startAt` (`'YYYY-MM-DDTHH:MM'` or null), `speed` (virtual s per real s) |
### World scale
@@ -169,13 +174,19 @@ All off by default, all documented in `config.js`:
ground texture (orientation check).
- `terrain: { wireframe: true }` - draw the mesh edges.
- `ground: { style: 'streets' }` - labelled street map instead of satellite.
- `day: { simulation: true }` / `weatherSim: true` - deterministic day cycle and
weather cycle for comparing looks.
- `day: { startAt: '2026-10-29T20:56', speed: 1440 }` - start the scene at a
chosen moment and run the clock accelerated (1440 = one day per minute);
`speed: 1` runs it at real time from that moment, `startAt: null` is strictly
real time. Sun, moon, phase, clock hands and weather all follow that clock.
- `weatherSim: true` - deterministic weather cycle for comparing looks.
## URL hash parameters
`http://host:58881/#flight=N&fetch=S`
- `at=2026-10-29T20:56` - start the clock at this local date/time (overrides
`CONFIG.day.startAt`).
- `speed=1440` - virtual seconds per real second (overrides `CONFIG.day.speed`).
- `flight=N|NE|E|SE|S|SW|W|NW` - heading of the straight flight corridor (used
when `CONFIG.orbit` is disabled)
- `fetch=N|NE|E|SE|S|SW|W|NW` - direction the tile mosaic is prefetched ahead of
@@ -248,6 +259,7 @@ window.TRANSLATIONS['Sunrise']['xx'] = 'MyTranslation';
├── vendor/
│ ├── clouds3d.js WebGL scene renderer (sky, clouds, terrain, lights)
│ ├── suncalc.js sun/moon positions - ISC (SunCalc by mourner)
│ ├── moon.jpg lunar surface map for the moon disc - CC BY 4.0
│ ├── plane3d.js low-poly aircraft model - CC0
│ ├── stars.json Yale Bright Star Catalogue subset
│ └── LICENSE per-library license attributions
@@ -274,5 +286,7 @@ window.TRANSLATIONS['Sunrise']['xx'] = 'MyTranslation';
- **Copernicus DEM** (terrain, via Mapzen/TILEZEN terrarium tiles): open data -
<https://registry.opendata.aws/terrain-tiles/>
- **Yale Bright Star Catalogue** (star positions, via `vendor/stars.json`)
- **Solar System Scope** (lunar surface map, via `vendor/moon.jpg`): CC BY 4.0 -
<https://www.solarsystemscope.com/textures/>
- **OpenStreetMap Nominatim** (reverse geocoding): ODbL -
<https://nominatim.org/release/>