Skip to content

Latest commit

 

History

History
306 lines (195 loc) · 16.6 KB

File metadata and controls

306 lines (195 loc) · 16.6 KB

Changelog

All notable changes to the Aurora Flow extension will be documented in this file.

[1.5.5] - 2026-07-10

Changed

  • Soft Ethereal Look: Rebalanced aurora palette (muted violet → mint → pale aqua → cream), softer particle falloff, larger hazy points, and calmer multi-scale flow for a dreamier focus backdrop.
  • Motion Tuning: Reduced flow speed (2.2→1.7), gentler breathing cycle, smoother velocity mix, and lower micro-jitter so the aurora drifts rather than sparkles.
  • Quality Presets: Softened bloom/light/rim across tiers so low particle counts still read as ethereal haze; slightly lower pixel-ratio caps on weak tiers.
  • Smarter Default Quality: When no saved quality exists, estimate a safe starting tier from device pixel ratio, CPU cores, device memory, and coarse pointer.
  • Soft Performance Downgrade: Before reallocating particle textures, first reduce pixel ratio / bloom cost and then skip compute frames / disable trails; 2.5s startup grace avoids cold-start false positives.

Added

  • prefers-reduced-motion: Pauses the simulation when the OS reduced-motion preference is active (UI remains interactive); resumes if preference is cleared.

[1.5.4] - 2026-04-11

Changed

  • Aurora Permanence: Enhanced particle simulation for long-running screensaver use — particles now maintain density and visual structure over hours rather than thinning out.
  • Band-Preserving Forces: Added aurora band attraction/repulsion forces in the velocity shader that keep particles distributed across natural curtain structures, preventing clumping and sparse patches.
  • Breathing Modulation: Introduced subtle macro-oscillation (3-minute cycle) that gently pulses the turbulence strength, giving the aurora an organic breathing quality.
  • Anti-Clumping Drift: Added time-varying offsets to curl noise sampling that prevent particles from converging on flow attractors.
  • Micro-Perturbation: Tiny hash-based position jitter in the position shader keeps particle distribution organic over long sessions.
  • Edge Visibility: Widened the height-based alpha envelope so aurora edges remain visible longer (fade-in: 0.0→0.12, fade-out: 1.0→0.88) and increased base alpha from 0.4 to 0.5.
  • Particle Coverage: Increased base particle size from 2.5 to 3.0 for better surface coverage.
  • Afterimage Trails: Enabled afterimage trail effect on MEDIUM (damp 0.82) and LOW (damp 0.78) quality presets, increased HIGH damp from 0.85 to 0.88.
  • Simulation Tuning: Increased flow speed from 1.8→2.2 and reduced noise scale from 0.03→0.025 for broader, more dynamic sweeping motion.
  • Quality Presets: Added afterimageDamp property to quality presets for per-tier trail persistence control.

[1.5.3] - 2026-04-10

Documentation

  • Enhanced README and GEMINI.md with format checks

Performance

  • Optimized render loop by caching quality preset and frame duration
  • Aligned clock updates with system minute boundaries

[1.5.1] - 2026-03-26

Changed

  • Full Shader Rework: Completely redesigned aurora simulation physics and rendering.
  • Velocity Shader: Multi-scale curl noise (large/medium/small) for organic turbulence; lateral curtain waves; position-dependent vertical circulation (gentle up/down flow based on particle height) instead of constant upward force.
  • Position Shader: Replaced reset-based system with toroidal wrapping — particles continuously wrap around the simulation volume, eliminating the "settling" period entirely.
  • Color Palette: Enhanced aurora gradient with 4 stops: deep violet → electric green → bright teal → pale green-white.
  • Fog Density: Reduced fog from 0.01 to 0.004 for better depth visibility.
  • Physics Tuning: Adjusted speed (1.8) and noiseScale (0.03) for the new multi-scale system.

