diff --git a/ROADMAP.md b/ROADMAP.md index 92a5599..ccd0644 100644 --- a/ROADMAP.md +++ b/ROADMAP.md @@ -4,59 +4,59 @@ ### Figuras 3D (8/8 Completadas) - ✅ Q - SPHERE (Esfera Fibonacci) -- ✅ W - WAVE_GRID (Malla ondeante) +- ✅ W - WAVE_GRID (Malla ondeante) - ⚠️ Necesita mejora de movimiento - ✅ E - HELIX (Espiral helicoidal) - ✅ R - TORUS (Toroide/donut) - ✅ T - CUBE (Cubo rotante) -- ✅ Y - CYLINDER (Cilindro) +- ✅ Y - CYLINDER (Cilindro) - ⚠️ Necesita rotación multi-eje - ✅ U - ICOSAHEDRON (Icosaedro D20) - ✅ I - ATOM (Núcleo + órbitas) -### Temas Visuales (5/6) +### 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 - próximo) +- ✅ 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. ⏳ Tema MONOCHROME -**Descripción:** Tema monocromo con fondo negro degradado y sprites blancos sin colorear -**Prioridad:** Alta -**Estimación:** 30 minutos -**Detalles:** -- Fondo negro degradado (similar a NEON) -- Sprites base color blanco (255, 255, 255) -- Solo modulación de depth (brillo), sin cambio de hue -- Tecla KP_6 para selección directa - -### 2. ⏳ Cambio de Tema con LERP -**Descripción:** Transición suave entre temas sin reiniciar escenario -**Prioridad:** Alta -**Estimación:** 1 hora -**Detalles:** -- Interpolación lineal (LERP) de colores RGB -- Transición gradual de 0.5-1.0 segundos -- Mantener pelotas existentes, solo cambiar colores -- Fondo degradado también con LERP -- No llamar a `initBalls()`, solo actualizar colores - -### 3. ⏳ Cambio de Textura en Caliente -**Descripción:** Cambiar sprite/textura sin resetear física +### 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 hora +**Estimación:** 1.5 horas **Detalles:** -- Sistema de gestión de múltiples texturas -- Cargar texturas al inicio (ball.png, ball_small.png, etc.) -- Actualizar collision box dinámicamente según tamaño -- Tecla dedicada (ej: `N`) para ciclar texturas -- Mantener física actual, solo cambiar render -### 4. ⏳ Modo DEMO (Auto-play) +#### 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 @@ -68,7 +68,7 @@ - Pausable con cualquier tecla de usuario - Indicador visual "DEMO MODE" en pantalla -### 5. ⏳ Sistema de Release +### 3. ⏳ Sistema de Release **Descripción:** Empaquetado para distribución standalone **Prioridad:** Media **Estimación:** 30 minutos @@ -108,4 +108,26 @@ --- +## 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