SnowSignal v1.0.0-beta.2 — polish release#3
Merged
Conversation
Same prediction engine; focused polish, no backend/build-step/framework. - Layout: wider desktop column (~880px), roomier spacing/typography, two-column factor breakdown on wide screens; mobile one-column + touch targets preserved. - Seasonal atmosphere: lightweight CSS particle layer (snow/petals/motes/leaves) with an Auto mode (hemisphere + date), Midnight keeps snow year-round; fully gated by the motion preference and prefers-reduced-motion; pointer-events:none. - UI motion: animated gauges (count-up + sweep), filling factor bars, staggered hourly cards, modal entrance/exit, dropdown/toast entrances, theme cross-fade, subtle logo drift — all respecting the motion setting. - School-calendar reminders: dismissible, clearly-labeled heuristics (summer break hemisphere-aware, winter break, weekend) in a pure tested module; forecast-window label on results. - Clean URLs: address bar no longer rewritten during use; preferences persist via localStorage; explicit "Copy share link" builds a default-omitting scenario URL. - Geolocation: reverse-geocoded friendly labels (keyless), coords retained for the forecast, graceful fallback. - Settings reworked into Appearance / Weather / Data / About with confirm-guarded resets and version/changelog/roadmap links; focus trap covers links. - Validation: non-negative, capped snow-day inputs; used>allowed allowed with a note. - New modules js/calendarContext.js and js/atmosphere.js; new tests for calendar heuristics, atmosphere gating, share-URL building, reverse-geocode parsing, persistence/resets, and GitHub Pages relative paths. - Version 1.0.0-beta.2; CHANGELOG.md added; README/ROADMAP updated.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
A focused polish beta on the existing prediction engine. No engine redesign, backend, paid API, secret keys, framework, or new dependencies. GitHub Pages compatibility under
/snowsignal/is preserved (all asset paths relative).What changed
--maxw: 880px), roomier spacing/typography, two-column factor breakdown ≥760px, bigger gauges. Mobile one-column layout, touch targets, and no-horizontal-overflow preserved.Atmospheresetting (Auto / Winter / Spring / Summer / Fall / Off). Auto reads the location's hemisphere + local date; Midnight snow keeps a snow identity year-round. Lightweight CSS particles (js/atmosphere.js),pointer-events: none, gated by the motion preference andprefers-reduced-motion(renders nothing when reduced). No image assets.js/calendarContext.js; never claims to know a real district calendar.localStorage. New Copy share link button builds a default-omitting scenario URL; shared links still restore the scenario.Owosso, Michigan, US, exact coords retained, graceful fallback to coordinates.atmosphereadded; theme, atmosphere, motion, unit, school type, area, sensitivity, used, allowed, saved & recent all persist. Tests cover persistence + resets.used > allowedis allowed with an explanatory note.1.0.0-beta.2, in-appSnowSignal v1.0.0-beta.2, newCHANGELOG.md, updatedREADME.md/ROADMAP.md. Documented as a polish beta, not stable.Verification
node --test→ 71 passing / 0 failing (added calendar heuristics, atmosphere motion-gating, clean-URL share builder, reverse-geocode parser, persistence/resets, relative-path safety)./snowsignal/subpath —200s, ES-module MIMEtext/javascript, CSStext/css, relative paths resolve.Manual browser checks suggested