Commit inicial: Configuración del proyecto vibe2_modules

Renombrado de vibe1_delta a vibe2_modules para aprendizaje de modularización.
- Actualizado nombre del proyecto en CMakeLists.txt
- Cambiado título de ventana a vibe2_modules
- Actualizado .gitignore con nuevos nombres de ejecutables y añadido .claude/
- Cambiada ruta de resources a data/ball.png
- Añadido README completo explicando propósito y fases del proyecto

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
2025-09-17 21:05:34 +02:00
commit 34a0e0505b
16 changed files with 9260 additions and 0 deletions

71
README.md Normal file
View File

@@ -0,0 +1,71 @@
# vibe2_modules
## Propósito del Proyecto
Este proyecto es una evolución de **vibe1_delta**, diseñado específicamente para **aprender y practicar la modularización de código**. El objetivo principal es tomar el código monolítico existente y reestructurarlo en módulos bien organizados.
### Fases del Proyecto
#### Fase 1: Modularización (Actual)
- **Objetivo**: Convertir el código monolítico en una arquitectura modular
- **Meta de aprendizaje**: Entender cómo estructurar proyectos C++ en módulos coherentes
- **Beneficios esperados**:
- Código más mantenible y legible
- Mejor separación de responsabilidades
- Facilitar futuras extensiones y modificaciones
#### Fase 2: Nuevas Características (Futura)
- **Objetivo**: Añadir características divertidas a la demo de física
- **Prerrequisito**: Completar la modularización
- **Ideas potenciales**: Por definir después de la modularización
## Descripción Técnica
**vibe2_modules** es una simulación de física de pelotas rebotando desarrollada con:
- **SDL3**: Para renderizado y manejo de ventanas
- **C++20**: Estándar moderno de C++
- **CMake**: Sistema de construcción
- **Física con Delta Time**: Sistema de tiempo independiente del framerate
### Características Actuales
-**Múltiples temas visuales**: ATARDECER, OCÉANO, NEÓN, BOSQUE
- 🎮 **Escenarios configurables**: 1 a 100,000 pelotas
-**Optimizaciones**: Batch rendering para alto rendimiento
- 🎨 **Efectos visuales**: Fondos degradados y paletas de colores temáticas
- 🔧 **Debug integrado**: Contador FPS, información de física, controles V-Sync
### Controles
- **1-8**: Cambiar número de pelotas (1, 10, 100, 500, 1K, 10K, 50K, 100K)
- **T**: Ciclar entre temas / **F1-F4**: Seleccionar tema específico
- **ESPACIO**: Impulsar pelotas hacia arriba
- **G**: Invertir gravedad
- **V**: Alternar V-Sync
- **H**: Mostrar/ocultar información de debug
- **ESC**: Salir
## Construcción
```bash
mkdir build && cd build
cmake ..
make
```
## Estructura Objetivo (Post-Modularización)
```
vibe2_modules/
├── source/
│ ├── core/ # Funcionalidades básicas
│ ├── physics/ # Sistema de física
│ ├── rendering/ # Sistema de renderizado
│ ├── input/ # Manejo de entrada
│ ├── themes/ # Sistema de temas
│ └── external/ # Bibliotecas externas
├── data/ # Recursos (texturas, assets)
└── build/ # Archivos de construcción
```
---
*Este proyecto forma parte del aprendizaje de arquitectura de software y buenas prácticas en C++.*