El color de las regiones es estructura en Meowdoku, no decoración
Cada celda de Meowdoku tiene un color plano y nada más marca dónde termina una región. Elegir mal dos colores vecinos vuelve ilegible el tablero antes de colocar un gato. El juego ya trata la paleta como parte funcional; aquí medimos si resiste una deficiencia de visión cromática.
Qué marca realmente una región
El componente del tablero no dibuja una frontera especial entre regiones: todas las celdas tienen el mismo borde fino de 1 px. Solo cambia el color de relleno; no hay contorno, icono ni textura alternativos. Por eso el color es el único lugar donde se registra a qué región pertenece una celda.
Por qué la paleta sostiene la estructura
Si dos regiones vecinas reciben colores parecidos, dejan de leerse como dos formas y parecen una sola mancha. El propio módulo advierte que una asignación ingenua acerca rojo a rosa o naranja a amarillo, obligando a mirar fijamente justo cuando reconocer la región es la base de cada deducción.
El algoritmo: coloración de grafos real
`assignRegionColors` crea un grafo de adyacencia usando lados compartidos, no diagonales, procesa antes las regiones con más vecinos y elige el hueco libre más lejano de esos vecinos en un anillo de 12 colores. Las regiones son vértices, los lados compartidos son restricciones y el anillo aproxima la similitud visual entre tonos.
Cuánto margen tiene la paleta
La paleta tiene 12 huecos, mientras que el número de regiones equivale al tamaño del tablero y nunca supera 10.
| Tablero | Regiones (= tamaño) | Huecos libres |
|---|---|---|
| Fácil 5×5 | 5 | 7 |
| Normal 7×7 | 7 | 5 |
| Difícil 9×9 | 9 | 3 |
| Extremo 10×10 | 10 | 2 |
Incluso en Extremo quedan dos huecos sin usar; la reserva para agotar colores nunca se activa en un tablero real.
Qué aporta con visión ordinaria
Medimos la separación con CIE Lab ΔE: por debajo de 10 dos colores parecen similares de un vistazo y por encima de 30 son claramente distintos. En 300 tableros nuevos por dificultad, la tabla muestra la pareja vecina más cercana y la compara con asignar colores sin mirar la adyacencia.
| Tablero | assignRegionColors | Sin considerar adyacencia |
|---|---|---|
| Fácil 5×5 | 36.0 | 28.0 |
| Normal 7×7 | 34.3 | 28.6 |
| Difícil 9×9 | 33.5 | 28.1 |
| Extremo 10×10 | 32.5 | 27.5 |
La coloración añade alrededor de un 20% de separación en cada dificultad. La paleta ya evita choques graves por sí sola; el algoritmo elimina la dependencia de la suerte y convierte «probablemente bien» en una garantía diseñada.
Qué cambia con una deficiencia rojo-verde
La protanopía y la deuteranopía comprimen el eje rojo, naranja, verde amarillento y verde; juntas afectan aproximadamente a 1 de cada 12 hombres. Aplicamos una simulación dicromática lineal RGB y volvimos a medir ΔE. Es un límite de gravedad total, no una descripción idéntica de la visión de cada jugador.
El resultado medido: colapso en casi todos los tableros
Repetimos los mismos 300 tableros por dificultad y tomamos de nuevo la pareja vecina más cercana bajo ambas simulaciones.
| Tablero | Visión ordinaria | Protanopía | Deuteranopía | Tableros con una pareja bajo ΔE 12 |
|---|---|---|---|---|
| Fácil 5×5 | 36.0 | 10.1 | 18.5 | 97% |
| Normal 7×7 | 34.3 | 9.0 | 16.5 | 97% |
| Difícil 9×9 | 33.5 | 8.4 | 15.3 | 99% |
| Extremo 10×10 | 32.5 | 8.1 | 13.5 | 95% |
ΔE 12 es un umbral práctico, no una frontera clínica. Con protanopía la media cae a un dígito y con deuteranopía baja más de la mitad; en el 95–99% de los 1.200 tableros aparece al menos una pareja por debajo del umbral.
Casi siempre es la misma pareja
El colapso lo domina rojo junto a verde amarillento: aparece en el 97–99% de los tableros afectados. Esa pareja pasa de ΔE 54.0 con visión ordinaria a 9.5 con protanopía, una caída del 82%. Está a tres posiciones en el anillo, distancia que el algoritmo considera segura, pero comparte la misma banda de luminosidad; púrpura y verde azulado también caen de 74.0 a 8.2.
Qué ayuda ahora mismo
Hoy no hay modo para daltonismo ni bordes de región. Los filtros de color del sistema en macOS, Windows, iOS y Android sí pueden volver a separar estos tonos; ampliar la imagen no ayuda porque el problema es cromático. Una futura paleta debería revisar primero las parejas separadas por tres posiciones, no las obviamente contiguas.
Cómo se midió
Los tableros proceden de `generatePuzzleSync` y los colores de `assignRegionColors` y `regionAdjacency`. Usamos CIE76 ΔE y una matriz dicromática lineal RGB de la familia Viénot/Brettel. Las pruebas recalculan las tablas desde los módulos reales para que un cambio de generador o paleta no deje cifras antiguas publicadas.
Mira así el próximo tablero
Abre un tablero y localiza las dos regiones vecinas de color más parecido. Ahí ves el margen de seguridad de la paleta y, si dispones de él, puedes probar un filtro del sistema para visión rojo-verde.
Los tableros se generan en tu navegador. Nada de lo que juegas se envía a ningún sitio.