Fix: Mejorar escalado de fuentes para resoluciones altas y actualizar .gitignore

Problemas resueltos:
- Texto demasiado pequeño en resoluciones 2K/4K (1440p mostraba 36-41px)
- Archivos generados (resources.pack, *.zip) siendo versionados
- Carpetas temporales de empaquetado sin ignorar

Cambios realizados:

1. UIManager: Escalado más agresivo para resoluciones altas
   - Proporción mejorada: 1/40 → 1/26 (incremento ~35%)
   - Límite máximo: 36px → 72px
   - Resultados: 1080p→42px, 1440p→55px, 2160p→72px
   - Resoluciones bajas sin cambios (10-18px)

2. .gitignore: Excluir archivos generados y temporales
   - resources.pack (archivo empaquetado)
   - Archivos de distribución (*.zip, *.dmg, *.tar.gz, *.AppImage)
   - Carpetas temporales (vibe3_release/, Frameworks/)
   - Binarios de herramientas (tools/*.exe)

3. defines.hpp: Resolución por defecto actualizada
   - 640x360 (zoom 2x) → 1280x720 (zoom 1x)

Resultado:
- Texto significativamente más legible en pantallas grandes
- Repositorio limpio sin archivos generados

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
2025-10-25 10:22:25 +02:00
parent af3ed6c2b3
commit 1a555e03f7
5 changed files with 27 additions and 10 deletions

17
.gitignore vendored
View File

@@ -94,3 +94,20 @@ Thumbs.db
# Claude Code
.claude/
# Archivos de recursos empaquetados
resources.pack
# Archivos de distribución (resultados de release)
*.zip
*.dmg
*.tar.gz
*.AppImage
# Carpetas temporales de empaquetado
vibe3_release/
Frameworks/
# Binarios de herramientas
tools/pack_resources
tools/*.exe

Binary file not shown.

View File

@@ -8,9 +8,9 @@
constexpr char WINDOW_CAPTION[] = "ViBe3 Physics (JailDesigner 2025)";
// Resolución por defecto (usada si no se especifica en CLI)
constexpr int DEFAULT_SCREEN_WIDTH = 640; // Ancho lógico por defecto (si no hay -w)
constexpr int DEFAULT_SCREEN_HEIGHT = 360; // Alto lógico por defecto (si no hay -h)
constexpr int DEFAULT_WINDOW_ZOOM = 2; // Zoom inicial de ventana (1x = sin zoom)
constexpr int DEFAULT_SCREEN_WIDTH = 1280; // Ancho lógico por defecto (si no hay -w)
constexpr int DEFAULT_SCREEN_HEIGHT = 720; // Alto lógico por defecto (si no hay -h)
constexpr int DEFAULT_WINDOW_ZOOM = 1; // Zoom inicial de ventana (1x = sin zoom)
// Configuración de zoom dinámico de ventana
constexpr int WINDOW_ZOOM_MIN = 1; // Zoom mínimo (320x240)

View File

@@ -436,13 +436,13 @@ int UIManager::calculateFontSize(int logical_height) const {
// Rango medio-alto (700-899px) → 18px
font_size = 18;
} else {
// Rango alto: proporcional (1080px→27, 1440px→36)
font_size = logical_height / 40;
// Rango alto: proporcional (1080px→42, 1440px→55, 2160px→72)
font_size = logical_height / 26;
}
// Aplicar límites: mínimo 9px, máximo 36px
// Aplicar límites: mínimo 9px, máximo 72px
if (font_size < 9) font_size = 9;
if (font_size > 36) font_size = 36;
if (font_size > 72) font_size = 72;
return font_size;
}

View File

@@ -153,7 +153,7 @@ class UIManager {
/**
* @brief Calcula tamaño de fuente apropiado según dimensiones lógicas
* @param logical_height Alto lógico (resolución interna, sin zoom)
* @return Tamaño de fuente (9-36px)
* @return Tamaño de fuente (9-72px)
*/
int calculateFontSize(int logical_height) const;
@@ -182,5 +182,5 @@ class UIManager {
int logical_window_height_; // Alto lógico (resolución interna)
// === Sistema de escalado dinámico de texto ===
int current_font_size_; // Tamaño de fuente actual (9-36px)
int current_font_size_; // Tamaño de fuente actual (9-72px)
};