Repository navigation
Design
Escrito na Fundação (F3). Só muda com decisão do dono registrada em ADR.
Regra para o front (
FE-01): todo componente novo usa só os tokens e componentes daqui. Cor, espaçamento e fonte literais no código são reprovados pelo lint. Os tokens estão emdocs/design/tokens.css.
- Nome visual: SNAKE 3310, em maiúsculas e fonte monoespaçada, como o menu do aparelho.
-
Logo:
docs/design/logo.svgé o ícone mais o nome, para fundo escuro. -
Ícone global (DOC-17):
docs/design/icone.svgé a tela verde com uma cobra de pixels e uma comida, dentro do corpo azul. É quadrado, desenhado numa grade de 48 px e legível em 48 px. É usado no favicon, no README e na imagem do repositório. -
Uso: respiro mínimo de 1/4 da largura do ícone. Logo só sobre
--cor-fundoou--cor-aparelho. Tamanho mínimo de 24 px. - Referência: a página imita um Nokia 3310 azul. Tela verde-azulada com pixels escuros, teclado numérico e teclas OK e C.
Contraste verificado no nível AA (4,5:1 para texto normal; 3:1 para texto grande e componentes).
| Token | Valor | Uso | Contraste sobre o fundo |
|---|---|---|---|
--cor-fundo |
#0E1A33 |
Página atrás do aparelho e modais | — |
--cor-aparelho |
#2B4C8C |
Corpo do 3310 (decorativo) | 2,1:1 (não é texto nem controle) |
--cor-aparelho-borda |
#1C3566 |
Contorno do corpo e moldura da tela | decorativo |
--cor-tela |
#C7F0D8 |
Fundo da tela do jogo | — |
--cor-pixel |
#43523D |
Cobra, comida e texto da tela | 6,7:1 sobre --cor-tela
|
--cor-tecla |
#DCE3EE |
Teclas | 6,5:1 sobre --cor-aparelho
|
--cor-tecla-texto |
#16213A |
Rótulo das teclas | 12,4:1 sobre --cor-tecla
|
--cor-texto |
#F2F5FA |
Texto sobre o fundo e o aparelho | 15,8:1 (7,6:1 sobre o aparelho) |
--cor-texto-suave |
#A9B8D0 |
Ajuda e texto secundário | 8,6:1 |
--cor-primaria |
#8FD3FF |
Botão principal e links | 10,6:1 |
--cor-primaria-texto |
#0E1A33 |
Texto do botão principal | 10,6:1 sobre --cor-primaria
|
--cor-erro |
#FF8A80 |
Mensagens de erro | 7,6:1 |
--cor-sucesso |
#7EE2A8 |
Confirmações | 11,0:1 |
--cor-alerta |
#FFD166 |
Avisos, como o limite de envios | 12,0:1 |
--cor-foco |
#FFD166 |
Anel de foco | 12,0:1 (5,8:1 sobre o aparelho) |
| Token | Família | Tamanho | Peso | Altura de linha |
|---|---|---|---|---|
--fonte-titulo |
--fonte-corpo |
--tamanho-titulo (1,5rem) |
700 | 1,5 |
--fonte-corpo |
system-ui (fonte do sistema) |
--tamanho-corpo (1rem) |
400 | 1,5 |
--fonte-tela |
ui-monospace (texto HTML sobre a tela) |
--tamanho-pequeno (0,875rem) |
400 e 700 | 1,35 |
Dentro do canvas, o jogo desenha números e letras com uma fonte bitmap 5×7 própria, sem arquivo de fonte externo.
| Token | Valor |
|---|---|
--espaco-1 … --espaco-6
|
4, 8, 12, 16, 24 e 32 px |
--raio-padrao |
8px |
--raio-tecla |
14px |
--raio-aparelho |
48px no topo e 64px na base |
--sombra-padrao |
0 8px 24px rgb(0 0 0 / 0.35) |
--toque-minimo |
44px |
Não há biblioteca de ícones. As setas das teclas são os caracteres ▲ ◀ ▶ ▼, e toda tecla com seta tem
aria-label ("2, para cima"). Os únicos desenhos são o ícone global e o logo.
| Componente | Quando usar |
|---|---|
| Aparelho | Moldura da página inteira: marca, tela, teclas OK e C e teclado numérico |
| Tela | Tudo que é do jogo: menu, partida, pausa, ranking e instruções, em --cor-pixel sobre --cor-tela
|
| Tecla | Botão do teclado, com área mínima de 44×44 px, número e letras. As teclas 2, 4, 6 e 8 movem; a 5 pausa; OK seleciona; C volta |
| Botão (primário, secundário) | Ações fora da tela, no modal de fim de jogo |
| Campo de formulário | Só o apelido: rótulo visível, ajuda abaixo e mensagem em role="status"
|
| Lista de ranking | Posição, apelido e pontos, os 5 primeiros na tela |
| Modal de confirmação | Fim de jogo e todo aviso, com <dialog> (nunca alert() ou confirm()) |
| Aviso (toast) | Não há: os avisos ficam na mensagem do modal ou na própria tela |
| Situação | Padrão |
|---|---|
| Lista | Ranking na tela: "1. APELIDO … pontos", pontos alinhados à direita e números no formato pt-BR |
| Formulário | Modal de fim de jogo: pontos, campo de apelido (3 a 12 letras ou números), "Enviar placar" e "Jogar de novo" |
| Detalhe | Não há |
| Vazio | Ranking: "Ninguém ainda. Seja o primeiro!" |
| Erro | Ranking: "Sem conexão. OK tenta de novo". Envio: "Não deu para enviar. Tente de novo.", em --cor-erro. Apelido recusado: "Esse apelido não pode. Escolha outro." |
| Limite (429) | "Muitos envios seguidos. Tente de novo em 1 minuto.", em --cor-alerta
|
| Carregando | "Carregando…" na tela, e "Enviando…" com o botão desabilitado |
| Confirmação | Modal do design kit; nunca alert() ou confirm()
|
- Usável a partir de 360 px de largura, sem rolagem horizontal da página. O aparelho ocupa até 340 px.
- Área de toque de pelo menos 44×44 px (
--toque-minimo). - No PC, as teclas do aparelho continuam clicáveis, e o teclado físico também funciona: setas ou WASD, espaço, Enter e Esc.
WCAG 2.2 nível AA: contraste, navegação por teclado, foco visível, rótulos em todos os campos, verificador automático na CI.
- O canvas tem
role="img"e nome. O placar e o ranking ficam em texto HTML, lido por leitor de tela. - Foco visível com anel
--cor-focode 3 px. - O jogo pausa sozinho quando a aba perde o foco.
| Tipo | Formato |
|---|---|
| Data | 03/10/2026 |
| Hora |
14:05 (fuso do usuário) |
| Moeda | R$ 1.234,56 |
| Número |
1.234,5 (pontos no ranking: 1.234) |
docs/prototipos/fundacao/index.html é navegável e jogável. Tem menu,
partida, pausa, fim de jogo com apelido, ranking e instruções. Um painel de protótipo simula as respostas da API:
ranking com placares, vazio ou com erro, e envio aceito, apelido recusado, limite 429 ou erro. Issue da Fundação:
#7.
| Data | O que mudou | ADR |
|---|---|---|
| 06/10/2026 | Versão inicial (Fundação F3) | — |
Social preview PNG 1280×640 e fonte SVG preservam a identidade aprovada. Upload personalizado ainda não confirmado: API disponível verifica estado, mas não oferece upload. Instalação em Settings → General → Social preview → Upload an image.
Início · Índice funcional · Matriz · Aplicativo 0.1.0 / Big Bang 2.0.1 · código d36b9cea1ffb0b1b75c68d24dcbb864156946c72
- Começar / instalar
- Guias de uso
- Produto e planejamento
- Funcionalidades
- Design e acessibilidade
- Requisitos
- Matriz de cobertura
- Tecnologia
- Arquitetura
- Referência técnica
- Segurança e privacidade
- Operação
- Histórico / ADRs
Aplicativo 0.1.0 · Big Bang 2.0.1 · código d36b9cea1ffb0b1b75c68d24dcbb864156946c72.