Problemas resueltos:
- En 640x360, el overlay generaba textura enorme con letras grandes
- El cálculo de font size usaba dimensiones físicas (con zoom aplicado)
en lugar de dimensiones lógicas (resolución interna)
- No había límite máximo de ancho para el overlay
- Padding fijo de 25px era excesivo en pantallas pequeñas
Cambios realizados:
1. UIManager: Usar dimensiones lógicas para calcular font size
- Nuevo parámetro logical_width/logical_height en initialize()
- calculateFontSize() ahora usa altura lógica sin zoom
- Escalado híbrido: proporcional en extremos, escalonado en rango medio
- Para 640x360: 10px (antes 18px con zoom 2x)
- Para 640x480: 12px (antes 24px con zoom 2x)
2. HelpOverlay: Agregar límites máximos de dimensiones
- Box width limitado al 95% del ancho físico
- Box height limitado al 90% de la altura física
- Padding dinámico: 25px para >=600px, escalado para menores
- Para 360px altura: padding de 15px (antes 25px fijo)
3. Engine: Pasar dimensiones lógicas a UIManager
- initialize() ahora recibe current_screen_width/height
Resultado:
- 640x360: Overlay compacto con fuente 10px que cabe en pantalla
- 640x480: Overlay con fuente 12px (tamaño apropiado)
- Tamaño de fuente consistente independiente del zoom de ventana
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>