36bc1f3f48519f4e323c1bebfd9c3434ffd0a92f
- Éxitos: C++20 modules funcionales (core, themes) - Problemas: Conflictos SDL con archivos externos - Soluciones: Enfoque híbrido includes+modules - Recomendaciones: Headers tradicionales para vibe3_physics - Métricas de tiempo y resultados obtenidos Documento para preservar conocimiento entre sesiones 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
ViBe2 Modules - Simulador de Sprites con Física Modular
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
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++.
Description
Simulador de física con sprites rebotantes desarrollado en C++20/SDL3. Evolución modularizada de vibe1_delta con temas visuales, optimizaciones de renderizado y experimentos con módulos C++20.
Languages
C++
95.7%
CMake
4.3%