From 5a95b875c2b2a8d3e74b365deb1c35182ea13121 Mon Sep 17 00:00:00 2001 From: fraxle Date: Thu, 11 Jun 2026 23:31:24 +0100 Subject: [PATCH] Small tweaks --- assets/Moon.png | Bin 0 -> 26112 bytes assets/New Text Document.txt | 0 assets/index-CD_5RYSA.css | 1 + assets/js/events/weather-checks.js | 38 +++++++++++++++--- data/tracking.json | 17 +++++++- scope-cell.html | 38 ------------------ scope-lab.html | 61 ----------------------------- 7 files changed, 49 insertions(+), 106 deletions(-) create mode 100644 assets/Moon.png create mode 100644 assets/New Text Document.txt create mode 100644 assets/index-CD_5RYSA.css delete mode 100644 scope-cell.html delete mode 100644 scope-lab.html diff --git a/assets/Moon.png b/assets/Moon.png new file mode 100644 index 0000000000000000000000000000000000000000..87d4daf52945e9ac9e86bea6d8d7c8d02edd2830 GIT binary patch literal 26112 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 V-k+7PV@Ci0002ovPDHLkV1iJkQ~>}0 literal 0 HcmV?d00001 diff --git a/assets/New Text Document.txt b/assets/New Text Document.txt new file mode 100644 index 0000000..e69de29 diff --git a/assets/index-CD_5RYSA.css b/assets/index-CD_5RYSA.css new file mode 100644 index 0000000..430e9da --- /dev/null +++ b/assets/index-CD_5RYSA.css @@ -0,0 +1 @@ +@import"https://fonts.bunny.net/css2?family=Fraunces:opsz,wght@9..144,300;9..144,500;9..144,700;9..144,900&family=JetBrains+Mono:wght@400;600&family=Manrope:wght@400;500;600;700&display=swap";*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}body{background:#f5edd6}.utci-topnav{position:absolute;top:0;left:0;right:0;z-index:10;display:flex;align-items:center;justify-content:flex-end;padding:18px 32px;gap:28px}.utci-topnav a{font-family:JetBrains Mono,monospace;font-size:16px;letter-spacing:.1em;text-transform:uppercase;color:#b09870;text-decoration:none;border-bottom:1px solid transparent;padding-bottom:2px;transition:color .2s,border-color .2s}.utci-topnav a:hover{color:#c8922a;border-bottom-color:#c8922a80}.utci-app{font-family:Manrope,sans-serif;color:#1e1208;background:#f5edd6;min-height:100vh;padding:52px 28px 32px;position:relative;overflow-x:hidden}.lens-bloom-a{position:fixed;top:-200px;left:-200px;width:700px;height:700px;border-radius:50%;background:radial-gradient(ellipse,rgba(255,210,60,.18) 0%,transparent 65%);pointer-events:none;z-index:0}.lens-bloom-b{position:fixed;top:-80px;right:-140px;width:520px;height:420px;background:radial-gradient(ellipse,rgba(200,146,42,.13) 0%,transparent 68%);pointer-events:none;z-index:0}.utci-shell{position:relative;z-index:1;max-width:1400px;margin:0 auto}.utci-header{display:grid;grid-template-columns:1fr auto 1fr;gap:32px;align-items:center;padding-bottom:32px;border-bottom:2px solid #c9b08a;margin-bottom:32px}.header-right{display:flex;flex-direction:column;align-items:flex-end;justify-content:center}.utci-title{font-family:Fraunces,serif;font-weight:900;font-variation-settings:"opsz" 144;font-size:clamp(48px,6vw,80px);line-height:.9;letter-spacing:-.03em;color:#1e1208}.utci-title .title-sun{color:#c8922a;font-weight:900;font-style:normal}.utci-title .title-scope{font-style:italic;font-weight:900;color:#1e1208}.utci-title .title-beta{font-size:.38em;text-transform:none;font-weight:400;letter-spacing:.05em;vertical-align:super;color:#b09870}.utci-tagline{font-family:Fraunces,serif;font-style:italic;font-size:17px;color:#7a5c2a;margin-top:14px}.utci-subtitle{font-family:JetBrains Mono,monospace;font-size:11px;text-transform:uppercase;letter-spacing:.18em;margin-top:10px;color:#b09870}.utci-subtitle-link{color:#c8922a;text-decoration:none;border-bottom:1px solid rgba(200,146,42,.4);transition:border-color .2s,color .2s}.utci-subtitle-link:hover{color:#a06e18;border-bottom-color:#a06e18}.utci-current-loc{font-family:Fraunces,serif;font-style:italic;font-size:18px;margin-top:12px;color:#1e1208}.utci-loc-coords{font-family:JetBrains Mono,monospace;font-style:normal;font-size:11px;color:#b09870;margin-left:10px;letter-spacing:.08em}.scope-ring{width:220px;height:220px;display:block}.utci-search-wrap{position:relative;width:300px}.utci-search-label{font-family:JetBrains Mono,monospace;font-size:10px;text-transform:uppercase;letter-spacing:.18em;color:#b09870;display:block;margin-bottom:7px}.utci-search{width:100%;padding:12px 16px;border:1.5px solid #c9b08a;background:#fffcf2;font-family:Manrope,sans-serif;font-size:14px;color:#1e1208;outline:none;transition:border-color .2s,box-shadow .2s}.utci-search::placeholder{color:#c0a880}.utci-search:focus{border-color:#c8922a;box-shadow:0 0 0 3px #c8922a24}.utci-results{position:absolute;top:100%;left:0;right:0;background:#fffcf2;border:1.5px solid #c9b08a;border-top:none;max-height:260px;overflow-y:auto;z-index:50;box-shadow:0 8px 24px #6446141f}.utci-result{padding:11px 16px;cursor:pointer;border-bottom:1px solid #ede4cc;font-size:14px;transition:background .12s;border-left:3px solid transparent}.utci-result:hover{background:#fef3dc;border-left-color:#c8922a}.utci-result-meta{font-size:11px;color:#b09870;font-family:JetBrains Mono,monospace;margin-top:3px;letter-spacing:.06em}.utci-searching{margin-top:7px;font-size:10px;color:#b09870;font-family:JetBrains Mono,monospace;letter-spacing:.14em;text-transform:uppercase}.utci-day-tabs{display:flex;margin-bottom:18px;border-bottom:2px solid #d4c0a0}.utci-day-tab{padding:12px 24px;cursor:pointer;font-family:JetBrains Mono,monospace;font-size:10px;text-transform:uppercase;letter-spacing:.14em;background:transparent;border:none;color:#b09870;border-bottom:2px solid transparent;margin-bottom:-2px;transition:color .2s,border-color .2s}.utci-day-tab:hover{color:#6b4f2a}.utci-day-tab.active{color:#c8922a;border-bottom-color:#c8922a}.utci-day-date{font-family:Fraunces,serif;font-style:italic;font-size:13px;text-transform:none;letter-spacing:0;display:block;margin-top:3px;color:inherit}.utci-table-wrap{overflow-x:auto;border:1.5px solid #c9b08a;background:#fffcf2}.col-toggles{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin-bottom:10px;padding:10px 14px;background:#fdf8ee;border:1.5px solid #d4c0a0}.col-toggles-label{font-family:JetBrains Mono,monospace;font-size:9px;text-transform:uppercase;letter-spacing:.18em;color:#b09870;margin-right:4px;white-space:nowrap}.col-toggle{padding:4px 11px;cursor:pointer;border:1.5px solid #c9b08a;background:#f5edd6;color:#9a7d5a;font-family:JetBrains Mono,monospace;font-size:9px;text-transform:uppercase;letter-spacing:.1em;transition:all .15s;-webkit-user-select:none;user-select:none}.col-toggle:hover{border-color:#c8922a;color:#6b4f2a;background:#fef3dc}.col-toggle.on{background:#c8922a;border-color:#c8922a;color:#fff}.utci-table{width:100%;border-collapse:collapse;font-size:14px}.utci-table th{background:#f0e4c4;color:#6b4f2a;font-family:JetBrains Mono,monospace;font-size:10px;text-transform:uppercase;letter-spacing:.14em;font-weight:600;padding:14px 12px;text-align:right;white-space:nowrap;position:sticky;top:0;border-bottom:2px solid #c9b08a}.utci-table th:first-child,.utci-table td:first-child{text-align:left}.utci-table th .col-unit{display:block;color:#c8922a;font-size:9px;margin-top:2px}.utci-table tbody tr{border-bottom:1px solid #ede4cc;transition:background .1s}.utci-table tbody tr:hover{background:#fef8ea}.utci-table tbody tr.is-night td{color:#c0a880}.utci-table td{padding:10px 12px;text-align:right;font-family:JetBrains Mono,monospace;font-variant-numeric:tabular-nums;white-space:nowrap;color:#4a3420}.utci-table tbody tr.is-now{background:#fff8e4!important;box-shadow:inset 3px 0 #c8922a}.utci-table tbody tr.is-now td{color:#1e1208}.now-pip{display:inline-block;width:6px;height:6px;border-radius:50%;background:#c8922a;margin-right:7px;vertical-align:middle;box-shadow:0 0 8px #c8922a73}.utci-time{font-family:Fraunces,serif!important;font-weight:500;font-size:16px;color:#1e1208!important}.utci-cell{display:inline-block;padding:4px 12px;border-radius:3px;font-weight:600;min-width:60px;text-align:center;font-size:14px}.utci-band-label{font-family:JetBrains Mono,monospace;font-size:10px;text-transform:uppercase;letter-spacing:.08em}.utci-status{padding:14px 18px;background:#f0e4c4;color:#7a5c2a;font-family:JetBrains Mono,monospace;font-size:11px;text-align:center;letter-spacing:.12em;text-transform:uppercase;border:1.5px solid #c9b08a;margin-bottom:18px}.utci-legend{margin-top:22px;padding:18px 20px;background:#fdf8ee;border:1.5px solid #c9b08a}.utci-legend-label{font-family:JetBrains Mono,monospace;font-size:10px;text-transform:uppercase;letter-spacing:.18em;color:#b09870;margin-bottom:12px;display:block;font-weight:600}.utci-legend-row{display:flex;flex-wrap:wrap;gap:4px}.utci-legend-item{padding:6px 12px;font-family:JetBrains Mono,monospace;font-size:10px;text-transform:uppercase;letter-spacing:.06em;flex:1;min-width:110px;text-align:center;opacity:.9}.utci-about{margin-top:28px;padding:24px 28px;background:#fdf8ee;border:1.5px solid #c9b08a}.utci-about-heading{font-family:Fraunces,serif;font-size:18px;font-weight:700;color:#1e1208;margin-bottom:14px;letter-spacing:-.01em}.utci-about-text{font-family:Manrope,sans-serif;font-size:14px;line-height:1.75;color:#4a3420;margin-bottom:12px;max-width:860px}.utci-about-text:last-child{margin-bottom:0}.utci-about-text strong{color:#1e1208;font-weight:600}.utci-about-text em{font-style:italic;color:#6b4f2a}.utci-footer{margin-top:36px;padding-top:20px;border-top:1px solid #d4c0a0;font-family:JetBrains Mono,monospace;font-size:10px;text-transform:uppercase;letter-spacing:.12em;color:#c0a880;line-height:2.2}.utci-footer em{font-family:Fraunces,serif;font-style:italic;text-transform:none;letter-spacing:0;font-size:14px;color:#7a5c2a}@media (max-width: 800px){.utci-header{grid-template-columns:1fr;text-align:center}.header-right{align-items:center}.utci-search-wrap{width:100%}.scope-ring{width:180px;height:180px;margin:0 auto}} diff --git a/assets/js/events/weather-checks.js b/assets/js/events/weather-checks.js index a44ce16..46993c3 100644 --- a/assets/js/events/weather-checks.js +++ b/assets/js/events/weather-checks.js @@ -12,20 +12,48 @@ // ------------------------------------------------------------------------ export function checkStargazing(rows) { - // Great stargazing: mostly clear night hours with low cloud + // Great stargazing: mostly clear night hours with low cloud. + // Split night into contiguous runs (pre-dawn vs post-dusk) and evaluate + // each independently so a cloudy evening doesn't suppress a clear morning + // (or vice versa), and so the icon is pinned to only the clear hours. const nightRows = rows.filter(r => r.elev < -5); if (nightRows.length < 3) return null; - const avgCloud = nightRows.reduce((s, r) => s + r.cc, 0) / nightRows.length; - if (avgCloud > 30) return null; + + // Build contiguous runs — a gap > 2 h means we've crossed daytime. + const runs = []; + let cur = [nightRows[0]]; + for (let i = 1; i < nightRows.length; i++) { + const dtDiff = (new Date(nightRows[i].iso) - new Date(nightRows[i - 1].iso)) / 3600000; + if (dtDiff <= 2) { cur.push(nightRows[i]); } + else { runs.push(cur); cur = [nightRows[i]]; } + } + runs.push(cur); + + // Evaluate each run; among those passing ≤30% avg cloud prefer the evening + // run (actionable for tonight) then fall back to whichever is clearest. + let bestRun = null, bestAvg = Infinity; + for (const run of runs) { + if (run.length < 2) continue; + const avg = run.reduce((s, r) => s + r.cc, 0) / run.length; + if (avg > 30) continue; + const isEvening = parseInt(run[0].iso.slice(11, 13), 10) >= 12; + if (!bestRun || (isEvening && parseInt(bestRun[0].iso.slice(11, 13), 10) < 12) || avg < bestAvg) { + bestRun = run; bestAvg = avg; + } + } + if (!bestRun) return null; + + const isPreDawn = parseInt(bestRun[0].iso.slice(11, 13), 10) < 12; return { id: 'stargazing', emoji: '⭐', - title: 'Great Stargazing Tonight', - message: `Clear skies expected overnight at ${nightRows.length} hours with average ${Math.round(avgCloud)}% cloud — ideal conditions for stargazing.`, + title: isPreDawn ? 'Great Stargazing Overnight' : 'Great Stargazing Tonight', + message: `Clear skies expected for ${bestRun.length} hours overnight with average ${Math.round(bestAvg)}% cloud — ideal conditions for stargazing.`, color: '#080e1a', textColor: '#c8dcff', type: 'weather', nightOnly: true, + isoRange: [bestRun[0].iso, bestRun[bestRun.length - 1].iso], }; } diff --git a/data/tracking.json b/data/tracking.json index e94595e..c043dfb 100644 --- a/data/tracking.json +++ b/data/tracking.json @@ -18,9 +18,22 @@ } }, "2026-06-11": { - "visits": 28, + "visits": 31, "profiles": { - "showall": 1 + "showall": 11, + "custom": 9, + "alltemps": 1, + "vehicle": 3, + "home": 4, + "basic": 5, + "farming": 1 + } + }, + "2026-06-12": { + "visits": 1, + "profiles": { + "showall": 1, + "basic": 1 } } } \ No newline at end of file diff --git a/scope-cell.html b/scope-cell.html deleted file mode 100644 index 5c2ae1c..0000000 --- a/scope-cell.html +++ /dev/null @@ -1,38 +0,0 @@ - - - - - scope cell - - - - -
- - - diff --git a/scope-lab.html b/scope-lab.html deleted file mode 100644 index baac11e..0000000 --- a/scope-lab.html +++ /dev/null @@ -1,61 +0,0 @@ - - - - - - SunScope — Ground Lab (dev) - - - -

SunScope — Ground Lab

-

dev preview · per-environment grounds across the cycle

-
- - - -