Fixed

  • Depth Calculations: Corrected particle size and alpha calculations that were inverted relative to camera distance.
  • Uniform Cleanup: Removed unused uWarmthIntensity, uTexelSize, time (position shader), and delta (velocity shader) uniforms.
  • Simulation Bounds: Unified initial fill and shader bounds to X=±140, Y=±70, Z=±50.

Performance

  • FPS Calculation: Replaced array-based FPS history tracking with numeric accumulators (framesSinceLastCheck and timeSinceLastCheck) in the render loop, eliminating per-frame array mutations and reducing GC pressure.

Documentation

  • Verification Scripts: Added documentation for Python verification scripts in verification/ directory, including Python 3 prerequisite and Playwright setup instructions.

Removed

  • Reset-Based Spawning: No more random particle respawns on boundary breach — continuous wrapping maintains uniform distribution at all times.
  • Constant Upward Force: The old one-directional upward drift that caused particles to cluster at the top has been replaced with bidirectional vertical circulation.

[1.5.0] - 2026-03-19

Added

  • Density-Aware Lighting: Added per-particle density sampling to detect local particle clustering and attenuate brightness accordingly.
  • Dynamic Brightness Control: Implemented inverse density attenuation in fragment shader to prevent overexposure when particles clump together.
  • Speed-Based Color Variation: Added subtle color shifts based on particle velocity for more dynamic visual interest.

Changed

  • Architecture: Simplified to single particle-based rendering pipeline, removing experimental ribbon shader approach for better stability and performance.
  • Shader Colors: Enhanced aurora color palette to be more vibrant - deeper purples, brighter teals, and more vivid greens.
  • Particle Sizes: Increased base particle sizes (3-5 units vs 2-3.5 before) for more visual presence.
  • Fragment Shader: Reduced density attenuation aggression (0.4x multiplier vs 1.0x) to preserve brightness while preventing blowout.
  • Fragment Shader: Increased core glow and rim lighting intensity for more ethereal aurora effect.
  • Bloom Settings: Lowered bloom threshold (0.15 vs 0.25) to capture more particles in glow effect.
  • Quality Presets: Rebalanced all presets with optimized bloom strength, light intensity, and rim strength values.
  • HIGH Quality: Reduced bloom strength (0.8), light intensity (0.7), and disabled afterimage effect to prevent brightness accumulation.

Fixed

  • Critical: Texel Size: Fixed hardcoded texel size in vertex shader that caused incorrect density sampling for non-HIGH quality presets.
  • Brightness Oscillation: Removed auto-upgrade quality logic that caused system to rapidly switch between quality levels.
  • Brightness Control: Fixed brightness accumulation when particles clump together by implementing proper density-based attenuation.

Removed

  • Ribbon Shader: Removed experimental volumetric ribbon shader for LOW/POTATO quality levels.
  • OrbitControls: Removed camera rotation controls for better performance and simpler codebase.
  • Auto-Upgrade: Removed automatic quality upgrade logic that caused unwanted oscillation between modes.

Performance

  • Bundle Size: Reduced main bundle by ~30% (65KB → 46KB) by removing OrbitControls.
  • Render Loop: Removed OrbitControls.update() call from animation loop for CPU savings.
  • Shader Cleanup: Removed ribbon-related shader imports and code paths.

[1.4.4] - 2026-03-18

Added

  • Error Handling: Added global error handlers in app.ts with try-catch wrappers for each initialization function to ensure graceful fallback UI display on failures.
  • WebGL Context Recovery: Added webglcontextlost and webglcontextrestored event handlers to properly pause and resume animation when GPU context is lost/restored.
  • Cleanup Functions: Added cleanupUI() and cleanupWeather() functions to properly clear intervals and remove storage listeners for memory management.

Changed

  • Quality Upgrade Path: Implemented dynamic quality upgrade path in background animation - quality now increases when FPS exceeds target by 30% for 30 consecutive frames.
  • Race Condition Fix: Split isFetching flag into separate isFetchingLocation and isFetchingWeather flags to prevent race conditions between location and weather fetch operations.
  • Storage Error Handling: Added chrome.runtime.lastError checks to all storage callbacks across weather, quotes, UI, and sidepanel modules.

