Siete temas, un solo fichero de tokens. Cambias theme.conf y el escritorio entero se re-viste: widgets, decoraciones, iconos, greeter, sonidos. Esa coherencia es bonita y también es peligrosa: un token mal elegido rompe SIETE temas a la vez. Nuestra respuesta fue convertir las reglas de diseño en tests.
El contraste no es una opinión
Un linter de CI lee cada tema y falla la build salvo que el texto de cuerpo cumpla WCAG 4.5:1 contra su superficie (7:1 para el tema de Alto Contraste), y que selecciones y barras de título pasen sus mínimos. No hay revisión visual que valga: si el número no llega, no se publica. La accesibilidad dejó de ser una buena intención para ser una puerta de CI.
El degradado que bandea
La regla más rara del linter: los dos extremos del degradado de una barra de título no pueden diferir más de 0,12 de luminancia relativa. ¿Por qué? Porque en los modos de pantalla de la era de 16 bits, un degradado demasiado ambicioso bandea —se ve a franjas. La máquina objetivo es un Pentium 4 con GMA; el tema tiene que ser bonito AHÍ, no en mi monitor de diseño.
Nada derivado, calcado o sampleado de un asset propietario puede entrar en el árbol. La CI lo comprueba.
Papeles para cada píxel
La otra puerta es legal: cada asset binario que se envía —cada icono, sonido, fuente, fondo, cursor— tiene una fila en un registro de procedencia con origen, autor y licencia. Si un asset aterriza sin fila, la build falla. Dibujé los 32 iconos mandarina en una rejilla de 48 px sabiendo que cada uno tendría su asiento contable. «Familiar, pero nuestro» no es un eslogan: es una restricción ejecutable.

V. LORRAINE · GRAPHIC DESIGN · TAMPA, FL · 2026.05.12