- 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>
2.1 KiB
2.1 KiB
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
-
Configuracion inicial
- Reestructurar codigo: movido utilidades a
source/external/ - Filtro nearest neighbor para texturas pixel-perfect
- Compilacion funcionando (Make y CMake)
- Reestructurar codigo: movido utilidades a
-
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)
-
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:
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
- Sistema timing independiente
- Bucle desacoplado logica vs renderizado
- Interpolacion para renderizado suave
- Optimizaciones rendimiento
Archivo de seguimiento para sesiones Claude Code