Estações /02
Quatro Cantos
Um mecanismo lógico de eixos giratórios em que cada manobra se propaga aos entroncamentos vizinhos.
acione ⟳: as rotações se propagam aos eixos conectados
Finalidade
Quatro entroncamentos, quatro trilhos em cada um, um comando por entroncamento. Acionar um entroncamento desloca os seus trilhos e, em seguida, transmite a alteração: conexões fixas copiam as cores para os dois entroncamentos vizinhos, de modo que nenhuma manobra é apenas local. O mecanismo é o objeto em exposição; encontrar uma configuração satisfatória é a tarefa proposta ao usuário.
Origem
O mecanismo partiu de uma única pergunta: e se o cubo mágico fosse um quadrado, em duas dimensões? Como no cubo, nenhuma manobra é local: girar um entroncamento altera os seus vizinhos.
Funcionamento
O mecanismo inteiro é um reducer puro sobre estado imutável. Uma ação ROTATE
desloca o vetor de quatro trilhos do entroncamento, percorre um mapa fixo de
conexões, em que cada entroncamento alimenta exatamente dois vizinhos, de um
índice de trilho para outro, e propaga os valores girados. A interface é DOM
simples: cada trilho é um segmento posicionado de forma absoluta, pintado em
uma das quatro cores de linha, e o Vue apenas renderiza de novo o que o
reducer devolve.
Manter a lógica no formato de reducer permite que o mecanismo seja verificado e aperfeiçoado sem que se altere um único elemento da tela.
Registros de operação
- A rotação anti-horária existe no reducer, mas está desativada na interface: a rotação em sentido único revelou-se a tarefa mais interessante. Não é possível desfazer uma manobra, apenas completar a volta.
- Ainda não há verificação de conclusão. O equipamento encontra-se, de fato, em fase experimental: o ciclo que o tornaria uma tarefa completa (um estado objetivo, um sinal de conclusão, um recomeço com sentido) é a próxima etapa conhecida.
- Na reforma do Terminal, os fios luminosos deram lugar a linhas de metrô. As bordas coloridas do tabuleiro passaram a ser lidas como terminais, o que sugere um estado objetivo que o mecanismo ainda não verifica.