github Makin-Things/weather-radar-card v3.6.0-alpha4
3.6.0-alpha4

pre-release5 hours ago

Lands @genericJE's DWD coverage-overlay fix — the per-frame snap-switched mask that kills the cross-fade pulse on the DWD coverage outline.

Originally PR #132; reworked as PR #141 to resolve conflicts against the alpha2/alpha3 work that landed since the original PR opened, and to add the classifyDwdPixel unit-test pin against future DWD palette drift.

Fixed

  • DWD coverage-mask cross-fade pulse. The grey "no-data" wash and magenta coverage outline that DWD's WMS bakes into every Niederschlagsradar / Radar_wn tile were stacking during the per-frame cross-fade — two semi-transparent layers compounded the dim and produced a visible pulse on the boundary every animation tick.

    Two-part fix:

    1. Strip the mask + outline at fetch time via a new pixelFilter option on FetchTileOptions. The classifier whitelists DWD palette purples by exact RGB triple so heavy-rain cells aren't mis-classified as outline blends.
    2. Re-render the boundary as a separate snap-switched overlay on a dedicated Leaflet pane (z-index 350) so it doesn't participate in the cross-fade. Per-frame mask layers (rather than a single static one) so radar-station outages track correctly. Tested in the wild against the Feldberg outage at 08:25 UTC.

Added

  • Two CSS theme variables for the coverage overlay colours — set either to transparent to hide:

    • --dwd-coverage-dim-color (default rgba(0, 0, 0, 1))
    • --dwd-coverage-outline-color (default rgba(255, 0, 255, 1))

    RGB picks the colour, alpha multiplies the original mask alpha so wash density and outline antialiasing both scale.

Tests

329 → 347 unit tests (+18). New coverage:

  • 18 cases for classifyDwdPixel — opaque palette purples per palette (data), canonical magenta-outline rule, off-palette purple-shape blends (outline), equal-channel grey, canonical radar palette colours that should pass through, brightness-floor and saturation-shape boundary cases that should NOT trigger purple-shape, semi-transparent grey/outline edges, the 15-unit drift threshold for grey detection.
  • 3 cases for dwdPaletteForRadar_wn-* → WN palette, default → RV palette, defensive fallback.

Pin against DWD palette drift: if their colour ramp ever changes, the strict-match whitelist will silently mis-classify and these tests catch it.

Coming in 3.6.0-beta1

The wind overlay PR #133 (barbs / arrows / streamlines) is still pending review feedback by @genericJE. It'll land in 3.6.0-beta1, after which 3.6.0 stable will consolidate alpha1 + alpha2 + alpha3 + alpha4 + beta1.

The 3.7 roadmap (per docs/todo.md): Open-Meteo as alternate wind source for global coverage, real-time per-user layer-visibility control with persistent state — design doc for that latter one landed in alpha3 territory at docs/layer-control-design.md.


Full notes: CHANGELOG.md

Don't miss a new weather-radar-card release

NewReleases is sending notifications on new releases.