import type { PressureColorMapPreset } from "$lib/types/hud";

export interface PressureColorPalette {
  surfaceBase: string;
  surfaceLow: string;
  surfaceMid: string;
  surfaceHigh: string;
  surfaceHot: string;
  labelZero: string;
  labelLow: string;
  labelMid: string;
  labelHigh: string;
  rangeStops: [string, string, string, string, string, string];
  rangeGlow: [string, string, string];
}

export const pressureColorPalettes: Record<PressureColorMapPreset, PressureColorPalette> = {
  emerald: {
    surfaceBase: "#13201a",
    surfaceLow: "#285338",
    surfaceMid: "#3f8a66",
    surfaceHigh: "#6dd3ad",
    surfaceHot: "#d9fff0",
    labelZero: "#2d8d59",
    labelLow: "#54df8e",
    labelMid: "#98e6ff",
    labelHigh: "#ffab78",
    rangeStops: ["#13201a", "#285338", "#3f8a66", "#6dd3ad", "#98e6ff", "#ffab78"],
    rangeGlow: ["#54df8e", "#98e6ff", "#ffab78"]
  },
  arctic: {
    surfaceBase: "#08141d",
    surfaceLow: "#14354d",
    surfaceMid: "#1f6690",
    surfaceHigh: "#58bee8",
    surfaceHot: "#f1fdff",
    labelZero: "#3f87ae",
    labelLow: "#6dc8ff",
    labelMid: "#aef3ff",
    labelHigh: "#ffffff",
    rangeStops: ["#08141d", "#14354d", "#1f6690", "#58bee8", "#aef3ff", "#ffffff"],
    rangeGlow: ["#5ea9ff", "#7fe5ff", "#ffffff"]
  },
  ember: {
    surfaceBase: "#1b0c08",
    surfaceLow: "#4a1f15",
    surfaceMid: "#8f4124",
    surfaceHigh: "#d9772f",
    surfaceHot: "#fff1d8",
    labelZero: "#b9582f",
    labelLow: "#ff8a4e",
    labelMid: "#ffd06a",
    labelHigh: "#fff4df",
    rangeStops: ["#1b0c08", "#4a1f15", "#8f4124", "#d9772f", "#ffd06a", "#fff4df"],
    rangeGlow: ["#ff7247", "#ffb14d", "#fff4df"]
  }
};
