// hud.hpp - Configuració visual del HUD (marcador, etc.)
// © 2026 JailDesigner

#pragma once

#include <SDL3/SDL.h>

namespace Defaults::Hud {

    // Marcador (scoreboard inferior). Usado por GameScene::drawScoreboard()
    // y por la animación de entrada en init_hud_animator.
    constexpr float SCOREBOARD_TEXT_SCALE = 0.85F;
    constexpr float SCOREBOARD_TEXT_SPACING = 0.0F;

    // Animación de entrada del HUD (init_hud_animator).
    namespace InitAnim {
        // Spawn vertical de la nave: 50 px bajo la PLAYAREA (sale desde fuera).
        constexpr float SHIP_SPAWN_Y_OFFSET = 50.0F;

        // Bordes: ratios de las tres fases (top → laterales → bottom).
        constexpr float BORDER_PHASE_1_END = 0.33F;  // Fin de la fase top
        constexpr float BORDER_PHASE_2_END = 0.66F;  // Fin de la fase laterales
    }  // namespace InitAnim

    // Indicadores ("tips") sobre los enemigos enganchados a la nave.
    // Offset local al frame de la nave (apunta hacia delante, eje Y negativo).
    namespace Tips {
        constexpr float LOCAL_X = 0.0F;
        constexpr float LOCAL_Y = -12.0F;
    }  // namespace Tips

    // Overlay de debug (FPS, métriques) en coordenades lògiques (1280×720).
    namespace DebugOverlay {
        constexpr float X = 30.0F;
        constexpr float Y_FPS = 24.0F;
        constexpr float LINE_HEIGHT = 18.0F;  // separació entre línies (scale 0.4 → ~16 px alt)
        constexpr float TEXT_SCALE = 0.4F;
        constexpr float TEXT_SPACING = 2.0F;
        constexpr float BRIGHTNESS = 1.0F;
        constexpr float FPS_UPDATE_INTERVAL = 0.5F;                          // Cadencia d'actualització del FPS visible
        constexpr SDL_Color COLOR = {.r = 255, .g = 215, .b = 0, .a = 255};  // #FFD700 — daurat
    }  // namespace DebugOverlay

}  // namespace Defaults::Hud
