Sobre el proyecto
Hueclid es una herramienta de código abierto que convierte capturas de pantalla o fotos en paletas de colores de UI accesibles. A diferencia de los generadores de paletas típicos que extraen colores dominantes y se detienen ahí, Hueclid trata la generación de paletas como un problema de optimización restringida, produciendo un conjunto de roles de sistema de diseño (fondo, superficie, texto, acción principal, peligro, y más) que se verifican entre sí para el contraste usando APCA (Algoritmo de Contraste Perceptual Accesible) en lugar de la relación de contraste WCAG 2 más antigua.
El algoritmo central, llamado ACCORD, busca una paleta que se mantenga fiel a los colores reales de la imagen fuente mientras satisface simultáneamente cada restricción de contraste en un grafo de roles dirigido. Utiliza CP-SAT (Programación con Restricciones con SAT) para la resolución exacta, lo que significa que el resultado es o bien demostrablemente correcto o demostrablemente inviable, con una indicación clara de qué restricción es el problema cuando no existe una paleta válida.
El proyecto está en una etapa temprana pero tiene un backend FastAPI funcional y un frontend Next.js, alojado públicamente en hueclid.cinexg.com. Las matemáticas de color están implementadas y verificadas: conversión sRGB a CIELAB, diferencia de color CIEDE2000 (verificada contra los datos de referencia de Sharma et al. 2005), Oklab y Oklch (verificados contra las matrices de referencia de CSS Color 4), mapeo de gama en Oklch, agrupación de histogramas en espacio Lab, y un extractor de paletas por k-medias ponderado. Se construye una caché respaldada por Postgres de contenedores de histograma en espacio Lab para la ingesta de conjuntos de datos, validada contra los conjuntos de datos Rico, Enrico y WebUI con más de 100,000 capturas de pantalla reales.
El proyecto se distingue de trabajos relacionados como Colorgorical y Palettailor al tratar APCA como una restricción dura dentro de la generación (no un post-filtro), generando roles de sistema de diseño tipados con un grafo de restricciones dirigido (no un conjunto plano de colores distinguibles), y resolviendo el paso de selección restringida exactamente (no mediante búsqueda estocástica).
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.