✨ Lluvia de estrellas
Mueve el ratón o arrastra el dedo. Cambia la física y la densidad en tiempo real.
Atajos: 1 Gravedad, 2 Sin gravedad, 3 Desvanecer, C Limpiar.
¿Cómo funciona la lluvia de estrellas?
El cursor (o tu dedo en móvil) “siembra” partículas que se mueven según el modo elegido. La animación está optimizada para 60 FPS y pensada para integrarse en landings modernas.
Modos
- Gravedad: caída suave con aceleración vertical.
- Sin gravedad: partículas flotan libremente.
- Desvanecimiento: deja estela con fundido sutil.
Rendimiento
- Canvas único, sin múltiples DOM nodes.
- Pool de partículas para evitar GC excesivo.
- Escalado por DPR y throttling de input.
Accesibilidad
- Rol e aria-label descriptivos en el lienzo.
- Controles con labels visibles y foco claro.
- Atajos de teclado (1/2/3 y C) anunciados.
Controles
- Densidad: más o menos partículas por gesto.
- Tamaño: escala de la estrella y su brillo.
- Limpiar: reinicia el lienzo sin recargar.
Entrada
Leemos tu posición y velocidad de movimiento (mouse o touch).
Spawn
Generamos partículas con color, tamaño y rotación aleatoria.
Física
Aplicamos gravedad (si procede) y actualizamos posición por frame.
Dibujo
Pintamos formas estrelladas con blending aditivo para brillo suave.
¿Consume muchos recursos?
Está pensado para ser ligero. Aun así, puedes limitar densidad y tamaño para dispositivos modestos.
¿Se puede integrar en React/Next/Astro?
Sí. Encapsula el lienzo en un componente y mueve los listeners al efecto de montaje.
¿Cómo cambio la paleta?
Modifica las variables CSS --accent y --accent-2, o expón un selector en el HUD.
HTML+CSS+JS
✨ Lluvia de estrellas
Mueve el ratón o arrastra el dedo. Cambia la física y la densidad en tiempo real.
Atajos: 1 Gravedad, 2 Sin gravedad, 3 Desvanecer, C Limpiar.
FPS: –