Ir ao conteúdo
SEED engenharia

Componentes

Histórico da §48 — seed-componentes.md

históricoseed-componentes.md v1.67 · §h48seção 97 de 17248-historico.md · MD5 17996cde

Título completo no canon: Histórico da seção §48 — Painel — grade, lentes, frescor, edição direta e mapa (não é regra)

Base (3 rodadas encadeadas, 2026-08-12): R1 canon internoDF6 (esta fronteira) e DM10 (tempo real é produto); a Régua de Espera do Bloco 3 em três regimes compostos (ação · carga inicial · refresh sobre conteúdo, com delay de 1s e permanência mínima); os dois regimes de live region do §1.13 (discreto × contínuo, uma por componente); o §46 inteiro (SH2 landmarks nomeados, SH5 ativo que sobrevive ao grayscale); o DP12 (destino externo × interno); o §40 (densidade compacta medida em 33px); e a §6b do estudo-viver-de-ia.md — a auditoria que mostrou que a "camada de movimento" não era lacuna de token (existem 4 durações + 4 easings + prefers-reduced-motion desde os primitivos) e sim de consumo. R2 mercado — comutador de visualização no ClickUp, Notion e Linear: as lentes mostram os mesmos itens com filtro e layout próprios sobre a mesma fonte; trocar de lente não altera os itens; e a adequação da lente depende do dado. R3 normasWCAG 2.2.2 (nível A): informação que se atualiza sozinha, começa automaticamente e é apresentada em paralelo com outro conteúdo exige mecanismo para pausar, parar, esconder ou controlar a frequência; painel com intervalo escolhível (30s / 5min / manual) satisfaz pelo controle de frequência. Base adicional da rodada 3 (edição direta): WCAG 2.2, SC 2.5.7 Dragging Movements (AA) — toda funcionalidade que usa arrasto tem de ter caminho de ponteiro único alternativo; e a documentação do ClickUp sobre gantt × timeline (ver PN3c). Consolidados aprovados pelo Rafael em 2026-08-12 e 2026-08-13.

(Estado: estável. Gate visual do Rafael APROVADO em 2026-08-13 sobre o preview v0.6 — o quarto e último gate do bloco, depois das quatro camadas automatizadas. Com ele o bloco 6C FECHA e a Fase 6 vai a 3/3 blocos concluídos (6A §46 Shell · 6B §47 Página institucional · 6C §48 Painel). A promoção é dos contratos PN1–PN54; as decisões de marca S3, S4 e S6 seguem proposta — ver a ressalva no cabeçalho do §48 e a pendência PN-P1 em §48.9. Este bloco é o primeiro do projeto validado em cinco camadas, e a quinta (render-contraste.mjs) nasceu de um defeito que as outras quatro não podiam ver.)

Rodada 1 — 2026-08-12, preview v0.1 → v0.2. suite-painel.mjs 67 PASS · 0 FAILprova de que as guardas são reais: contra um preview com 5 defeitos deliberados (lente desabilitada em vez de oculta, frequência sem opção manual, pílula pintada pelo sinal, aria-valuemin ausente, base proporcional não declarada) ela reprova em 6; render-painel.mjs 17 PASS · 0 FAIL; contraste-painel.py 44 PASS · 0 FAIL após as correções que a própria medição exigiu. O gate visual reprovou o v0.1 e produziu o PN3b — as lentes "linha do tempo" e "calendário" desenhavam listas. Preview a v0.2, suíte a 75, render a 25; contra a versão em que as duas lentes voltam a ser lista, a suíte reprova em 6.

