A cor das regiões é estrutural no Meowdoku, não decorativa
Cada célula do Meowdoku tem uma cor sólida e nada mais marca onde termina uma região. Duas cores vizinhas mal escolhidas tornam o tabuleiro ilegível antes do primeiro gato. O jogo já trata a paleta como parte funcional; aqui medimos se ela resiste a uma deficiência de visão de cores.
O que realmente marca uma região
O componente não desenha uma fronteira especial entre regiões: todas as células recebem a mesma linha fina de 1 px. Só a cor de preenchimento muda; não há contorno, ícone ou textura. Assim, a cor é o único registro da região de cada célula.
Por que a paleta sustenta a estrutura
Duas regiões vizinhas com cores parecidas passam a parecer uma única mancha. O próprio módulo alerta que uma atribuição ingênua aproxima vermelho de rosa ou laranja de amarelo, obrigando o jogador a encarar justamente quando reconhecer a região é a base de toda dedução.
O algoritmo: coloração de grafos de verdade
`assignRegionColors` monta um grafo de adjacência por lados compartilhados, não diagonais, começa pelas regiões com mais vizinhos e escolhe a posição livre mais distante deles num anel de 12 cores. Regiões são vértices, lados são restrições e o anel aproxima a semelhança visual dos matizes.
Quanto espaço sobra na paleta
A paleta tem 12 posições; o número de regiões é igual ao tamanho do tabuleiro e chega no máximo a 10.
| Tabuleiro | Regiões (= tamanho) | Posições livres |
|---|---|---|
| Fácil 5×5 | 5 | 7 |
| Normal 7×7 | 7 | 5 |
| Difícil 9×9 | 9 | 3 |
| Extremo 10×10 | 10 | 2 |
Mesmo no Extremo, duas posições não são usadas; o fallback por falta de cores nunca dispara num tabuleiro real.
O ganho sob visão comum
Medimos a separação com CIE Lab ΔE: abaixo de 10 as cores parecem semelhantes de relance; acima de 30, claramente distintas. Em 300 tabuleiros novos por dificuldade, comparamos o par vizinho mais próximo à atribuição que ignora adjacência.
| Tabuleiro | assignRegionColors | Sem considerar adjacência |
|---|---|---|
| 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 |
A coloração acrescenta cerca de 20% de separação em todas as dificuldades. A paleta já evita colisões graves; o algoritmo remove a sorte e transforma “provavelmente bom” em garantia.
O que muda na deficiência vermelho-verde
Protanopia e deuteranopia comprimem o eixo entre vermelho, laranja, verde-amarelado e verde e, juntas, afetam cerca de 1 em 12 homens. Aplicamos uma simulação dicromática linear RGB e medimos ΔE novamente. É um limite de severidade total, não a visão exata de cada jogador.
O resultado medido: colapso em quase todo tabuleiro
Repetimos os mesmos 300 tabuleiros por dificuldade e buscamos o par vizinho mais próximo sob as duas simulações.
| Tabuleiro | Visão comum | Protanopia | Deuteranopia | Tabuleiros com par abaixo de Δ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 é um limiar prático, não clínico. Na protanopia a média cai para um dígito e na deuteranopia diminui mais da metade; 95–99% dos 1.200 tabuleiros têm pelo menos um par abaixo dele.
Quase sempre é o mesmo par
O colapso é dominado por vermelho ao lado de verde-amarelado, presente em 97–99% dos tabuleiros afetados. O par cai de ΔE 54.0 na visão comum para 9.5 na protanopia, redução de 82%. Fica a três posições no anel, distância tida como segura, mas na mesma faixa de luminosidade; roxo e azul-petróleo também caem de 74.0 para 8.2.
O que ajuda hoje
Hoje não há modo daltônico nem borda de região. Filtros de cor do sistema no macOS, Windows, iOS e Android podem separar novamente esses matizes; ampliar não ajuda porque o problema é de cor. Uma futura paleta deve revisar primeiro os pares separados por três posições.
Como medimos
Os tabuleiros vêm de `generatePuzzleSync` e as cores de `assignRegionColors` e `regionAdjacency`. Usamos CIE76 ΔE e uma matriz dicromática linear RGB da família Viénot/Brettel. Os testes recalculam tudo a partir dos módulos reais para impedir números desatualizados.
Observe o próximo tabuleiro assim
Abra um tabuleiro e encontre as duas regiões vizinhas com cores mais próximas. Ali está a margem de segurança da paleta e, se disponível, um bom teste para o filtro vermelho-verde do sistema.
Os tabuleiros são gerados no seu navegador. Nada do que você joga é enviado para qualquer lugar.