Fixed

  • Critical: Memory Leaks: Fixed memory leaks by ensuring setInterval timers and chrome.storage.onChanged listeners are properly cleaned up.
  • Critical: Duplicate Event Handlers: Removed duplicate event listeners on clock format toggle and quality select in sidepanel that caused double-execution.
  • Clipboard Error Feedback: Improved clipboard API error handling by updating aria-label for accessibility on copy failures.

[1.4.3] - 2026-03-18

Changed

  • Performance: Optimized fillVelocityTexture initialization using arr.fill(0) and sparse alpha channel loop for ~2x speedup.
  • Performance: Disabled static mesh matrix auto-update in background animation to reduce unnecessary computations.
  • Build: Split Three.js into separate vendor chunk for better caching and smaller main bundle.
  • Build: Added explicit esbuild minification and disabled sourcemaps in production.
  • Dependencies: Moved playwright to devDependencies for proper production bundle isolation.

Documentation

  • Docs: Updated README.md and GEMINI.md for Node.js v22 and usage documentation.
  • Docs: Restored verification directory and scripts documentation.

Code Quality

  • Optimization: Replaced wildcard Three.js imports with specific imports to reduce bundle size.
  • Optimization: Added precision qualifiers to all shader files for mobile GPU performance.
  • Optimization: Removed duplicate CSS rules to reduce stylesheet size.
  • Cleanup: Removed unused icon-512.png asset.
  • TypeScript: Upgraded target to ES2022 for modern browser features.

[1.4.2] - 2026-03-11

Changed

  • Release Prep: Finalized the official 1.4.2 release metadata across extension packaging.
  • Shader Performance: Reduced hot-path fragment cost by replacing per-pixel length() and pow() work with squared-distance falloff while preserving the soft particle glow.
  • Shader Performance: Simplified aurora gradient blending in the render vertex shader to reduce per-particle branching without altering the overall look.
  • Simulation Performance: Tightened curl-noise normalization math and cached the short-lived FPS sampling aggregate to cut small but constant per-frame overhead.
  • Packaging: Hardened the release packaging script to fail fast when dist/ is missing and to rebuild the versioned zip cleanly instead of appending to stale archives.

[1.4.1] - 2026-01-09

Added

  • UX Feedback: Added status feedback when saving settings in the side panel.

Changed

  • Performance: Optimized aurora animation for low-end hardware.
  • Performance: Cached DOM elements in clock update loop for improved efficiency.

Fixed

  • Testing: Refactored simulation-utils tests for improved robustness.

[1.4.0] - 2026-01-05

Added

  • IP-Based Weather: Replaced geolocation with IP-based location fetching (via geojs.io) for better privacy and zero-permission setup.

Changed

  • Single Simulation Focus: Pivoted to an exclusive Aurora experience. Simplified codebase and UI to deliver the highest quality aurora simulation.
  • Performance Tuning: Refined Quality Presets (Low/Medium/High) with custom bloom and particle scaling for a consistent aesthetic across all hardware tiers.
  • Visual Improvements: Enhanced particle brightness, saturation, and soft-blending in shaders for a more ethereal and vibrant look.
  • Improved Stability: Hardened simulation bounds-checking and resource disposal to ensure stable performance for long-running "New Tab" sessions.

Fixed

  • Double Fetching: Resolved a bug in the weather module that caused redundant network requests.
  • Memory Management: Fixed potential memory leaks by ensuring proper Three.js resource disposal on cleanup.

Removed

  • Galaxy & Blackhole Modes: Removed legacy simulations to focus on Aurora quality.
  • Geolocation Permission: Removed the need for precise location access.

[1.3.3] - 2026-01-02

