const zm = @import("zmath");

pub const Byte = struct {
    // Custom raylib color palette for amazing visuals on WHITE background
    pub const light_gray = [_]u8{ 200, 200, 200, 255 }; // Light Gray
    pub const gray = [_]u8{ 130, 130, 130, 255 }; // Gray
    pub const dark_gray = [_]u8{ 80, 80, 80, 255 }; // Dark Gray
    pub const yellow = [_]u8{ 253, 249, 0, 255 }; // Yellow
    pub const gold = [_]u8{ 255, 203, 0, 255 }; // Gold
    pub const orange = [_]u8{ 255, 161, 0, 255 }; // Orange
    pub const pink = [_]u8{ 255, 109, 194, 255 }; // Pink
    pub const red = [_]u8{ 230, 41, 55, 255 }; // Red
    pub const maroon = [_]u8{ 190, 33, 55, 255 }; // Maroon
    pub const green = [_]u8{ 0, 228, 48, 255 }; // Green
    pub const lime = [_]u8{ 0, 158, 47, 255 }; // Lime
    pub const dark_green = [_]u8{ 0, 117, 44, 255 }; // Dark Green
    pub const sky_blue = [_]u8{ 102, 191, 255, 255 }; // Sky Blue
    pub const blue = [_]u8{ 0, 121, 241, 255 }; // Blue
    pub const dark_blue = [_]u8{ 0, 82, 172, 255 }; // Dark Blue
    pub const purple = [_]u8{ 200, 122, 255, 255 }; // Purple
    pub const violet = [_]u8{ 135, 60, 190, 255 }; // Violet
    pub const dark_purple = [_]u8{ 112, 31, 126, 255 }; // Dark Purple
    pub const beige = [_]u8{ 211, 176, 131, 255 }; // Beige
    pub const brown = [_]u8{ 127, 106, 79, 255 }; // Brown
    pub const dark_brown = [_]u8{ 76, 63, 47, 255 }; // Dark Brown

    pub const white = [_]u8{ 255, 255, 255, 255 }; // White
    pub const black = [_]u8{ 0, 0, 0, 255 }; // Black
    pub const blank = [_]u8{ 0, 0, 0, 0 }; // Blank (Transparent)
    pub const magenta = [_]u8{ 255, 0, 255, 255 }; // Magenta
    pub const ray_white = [_]u8{ 245, 245, 245, 255 }; // Raylib whire (raylib logo)
};

pub const Float = struct {
    // Custom raylib color palette for amazing visuals on WHITE background
    pub const light_gray = zm.normalize4(zm.f32x4(200, 200, 200, 255)); // Light Gray
    pub const gray = zm.normalize4(zm.f32x4(130, 130, 130, 255)); // Gray
    pub const dark_gray = zm.normalize4(zm.f32x4(80, 80, 80, 255)); // Dark Gray
    pub const yellow = zm.normalize4(zm.f32x4(253, 249, 0, 255)); // Yellow
    pub const gold = zm.normalize4(zm.f32x4(255, 203, 0, 255)); // Gold
    pub const orange = zm.normalize4(zm.f32x4(255, 161, 0, 255)); // Orange
    pub const pink = zm.normalize4(zm.f32x4(255, 109, 194, 255)); // Pink
    pub const red = zm.normalize4(zm.f32x4(230, 41, 55, 255)); // Red
    pub const maroon = zm.normalize4(zm.f32x4(190, 33, 55, 255)); // Maroon
    pub const green = zm.normalize4(zm.f32x4(0, 228, 48, 255)); // Green
    pub const lime = zm.normalize4(zm.f32x4(0, 158, 47, 255)); // Lime
    pub const dark_green = zm.normalize4(zm.f32x4(0, 117, 44, 255)); // Dark Green
    pub const sky_blue = zm.normalize4(zm.f32x4(102, 191, 255, 255)); // Sky Blue
    pub const blue = zm.normalize4(zm.f32x4(0, 121, 241, 255)); // Blue
    pub const dark_blue = zm.normalize4(zm.f32x4(0, 82, 172, 255)); // Dark Blue
    pub const purple = zm.normalize4(zm.f32x4(200, 122, 255, 255)); // Purple
    pub const violet = zm.normalize4(zm.f32x4(135, 60, 190, 255)); // Violet
    pub const dark_purple = zm.normalize4(zm.f32x4(112, 31, 126, 255)); // Dark Purple
    pub const beige = zm.normalize4(zm.f32x4(211, 176, 131, 255)); // Beige
    pub const brown = zm.normalize4(zm.f32x4(127, 106, 79, 255)); // Brown
    pub const dark_brown = zm.normalize4(zm.f32x4(76, 63, 47, 255)); // Dark Brown

    pub const white = zm.normalize4(zm.f32x4(255, 255, 255, 255)); // White
    pub const black = zm.normalize4(zm.f32x4(0, 0, 0, 255)); // Black
    pub const blank = zm.normalize4(zm.f32x4(0, 0, 0, 0)); // Blank (Transparent)
    pub const magenta = zm.normalize4(zm.f32x4(255, 0, 255, 255)); // Magenta
    pub const ray_white = zm.normalize4(zm.f32x4(245, 245, 245, 255)); // Raylib whire (raylib logo)
};
