thermograph/static
Emi Griffith cd55b63e48 Compare labels: place with least-squares blocks so isolated labels stay put (#87)
The distribution-bar key de-collides labels by sweeping each one right to
clear its neighbour, which collapsed a row toward the right edge whenever an
early bucket was tiny — Cool/Comfortable slid far from their large segments
instead of sitting under them. Replace the sweep with standard 1-D label
placement: keep each label at its segment midpoint, merge only labels that
actually overlap into a block, and position each block at the least-squares
mean of its members' ideals. Isolated labels no longer move; clusters centre
on their segments instead of sliding to an edge. The run is clamped inside
the bar, and mobile keeps its plain wrapping row.
2026-07-12 21:05:01 +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 Compare basis inline; synced inline + sheet metric selector (both pages) (#82) 2026-07-12 07:45:12 +00:00
calendar.js Compare basis inline; synced inline + sheet metric selector (both pages) (#82) 2026-07-12 07:45:12 +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 basis inline; synced inline + sheet metric selector (both pages) (#82) 2026-07-12 07:45:12 +00:00
compare.js Compare labels: place with least-squares blocks so isolated labels stay put (#87) 2026-07-12 21:05:01 +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
filtersheet.js Compare basis inline; synced inline + sheet metric selector (both pages) (#82) 2026-07-12 07:45:12 +00: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 Distribution bars: split the in-bar range into Max/Min rows (#84) 2026-07-12 18:32:38 +00:00
style.css Compare labels: place with least-squares blocks so isolated labels stay put (#87) 2026-07-12 21:05:01 +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