type Color = [f32; 4];
pub mod cafe {
#![allow(clippy::approx_constant)]
pub const HAIR_COLOR: [[f32; 4]; 8] = [
[0.118, 0.102, 0.094, 1.000],
[0.251, 0.125, 0.063, 1.000],
[0.361, 0.094, 0.039, 1.000],
[0.486, 0.227, 0.078, 1.000],
[0.471, 0.471, 0.502, 1.000],
[0.306, 0.243, 0.063, 1.000],
[0.533, 0.345, 0.094, 1.000],
[0.816, 0.627, 0.290, 1.000],
];
pub const FACELINE_COLOR: [[f32; 4]; 6] = [
[1.000, 0.827, 0.678, 1.000],
[1.000, 0.714, 0.420, 1.000],
[0.870, 0.475, 0.259, 1.000],
[1.000, 0.667, 0.549, 1.000],
[0.678, 0.318, 0.161, 1.000],
[0.388, 0.173, 0.094, 1.000],
];
pub const EYE_COLOR_R: [[f32; 4]; 3] = [
[0.000, 0.000, 0.000, 1.000],
[1.000, 0.510, 0.000, 1.000],
[0.000, 1.000, 1.000, 1.000],
];
pub const EYE_COLOR_G: [[f32; 4]; 1] = [[1.000, 1.000, 1.000, 1.000]];
pub const EYE_COLOR_B: [[f32; 4]; 6] = [
[0.000, 0.000, 0.000, 1.000],
[0.424, 0.439, 0.439, 1.000],
[0.400, 0.235, 0.173, 1.000],
[0.376, 0.369, 0.188, 1.000],
[0.275, 0.329, 0.659, 1.000],
[0.220, 0.439, 0.345, 1.000],
];
pub const MOUTH_COLOR_R: [[f32; 4]; 5] = [
[0.847, 0.322, 0.031, 1.000],
[0.941, 0.047, 0.031, 1.000],
[0.961, 0.282, 0.282, 1.000],
[0.941, 0.604, 0.455, 1.000],
[0.549, 0.314, 0.251, 1.000],
];
pub const MOUTH_COLOR_G: [[f32; 4]; 5] = [
[0.510, 0.188, 0.094, 1.000],
[0.471, 0.047, 0.047, 1.000],
[0.533, 0.125, 0.157, 1.000],
[0.863, 0.471, 0.314, 1.000],
[0.275, 0.118, 0.039, 1.000],
];
pub const MOUTH_COLOR_B: [[f32; 4]; 1] = [[1.000, 1.000, 1.000, 1.000]];
pub const GLASS_COLOR_R: [[f32; 4]; 6] = [
[0.094, 0.094, 0.094, 1.000],
[0.376, 0.219, 0.062, 1.000],
[0.658, 0.062, 0.031, 1.000],
[0.125, 0.188, 0.407, 1.000],
[0.658, 0.376, 0.000, 1.000],
[0.470, 0.439, 0.407, 1.000],
];
}
pub mod nx {
#![allow(clippy::unreadable_literal, clippy::excessive_precision)]
use num_enum::IntoPrimitive;
use vee_parse::NxCharInfo;
use super::Color;
#[derive(Copy, Clone, Debug)]
#[non_exhaustive]
pub enum ColorModulated {
Eye,
Eyebrow,
Mouth,
Glass,
FacelineBeard,
NoseLineShape,
FacelineMakeup,
FacelineWrinkle,
Mole,
Mustache,
Cap,
}
pub const NON_MODULATION: Color = [f32::NAN, f32::NAN, f32::NAN, f32::NAN];
const WHITE: Color = linear::COMMON_COLOR[99];
const BLACK: Color = linear::COMMON_COLOR[8];
#[repr(u8)]
#[derive(IntoPrimitive, Debug, Clone, Copy)]
pub enum ModulationMode {
SingleColor = 0,
DirectTexture = 1,
LayeredRgbTexture = 2,
AlphaTexture = 3,
LuminanceAlphaTexture = 4,
}
#[derive(Debug, Clone, Copy)]
pub struct ModulationIntent {
pub mode: ModulationMode,
pub channels: [Color; 3],
}
#[allow(clippy::must_use_candidate)]
pub fn modulate(class: ColorModulated, char: &NxCharInfo) -> ModulationIntent {
use ModulationMode as M;
match class {
ColorModulated::Eye => ModulationIntent {
mode: M::LayeredRgbTexture,
channels: [
BLACK,
WHITE,
linear::COMMON_COLOR[usize::from(char.eye_color.0)],
],
},
ColorModulated::Eyebrow => ModulationIntent {
mode: M::AlphaTexture,
channels: [
linear::COMMON_COLOR[usize::from(char.eyebrow_color.0)],
NON_MODULATION,
NON_MODULATION,
],
},
ColorModulated::Mouth => ModulationIntent {
mode: M::LayeredRgbTexture,
channels: [
linear::COMMON_COLOR[usize::from(char.mouth_color.0)],
linear::UPPER_LIP_COLOR[usize::from(char.mouth_color.0)],
WHITE,
],
},
ColorModulated::Glass => ModulationIntent {
mode: M::LuminanceAlphaTexture,
channels: [
linear::COMMON_COLOR[usize::from(char.glass_color.0)],
NON_MODULATION,
NON_MODULATION,
],
},
ColorModulated::NoseLineShape => ModulationIntent {
mode: M::AlphaTexture,
channels: [BLACK, NON_MODULATION, NON_MODULATION],
},
ColorModulated::FacelineBeard => ModulationIntent {
mode: M::AlphaTexture,
channels: [
linear::COMMON_COLOR[usize::from(char.beard_color.0)],
NON_MODULATION,
NON_MODULATION,
],
},
ColorModulated::FacelineWrinkle => ModulationIntent {
mode: M::AlphaTexture,
channels: [
linear::COMMON_COLOR[usize::from(char.faceline_color.0)],
NON_MODULATION,
NON_MODULATION,
],
},
ColorModulated::FacelineMakeup => ModulationIntent {
mode: M::DirectTexture,
channels: [NON_MODULATION; 3],
},
ColorModulated::Mole => ModulationIntent {
mode: M::AlphaTexture,
channels: [BLACK, BLACK, BLACK],
},
ColorModulated::Mustache => ModulationIntent {
mode: M::AlphaTexture,
channels: [
linear::COMMON_COLOR[usize::from(char.beard_color.0)],
NON_MODULATION,
NON_MODULATION,
],
},
ColorModulated::Cap => ModulationIntent {
mode: M::LuminanceAlphaTexture,
channels: [
linear::COMMON_COLOR[usize::from(char.favorite_color.0)],
NON_MODULATION,
NON_MODULATION,
],
},
}
}
pub mod linear {
pub const COMMON_COLOR: [[f32; 4]; 100] = [
[0.02624122, 0.02121902, 0.02121902, 1.0],
[0.05126946, 0.01444384, 0.00518152, 1.0],
[0.1070232, 0.00913407, 0.00303527, 1.0],
[0.2015563, 0.04231142, 0.00699541, 1.0],
[0.1878208, 0.1878208, 0.2158605, 1.0],
[0.07618541, 0.04817184, 0.00518152, 1.0],
[0.2462014, 0.09758739, 0.00913407, 1.0],
[0.6307572, 0.3515327, 0.06847817, 1.0],
[0.0, 0.0, 0.0, 1.0],
[0.1499599, 0.1620294, 0.1620294, 1.0],
[0.1328683, 0.04518623, 0.02518688, 1.0],
[0.1169707, 0.1119325, 0.02955684, 1.0],
[0.0612461, 0.08865561, 0.3915726, 1.0],
[0.03954626, 0.1620294, 0.09758739, 1.0],
[0.1169707, 0.03954626, 0.00518152, 1.0],
[0.3915726, 0.00518152, 0.00242822, 1.0],
[0.01444384, 0.02955684, 0.1384317, 1.0],
[0.3915726, 0.1169707, 0.0, 1.0],
[0.1878208, 0.1620294, 0.1384317, 1.0],
[0.6866855, 0.08437625, 0.00242822, 1.0],
[0.8713672, 0.00367651, 0.00242822, 1.0],
[0.9130989, 0.0648033, 0.0648033, 1.0],
[0.8713672, 0.3231433, 0.1746474, 1.0],
[0.2622508, 0.08021983, 0.05126946, 1.0],
[0.2307401, 0.01938238, 0.01938238, 1.0],
[1.0, 0.1714411, 0.1328683, 1.0],
[1.0, 0.3813261, 0.3813261, 1.0],
[1.0, 0.5271152, 0.4910209, 1.0],
[0.1714411, 0.0273209, 0.04373505, 1.0],
[0.3185468, 0.0137021, 0.04666509, 1.0],
[0.2541521, 0.00856813, 0.04817184, 1.0],
[0.4620771, 0.04817184, 0.05448031, 1.0],
[0.571125, 0.01298304, 0.09305902, 1.0],
[0.4341537, 0.08650047, 0.2195262, 1.0],
[0.571125, 0.08865561, 0.1559265, 1.0],
[0.9559736, 0.1778885, 0.309469, 1.0],
[0.9734454, 0.4125428, 0.5840785, 1.0],
[1.0, 0.5840785, 0.6866855, 1.0],
[0.03071345, 0.01161226, 0.05126946, 1.0],
[0.03820438, 0.02121902, 0.04666509, 1.0],
[0.07227188, 0.00913407, 0.07421357, 1.0],
[0.1589609, 0.05448031, 0.4507858, 1.0],
[0.2345507, 0.1070232, 0.4793203, 1.0],
[0.5271152, 0.2269659, 0.6038274, 1.0],
[0.3915726, 0.2917707, 0.5840785, 1.0],
[0.5583405, 0.4125428, 0.791298, 1.0],
[0.8549928, 0.5149179, 0.9559736, 1.0],
[0.6444799, 0.5583405, 0.8468735, 1.0],
[0.00972123, 0.0137021, 0.05126946, 1.0],
[0.00604884, 0.0497066, 0.1328683, 1.0],
[0.02315337, 0.2232281, 0.658375, 1.0],
[0.09530749, 0.4564111, 0.8879234, 1.0],
[0.1946179, 0.5583405, 0.7304609, 1.0],
[0.2501584, 0.3813261, 0.9559736, 1.0],
[0.2307401, 0.5088814, 0.9559736, 1.0],
[0.3564002, 0.7681512, 1.0, 1.0],
[0.00334654, 0.0273209, 0.03688948, 1.0],
[0.00030353, 0.04666509, 0.04373505, 1.0],
[0.00402472, 0.07818746, 0.09989879, 1.0],
[0.0168074, 0.1328683, 0.1247718, 1.0],
[0.02955684, 0.2086369, 0.2622508, 1.0],
[0.07818746, 0.4232678, 0.4341537, 1.0],
[0.1946179, 0.5520115, 0.3419146, 1.0],
[0.2122308, 0.658375, 0.5271152, 1.0],
[0.2422812, 0.783538, 0.4677839, 1.0],
[0.00303527, 0.06847817, 0.03560133, 1.0],
[0.05612849, 0.1946179, 0.0, 1.0],
[0.00060706, 0.1778885, 0.1221388, 1.0],
[0.03688948, 0.3185468, 0.1620294, 1.0],
[0.07036012, 0.4178851, 0.01032982, 1.0],
[0.287441, 0.5209957, 0.00303527, 1.0],
[0.1247718, 0.571125, 0.2462014, 1.0],
[0.3419146, 0.7454043, 0.05448031, 1.0],
[0.3049874, 0.7304609, 0.2086369, 1.0],
[0.4969332, 0.8879234, 0.4019778, 1.0],
[0.3185468, 0.2917707, 0.02415765, 1.0],
[0.3813261, 0.3005439, 0.1247718, 1.0],
[0.6038274, 0.5271152, 0.04091523, 1.0],
[0.6038274, 0.48515, 0.2422812, 1.0],
[0.6938719, 0.6038274, 0.2232281, 1.0],
[0.6653875, 0.6938719, 0.1589609, 1.0],
[0.6653875, 0.791298, 0.2269659, 1.0],
[0.6866855, 0.9559736, 0.3371637, 1.0],
[0.2050788, 0.05951127, 0.0, 1.0],
[0.791298, 0.4969332, 0.1946179, 1.0],
[0.9911023, 0.7605247, 0.06847817, 1.0],
[0.9559736, 0.7304609, 0.2232281, 1.0],
[0.9301111, 0.822786, 0.3324517, 1.0],
[0.9559736, 0.938686, 0.3277782, 1.0],
[0.3813261, 0.07421357, 0.01298304, 1.0],
[1.0, 0.3049874, 0.00402472, 1.0],
[0.6375971, 0.3277782, 0.1412634, 1.0],
[1.0, 0.4452013, 0.1328683, 1.0],
[1.0, 0.5394797, 0.2622508, 1.0],
[0.783538, 0.6239606, 0.4396573, 1.0],
[0.05286067, 0.05286067, 0.05286067, 1.0],
[0.3277782, 0.3277782, 0.3277782, 1.0],
[0.5149179, 0.5149179, 0.5149179, 1.0],
[0.7156936, 0.6795427, 0.6104956, 1.0],
[1.0, 1.0, 1.0, 1.0],
];
pub const UPPER_LIP_COLOR: [[f32; 4]; 100] = [
[0.00856813, 0.00699541, 0.00699541, 1.0],
[0.01444384, 0.00518152, 0.00242822, 1.0],
[0.0273209, 0.00367651, 0.00151764, 1.0],
[0.06847817, 0.0168074, 0.00367651, 1.0],
[0.08865561, 0.08865561, 0.1022417, 1.0],
[0.02028857, 0.0137021, 0.00242822, 1.0],
[0.08437625, 0.03560133, 0.00439145, 1.0],
[0.4396573, 0.2158605, 0.02121902, 1.0],
[0.0, 0.0, 0.0, 1.0],
[0.07227188, 0.07618541, 0.07618541, 1.0],
[0.03310477, 0.01298304, 0.00802321, 1.0],
[0.04231142, 0.03954626, 0.01228649, 1.0],
[0.02315337, 0.03189605, 0.1301365, 1.0],
[0.02028857, 0.07618541, 0.04817184, 1.0],
[0.02955684, 0.01161226, 0.00242822, 1.0],
[0.1301365, 0.00303527, 0.00151764, 1.0],
[0.00518152, 0.00913407, 0.03433982, 1.0],
[0.1811642, 0.05612849, 0.0, 1.0],
[0.08865561, 0.07618541, 0.06662599, 1.0],
[0.2232281, 0.02955684, 0.00913407, 1.0],
[0.1878208, 0.00367651, 0.00367651, 1.0],
[0.2462014, 0.01444384, 0.02121902, 1.0],
[0.7156936, 0.1878208, 0.08021983, 1.0],
[0.0612461, 0.01298304, 0.00303527, 1.0],
[0.07818746, 0.00856813, 0.00856813, 1.0],
[0.3185468, 0.05951127, 0.04666509, 1.0],
[0.791298, 0.2345507, 0.2345507, 1.0],
[0.791298, 0.3564002, 0.3277782, 1.0],
[0.05951127, 0.01161226, 0.0168074, 1.0],
[0.1070232, 0.0065121, 0.01850023, 1.0],
[0.08650047, 0.00439145, 0.01850023, 1.0],
[0.1529262, 0.01850023, 0.02121902, 1.0],
[0.184475, 0.00604884, 0.03433982, 1.0],
[0.1441285, 0.03189605, 0.07421357, 1.0],
[0.184475, 0.03189605, 0.05448031, 1.0],
[0.4286906, 0.08437625, 0.1441285, 1.0],
[0.7681512, 0.2622508, 0.4125428, 1.0],
[0.791298, 0.4072404, 0.4969332, 1.0],
[0.00972123, 0.00439145, 0.01444384, 1.0],
[0.01161226, 0.00699541, 0.0137021, 1.0],
[0.01938238, 0.00367651, 0.02028857, 1.0],
[0.05612849, 0.02121902, 0.1470273, 1.0],
[0.08021983, 0.03820438, 0.1559265, 1.0],
[0.2383976, 0.1070232, 0.2746774, 1.0],
[0.1811642, 0.1356334, 0.2663557, 1.0],
[0.4072404, 0.2788943, 0.6239606, 1.0],
[0.658375, 0.3515327, 0.7529424, 1.0],
[0.4793203, 0.4019778, 0.6653875, 1.0],
[0.00402472, 0.00518152, 0.01444384, 1.0],
[0.00273175, 0.01444384, 0.03310477, 1.0],
[0.01228649, 0.1046165, 0.2961383, 1.0],
[0.03189605, 0.309469, 0.7011021, 1.0],
[0.1070232, 0.4178851, 0.5775806, 1.0],
[0.1356334, 0.2383976, 0.7529424, 1.0],
[0.1221388, 0.3467042, 0.7529424, 1.0],
[0.2158605, 0.571125, 0.791298, 1.0],
[0.00182117, 0.00856813, 0.0109601, 1.0],
[0.00030353, 0.0137021, 0.01298304, 1.0],
[0.00212469, 0.02121902, 0.02624122, 1.0],
[0.00913407, 0.06301002, 0.05951127, 1.0],
[0.01599631, 0.09758739, 0.1221388, 1.0],
[0.02955684, 0.258183, 0.2663557, 1.0],
[0.1169707, 0.4341537, 0.2422812, 1.0],
[0.1247718, 0.5209957, 0.3967553, 1.0],
[0.1412634, 0.6172068, 0.3277782, 1.0],
[0.00151764, 0.01850023, 0.0109601, 1.0],
[0.02121902, 0.06662599, 0.0, 1.0],
[0.00030353, 0.0612461, 0.04373505, 1.0],
[0.01938238, 0.1470273, 0.07618541, 1.0],
[0.02518688, 0.2541521, 0.0, 1.0],
[0.1559265, 0.3185468, 0.0, 1.0],
[0.06301002, 0.4507858, 0.1589609, 1.0],
[0.2232281, 0.5906189, 0.0137021, 1.0],
[0.1946179, 0.5775806, 0.1169707, 1.0],
[0.3419146, 0.7011021, 0.2622508, 1.0],
[0.1470273, 0.1356334, 0.01298304, 1.0],
[0.1746474, 0.1384317, 0.05951127, 1.0],
[0.3662527, 0.3139888, 0.00802321, 1.0],
[0.4793203, 0.3662527, 0.1529262, 1.0],
[0.5457245, 0.4620771, 0.1301365, 1.0],
[0.5209957, 0.5457245, 0.08228273, 1.0],
[0.5088814, 0.6239606, 0.1274377, 1.0],
[0.5028866, 0.7529424, 0.2050788, 1.0],
[0.07036012, 0.0221739, 0.0, 1.0],
[0.6239606, 0.3564002, 0.1022417, 1.0],
[0.783538, 0.5647116, 0.01599631, 1.0],
[0.7529424, 0.5457245, 0.1144354, 1.0],
[0.7304609, 0.6307572, 0.2015563, 1.0],
[0.7529424, 0.7379106, 0.1946179, 1.0],
[0.1274377, 0.0273209, 0.00604884, 1.0],
[0.6038274, 0.1878208, 0.00303527, 1.0],
[0.5028866, 0.2232281, 0.07227188, 1.0],
[0.791298, 0.287441, 0.05126946, 1.0],
[0.791298, 0.3712377, 0.1412634, 1.0],
[0.6172068, 0.4677839, 0.3049874, 1.0],
[0.01520852, 0.01520852, 0.01520852, 1.0],
[0.2015563, 0.2015563, 0.2015563, 1.0],
[0.4072404, 0.4072404, 0.4072404, 1.0],
[0.5647116, 0.5332766, 0.4677839, 1.0],
[0.6938719, 0.6938719, 0.6938719, 1.0],
];
pub const FACELINE_COLOR: [[f32; 4]; 10] = [
[1.0, 0.6514057, 0.4178851, 1.0],
[1.0, 0.4677839, 0.1470273, 1.0],
[0.7304609, 0.1912018, 0.05448031, 1.0],
[1.0, 0.4019778, 0.2622508, 1.0],
[0.4178851, 0.08228273, 0.0221739, 1.0],
[0.1247718, 0.02518688, 0.00913407, 1.0],
[1.0, 0.5149179, 0.3762622, 1.0],
[1.0, 0.5583405, 0.2746774, 1.0],
[0.2622508, 0.04518623, 0.0168074, 1.0],
[0.04518623, 0.02624122, 0.0168074, 1.0],
];
}
pub mod srgb {
pub const COMMON_COLOR: [[f32; 4]; 100] = [
[0.1764706, 0.1568628, 0.1568628, 1.0],
[0.2509804, 0.1254902, 0.0627451, 1.0],
[0.3607844, 0.0941177, 0.0392157, 1.0],
[0.4862746, 0.2274510, 0.0784314, 1.0],
[0.4705883, 0.4705883, 0.5019608, 1.0],
[0.3058824, 0.2431373, 0.0627451, 1.0],
[0.5333334, 0.3450981, 0.0941177, 1.0],
[0.8156863, 0.6274510, 0.2901961, 1.0],
[0.0000000, 0.0000000, 0.0000000, 1.0],
[0.4235295, 0.4392157, 0.4392157, 1.0],
[0.4000000, 0.2352942, 0.1725491, 1.0],
[0.3764706, 0.3686275, 0.1882353, 1.0],
[0.2745099, 0.3294118, 0.6588236, 1.0],
[0.2196079, 0.4392157, 0.3450981, 1.0],
[0.3764706, 0.2196079, 0.0627451, 1.0],
[0.6588236, 0.0627451, 0.0313726, 1.0],
[0.1254902, 0.1882353, 0.4078432, 1.0],
[0.6588236, 0.3764706, 0.0000000, 1.0],
[0.4705883, 0.4392157, 0.4078432, 1.0],
[0.8470589, 0.3215687, 0.0313726, 1.0],
[0.9411765, 0.0470589, 0.0313726, 1.0],
[0.9607844, 0.2823530, 0.2823530, 1.0],
[0.9411765, 0.6039216, 0.4549020, 1.0],
[0.5490197, 0.3137255, 0.2509804, 1.0],
[0.5176471, 0.1490197, 0.1490197, 1.0],
[1.0000000, 0.4509804, 0.4000000, 1.0],
[1.0000000, 0.6509804, 0.6509804, 1.0],
[1.0000000, 0.7529412, 0.7294118, 1.0],
[0.4509804, 0.1803922, 0.2313726, 1.0],
[0.6000000, 0.1215687, 0.2392157, 1.0],
[0.5411765, 0.0901961, 0.2431373, 1.0],
[0.7098040, 0.2431373, 0.2588236, 1.0],
[0.7803922, 0.1176471, 0.3372550, 1.0],
[0.6901961, 0.3254902, 0.5058824, 1.0],
[0.7803922, 0.3294118, 0.4313726, 1.0],
[0.9803922, 0.4588236, 0.5921569, 1.0],
[0.9882353, 0.6745099, 0.7882353, 1.0],
[1.0000000, 0.7882353, 0.8470589, 1.0],
[0.1921569, 0.1098040, 0.2509804, 1.0],
[0.2156863, 0.1568628, 0.2392157, 1.0],
[0.2980393, 0.0941177, 0.3019608, 1.0],
[0.4352942, 0.2588236, 0.7019608, 1.0],
[0.5215687, 0.3607844, 0.7215687, 1.0],
[0.7529412, 0.5137255, 0.8000000, 1.0],
[0.6588236, 0.5764706, 0.7882353, 1.0],
[0.7725491, 0.6745099, 0.9019608, 1.0],
[0.9333334, 0.7450981, 0.9803922, 1.0],
[0.8235295, 0.7725491, 0.9294118, 1.0],
[0.0980393, 0.1215687, 0.2509804, 1.0],
[0.0705883, 0.2470589, 0.4000000, 1.0],
[0.1647059, 0.5098040, 0.8313726, 1.0],
[0.3411765, 0.7058824, 0.9490197, 1.0],
[0.4784314, 0.7725491, 0.8705883, 1.0],
[0.5372550, 0.6509804, 0.9803922, 1.0],
[0.5176471, 0.7411765, 0.9803922, 1.0],
[0.6313726, 0.8901961, 1.0000000, 1.0],
[0.0431373, 0.1803922, 0.2117648, 1.0],
[0.0039216, 0.2392157, 0.2313726, 1.0],
[0.0509804, 0.3098040, 0.3490197, 1.0],
[0.1372550, 0.4000000, 0.3882353, 1.0],
[0.1882353, 0.4941177, 0.5490197, 1.0],
[0.3098040, 0.6823530, 0.6901961, 1.0],
[0.4784314, 0.7686275, 0.6196079, 1.0],
[0.4980393, 0.8313726, 0.7529412, 1.0],
[0.5294118, 0.8980393, 0.7137255, 1.0],
[0.0392157, 0.2901961, 0.2078432, 1.0],
[0.2627451, 0.4784314, 0.0000000, 1.0],
[0.0078432, 0.4588236, 0.3843138, 1.0],
[0.2117648, 0.6000000, 0.4392157, 1.0],
[0.2941177, 0.6784314, 0.1019608, 1.0],
[0.5725491, 0.7490197, 0.0392157, 1.0],
[0.3882353, 0.7803922, 0.5333334, 1.0],
[0.6196079, 0.8784314, 0.2588236, 1.0],
[0.5882353, 0.8705883, 0.4941177, 1.0],
[0.7333334, 0.9490197, 0.6666667, 1.0],
[0.6000000, 0.5764706, 0.1686275, 1.0],
[0.6509804, 0.5843138, 0.3882353, 1.0],
[0.8000000, 0.7529412, 0.2235295, 1.0],
[0.8000000, 0.7254902, 0.5294118, 1.0],
[0.8509804, 0.8000000, 0.5098040, 1.0],
[0.8352942, 0.8509804, 0.4352942, 1.0],
[0.8352942, 0.9019608, 0.5137255, 1.0],
[0.8470589, 0.9803922, 0.6156863, 1.0],
[0.4901961, 0.2705883, 0.0000000, 1.0],
[0.9019608, 0.7333334, 0.4784314, 1.0],
[0.9960785, 0.8862746, 0.2901961, 1.0],
[0.9803922, 0.8705883, 0.5098040, 1.0],
[0.9686275, 0.9176471, 0.6117648, 1.0],
[0.9803922, 0.9725491, 0.6078432, 1.0],
[0.6509804, 0.3019608, 0.1176471, 1.0],
[1.0000000, 0.5882353, 0.0509804, 1.0],
[0.8196079, 0.6078432, 0.4117648, 1.0],
[1.0000000, 0.6980393, 0.4000000, 1.0],
[1.0000000, 0.7607844, 0.5490197, 1.0],
[0.8980393, 0.8117648, 0.6941177, 1.0],
[0.2549020, 0.2549020, 0.2549020, 1.0],
[0.6078432, 0.6078432, 0.6078432, 1.0],
[0.7450981, 0.7450981, 0.7450981, 1.0],
[0.8627451, 0.8431373, 0.8039216, 1.0],
[1.0000000, 1.0000000, 1.0000000, 1.0],
];
pub const UPPER_LIP_COLOR: [[f32; 4]; 100] = [
[0.0901961, 0.0784314, 0.0784314, 1.0],
[0.1254902, 0.0627451, 0.0313726, 1.0],
[0.1803922, 0.0470589, 0.0196079, 1.0],
[0.2901961, 0.1372550, 0.0470589, 1.0],
[0.3294118, 0.3294118, 0.3529412, 1.0],
[0.1529412, 0.1215687, 0.0313726, 1.0],
[0.3215687, 0.2078432, 0.0549020, 1.0],
[0.6941177, 0.5019608, 0.1568628, 1.0],
[0.0000000, 0.0000000, 0.0000000, 1.0],
[0.2980393, 0.3058824, 0.3058824, 1.0],
[0.2000000, 0.1176471, 0.0862746, 1.0],
[0.2274510, 0.2196079, 0.1137255, 1.0],
[0.1647059, 0.1960785, 0.3960785, 1.0],
[0.1529412, 0.3058824, 0.2431373, 1.0],
[0.1882353, 0.1098040, 0.0313726, 1.0],
[0.3960785, 0.0392157, 0.0196079, 1.0],
[0.0627451, 0.0941177, 0.2039216, 1.0],
[0.4627451, 0.2627451, 0.0000000, 1.0],
[0.3294118, 0.3058824, 0.2862746, 1.0],
[0.5098040, 0.1882353, 0.0941177, 1.0],
[0.4705883, 0.0470589, 0.0470589, 1.0],
[0.5333334, 0.1254902, 0.1568628, 1.0],
[0.8627451, 0.4705883, 0.3137255, 1.0],
[0.2745099, 0.1176471, 0.0392157, 1.0],
[0.3098040, 0.0901961, 0.0901961, 1.0],
[0.6000000, 0.2705883, 0.2392157, 1.0],
[0.9019608, 0.5215687, 0.5215687, 1.0],
[0.9019608, 0.6313726, 0.6078432, 1.0],
[0.2705883, 0.1098040, 0.1372550, 1.0],
[0.3607844, 0.0745099, 0.1450981, 1.0],
[0.3254902, 0.0549020, 0.1450981, 1.0],
[0.4274510, 0.1450981, 0.1568628, 1.0],
[0.4666667, 0.0705883, 0.2039216, 1.0],
[0.4156863, 0.1960785, 0.3019608, 1.0],
[0.4666667, 0.1960785, 0.2588236, 1.0],
[0.6862746, 0.3215687, 0.4156863, 1.0],
[0.8901961, 0.5490197, 0.6745099, 1.0],
[0.9019608, 0.6705883, 0.7333334, 1.0],
[0.0980393, 0.0549020, 0.1254902, 1.0],
[0.1098040, 0.0784314, 0.1215687, 1.0],
[0.1490197, 0.0470589, 0.1529412, 1.0],
[0.2627451, 0.1568628, 0.4196079, 1.0],
[0.3137255, 0.2156863, 0.4313726, 1.0],
[0.5254902, 0.3607844, 0.5607844, 1.0],
[0.4627451, 0.4039216, 0.5529412, 1.0],
[0.6705883, 0.5647059, 0.8117648, 1.0],
[0.8313726, 0.6274510, 0.8823530, 1.0],
[0.7215687, 0.6666667, 0.8352942, 1.0],
[0.0509804, 0.0627451, 0.1254902, 1.0],
[0.0352942, 0.1254902, 0.2000000, 1.0],
[0.1137255, 0.3568628, 0.5803922, 1.0],
[0.1960785, 0.5921569, 0.8549020, 1.0],
[0.3607844, 0.6784314, 0.7843138, 1.0],
[0.4039216, 0.5254902, 0.8823530, 1.0],
[0.3843138, 0.6235295, 0.8823530, 1.0],
[0.5019608, 0.7803922, 0.9019608, 1.0],
[0.0235295, 0.0901961, 0.1058824, 1.0],
[0.0039216, 0.1215687, 0.1176471, 1.0],
[0.0274510, 0.1568628, 0.1764706, 1.0],
[0.0941177, 0.2784314, 0.2705883, 1.0],
[0.1333334, 0.3450981, 0.3843138, 1.0],
[0.1882353, 0.5450981, 0.5529412, 1.0],
[0.3764706, 0.6901961, 0.5294118, 1.0],
[0.3882353, 0.7490197, 0.6627451, 1.0],
[0.4117648, 0.8078432, 0.6078432, 1.0],
[0.0196079, 0.1450981, 0.1058824, 1.0],
[0.1568628, 0.2862746, 0.0000000, 1.0],
[0.0039216, 0.2745099, 0.2313726, 1.0],
[0.1490197, 0.4196079, 0.3058824, 1.0],
[0.1725491, 0.5411765, 0.0000000, 1.0],
[0.4313726, 0.6000000, 0.0000000, 1.0],
[0.2784314, 0.7019608, 0.4352942, 1.0],
[0.5098040, 0.7921569, 0.1215687, 1.0],
[0.4784314, 0.7843138, 0.3764706, 1.0],
[0.6196079, 0.8549020, 0.5490197, 1.0],
[0.4196079, 0.4039216, 0.1176471, 1.0],
[0.4549020, 0.4078432, 0.2705883, 1.0],
[0.6392157, 0.5960785, 0.0862746, 1.0],
[0.7215687, 0.6392157, 0.4274510, 1.0],
[0.7647059, 0.7098040, 0.3960785, 1.0],
[0.7490197, 0.7647059, 0.3176471, 1.0],
[0.7411765, 0.8117648, 0.3921569, 1.0],
[0.7372550, 0.8823530, 0.4901961, 1.0],
[0.2941177, 0.1607844, 0.0000000, 1.0],
[0.8117648, 0.6313726, 0.3529412, 1.0],
[0.8980393, 0.7764706, 0.1333334, 1.0],
[0.8823530, 0.7647059, 0.3725491, 1.0],
[0.8705883, 0.8156863, 0.4862746, 1.0],
[0.8823530, 0.8745099, 0.4784314, 1.0],
[0.3921569, 0.1803922, 0.0705883, 1.0],
[0.8000000, 0.4705883, 0.0392157, 1.0],
[0.7372550, 0.5098040, 0.2980393, 1.0],
[0.9019608, 0.5725491, 0.2509804, 1.0],
[0.9019608, 0.6431373, 0.4117648, 1.0],
[0.8078432, 0.7137255, 0.5882353, 1.0],
[0.1294118, 0.1294118, 0.1294118, 1.0],
[0.4862746, 0.4862746, 0.4862746, 1.0],
[0.6705883, 0.6705883, 0.6705883, 1.0],
[0.7764706, 0.7568628, 0.7137255, 1.0],
[0.8509804, 0.8509804, 0.8509804, 1.0],
];
pub const FACELINE_COLOR: [[f32; 4]; 10] = [
[1.0000000, 0.8274510, 0.6784314, 1.0], [1.0000000, 0.7137255, 0.4196079, 1.0], [0.8705883, 0.4745099, 0.2588236, 1.0], [1.0000000, 0.6666667, 0.5490197, 1.0], [0.6784314, 0.3176471, 0.1607844, 1.0], [0.3882353, 0.1725491, 0.0941177, 1.0], [1.0000000, 0.7450981, 0.6470589, 1.0],
[1.0000000, 0.7725491, 0.5607844, 1.0],
[0.5490197, 0.2352942, 0.1372550, 1.0],
[0.2352942, 0.1764706, 0.1372550, 1.0],
];
}
}