Correcciones críticas para overlay en fullscreen y padding:
1. Fullscreen/resize roto CORREGIDO:
- Problema: orden incorrecto de actualizaciones causaba mezcla de
dimensiones antiguas (800x600) con font nuevo (24px)
- Solución: nuevo método updateAll() que actualiza font Y dimensiones
de forma atómica
- Flujo correcto: dimensiones físicas → font → recalcular box
- Antes: overlay gigante y descuadrado al cambiar fullscreen
- Ahora: overlay se reposiciona y escala correctamente
2. Padding inferior inexistente CORREGIDO:
- Problema: calculateTextDimensions() usaba num_lines/2 asumiendo
división perfecta entre columnas
- Problema 2: rebuildCachedTexture() no verificaba límite inferior
en columna 1
- Solución: contar líneas REALES en cada columna y usar el máximo
- Fórmula correcta: line_height*2 + max_column_lines*line_height + padding*2
- Ahora: padding inferior respetado siempre
3. Implementación técnica:
- HelpOverlay::updateAll(font, width, height) nuevo método unificado
- UIManager llama updateAll() en lugar de reinitializeFontSize() +
updatePhysicalWindowSize() separadamente
- Elimina race condition entre actualización de font y dimensiones
Resultado:
- F3/F4 (fullscreen) funciona correctamente
- Resize ventana (F1/F2) funciona correctamente
- Padding inferior respetado en ambas columnas
- Sin overlays gigantes o descuadrados
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
15 KiB
15 KiB