Added

  • Comprehensive Test Coverage: Added robust test suites for Weather module, Simulation Utils, and Side Panel functionality.
  • Input Validation: Added length limits to username (30 chars) and focus input (80 chars) to prevent storage bloat.

Fixed

  • Icon Generation: Fixed scripts/generate_icons.js to use ESM imports, resolving runtime errors in module environment.
  • Security: Tightened Content Security Policy by setting object-src 'none' and adding base-uri 'self' to prevent injection attacks.

Changed

  • Performance: Optimized rendering with HalfFloatType for computation textures and reduced bloom resolution to half window size.
  • Performance: Throttled window resize operations to animation loop to prevent layout thrashing during rapid resizing.
  • Accessibility: Enhanced greeting and focus interactions with proper ARIA labels, tooltips, and visual feedback.
  • UX: Made settings labels clickable for better usability by converting text spans to interactive <label> elements.
  • Documentation: Updated README.md and GEMINI.md to enforce pnpm usage and document testing procedures.

[1.3.2] - 2025-12-17

Added

  • SidePanel Tests: Added a robust unit test suite for the Side Panel module, covering settings persistence and UI synchronization.

Fixed

  • Accessibility: Improved accessibility by converting interactive elements to semantic <button> elements and adding ARIA labels for better screen reader support.

  • Accessibility: Improved the accessibility of the side panel by associating labels with their respective toggle switches and adding focus indicators for keyboard navigation.

  • Accessibility: Improved the usability of the new tab page by adding a placeholder to the focus input.

Changed

  • Performance Optimization: Implemented DOM caching for clock and greeting updates, reducing unnecessary DOM writes by ~98%.
  • Refactor: Refactored Side Panel initialization logic to support better testability.

[1.3.1] - 2025-12-16

Added

  • Testing Infrastructure: Added Vitest and happy-dom for robust unit and integration testing.
  • Test Coverage: Added comprehensive tests for Weather, Quotes, and UI modules including Focus Tracker and Greeting logic.

Fixed

  • Build Configuration: Excluded test files from production build to ensure clean distribution.

Changed

  • UI Improvements: Enhanced "fade-in" transition on new tab load for a smoother, flicker-free experience.

[1.3.0] - 2025-12-13

Added

  • Daily Quote API: Quotes now fetched from Quotable API with daily caching (one quote per day).
  • Fallback Quotes: Static quotes used when API is unavailable.

Changed

  • TypeScript Refactor: Complete migration from JavaScript to TypeScript with strict type checking.
  • Vite Build System: Modern build process with @crxjs/vite-plugin for Chrome extension bundling.
  • Modular Shader Architecture: GLSL shaders extracted into organized directory structure (src/shaders/).
  • Three.js via npm: Moved from bundled library to npm package for better type support.

Removed

  • Legacy JavaScript source files (src/js/).
  • Bundled Three.js library files (lib/three/).

[1.2.0] - 2025-12-10

Added

  • Galaxy Simulation Mode: A new mesmerizing spiral galaxy visualization option.
  • Settings Side Panel: A comprehensive settings interface accessible via the extension icon or new gear button.
    • Switch between "Aurora" and "Galaxy" simulation modes.
    • Adjust animation quality (Low/Medium/High) to manage performance.
    • Toggle Weather display on/off with privacy disclaimer.
  • Weather Privacy: Weather functionality triggers a location permission prompt only when explicitly enabled by the user.
  • Visual Refinements: Improved Galaxy particle distribution and shader coloring for a improved aesthetic.

[1.1.0] - 2025-12-10

Added

  • Official Launch: Extension published to the Chrome Web Store.

[1.0.0] - 2025-12-09

Added

  • Weather Functionality: Real-time localized weather updates (temperature and description).
  • Publishing Setup: Manifest configuration and assets preparation for store submission.

[0.1.0] - 2025-12-08

Added

  • Initial Release: Core "Aurora" particle simulation.
  • UI Overlay: Minimalist interface with time, greeting, focus input, and inspirational quotes.