Skip to content

v2.3.13-beta — water sRGB color-space fix + Configurator i18n sweep

Pre-release
Pre-release

Choose a tag to compare

@Delido Delido released this 17 Jun 13:11
· 3 commits to main since this release

Fixed — Water mode shifted the whole BG, not just the ring band

The v2.3.12 scale=0 fix stopped the activation jump, but during an active ripple the BG still appeared shifted across the entire viewport — not just where the ring band crossed.

Root cause: SVG filter color-space mismatch. Chromium runs feDisplacementMap in linear-RGB by default, but our displacement map canvas exports as sRGB-encoded PNG. The sRGB → linear conversion remaps R=128 from 0.502 down to ~0.215, which means the "neutral grey" the canvas paint treats as 0-displacement actually encodes (0.215 - 0.5) × 80 = -22.8 px displacement across the entire non-ring area of #bg. Net visual: the whole BG slid -22 px up-left whenever a ripple was in flight.

Fix: color-interpolation-filters="sRGB" on the filter element. Filter chain operates in sRGB throughout, matching the PNG encoding. R=128 produces true 0 displacement at neutral; only the ring band's painted gradients actually bend pixels. No whole-BG shift, no edge gap, no ghost overlay.

Configurator i18n sweep

User reported large chunks of the configurator still rendering in English when DE was selected:

  • applyI18n attribute-targeting rewrite — the pre-v2.3.13 data-i18n-attr mechanism collected the attribute name as a {attr} template parameter instead of using it as the target attribute. The Library search placeholder stayed English regardless. Added independent data-i18n-title / data-i18n-placeholder / data-i18n-aria-label / data-i18n-alt slots that each carry their own translation key, on top of the main data-i18n for textContent.
  • Quick Looks bundles (10 × name + desc = 20 entries) now i18n-driven. Each LOOK_BUNDLES entry carries nameKey/descKey, routed through t() in renderLookBundles + applyLookBundle's confirm dialog.
  • Widget catalog labels (13 widget type names) now i18n-driven via a new _widgetLabel(def) helper. Five direct def.label reads converted (layout preview, Add-Widget grid, widget list, modal title, remove toast) + two toast templates ("Added X" / "Removed X").
  • Static dropdown options got data-i18n attributes + matching translation rows: glow layout (5), grid renderer (2), glass quality (3), frame rate (3).
  • Header tooltips for Live preview / Show tour / Open library via the new data-i18n-title slot.
  • renderAll now re-builds the Add-Widget grid + Quick-Looks grid on language switch — both were built once at boot.

Upgrade

Wallpaper bundle re-import required. Tray → Re-import wallpaper bundles.

Beta — no winget submission, GitHub Releases only.