|
|
import { ProviderInfo } from "../types/heatmap"; |
|
|
|
|
|
|
|
|
function generateUniqueColors(count: number): string[] { |
|
|
const colors: string[] = []; |
|
|
|
|
|
for (let i = 0; i < count; i++) { |
|
|
|
|
|
const goldenRatio = 0.618033988749895; |
|
|
const hue = (i * goldenRatio * 360) % 360; |
|
|
|
|
|
|
|
|
const saturation = 65 + (i % 4) * 8; |
|
|
const lightness = 45 + ((i % 3) * 7); |
|
|
|
|
|
|
|
|
const h = hue / 360; |
|
|
const s = saturation / 100; |
|
|
const l = lightness / 100; |
|
|
|
|
|
const hue2rgb = (p: number, q: number, t: number) => { |
|
|
if (t < 0) t += 1; |
|
|
if (t > 1) t -= 1; |
|
|
if (t < 1/6) return p + (q - p) * 6 * t; |
|
|
if (t < 1/2) return q; |
|
|
if (t < 2/3) return p + (q - p) * (2/3 - t) * 6; |
|
|
return p; |
|
|
}; |
|
|
|
|
|
const q = l < 0.5 ? l * (1 + s) : l + s - l * s; |
|
|
const p = 2 * l - q; |
|
|
|
|
|
const r = Math.round(hue2rgb(p, q, h + 1/3) * 255); |
|
|
const g = Math.round(hue2rgb(p, q, h) * 255); |
|
|
const b = Math.round(hue2rgb(p, q, h - 1/3) * 255); |
|
|
|
|
|
colors.push(`#${r.toString(16).padStart(2, '0')}${g.toString(16).padStart(2, '0')}${b.toString(16).padStart(2, '0')}`); |
|
|
} |
|
|
|
|
|
return colors; |
|
|
} |
|
|
|
|
|
|
|
|
const uniqueColors = generateUniqueColors(94); |
|
|
|
|
|
export const ORGANIZATIONS: ProviderInfo[] = [ |
|
|
{ color: uniqueColors[0], authors: ["aiqcamp", "cutechicken", "kolaslab"] }, |
|
|
{ color: uniqueColors[8], authors: ["openfree"] }, |
|
|
{ color: uniqueColors[9], authors: ["VIDraft"] }, |
|
|
{ color: uniqueColors[10], authors: ["ginigen", "ginipick"] }, |
|
|
{ color: uniqueColors[11], authors: ["seawolf2357"] }, |
|
|
{ color: uniqueColors[12], authors: ["fantaxy"] }, |
|
|
{ color: uniqueColors[13], authors: ["fantos"] }, |
|
|
{ color: uniqueColors[14], authors: ["aiqtech"] }, |
|
|
{ color: uniqueColors[15], authors: ["Heartsync"] }, |
|
|
|
|
|
{ color: uniqueColors[4], authors: ["moreh"] }, |
|
|
{ color: uniqueColors[7], authors: ["OnomaAIResearch"] }, |
|
|
{ color: uniqueColors[8], authors: ["LGAI-EXAONE"] }, |
|
|
{ color: uniqueColors[9], authors: ["naver-hyperclovax", "naver-ai"] }, |
|
|
{ color: uniqueColors[10], authors: ["kakaocorp", "kakaobrain", "kakaobank"] }, |
|
|
{ color: uniqueColors[11], authors: ["K-intelligence"] }, |
|
|
{ color: uniqueColors[12], authors: ["skt"] }, |
|
|
{ color: uniqueColors[13], authors: ["SamsungResearch", "SamsungSAILMontreal"] }, |
|
|
{ color: uniqueColors[14], authors: ["upstage"] }, |
|
|
{ color: uniqueColors[15], authors: ["NCSOFT"] }, |
|
|
{ color: uniqueColors[16], authors: ["LDCC"] }, |
|
|
]; |