95ab6dea46
- Fondo negro degradado (similar a NEON) - 8 tonos de gris: blanco puro a gris muy oscuro - Estética minimalista monocromática - Ciclo con tecla B incluye nuevo tema - Actualizado README con documentación 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
112 lines
3.2 KiB
Markdown
112 lines
3.2 KiB
Markdown
# ROADMAP - ViBe3 Physics
|
|
|
|
## Estado Actual ✅
|
|
|
|
### Figuras 3D (8/8 Completadas)
|
|
- ✅ Q - SPHERE (Esfera Fibonacci)
|
|
- ✅ W - WAVE_GRID (Malla ondeante)
|
|
- ✅ E - HELIX (Espiral helicoidal)
|
|
- ✅ R - TORUS (Toroide/donut)
|
|
- ✅ T - CUBE (Cubo rotante)
|
|
- ✅ Y - CYLINDER (Cilindro)
|
|
- ✅ U - ICOSAHEDRON (Icosaedro D20)
|
|
- ✅ I - ATOM (Núcleo + órbitas)
|
|
|
|
### Temas Visuales (5/6)
|
|
- ✅ SUNSET (Atardecer)
|
|
- ✅ OCEAN (Océano)
|
|
- ✅ NEON (Neón vibrante)
|
|
- ✅ FOREST (Bosque)
|
|
- ✅ RGB (Círculo cromático matemático)
|
|
- ⏳ MONOCHROME (Monocromo - próximo)
|
|
|
|
---
|
|
|
|
## 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
|
|
**Prioridad:** Media
|
|
**Estimación:** 1 hora
|
|
**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)
|
|
**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
|
|
|
|
### 5. ⏳ 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
|
|
|
|
---
|
|
|
|
**Última actualización:** 2025-10-04
|