KDE Plasma 6 wallpaper — DANCEBOT-9000 animated dancing robot
- JavaScript 43.3%
- HTML 37%
- Python 17.2%
- Shell 1.6%
- QML 0.9%
Three things asked for together, and they turn out to be one: the sky needed room. HORIZON. It was 66% of the screen, hardcoded in eight places between the CSS and the JS. It is now one number -- DAY_THEME.horizonPct -- with HORIZON_F, HORIZON_B, the floor canvas ratio and the CSS variables --day-horizon-pct / --horizon-bottom all derived from it, and it sits at 72%. Two things had to stop being screen fractions to survive the move. The dancer's foot is now a fraction of the *floor* (0.68 of --horizon-bottom): under one-point perspective the screen height below the horizon is the distance of whoever stands on it, so the ratio is what keeps him at the same place in the scene. The sun's culmination stays measured from the bottom of the screen (SUN_TOP_PCT = 78) -- that height was picked by eye and should not move when the horizon does; what changes is how far the sun climbs. MONUMENT. Markup out of <body>, everything else left standing: the CSS block, the art, the tool, and the five lines that bring it back quoted in a comment where they used to sit. monumentClear() already returned 1 with no element, so --sun-art becomes altitude alone and the tarot face now stays in the sky until dusk fades it. CLOUDS. Cut from photographs, not drawn. The procedural version came first and was not naive -- five-octave fBm with the domain warped by two independent fields, an envelope of bulbs seated on a flat condensation level, light from optical depth accumulated row by row with lateral scattering -- and it still read as a cartoon. A cumulus silhouette is the record of a history: it grew, was sheared, evaporated on one side. An isotropic field has no history, so every stretch of its edge looks like every other, and that is what reads as false. More octaves do not buy history. Same lesson as the sun's orbit circles, drawn in CSS and then re-cut from the art. So tools/build_clouds.py separates cloud from sky by the red/blue ratio -- the standard discriminator of whole-sky imagers, because Rayleigh leaves the sky blue at R/B ~ 0.5 while droplets scatter colourlessly at ~1.0, shaded bases included. Measured here the histogram is bimodal with a wide valley, and the valley is not noise to discard: it is the physically semi-transparent edge, so the alpha is a ramp across it. Cost of getting there, all recorded in the tool: a global sky median oversubtracts where the blue is darker and outlines every cloud in black (hence a local sky map), np.kron on the 1/8 permission mask staircases the whole silhouette (bilinear plus a box blur), and a component touching its neighbour cannot be cut at all -- the boundary comes from the grid and draws rectangles, which is the same straight-cut defect that sank the procedural version. Placement stays procedural, because it is not shape. One nearness value drives height, size, squash, opacity, speed and haze mix. The drift phase is divided rather than drawn: with a handful of samples chance clumped every cloud into the left half. #dayClouds gets isolation: isolate -- opacity: 1 creates no stacking context, so the per-cloud z-index escaped to the root and clouds passed in front of the sun and the card. It sits before #duskSky so the golden hour washes over them, which is free and is the loudest tell when it is missing. And the sun's aura lost its middle stops (0.60/0.38/0.20 -> 0.52/0.26/0.13). Its box is 4.9x the disc, nearly the screen width, so a 38% cream veil at 36% of it covered the central third of the sky and no cloud survived there. The first two stops are untouched. Tile memory measured after: 0/min in steady state. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01LFMiWt5zjgsFgxGowDtFgU |
||
|---|---|---|
| art | ||
| plugin | ||
| tools | ||
| .gitignore | ||
| AGENTS.md | ||
| CLAUDE.md | ||
| dev-server.sh | ||
| install.sh | ||
| preview-constellation.sh | ||
| set-camera-position.sh | ||
| set-sky-time.sh | ||
| set-sun-art.sh | ||
| test-modes.sh | ||
| toggle-balada.sh | ||
| toggle-camera-rotation.sh | ||
| toggle-chuva.sh | ||
| toggle-constellations.sh | ||
| toggle-ground.sh | ||
| toggle-skeleton.sh | ||
| toggle-sky-timelapse.sh | ||
| uninstall.sh | ||