feat: Argumentos CLI para establecer AppMode inicial
Permite arrancar directamente en modo DEMO, DEMO_LITE, LOGO o SANDBOX mediante argumentos de línea de comandos, eliminando necesidad de cambiar manualmente el modo después del arranque. Nuevos argumentos: - `-m, --mode <mode>` - Establece modo inicial - `sandbox` - Control manual (default) - `demo` - Auto-play completo (figuras + temas + colisiones) - `demo-lite` - Auto-play simple (solo física/figuras) - `logo` - Modo logo (easter egg con convergencia) Ejemplos de uso: ```bash # Arrancar en modo DEMO ./vibe3_physics --mode demo ./vibe3_physics -m demo # Arrancar en DEMO_LITE (solo física) ./vibe3_physics -m demo-lite # Arrancar directo en LOGO ./vibe3_physics --mode logo # Combinar con otros argumentos ./vibe3_physics -w 1920 -h 1080 --mode demo ./vibe3_physics -F -m demo-lite # Fullscreen + DEMO_LITE ``` Implementación: 1. main.cpp: Parsing de argumento --mode con validación 2. engine.h: Nuevo parámetro `initial_mode` en initialize() 3. engine.cpp: Aplicación del modo vía StateManager::setState() Si no se especifica --mode, se usa SANDBOX (comportamiento actual). El modo se aplica después de inicializar StateManager, garantizando que todos los componentes estén listos antes del cambio de estado. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
@@ -289,9 +289,9 @@ constexpr float LOGO_FLIP_TRIGGER_MAX = 0.80f; // 80% máximo de progres
|
||||
constexpr int LOGO_FLIP_WAIT_PROBABILITY = 50; // 50% probabilidad de elegir el camino "esperar flip"
|
||||
|
||||
// Configuración de AppLogo (logo periódico en pantalla)
|
||||
constexpr float APPLOGO_DISPLAY_INTERVAL = 20.0f; // Intervalo entre apariciones del logo (segundos)
|
||||
constexpr float APPLOGO_DISPLAY_DURATION = 5.0f; // Duración de visibilidad del logo (segundos)
|
||||
constexpr float APPLOGO_FADE_DURATION = 0.5f; // Duración del fade in/out (segundos)
|
||||
constexpr float APPLOGO_DISPLAY_INTERVAL = 5.0f; // Intervalo entre apariciones del logo (segundos)
|
||||
constexpr float APPLOGO_DISPLAY_DURATION = 10.0f; // Duración de visibilidad del logo (segundos)
|
||||
constexpr float APPLOGO_FADE_DURATION = 1.9f; // Duración del fade in/out (segundos)
|
||||
constexpr float APPLOGO_HEIGHT_PERCENT = 0.4f; // Altura del logo = 40% de la altura de pantalla
|
||||
constexpr float APPLOGO_PADDING_PERCENT = 0.1f; // Padding desde esquina inferior-derecha = 10%
|
||||
constexpr float APPLOGO_LOGO2_DELAY = 0.25f; // Retraso de Logo 2 respecto a Logo 1 (segundos)
|
||||
|
||||
Reference in New Issue
Block a user