From 9001b61dd3d48b7dedff40810cf258cbc3b41fee Mon Sep 17 00:00:00 2001 From: "Danilo M." Date: Sun, 18 Oct 2026 15:06:26 +0200 Subject: feat(now): the condition as a large glyph instead of words The leftover height under the rows now holds the condition glyph, large, as the card's variable band. weather.describe() and its table had no other caller and go with the text. Co-Authored-By: Claude Opus 5.5 --- docs/superpowers/specs/2026-10-18-mirage-weather-cards-design.md | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) (limited to 'docs/superpowers/specs/2026-10-18-mirage-weather-cards-design.md') diff --git a/docs/superpowers/specs/2026-10-18-mirage-weather-cards-design.md b/docs/superpowers/specs/2026-10-18-mirage-weather-cards-design.md index dc3bd16..3d8b049 100644 --- a/docs/superpowers/specs/2026-10-18-mirage-weather-cards-design.md +++ b/docs/superpowers/specs/2026-10-18-mirage-weather-cards-design.md @@ -48,7 +48,7 @@ only what DESIGN.md calls a card's variable band. | Card | Header left | Big value (top-right) | Rows | Variable band | |---|---|---|---|---| -| `now` | condition glyph | current temperature, `body` | feels like, high / low, rain chance, description in `FONT_UI` | none | +| `now` | condition glyph | current temperature, `body` | feels like, high / low, rain chance, last update | the condition glyph, large, in the leftover height | | `hourly` | glyph + "Next 24h" | next hour's temperature, `body` | none | temperature curve over 24 hours; every 3rd hour labelled with glyph and temperature; rain-chance bars under the curve in `value`, half alpha, with a minimum height so a low chance still shows | | `week` | glyph + "Week" | none (band carries the value) | one per day: day name, glyph, min, range bar, max | the range bar in each row, positioned on the week's overall min..max scale | | `details` | glyph + "Details" | none | wind (speed + compass point), humidity, UV, AQI | a small wind compass with a needle at the wind direction | @@ -126,7 +126,6 @@ Rewritten for Open-Meteo, same contract as today: pure functions on strings and numbers, nothing raises, nil on bad input. - `ICON` / `icon(code, is_day)`: WMO weather code to Nerd Font glyph. -- `describe(code)`: WMO code to a short English description. - `parse(src)`: returns `{units, current, sun, air, hours, days}` or nil when `current`, `sun` or at least one `hour` is missing. - `moon(epoch)`: returns `phase` (0..1, 0 = new) and `illumination` (0..1), @@ -166,7 +165,7 @@ board. - `test/test_weather.lua` rewritten against a fixture `test/fixtures/weather.txt` (location-free; any names use `Example City`): - - WMO code to glyph and description, day and night, unknown code fallback. + - WMO code to glyph, day and night, unknown code fallback. - `parse`: full fixture, missing `air`, missing `current` (nil), garbage input (nil), empty string (nil). - `moon`: known full and new moon dates within one day of tolerance. -- cgit v1.2.3