diff --git a/source/defines.h b/source/defines.h index e86dfef..a3177e2 100644 --- a/source/defines.h +++ b/source/defines.h @@ -218,6 +218,7 @@ constexpr int LOGO_WEIGHT_TOGGLE_PHYSICS = 100; // Único peso: alternar S // Sistema de convergencia para LOGO MODE (evita interrupciones prematuras en resoluciones altas) constexpr float LOGO_CONVERGENCE_MIN = 0.75f; // 75% mínimo (permite algo de movimiento al disparar) constexpr float LOGO_CONVERGENCE_MAX = 1.00f; // 100% máximo (completamente formado) +constexpr float LOGO_CONVERGENCE_DISTANCE = 20.0f; // Distancia (px) para considerar pelota "convergida" (más permisivo que SHAPE_NEAR) // Probabilidad de salto a Logo Mode desde DEMO/DEMO_LITE (%) // Relación DEMO:LOGO = 6:1 (pasa 6x más tiempo en DEMO que en LOGO) diff --git a/source/engine.cpp b/source/engine.cpp index f27912a..9002790 100644 --- a/source/engine.cpp +++ b/source/engine.cpp @@ -2148,7 +2148,7 @@ void Engine::updateShape() { // Calcular convergencia en LOGO MODE (% de pelotas cerca de su objetivo) if (current_app_mode_ == AppMode::LOGO && current_mode_ == SimulationMode::SHAPE) { int balls_near = 0; - float distance_threshold = SHAPE_NEAR_THRESHOLD * scale_factor; + float distance_threshold = LOGO_CONVERGENCE_DISTANCE; // 20px fijo (más permisivo) for (const auto& ball : balls_) { if (ball->getDistanceToTarget() < distance_threshold) {