// palette.hpp - Paleta semàntica per tipus d'entitat
// © 2026 JailDesigner

#pragma once

#include <SDL3/SDL.h>

// Paleta semántica por tipo de entidad. Si una entity declara color, lo
// pasa al pipeline con alpha=255 (sentinela "color válido"); si no, se
// usa el color global del oscilador (g_current_line_color).
namespace Defaults::Palette {

    // Paleta neon: pujada lleugera dels canals secundaris per millorar la
    // brillantor perceptual sota el bloom (sense alterar la identitat de color).
    // El canal dominant es manté a 255 a cada color per maximitzar la saturació
    // visible quan el halo s'expandeix.
    constexpr SDL_Color SHIP = {.r = 255, .g = 255, .b = 255, .a = 255};     // Blanco neutro
    constexpr SDL_Color BULLET = {.r = 155, .g = 255, .b = 175, .a = 255};   // Verde laser
    constexpr SDL_Color PENTAGON = {.r = 0, .g = 255, .b = 255, .a = 255};   // Cyan pur "esquivador"
    constexpr SDL_Color QUADRAT = {.r = 255, .g = 0, .b = 0, .a = 255};      // Roig pur "tank"
    constexpr SDL_Color MOLINILLO = {.r = 255, .g = 0, .b = 255, .a = 255};  // Magenta pur "agressiu"
    constexpr SDL_Color WOUNDED = {.r = 255, .g = 220, .b = 60, .a = 255};   // Dorado: enemigo herido

}  // namespace Defaults::Palette
