Skip to content

Aurora drift 2 - #87

Merged
SamXop123 merged 4 commits into
mainfrom
aurora-drift-settings
May 26, 2026
Merged

Aurora drift 2#87
SamXop123 merged 4 commits into
mainfrom
aurora-drift-settings

Conversation

@SamXop123

@SamXop123 SamXop123 commented May 26, 2026

Copy link
Copy Markdown
Owner

New theme addition

phase- 3 & 4

Theme # 11

Onto v2.0.0

Summary by CodeRabbit

Release Notes

  • New Features
    • Aurora Drift theme now offers extensive customization: selectable aurora styles, intensity, height, glow strength, motion speed, color palettes, audio reactivity levels, softness, and layer density controls.
    • Enhanced audio reactivity system with multiple sensitivity modes for dynamic music-driven visuals.
    • Performance mode support for optimized rendering efficiency.

Review Change Stack

@vercel

vercel Bot commented May 26, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
paraline Ready Ready Preview, Comment May 26, 2026 2:34pm

@SamXop123
SamXop123 merged commit cd52dd8 into main May 26, 2026
7 checks passed
@coderabbitai

coderabbitai Bot commented May 26, 2026

Copy link
Copy Markdown

Caution

Review failed

The pull request is closed.

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: b98704f2-cc8d-4d36-a557-09d46b1d36d4

📥 Commits

Reviewing files that changed from the base of the PR and between 1910eda and c035c75.

📒 Files selected for processing (4)
  • renderer.js
  • settings.js
  • settingsStore.js
  • themes/auroraDrift.js

📝 Walkthrough

Walkthrough

This PR expands the Aurora Drift theme with complete configuration support: settings schema, UI controls, multiple color palettes, frame-rate-independent audio reactivity using a smoothSignal helper, dynamic layer indices, performance-mode rendering adaptations, and optimized shadow rendering. The audio multiplier function now accepts settings to return reactivity-dependent scaling.

Changes

Aurora Drift Theme Configuration and Rendering Enhancements

Layer / File(s) Summary
Settings schema and validation foundation
settingsStore.js, settings.js
DEFAULT_SETTINGS.auroraDrift is populated with full configuration fields; VALID_AURORA_* constants enumerate allowed values; sanitizeAuroraDrift() validates each field against allowed values; THEMES_SCHEMA defines UI-driven option sets for dynamic dropdown generation.
UI and renderer initialization
renderer.js
visualizerState.auroraDrift defaults now include all configuration fields; THEME_INFOS.auroraDrift context menu expands to selectable controls for style, intensity, height, glow, motion speed, palette, audio reactivity, softness, and layer density; getActiveAudioMultiplier passes current Aurora Drift settings to the audio multiplier function.
Aurora rendering core configuration
themes/auroraDrift.js, renderer.js
Configuration resolution expands across style/intensity/height/glow/speed/audio/softness/layer-density branches into a derived cfg object containing activeLayersIndices and selected palette; PALETTES dictionary maps palette names to HSL stop arrays; performanceMode is plumbed through to cfg and passed into drawAuroraDrift.
Audio reactivity refactor with smoothSignal
themes/auroraDrift.js
Audio state tracking replaces in-place smoothing math with reusable smoothSignal() helper for frame-rate-independent level following; bass surge detection, mid-range variance/expressiveness, and treble shimmer are computed from baseline and smoothed levels; pulses, mid noise, and treble effects scale by cfg.audioReactivityScale.
Color computation with palette selection
themes/auroraDrift.js
getAuroraColor() is refactored to accept explicit palette parameter; each layer derives its color progression from the active palette instead of relying on a single global array.
Dynamic layer rendering with explicit indices
themes/auroraDrift.js
Layer iteration loops over cfg.activeLayersIndices instead of fixed count; drawAuroraLayer() receives actualLayerIndex alongside visual index; layerPhaseOffset and amplitude calculations derive from actual indices and incorporate audioReactivityScale.
Per-layer color and opacity effects
themes/auroraDrift.js
Ribbon base color is derived from cfg.palette; opacityMultiplier is clamped against cfg.opacityCap to preserve readability; visual effects scale by audioReactivityScale.
Filament and shadow rendering optimization
themes/auroraDrift.js
Shadow rendering conditionally calls window.ParalineShared.applyOptimizedShadow() with fallback to ctx.shadowBlur/ctx.shadowColor and cfg.blurMultiplier; filament vertical segmentation and line count adapt to performanceMode; stroke width uses cfg.filamentWidthScale.
Turbulence and shockwave effects
themes/auroraDrift.js
Fold/turbulence phase and amplitude incorporate actualLayerIndex and per-frame energyFlowOffset; shockwave displacement and treble vibration scale by both cfg.audioReactivityScale and cfg.intensity.
Crest highlights and audio multiplier signature
themes/auroraDrift.js
Crest-highlight opacity is clamped against scaled cfg.opacityCap; exported getAuroraDriftAudioMultiplier() now accepts settings parameter and returns different multipliers based on settings.audioReactivity level (subtle/responsive/balanced).

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~25 minutes

Poem

🎨✨ A drift of colors, palettes dance with light,
Audio pulses shimmer, smooth and bright,
Layers flow with dynamic index grace,
Each aurora wave now finds its place,
Glowing softly—reactivity takes flight! 🌌🐰

✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch aurora-drift-settings

Warning

There were issues while running some tools. Please review the errors and either fix the tool's configuration or disable the tool if it's a critical failure.

🔧 ESLint

If the error stems from missing dependencies, add them to the package.json file. For unrecoverable errors (e.g., due to private dependencies), disable the tool in the CodeRabbit configuration.

ESLint skipped: no ESLint configuration detected in root package.json. To enable, add eslint to devDependencies.


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant