#pragma once constexpr char WINDOW_CAPTION[] = "vibe3_physics"; constexpr int SCREEN_WIDTH = 320; constexpr int SCREEN_HEIGHT = 240; constexpr int WINDOW_SIZE = 3; constexpr int BALL_SIZE = 10; constexpr float GRAVITY_FORCE = 0.2f; // DEMO_SPEED eliminado - ya no se usa con delta time constexpr Uint64 TEXT_DURATION = 2000; // Configuración de variación aleatoria en rebotes constexpr float BASE_BOUNCE_COEFFICIENT = 0.75f; // Coeficiente base IGUAL para todas las pelotas constexpr float BOUNCE_VARIATION_PERCENT = 0.05f; // ±5% variación en cada rebote constexpr float LATERAL_LOSS_PERCENT = 0.02f; // ±2% pérdida lateral en rebotes struct Color { int r, g, b; }; // Enum para dirección de gravedad enum class GravityDirection { DOWN, // ↓ Gravedad hacia abajo (por defecto) UP, // ↑ Gravedad hacia arriba LEFT, // ← Gravedad hacia la izquierda RIGHT // → Gravedad hacia la derecha }; // Enum para temas de colores enum class ColorTheme { SUNSET = 0, OCEAN = 1, NEON = 2, FOREST = 3 };