From 5ff67cd1b46191e804101313ef1404a942a48ac7 Mon Sep 17 00:00:00 2001 From: Richard Zink Date: Wed, 7 Oct 2026 19:54:43 +0200 Subject: [PATCH] High-contrast weather themes: dark sky, light clouds MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Reworked all four weather palettes so the cloud body is much lighter than the sky — the way real clouds look against blue. Added boneLight and chalkLight to the getColors keys/map. Also reduced applyWeatherTheme mix from 0.6 to 0.4 so the day/night sun-position palette stays visible underneath the weather tint instead of being washed out by it. Weather: sky cloud light bg sunny: blueLt chalk chalkLt blue (was: blueLt stone) cloudy: blue boneLt chalk steel (was: blue mid) stormy: steel stone bone panel (was: steel panel) night: void icon chalk void (was: void raised) --- background.html | 40 ++++++++++++++++++++++++++-------------- 1 file changed, 26 insertions(+), 14 deletions(-) diff --git a/background.html b/background.html index 34783c5..49ac6af 100644 --- a/background.html +++ b/background.html @@ -590,7 +590,8 @@ if (useVanta && typeof VANTA !== 'undefined') { 'void', 'panel', 'raised', 'border', 'mid', 'ash', 'icon', 'stone', 'bone', 'chalk', 'ember', 'gold', 'blood', 'rust', 'rot', 'moss', - 'steel', 'steelLight', 'blue', 'blueLight', 'violet' + 'steel', 'steelLight', 'blue', 'blueLight', + 'boneLight', 'chalkLight', 'violet' ]; var map = { void: 'black', @@ -609,6 +610,8 @@ if (useVanta && typeof VANTA !== 'undefined') { steelLight: 'blue', blue: 'blue', blueLight: 'blue-light', + boneLight: 'bone-light', + chalkLight: 'chalk-light', violet: 'purple' }; var result = {}; @@ -631,7 +634,8 @@ if (useVanta && typeof VANTA !== 'undefined') { 'void', 'panel', 'raised', 'border', 'mid', 'ash', 'icon', 'stone', 'bone', 'chalk', 'ember', 'gold', 'blood', 'rust', 'rot', 'moss', - 'steel', 'steelLight', 'blue', 'blueLight', 'violet' + 'steel', 'steelLight', 'blue', 'blueLight', + 'boneLight', 'chalkLight', 'violet' ]; var map = { void: 'black', @@ -650,6 +654,8 @@ if (useVanta && typeof VANTA !== 'undefined') { steelLight: 'blue', blue: 'blue', blueLight: 'blue-light', + boneLight: 'bone-light', + chalkLight: 'chalk-light', violet: 'purple' }; var result = {}; @@ -1378,30 +1384,34 @@ if (moonTimes.set) { window.weatherThemes = { sunny: { + // Bright blue sky, near-white clouds — high contrast skyColor: hexToInt(ASH.blueLight), - cloudColor: hexToInt(ASH.stone), - lightColor: hexToInt(ASH.chalk), - backgroundColor: hexToInt(ASH.bone), + cloudColor: hexToInt(ASH.chalk), + lightColor: hexToInt(ASH.chalkLight), + backgroundColor: hexToInt(ASH.blue), speed: 1.0 }, cloudy: { + // Mid-grey sky, light clouds — moody but visible skyColor: hexToInt(ASH.blue), - cloudColor: hexToInt(ASH.mid), - lightColor: hexToInt(ASH.bone), - backgroundColor: hexToInt(ASH.border), + cloudColor: hexToInt(ASH.boneLight), + lightColor: hexToInt(ASH.chalk), + backgroundColor: hexToInt(ASH.steel), speed: 1.2 }, stormy: { + // Dark sky, medium clouds — heavy overcast skyColor: hexToInt(ASH.steel), - cloudColor: hexToInt(ASH.panel), - lightColor: hexToInt(ASH.stone), - backgroundColor: hexToInt(ASH.void), + cloudColor: hexToInt(ASH.stone), + lightColor: hexToInt(ASH.bone), + backgroundColor: hexToInt(ASH.panel), speed: 2.5 }, night: { + // Very dark sky, moon-lit clouds skyColor: hexToInt(ASH.void), - cloudColor: hexToInt(ASH.raised), - lightColor: hexToInt(ASH.icon), + cloudColor: hexToInt(ASH.icon), + lightColor: hexToInt(ASH.chalk), backgroundColor: hexToInt(ASH.void), speed: 0.4 } @@ -1535,7 +1545,9 @@ window.weatherThemes = { // making it look bright. var _sunPos = SunCalc.getPosition(new Date(), PASSAU_LAT, PASSAU_LON); var nightFactor = Math.max(0, Math.min(1, -_sunPos.altitude / 0.4)); - var mix = 0.6 * (1 - nightFactor * 0.7); + // Daytime: 40% weather mix (was 60%) — keeps day/night + // palette visible underneath, weather only adds tint. + var mix = 0.4 * (1 - nightFactor * 0.7); return { sky: mixColor(c.sky, themeColors.skyColor, mix),