thermograph/static
Emi Griffith 2662fa38e5 Compare: comfort range slicer + per-location climate distribution (#62)
* Compare: comfort range slicer + per-location climate distribution

Replace the comfort-point + band sliders with a single dual-handle range
slicer: a day hits comfort when its judged temperature lands in [lo, hi];
below lo is colder, above hi is warmer. State is the range in °F, so old
c/t links and stored prefs migrate to a range. Ranking, average miss, and
the typical-miss figure are all computed against the range.

Add a climate-distribution section below the ranked cards, independent of
the comfort filter: its own metric selector (High/Low/Feels/Humid/Wind/
Gust/Precip/Dry streak) plus a share/count toggle render one Record-Low→
Record-High distribution strip per location, mirroring the calendar.

Extract the calendar's category bucketing and distribution strip into
shared metricBuckets/distStrip so both pages share one implementation;
calendar output is unchanged.

* Carry the calendar's wet/dry scale-group logic into the shared distribution helpers

* Carry the precip strip's per-tier label hook into the shared distribution helper
2026-07-11 22:33:38 +00:00
..
app.js Extract the chart library and the chunked streaming fetch (#49) 2026-07-11 20:33:06 +00:00
cache.js Warm neighbor cells server-side (/cell?neighbors=1) (#51) 2026-07-11 20:47:31 +00:00
calendar.html Convert the frontend to ES modules; split nav.js by concern (#48) 2026-07-11 20:28:33 +00:00
calendar.js Compare: comfort range slicer + per-location climate distribution (#62) 2026-07-11 22:33:38 +00:00
chart.js Extract the chart library and the chunked streaming fetch (#49) 2026-07-11 20:33:06 +00:00
compare.html Compare: comfort range slicer + per-location climate distribution (#62) 2026-07-11 22:33:38 +00:00
compare.js Compare: comfort range slicer + per-location climate distribution (#62) 2026-07-11 22:33:38 +00:00
day.html Convert the frontend to ES modules; split nav.js by concern (#48) 2026-07-11 20:28:33 +00:00
day.js Day page: stop metric cards overflowing the viewport on phones 2026-07-11 14:13:05 -07:00
index.html Convert the frontend to ES modules; split nav.js by concern (#48) 2026-07-11 20:28:33 +00:00
legend.html Convert the frontend to ES modules; split nav.js by concern (#48) 2026-07-11 20:28:33 +00:00
logo.png Link previews: Open Graph tags + logo for shared URLs (#35) 2026-07-11 15:59:14 +00:00
logo.svg Link previews: Open Graph tags + logo for shared URLs (#35) 2026-07-11 15:59:14 +00:00
mappicker.js Convert the frontend to ES modules; split nav.js by concern (#48) 2026-07-11 20:28:33 +00:00
nav.js Convert the frontend to ES modules; split nav.js by concern (#48) 2026-07-11 20:28:33 +00:00
package.json Convert the frontend to ES modules; split nav.js by concern (#48) 2026-07-11 20:28:33 +00:00
shared.js Compare: comfort range slicer + per-location climate distribution (#62) 2026-07-11 22:33:38 +00:00
style.css Compare: comfort range slicer + per-location climate distribution (#62) 2026-07-11 22:33:38 +00:00
units.js Make the compare page unit-aware so the °F/°C toggle works there (#55) 2026-07-11 21:48:21 +00:00