Skip to content

Weather animation polish: overcast sky, ground effects, matched dividers - #978

Merged
eetu merged 1 commit into
mainfrom
feat/weather-anim-polish
Jun 16, 2026
Merged

eetu merged 1 commit into
mainfrom
feat/weather-anim-polish

Conversation

@eetu

@eetu eetu commented Jun 16, 2026

Copy link
Copy Markdown
Owner

Follow-up polish on the weather ASCII animation (#977).

Changes

Overcast sky rework

  • Clouds and fog now paint a dim sky and draw lighter clouds on top, instead of grey-on-white (which read as smoke). The canvas paints the card surface itself, so only cloudy/foggy get the tint — other kinds keep the normal card.
  • Partly cloudy (symbol 2) is split into its own kind: a bluer, sunnier sky with sparser clouds so the blue peeks through, distinct from full overcast (symbol 3).

Full-bleed animation through the footer

  • Box gains an optional background slot rendered behind header + footer; those surfaces go transparent so the animation runs unbroken across the footer seam. Every other box omits the prop and is unchanged.

Hue-matched dividers

  • The header/footer dividers and the morning/day/evening/night segment dividers now take a colour matched to the sky (a grey hairline next to a blue sky looked disconnected). Falls back to the default border for non-cloud weather.
  • Extracted shared weatherSymbolToKind + new weatherBorderColor into weather/asciiSky.ts (single source of truth; the animation component imports the kind mapping instead of duplicating it).

Ground contact at the bottom edge

  • Rain/thunder: drops flick a small splash on impact (bounded count).
  • Snow: a per-column layer gathers along the bottom, slowly melts so it stays low and uneven, and each flake puffs a soft "thud" as it lands (landing on top of the existing pile).

Test plan

  • yarn validate passes (typecheck, lint, format)
  • ?demo → cycle puolipilv. / pilvinen / sumu to compare skies and dividers; rankka / lumi to see splashes and the gathering snow layer
  • Confirm the animation is continuous across the footer and other boxes are visually unchanged

- Clouds/fog: paint a dim sky and draw lighter clouds (was grey-on-white
  smoke). Split partly-cloudy (symbol 2) into its own kind with a bluer,
  sunnier sky and sparser clouds so blue peeks through.
- Box gains a full-bleed background slot: header/footer go transparent so
  the animation runs unbroken through the footer. Other boxes unchanged.
- Dividers (header/footer + the morning/day/evening/night segments) take a
  hue matched to the sky (shared weatherSymbolToKind + weatherBorderColor in
  weather/asciiSky.ts).
- Ground contact at the bottom edge: rain splashes, a melting snow layer
  that gathers per-column, and soft thud puffs as flakes land.
@eetu
eetu force-pushed the feat/weather-anim-polish branch from 4d7eaf4 to c3e7eba Compare June 16, 2026 16:43
@eetu
eetu enabled auto-merge June 16, 2026 16:44
@eetu
eetu merged commit 5cf9d21 into main Jun 16, 2026
3 checks passed
@eetu
eetu deleted the feat/weather-anim-polish branch June 16, 2026 16:47
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant