From c91a278294cf45a1d56d92f44977580ba2fe5037 Mon Sep 17 00:00:00 2001 From: Richard Zink Date: Wed, 7 Oct 2026 08:13:16 +0200 Subject: [PATCH] Fix moon visibility on dark background --- index.html | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/index.html b/index.html index 20a3535..1a283d2 100644 --- a/index.html +++ b/index.html @@ -76,7 +76,6 @@
-
@@ -123,8 +122,9 @@ - + + @@ -261,6 +261,7 @@ var rpgSunCore = document.getElementById('rpg-sun-core'); var rpgMoon = document.getElementById('rpg-moon'); var rpgMoonLit = document.getElementById('rpg-moon-lit'); + var rpgMoonDark = document.getElementById('rpg-moon-dark'); var sunRiseArrow = document.getElementById('sun-rise-arrow'); var sunSetArrow = document.getElementById('sun-set-arrow'); var moonRiseArrow = document.getElementById('moon-rise-arrow'); @@ -430,7 +431,9 @@ icon.innerHTML = ''; var bg = document.createElementNS('http://www.w3.org/2000/svg', 'circle'); bg.setAttribute('cx', '12'); bg.setAttribute('cy', '12'); bg.setAttribute('r', '9'); - bg.setAttribute('fill', '#1c1b1f'); + bg.setAttribute('fill', '#b0a89a'); + bg.setAttribute('stroke', '#e6dfd1'); + bg.setAttribute('stroke-width', '0.5'); icon.appendChild(bg); if (phase < 0.5) { var lit = document.createElementNS('http://www.w3.org/2000/svg', 'path'); @@ -455,15 +458,19 @@ function renderRpgMoon(phase) { var r = 9; + // Always start with empty dark path + rpgMoonDark.setAttribute('d', ''); if (phase < 0.5) { var phaseAngle = phase * 360; var rx = r * Math.abs(Math.cos(phaseAngle * Math.PI / 180)); var sweepFlag = phase < 0.25 ? 0 : 1; + // Lit area (right side, waxing) rpgMoonLit.setAttribute('d', 'M 100 91 A 9 9 0 0 1 100 109 A ' + rx + ' 9 0 0 ' + sweepFlag + ' 100 91 Z'); } else { var phaseAngle = (1 - phase) * 360; var rx = r * Math.abs(Math.cos(phaseAngle * Math.PI / 180)); var sweepFlag = phase > 0.75 ? 0 : 1; + // Lit area (left side, waning) rpgMoonLit.setAttribute('d', 'M 100 91 A 9 9 0 0 0 100 109 A ' + rx + ' 9 0 0 ' + sweepFlag + ' 100 91 Z'); } } @@ -570,11 +577,6 @@ getMoonPhaseText(moonIllum.phase) + ' ' + Math.round(moonIllum.fraction * 100) + '%'; renderMoonPhaseIcon(moonIllum.phase); renderRpgMoon(moonIllum.phase); - - document.getElementById('debug').textContent = - 'rpg-moon exists: ' + (rpgMoon !== null) + - ' | lit: ' + (rpgMoonLit !== null) + - ' | moonPos: ' + (moonPos ? Math.round(moonPos.point.x) + ',' + Math.round(moonPos.point.y) : 'null'); } var startTime = Date.now();