d2e7f2ff86
refactor(gpu): eliminar GPU compute boids (prevé crash macOS)
...
Elimina el kernel Metal O(N²) de boids en GPU que causava GPU timeout
a macOS amb >50K boles, arrossegant WindowServer fins al crash.
- Elimina gpu_boid_buffer.hpp/cpp (GpuBoidBuffer, BallComputeData, BoidParams)
- Elimina kBoidComputeMSL i kBallComputeVertMSL de gpu_pipeline
- Elimina boid_compute_pipeline_ i ball_compute_pipeline_
- Elimina use_gpu_boids_, boid_params_, ball_screen_uniforms_ de Engine
- Elimina syncAndExitGpuBoids() i tot el compute dispatch de render()
- Mode BOIDS ara usa sempre boid_manager_ (CPU, spatial hash O(N))
i renderitza via gpu_ball_buffer_ instanced (mateix path que PHYSICS)
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-03-20 08:45:01 +01:00
dfbd8a430b
afegit escenari personalitzat per parametre
2026-03-11 22:44:17 +01:00
ea27a771ab
benchmark inicial per a determinar modes de baix rendiment
...
ajustats escenaris maxims i minims per als diferents modes automatics
2026-03-11 20:30:32 +01:00
ce5c4681b8
afegit mode kiosko
2026-03-11 19:14:22 +01:00
1a555e03f7
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 >
2025-10-25 10:22:25 +02:00
a9d7b66e83
Refactorizar estilo del proyecto: .h → .hpp, #pragma once, includes desde raíz
...
Modernizar convenciones de código C++ aplicando las siguientes directivas:
## Cambios principales
**1. Renombrar headers (.h → .hpp)**
- 36 archivos renombrados a extensión .hpp (estándar C++)
- Mantenidos como .h: stb_image.h, stb_image_resize2.h (librerías C externas)
**2. Modernizar include guards (#ifndef → #pragma once)**
- resource_manager.hpp: #ifndef RESOURCE_MANAGER_H → #pragma once
- resource_pack.hpp: #ifndef RESOURCE_PACK_H → #pragma once
- spatial_grid.hpp: #ifndef SPATIAL_GRID_H → #pragma once
**3. Sistema de includes desde raíz del proyecto**
- CMakeLists.txt: añadido include_directories(${CMAKE_SOURCE_DIR}/source)
- Eliminadas rutas relativas (../) en todos los includes
- Includes ahora usan rutas absolutas desde source/
**Antes:**
```cpp
#include "../defines.h"
#include "../text/textrenderer.h"
```
**Ahora:**
```cpp
#include "defines.hpp"
#include "text/textrenderer.hpp"
```
## Archivos afectados
- 1 archivo CMakeLists.txt modificado
- 36 archivos renombrados (.h → .hpp)
- 32 archivos .cpp actualizados (includes)
- 36 archivos .hpp actualizados (includes + guards)
- 1 archivo tools/ actualizado
**Total: 70 archivos modificados**
## Verificación
✅ Proyecto compila sin errores
✅ Todas las rutas de includes correctas
✅ Include guards modernizados
✅ Librerías externas C mantienen extensión .h
🤖 Generated with [Claude Code](https://claude.com/claude-code )
Co-Authored-By: Claude <noreply@anthropic.com >
2025-10-23 13:49:58 +02:00