# Changelog ## 1.6.1 - Rainbow **After sunset** (off by default) keeps the bow at night. **Night glow** cools it toward ice-blue; **Night strength** sets night opacity. Arc is placed in screen-height space so it lands on-screen at common aspects. - Overlay shaders share one uniform layout and take **framebuffer** resolution (device pixel ratio × quality scale) so rain, snow, fire, bolts, and bows scale with HiDPI and Quality. - Rain and Stormy drop LOD: Low uses the old Medium layers (static beads on), Medium matches High (second rolling pass, spec, meniscus). Extreme still adds a third pass. Render scale is unchanged (33% / 50% / 75% / 100%). - Mode descriptions in the panel (and README) call out the easy-to-miss behaviors: twilight sun→moon, rainbow night fade, haze temperature gate, Hyprland skipping painted rain, and so on. ## 1.6.0 - Rain and Stormy **Refract** the real desktop (Hyprland). Default **100%**; **0** is the painted overlay. Drop heads warp more than trails and rims; silhouettes fade over about two pixels. Mixes that include rain skip the overlay rain slot while Hyprland rain is live. - Sunny/Fire **Haze** is a light heat shimmer: fine at the ground, longer wavelength as it rises. Sunny waits for outdoor temperature (**On above**, default 90°F / 32.2°C). Fire haze is not gated. - Stormy **Sheen** is separate from **Gloom** (default 60%). **Frequency** max is 200%. Lightning stays on the overlay (no desktop shake or shockwave). - Screen shader is generated by `HyprShader.js` into `~/.local/state/ogarza.weather/current.frag` and applied at runtime. Damage tracking is forced off while it is live; a 1×1 ticker keeps `time` advancing. Hyprland has one shader slot (last apply wins). Clicks through warped pixels land slightly off. - Panel warns if another plugin under `~/.config/omarchy/plugins` also sets Hyprland’s `screen_shader`. - **Hyprland distortion** toggle (and IPC `hypr`) turns refraction and haze on or off globally. Off falls back to the painted overlay. - IPC also covers overlay power, mode, Exclusive track, Custom layers, sliders, reset, and weather refresh. - **Reset to defaults** is the first control in the parameter column. - Fire **Scale** remapped: old 30% is the new 100%. ## 1.5.0 - **None** mode (default). Overlay stays off until a real effect is chosen; missing/unknown mode no longer becomes rain. - Crossfade compositor: two or three shader slots (up to six fullscreen passes during a fade). Follow fades in 10s; panel / Exclusive / overlay toggle in 2s. Mid-fade retargets or reverses instead of stacking. - Mix conditions (per-layer strength): partly cloudy, overcast, sun shower, moonlit clouds, drizzle, snow squall, wintry mix. - Follow maps WMO / wttr codes onto singles and mixes. Fire, rainbow, and custom are never chosen. Partly cloudy becomes moonlit clouds after sunset. Thunder is Stormy. Clear (WMO `0`) is sunny. - Follow waits for `weather.json` coords before fetching; prefers Open-Meteo; falls back to wttr. No stale rain from a premature wttr call. - Faster fog and sunny motion baselines. Fog is clouds only (no extra top mist). - **Rainbow** mode (manual only): primary and secondary bows opposite the sun, with a faint inner fringe. The bow fades after sunset. - **Add Rainbow** is available on every condition except standalone Rainbow (Custom uses Layer C instead). Off by default. - **Custom** mode (manual only): stacked Layer A / B / C pickers. Each layer can be **None**. Parameters for enabled layers expand to the right. - Panel groups Fire, Rainbow, and Custom under **Manual only**, below a separator after Follow / Exclusive. - Other conditions use the same expanding columns: one per mix layer, plus Rainbow when **Add Rainbow** is on. Exclusive **Track only** sits immediately to the right of the mode list, then those columns. Follow / Exclusive show parameters for the live or tracked condition. - Exclusive notes that the overlay waits for matching local weather; the panel previews the tracked effect until you close it. - **Quality** selector (Low / Medium / High / Extreme): render the overlay at 33% / 50% / 75% / 100% of native pixels and scale up. Default is High. Extreme skips the offscreen blit and adds extra shader work (FBM octaves, snow layers, sun motes/glow terms, rain layers and specular, storm bolt segments, rainbow fringe). High matches the original look. - Quality persists with the plugin entry. IPC: `omarchy-shell ogarza.weather preview `, `overlay`, and `quality `. - Wired previously unused uniforms: fog size, rain sheen, snow brightness, sunny dust, storm gloom. - Rain and stormy drop Scale caps at 100% so drops stay inside their cells. - Sunny/moonlight Speed at 100% matches the previous 50% (half the motion baseline). Position defaults to 120%. - Default sliders match the tuned look (rain sheen 50%, snow dimmer/smaller, storm Density 100% and Speed 115%, slower fire, mix layer balances, and so on). - Stormy: **Flash** and **Frequency** sliders (100% Frequency is half the previous strike rate), Gloom defaults to 100%, a cool sheet flash with the bolt, a lingering ease-out, and a rare double blink. Angle slider for drop lean (100% is the original diagonal). Lightning flash envelope is adapted from Pavlo Zhukov (CC BY-NC-SA 3.0). - Rainbow sliders: Glow, Vividness, Size (max 400%), Horizontal (default 80%), Height (−200% to 200%, default 65%), Distance, Shimmer (default 100%). ## 1.4.1 - Fire shader compiles again (comment header was missing a slash). ## 1.4.0 - Exclusive mode: track one weather type; overlay only when it matches; preview while the panel is open. - Sunny/Moonlight Position and Distance sliders. - Higher Density cap for rain and stormy (240%). - Reset to defaults in the panel. - Sparkles bar icon (not a weather glyph). - Compiled `.qsb` shaders are gitignored and rebuilt from `.frag` on load. ## 1.3.0 - Sunny/Moonlight switch from sun position at the configured location.