- Añadir contador FPS en esquina superior derecha (amarillo) - Implementar control V-Sync con tecla V (ON/OFF) - Mostrar estado V-Sync en esquina superior izquierda (cian) - Aplicar filtro nearest neighbor a texturas de texto - Crear archivo CLAUDE.md para seguimiento de desarrollo - Actualizar README.md con nueva funcionalidad y controles - Corregir codificacion de caracteres en README (eliminar simbolos extraños) - Documentar sistema de metricas en tiempo real 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
76 lines
2.1 KiB
Markdown
76 lines
2.1 KiB
Markdown
# Claude Code Session - ViBe1 Delta
|
|
|
|
## Estado del Proyecto
|
|
|
|
**Proyecto:** ViBe1 Delta - Simulador de sprites con fisica
|
|
**Objetivo:** Implementar delta time para separar bucle de proceso del de renderizado
|
|
|
|
## Progreso Actual
|
|
|
|
### ✅ Completado
|
|
|
|
1. **Configuracion inicial**
|
|
- Reestructurar codigo: movido utilidades a `source/external/`
|
|
- Filtro nearest neighbor para texturas pixel-perfect
|
|
- Compilacion funcionando (Make y CMake)
|
|
|
|
2. **Sistema de metricas**
|
|
- Contador FPS en esquina superior derecha (amarillo)
|
|
- Control V-Sync con tecla "V" (ON/OFF)
|
|
- Display V-Sync en esquina superior izquierda (cian)
|
|
|
|
3. **Mejoras visuales**
|
|
- Tamaño pelota: 8x8 → 10x10 pixels
|
|
- Fondo aclarado: (32,32,32) → (64,64,64)
|
|
- Textura pelota redibujada con mejor calidad
|
|
|
|
### 🚧 En Proceso
|
|
|
|
- **Proximos pasos:** Implementar sistema delta time
|
|
- **Problema detectado:** Caracteres extraños en README.md (encoding)
|
|
|
|
### 📋 Controles Actuales
|
|
|
|
| Tecla | Accion |
|
|
|-------|---------|
|
|
| V | Alternar V-Sync ON/OFF |
|
|
| 1-8 | Cambiar numero de pelotas (1 a 100,000) |
|
|
| ESPACIO | Impulsar pelotas hacia arriba |
|
|
| G | Alternar direccion gravedad |
|
|
| ESC | Salir |
|
|
|
|
## Arquitectura Actual
|
|
|
|
```
|
|
source/
|
|
├── main.cpp # Bucle principal + FPS/V-Sync
|
|
├── ball.h/.cpp # Logica fisica pelotas
|
|
├── defines.h # Constantes (BALL_SIZE=10)
|
|
└── external/ # Utilidades externas
|
|
├── texture.h/.cpp # Gestion texturas + nearest filter
|
|
├── sprite.h/.cpp # Sistema sprites
|
|
├── dbgtxt.h # Debug text + nearest filter
|
|
└── stb_image.h # Carga imagenes
|
|
```
|
|
|
|
## Bucket Actual: FPS Acoplado
|
|
|
|
El sistema usa bucle acoplado a 60 FPS:
|
|
```cpp
|
|
if (SDL_GetTicks() - ticks > DEMO_SPEED) { // 16.67ms
|
|
// Solo aqui se actualiza fisica
|
|
}
|
|
```
|
|
|
|
**Problema:** Fisica dependiente del framerate → Inconsistencia cross-platform
|
|
|
|
## Delta Time - Plan de Implementacion
|
|
|
|
1. **Sistema timing independiente**
|
|
2. **Bucle desacoplado** logica vs renderizado
|
|
3. **Interpolacion** para renderizado suave
|
|
4. **Optimizaciones** rendimiento
|
|
|
|
---
|
|
|
|
*Archivo de seguimiento para sesiones Claude Code* |