6980d4e876
Cambios en Estado Actual: - Marcar CYLINDER y WAVE_GRID con advertencias de mejora - Actualizar Temas Visuales: 6/6 completadas - Añadir sección de Sistemas de Presentación Nueva sección: Mejorar Animaciones de Figuras 3D - CYLINDER: Rotación multi-eje con tumbling periódico - WAVE_GRID: Vista frontal paralela con pivoteo sutil - Implementación técnica con rotation_mode y estados Historial de Cambios: - Documentar logros de sesión actual (MONOCHROME, LERP, hot-swap) - Añadir sesiones anteriores para contexto 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
134 lines
4.3 KiB
Markdown
134 lines
4.3 KiB
Markdown
# 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
|