Improve overlay readability and swap lyrics/album layout
Now-playing ticker gets a dark blurred pill, lyrics get a fading dark veil plus dark text shadows so both stay readable over the Milky Way. Lyrics move back to the left, album art to the right. PLANET_SPECS no longer hard-crashes the whole script if Astronomy Engine fails to load, and CLAUDE.md catches up with the planetarium features. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_015HtPHsTnDcLVSCiF5FGHZj
This commit is contained in:
parent
f3019d044f
commit
f5e1949c91
2 changed files with 37 additions and 11 deletions
15
CLAUDE.md
15
CLAUDE.md
|
|
@ -34,8 +34,14 @@ plugin/
|
|||
main.qml # Plasma WallpaperItem — hosts everything
|
||||
dancer.html # Self-contained animation (HTML + CSS + JS)
|
||||
starcatalog.js # Generated star data (Yale BSC) — see tools/build_catalog.py
|
||||
constellations.js # Generated zodiac lines/anchors — see tools/build_constellations.py
|
||||
constellation-art/ # 12 zodiac PNGs (black background → alpha at load)
|
||||
milkyway.jpg # Gaia all-sky photo, plate carrée — see tools/build_skymap.py
|
||||
astronomy.browser.min.js # Astronomy Engine (MIT) — Moon/planet ephemerides
|
||||
tools/
|
||||
build_catalog.py # Regenerates starcatalog.js from the Yale Bright Star Catalog
|
||||
build_constellations.py # Regenerates constellations.js (Stellarium Modern + d3-celestial)
|
||||
build_skymap.py # Reprojects ESA Gaia all-sky map (Hammer → plate carrée)
|
||||
```
|
||||
|
||||
### main.qml — the Plasma host
|
||||
|
|
@ -50,13 +56,18 @@ Pure HTML/CSS/JS, no external dependencies. All visuals are self-contained:
|
|||
|
||||
| Layer | Technique |
|
||||
|---|---|
|
||||
| Realistic sky (stars + Milky Way) | `<canvas>`; real-time alt-az projection of `starcatalog.js` (2,887 Yale BSC stars) + seeded procedural Milky Way for the configured lat/long (default Toledo-PR). Static layer pre-rendered offscreen, bright stars twinkle per frame; reprojects every 30 s. Debug: `window.__skyTimeOffset` (ms) fast-forwards the sky |
|
||||
| Realistic sky (stars) | `<canvas>`; real-time alt-az projection of `starcatalog.js` (8,404 Yale BSC stars, V ≤ 6.5) for the configured lat/long (default Toledo-PR). Static layer pre-rendered offscreen with triple-buffer + 1.4 s crossfade between reprojections (every 30 s; 4 s during timelapse/camera rotation); bright stars twinkle per frame. Debug: `window.__skyTimeOffset` (ms) fast-forwards the sky |
|
||||
| Milky Way | Per-pixel sampling of `milkyway.jpg` (Gaia photo, full res): `buildMwGrid` caches viewport unit vectors + extinction/glare, `renderMilkyWay` applies only the sidereal rotation (camera azimuth folded into the equatorial→galactic matrix) and stylized "development" (deep blacks, saturation, cool shadows). Decoded texture stays resident (~75 MB) |
|
||||
| Moon & planets | Astronomy Engine topocentric ephemerides: Moon with real phase texture + bright-limb angle, 7 planets with magnitude-scaled dots (labels only in constellation mode) |
|
||||
| Zodiac constellations | Stellarium Modern lines + anchored PNG art (similarity transform, no shear); toggled via `/tmp` file or `C` key |
|
||||
| Nebula blobs, grid floor, horizon | CSS animations |
|
||||
| DANCEBOT-9000 robot | Pure CSS (divs + `@keyframes`) |
|
||||
| Chest EQ bars & VU meter | JS-driven `requestAnimationFrame` |
|
||||
| Music ticker | DOM text set by `updateMusic(artist, title)` (called from QML) |
|
||||
| Music ticker / album art / karaoke lyrics | DOM text set by `updateMusic(artist, title)` (called from QML); lyrics left, album art right, ticker centered — all with dark veils/shadows for contrast over the Milky Way |
|
||||
| Dance style cycling | `data-dance` attribute on `<body>`, toggled by JS every 8 s |
|
||||
|
||||
**Runtime controls** (state files in `/tmp/skeledance-*`, polled every 800 ms by dancer.html; each has a root-level helper script): `toggle-balada.sh`, `toggle-chuva.sh` (mutually exclusive modes), `toggle-constellations.sh`, `preview-constellation.sh <Vir|off>`, `set-camera-position.sh <norte|leste|sul|oeste|graus>`, `toggle-camera-rotation.sh` (360° pan in 5 min), `toggle-sky-timelapse.sh` (360× time). `test-modes.sh` reloads the plugin and cycles modes.
|
||||
|
||||
**Tempo anchor**: everything is keyed to 120 BPM (`BEAT_MS = 500 ms`). CSS animation durations for the robot parts use multiples/fractions of 0.5 s, 1 s, or 2 s.
|
||||
|
||||
**Dance styles** (cycle order): `bounce → wave → shuffle → moonwalk → spin`. CSS selectors like `[data-dance="spin"] .robot { ... }` override the default animations via `!important`.
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue