// effects.js — Shared effect presets for background system // Depends on backgroundEngine.js being loaded first (function(engine) { if (!engine) return; // Pre-configured effect presets that themes can reference by name engine.effectPresets = { starfield: { type: 'stars', count: 120, color: '#FFFFFF' }, starfieldDense:{ type: 'stars', count: 250, color: '#FFFFFF' }, starfieldSparse:{ type: 'stars', count: 40, color: '#FFFFFF' }, lightRain: { type: 'rain', count: 60, color: '#AACCEE' }, heavyRain: { type: 'rain', count: 200, color: '#8899BB' }, lightSnow: { type: 'snow', count: 40, color: '#FFFFFF' }, heavySnow: { type: 'snow', count: 150, color: '#E8E8F0' }, floatingDust: { type: 'dust', count: 30, color: '#DDDDAA' }, embers: { type: 'particles', count: 25, color: '#FF8844' }, sparkle: { type: 'sparkles', count: 30, color: '#FFFFFF' }, goldSparkle: { type: 'sparkles', count: 30, color: '#FFD700' }, thinFog: { type: 'fog', count: 8, color: '#CCCCCC' }, thickFog: { type: 'fog', count: 20, color: '#999999' }, darkFog: { type: 'fog', count: 15, color: '#333344' }, bubbles: { type: 'bubbles', count: 25, color: '#88CCEE' }, denseBubbles: { type: 'bubbles', count: 60, color: '#66AADD' }, fallingLeaves:{ type: 'leaves', count: 15, color: '#CC8833' }, autumnLeaves: { type: 'leaves', count: 30, color: '#DD6622' }, cherryBlossom:{ type: 'leaves', count: 25, color: '#FFB7C5' }, fireflies: { type: 'fireflies', count: 15, color: '#CCFF44' }, denseFireflies:{ type: 'fireflies',count: 35, color: '#AAEE33' }, magicParticles:{ type: 'particles',count: 40, color: '#BB77FF' }, neonParticles:{ type: 'particles', count: 50, color: '#00FFCC' }, smokeRising: { type: 'dust', count: 20, color: '#888888' }, snowfall: { type: 'snow', count: 80, color: '#FFFFFF' }, rainStorm: { type: 'rain', count: 300, color: '#667799' }, }; // Helper to apply a preset by name engine.addPresetEffect = function(presetName) { const preset = engine.effectPresets[presetName]; if (preset) { engine.addEffect(preset.type, { ...preset }); } else { console.warn('BackgroundEngine: unknown effect preset "' + presetName + '"'); } }; })(window.BackgroundEngine);