# Changelog

## 0.1.1 — 2026-11-08

- Move the Winter website, documentation, playground, private dashboard and hosted references to winter.fluri.xyz.
- Redesign Winter and its playground with vivid purple scenes, dark controls, a larger desktop cursor and updated README and social previews.
- Keep the existing package names and runtime API. Update package homepages, README links and founder attribution for the Fluri Themes collection.
- Preserve historical package downloads and existing participation data, API access and dashboard credentials during the domain migration.

## 0.1.0 — 2026-11-07

First public npm release of `@fluritheme/fluri` and `@fluritheme/fluri-react`.

- Added optional owner-verified website registration, daily aggregate reporting, a private operator dashboard, and a separately approved public community listing. The engine sends no automatic telemetry.

### Surface attachment and accessibility

- Mounted eligible scoped previews natively inside their scenes so card-edge snow scrolls with its support between JavaScript paints; retained safe viewport fallbacks and bounded canvas sizes.
- Added original illustrated README artwork, clean feature badges, npm-compatible hosted images and document links, and focused core/React package discovery metadata.
- Added cached solid-background contrast detection so pale flakes and accumulated snow remain visible on white pages without replacing custom snow colors.
- Improved snowball gathering around the nearest snowy contour and limited browser selection suppression to accepted Shift gestures, with explicit cancellation and cleanup.

### Website, interactions, and performance

- Added the multi-page promotional website, live preset collection, documentation, package downloads, and operator-specific legal notices; deployed with Cloudflare Workers Static Assets.
- Unified the playground and website palette, typography, branding, and navigation through shared design tokens.
- Added an occasional hero snowplough that clears real deposits and pauses its cadence with the live preview.
- Decoupled invalidated attachment redraws from the simulation FPS cap so scrolling snow follows its DOM supports between capped physics frames.
- Rounded cap contact follows the real card shoulder, and saturated snow retains variable packing depth instead of a flat bar.
- Dense scenes receive area/device-based particle limits, rapid adaptation to late frames, reduced expensive blur/pixel work, bounded overflow pools, and cached contours.
- Collision sampling is limited to the crossed edge interval; deposit buffers are reused to reduce garbage collection.

- Replaced repeated seeded ridges with localized, volume-accounted drifts and shared collision/render contours that preserve cleared gaps.
- Added material repose, downhill flow, retained inertia, coherent edge avalanches, and sliding full-shelf contacts.
- Fixed scoped snowfall origins, covered-edge deposition, resize shedding, and immediate brush redeposition; added swept cursor brushing and airborne airflow.
- Rebuilt the playground around a mobile-first surface workshop, accessible modal settings sheet, large touch controls, dedicated drag/resize handles, and real shake interaction.
- Added regression checks for actual raster silhouettes, brush transfer, occluded supports, native mobile scrolling, focus behavior, and physical resize budgets.

### Engine and integrations

Initial Fluri implementation under the owner-selected `@fluritheme/fluri` package name and MIT license.

- Deterministic Canvas 2D snowfall with wind, gusts, intensity ramps, depth, flake styles, and quality controls.
- DOM surface discovery/registration, typed local snow profiles, responsive geometry tracking, clipping approximations, debug views, swept collision, shedding, and cross-surface transfer.
- Passive brushing, intentional snowball gathering/throwing/stacking, snowman rendering, breakup/melting, and a snowplough for explicit routes.
- Optional Christmas module with lights, garlands, ornaments, gifts, frost, icicles, wreaths, sparkles, and automatic plough scheduling.
- Ten composable presets, strict public configuration, plugin/event hooks, scoped rendering, metrics, and lifecycle cleanup.
- Reduced-motion policy, hidden-tab suspension, accessible optional controls, and a separate React lifecycle adapter.
- Responsive playground and product website, configuration persistence/export, real stress scenes, unit/browser tests, CI, MIT licensing, documentation, and release inspection tools.

Browser compositor approximations and unsupported experimental features are documented in docs/limitations.md. Future registry publication remains a separate owner-operated release step.
