/**
* Палитра из docs/art-style.md — единственный источник цветов арта.
*/
export const PALETTE = {
// Пепел
P0: '#17171d',
P1: '#23232b',
P2: '#2f2f38',
P3: '#3e3e48',
P4: '#52525c',
P5: '#6a6a74',
P6: '#86868f',
P5H: '#a3a3ac',
// Мёртвая трава
G0: '#2b3026',
G1: '#3d4436',
G2: '#525b44',
G2H: '#687053',
// Ржавчина и металл
R0: '#3a2822',
R1: '#5c3b2e',
R2: '#82503a',
M0: '#26262e',
M1: '#44454e',
M2: '#61626c',
// Вода
W0: '#22343c',
W1: '#32505c',
W2: '#4a737f',
// Тепло — только жизнь
B0: '#8a6a2e',
B1: '#d99a32',
B2: '#f2cd68',
F0: '#d97f2b',
F1: '#f2b45a',
// Люди и ткань
C0: '#3a4356',
C1: '#4d5a72',
W3: '#8a8f7d',
S0: '#8a6d55',
S1: '#c9a689',
T0: '#5a4a3c',
T1: '#77634f'
};
/** Прозрачный пиксель. */
export const TRANSPARENT = [0, 0, 0, 0];
export function hexToRgba(hex) {
const n = parseInt(hex.slice(1), 16);
return [(n >> 16) & 0xff, (n >> 8) & 0xff, n & 0xff, 255];
}
/** Ключи палитры -> RGBA-значения (кэш). */
export const RGBA = Object.fromEntries(
Object.entries(PALETTE).map(([k, v]) => [k, hexToRgba(v)])
);