# ROADMAP - ViBe3 Physics ## Estado Actual ✅ ### Figuras 3D (8/8 Completadas) - ✅ Q - SPHERE (Esfera Fibonacci) - ✅ W - WAVE_GRID (Malla ondeante) - ⚠️ Necesita mejora de movimiento - ✅ E - HELIX (Espiral helicoidal) - ✅ R - TORUS (Toroide/donut) - ✅ T - CUBE (Cubo rotante) - ✅ Y - CYLINDER (Cilindro) - ⚠️ Necesita rotación multi-eje - ✅ U - ICOSAHEDRON (Icosaedro D20) - ✅ I - ATOM (Núcleo + órbitas) ### Temas Visuales (6/6 Completadas) - ✅ SUNSET (Atardecer) - ✅ OCEAN (Océano) - ✅ NEON (Neón vibrante) - ✅ FOREST (Bosque) - ✅ RGB (Círculo cromático matemático) - ✅ MONOCHROME (Monocromo - blanco puro) ### Sistemas de Presentación - ✅ Transiciones LERP entre temas (0.5s suaves) - ✅ Hot-swap de sprites con tecla N (ball.png ↔ ball_small.png) --- ## Mejoras de Presentación 🎨 ### 1. ⏳ Mejorar Animaciones de Figuras 3D **Descripción:** Añadir movimientos más dinámicos e interesantes a algunas figuras **Prioridad:** Media **Estimación:** 1.5 horas **Detalles:** #### CYLINDER (Y): - **Rotación actual:** Solo eje Y (spin horizontal continuo) - **Mejora propuesta:** Rotaciones multi-eje con cambios periódicos - Rotación principal en eje Y (como ahora) - Cada 3-5 segundos: tumbling en eje X o Z durante 1-2 segundos - Efecto visual: "dar una vuelta" sobre otro eje ocasionalmente - Transiciones suaves con aceleración/desaceleración #### WAVE_GRID (W): - **Rotación actual:** XY girando como esfera (confuso) - **Mejora propuesta:** Vista frontal con pivoteo sutil - **Vista principal:** Paralela a pantalla (mirando de frente) - **Movimiento:** Pivoteo en centro con esquinas hacia adelante/atrás - Ejemplo: esquina superior-derecha se aleja (Z-), inferior-izquierda se acerca (Z+) - Movimiento ondulatorio sincronizado: olas + pivoteo crea efecto "océano" - **Opcional:** Rotación completa ocasional (cada 10-15s) como transición **Implementación técnica:** - Añadir `rotation_mode_` y `mode_timer_` a cada shape - Estados: NORMAL, TRANSITION, ALTERNATIVE - Interpolación suave entre modos de rotación ### 2. ⏳ Modo DEMO (Auto-play) **Descripción:** Modo demostración automática con acciones aleatorias **Prioridad:** Alta **Estimación:** 1.5 horas **Detalles:** - Toggle con tecla `D` - Timer que ejecuta acciones cada 3-8 segundos - Acciones: cambiar gravedad, activar figura, cambiar tema, impulso - Secuencia pseudo-aleatoria pero visualmente coherente - Pausable con cualquier tecla de usuario - Indicador visual "DEMO MODE" en pantalla ### 3. ⏳ Sistema de Release **Descripción:** Empaquetado para distribución standalone **Prioridad:** Media **Estimación:** 30 minutos **Detalles:** - Crear carpeta `release/` - Script Python `pack_resources.py` para empaquetar - Incluir SDL3.dll - Incluir icon.png (si existe) - Empaquetar `data/` en archivo .dat o .zip - Target `make release` en Makefile - README.txt con instrucciones --- ## Futuras Mejoras (Ideas) ### Performance - [ ] Spatial partitioning para colisiones ball-to-ball - [ ] Level-of-detail para 100K+ pelotas - [ ] GPU compute shaders para física masiva ### Efectos Visuales - [ ] Trails (estelas de movimiento) - [ ] Heatmaps de velocidad/energía - [ ] Bloom/glow para sprites ### Física Avanzada - [ ] Colisiones entre partículas - [ ] Viento (fuerza horizontal) - [ ] Campos magnéticos (atracción/repulsión) - [ ] Turbulencia ### Interactividad - [ ] Mouse: click para aplicar fuerzas - [ ] Mouse: drag para crear campos - [ ] Mouse wheel: ajustar intensidad --- ## Historial de Cambios ### 2025-10-04 (Sesión 3) - ✅ Implementado tema MONOCHROME (6º tema) - ✅ Sistema LERP para transiciones suaves de temas (0.5s) - ✅ Hot-swap de sprites con tecla N (ball.png ↔ ball_small.png) - ✅ Tamaño dinámico de pelotas desde texture->getWidth() - ✅ Ajuste de posiciones inteligente al cambiar sprite - 📝 Añadidas mejoras propuestas para CYLINDER y WAVE_GRID ### 2025-10-03 (Sesión 2) - ✅ Implementadas 8 figuras 3D (SPHERE, WAVE_GRID, HELIX, TORUS, CUBE, CYLINDER, ICOSAHEDRON, ATOM) - ✅ Sistema polimórfico de shapes con herencia virtual ### 2025-10-02 (Sesión 1) - ✅ Migración desde vibe1_delta - ✅ Sistema de gravedad direccional (4 direcciones) - ✅ Coeficientes de rebote variables (0.30-0.95) - ✅ 5 temas de colores iniciales --- **Última actualización:** 2025-10-04