Rodada 2 — 2026-08-13, preview v0.3. Oito lentes (S1) e camada visual (PN21). suite-painel.mjs v2 107 PASS · 0 FAIL; prova: contra um preview com 4 defeitos plantados — gantt sem dependências, véu a 35%, dois heros, transition com duração solta — ela reprova exatamente nos 4. render-painel.mjs v2 37 PASS · 0 FAIL, medindo em Chrome real 3 conectores de dependência com extensão em pixels, 5 faixas de responsável com sub-linhas de sobreposição em tops distintos, marca de capacidade no mesmo x, excedente com largura real, contorno do mapa com bbox medido e 5 pontos dentro do viewBox. contraste-painel.py v2 70 PASS · 0 FAIL, incluindo os pares do hero escuro (branco × cinza-900 = 13,86; itálico turquesa-300 = 7,57; botão-solução = 5,11).

Rodada 3 — 2026-08-13, preview v0.5 → v0.6. Cinco camadas, todas verdes, todas re-executadas contra o artefato final:

Camada Ferramenta Placar O que ela mede
suite-painel.mjs v4 Node + jsdom 133 PASS · 0 FAIL Estrutura, ARIA, tokens, classes fantasma, referências fantasma, higiene
render-painel.mjs v3 Chrome headless 37 PASS · 0 FAIL Colapso da grade em 3 larguras, geometria das oito lentes, frescor vivo
render-edicao.mjs v1 Chrome headless 142 PASS · 0 FAIL Os 33 contratos de edição direta, filtro, escala, mapa e criação — gesto por gesto, com pixels
render-contraste.mjs v1 Chrome headless 6 PASS · 0 FAIL Contraste de composição renderizada nos dois temas (368 textos medidos), não de par de token
contraste-painel.py v2 Python 70 PASS · 0 FAIL Pares declarados, calculados fora do navegador

Rodada 4 — 2026-08-13 (noite), preview v0.6 → v0.7 → v0.8. A inversão do hero. Cinco camadas re-executadas contra o v0.8 final: suite-painel.mjs 139 PASS · 0 FAIL (era 133; entram NV-01, PN21-05c/05d/05e/05f/05g) · render-painel.mjs 37 · 0 · render-edicao.mjs 142 · 0 · render-contraste.mjs 6 · 0 · contraste-painel.py 78 · 0 (era 70; entram PC-H5b, PC-H6PC-H11). Nenhum artefato canônico foi tocado — cinco arquivos de preview e validação, e nenhum dos 40 HTML do repositório.

Errata E-6C-01 (2026-08-13, achado na conferência de ambiente): título e selo declaravam versões diferentes. O <title> do preview dizia "preview v0.3" e o selo na tela dizia "preview v0.5" — duas declarações de versão no mesmo arquivo, discordando. A guarda HIG-03 passava verde porque media apenas presença de versão no título. O defeito importa porque o título da aba é o primeiro sinal de arquivo fresco — três relatos de "não funciona" nesta sessão foram cache, e um título que mente cega justamente o instrumento usado para detectar cache. Correção estrutural, não sintomática: a versão passa a ter fonte única (constante VERSAO_PREVIEW no gen-painel.py), consumida por dois marcadores do molde (@@VERSAO_TITULO@@ no título, @@VERSAO@@ no selo, este com data e hora) — divergir deixa de ser possível por construção. Preview bumpado a v0.6 porque o artefato corrigido tem de ser distinguível do defeituoso na tela. Guarda de regressão permanente, creditada ao Rafael: HIG-06 — título e selo declaram a MESMA versão; contra um artefato com a versão do título plantada de volta em v0.3, a suíte reprova em exatamente 1, e a mensagem nomeia os dois valores.

Escrito em 2026-08-12. Estes quatro blocos — KPI, ranking, progresso e timeline — são os buracos vermelhos que o censo de lacunas do estudo-viver-de-ia.md (§6) encontrou e que a auditoria de impacto do marco da Fase 5 (§6b daquele arquivo) classificou como aditivos: nenhum exige supersede em algo estável. O achado estrutural do censo foi que os buracos não eram gráficos — eram componentes de dado que não são gráficos, uma classe intermediária sem dono entre o Bloco 6 (dados) e o DG (gráficos core). É esta seção.

Esc