Sistema de convergencia para LOGO MODE (resolución escalable)
Implementa sistema adaptativo que evita interrupciones prematuras en resoluciones altas. El timing ahora se ajusta según convergencia de partículas en lugar de usar intervalos fijos. Cambios: - Ball: getDistanceToTarget() para medir distancia a objetivo - Engine: shape_convergence_, logo_convergence_threshold_ y tiempos escalados - defines.h: LOGO_CONVERGENCE_MIN/MAX (75-100%) - updateShape(): Cálculo de % de pelotas convergidas - toggleShapeMode(): Genera threshold aleatorio al entrar en LOGO - setState(): Escala logo_min/max_time con resolución (base 720p) - updateDemoMode(): Dispara cuando (tiempo>=MIN AND convergencia>=threshold) OR tiempo>=MAX Funcionamiento: 1. Al entrar a SHAPE en LOGO: threshold random 75-100%, tiempos escalados con altura 2. Cada frame: calcula % pelotas cerca de objetivo (shape_convergence_) 3. Dispara acción cuando: (tiempo>=MIN AND convergencia>=threshold) OR tiempo>=MAX 4. Resultado: En 720p funciona como antes, en 1440p espera convergencia real 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
@@ -113,6 +113,12 @@ class Engine {
|
||||
float demo_timer_ = 0.0f; // Contador de tiempo para próxima acción
|
||||
float demo_next_action_time_ = 0.0f; // Tiempo aleatorio hasta próxima acción (segundos)
|
||||
|
||||
// Sistema de convergencia para LOGO MODE (escala con resolución)
|
||||
float shape_convergence_ = 0.0f; // % de pelotas cerca del objetivo (0.0-1.0)
|
||||
float logo_convergence_threshold_ = 0.90f; // Threshold aleatorio (75-100%)
|
||||
float logo_min_time_ = 3.0f; // Tiempo mínimo escalado con resolución
|
||||
float logo_max_time_ = 5.0f; // Tiempo máximo escalado (backup)
|
||||
|
||||
// Estado previo antes de entrar a Logo Mode (para restaurar al salir)
|
||||
ColorTheme logo_previous_theme_ = ColorTheme::SUNSET;
|
||||
size_t logo_previous_texture_index_ = 0;
|
||||
|
||||
Reference in New Issue
Block a user