Componentes
77. GR1 GANHA INSTRUMENTO — o contrato do grafismo volta a ser verificável, e não por lista: por alvo de pasta com pasta de prova
seed-componentes.md v2.00 · §77seção 156 de 18477-gr1-ganha-instrumento-o-contrato-do-grafismo.md · MD5 6af8bc08Título completo no canon: GR1 GANHA INSTRUMENTO — o contrato do grafismo volta a ser verificável, e não por lista: por alvo de pasta com pasta de prova (2026-08-21, décima segunda parte) · 06-validacao/guardas/guarda-grafismo.mjs — estável
Em uma frase: O contrato do grafismo passa a ser verificável por alvo de pasta, com pasta de prova em que REPROVAR é o resultado desejado.
O que esta seção NÃO cobre: O instrumento não julga gosto nem composição: ele mede as três cláusulas escritas do GR1. — se é disto que você precisa, não preencha em silêncio: gere o pedido de cobertura (https://ds.seed.eng.br/pedidos/).
Contexto para quem lê isto sem ter visto o resto. O grafismo da SEED v2 é a "linguagem de linhas" do §7 do
marca-seed.md: curvas finas de 1,5–2px em turquesa, que substituíram as ondas chapadas de 2018. Ele existe em dois modelos — a SERRA EM ARCOS no rodapé (PADRÃO) e a MONTANHA no topo (opção de quem monta a peça) — com regimes de regra independentes, por veredito do decisor. A anatomia, os planos, a gramática e as 12 peças estão no §76; esta seção trata do INSTRUMENTO que verifica o contrato.
77.1 O estado que o §76 declarava, e que esta seção fecha#
O §76 registrou o contrato GR1 sem instrumento: as três cláusulas escritas, o código perdido na propagação, e a frase de que "todo placar GR1 de folha antiga é histórico e irreproduzível". Contrato escrito não é contrato verificado — a mesma distinção que obrigou o supersede formal da tabela BT1–BT7 no §64.1. Agora o contrato tem régua.
77.2 As três cláusulas, como se medem e o que cada uma devolve#
| cláusula | como se mede (o juiz é o pixel) | teto | devolve |
|---|---|---|---|
| GR1-a | render sem grafismo × render com grafismo; a área é o conjunto de pixels que muda | ≤ 10% da peça | 0,47%–1,79% nas 18 peças |
| GR1-b | máscara do símbolo (render sem ele × com ele), erodida 1px para excluir antisserra, intersectada com a máscara do grafismo | 0 px | 0 px em todas as 18 |
| GR1-c | regime pela âncora geométrica (que borda a caixa encosta, tol. 2px); altura pela extensão vertical da tinta; a caixa declarada sai ao lado | ≤ ~8% da altura | 7 formatos 5,89–6,67% pintada / 7,80–7,92% declarada |
Alvo de PASTA, sem filtro de nome (readdirSync(...).filter(endsWith('.html'))),
exclusões por PULA= impressas e contadas — o 42º defeito nasceu de um filtro
por prefixo de nome, que é lista escrita à mão com outra sintaxe.
Classificação estrutural, não por nome de classe: um <svg> da peça é
GRAFISMO quando todas as suas formas pintáveis (fora de
defs/mask/clipPath/symbol) têm fill:none e têm stroke; <svg> com
forma preenchida é IDENTIDADE, e é o alvo da GR1-b. O censo com o motivo de
cada elemento sai impresso por peça. Consequência canon-fiel e declarada: o
<svg class="risco"> amarelo de 56px é grafismo — é a linha "Marcador de seção"
da tabela do §7 ("linha curva curta (40–80px) … turquesa-400 ou amarelo"). Ele
pinta 164 px (0,026% do cartão) e entra na área; sai [n/a] na GR1-c.
77.3 A gramática de consumo — o que um criador de peça precisa cumprir#
- Rodapé é o padrão; topo é opção. Veredito verbatim: "o uso das montanhas/ondas no topo nao é o padrao, o padrao em em baixo, mas aprovei esse modelo de montanha para usar no topo caso o criador queira coloca-las no topo."
- ⚠ SUPERSEDIDO PELO §78 (mesma data). O texto original dizia: "Faixa de rodapé, canon vigente (v5.3): ≤ ~8% da altura. Peça que precisa de serra-cena (11,8%–15,7%) hoje reprova de propósito e espera a emenda MR-P4". A emenda MR-P4 foi aprovada no mesmo dia e o canon vigente é a v5.5: faixa de rodapé responde ao regime (detalhe ≤~8% · serra-cena com teto por formato, §78.2) e faixa de topo responde à largura (§79). A frase de cima ficou verdadeira por poucas horas — e é por isso que ela está riscada em vez de apagada.
- Faixa de topo não responde ao teto de rodapé e sai
[n/a]nomeado — veredito MT-P1, verbatim: "considere que o topo segue uma regra e o rodapé outra regra". - Área total de grafismo ≤ 10%, contando todo elemento de linguagem de linhas da peça, inclusive o marcador de seção.
- O grafismo não toca o núcleo do glifo do símbolo. 0 px, sem tolerância.
- Cor só em stop da rampa canônica turquesa (regra §0-b, nascida da retirada
do
#0A6B60). A guarda não mede cor — quem mede é aguarda-literal-de-cor.mjs(NV2) e a régua de contraste.
77.4 Fronteira declarada — o que este instrumento NÃO julga#
- Não julga se o desenho lê como serra. Legibilidade de forma não é medível por guarda; o juiz continua sendo o gate visual humano. Foi por isso que a peça de rodapé de 32px (P1) passou em todas as cláusulas e ainda assim o registro diz "não lê como serra".
- Não mede milímetros. Todo número é px de tela — MR-P6 aberta para o cartão 89×51mm e a pasta A4.
- Não mede contraste do grafismo contra o fundo, nem a supressão de fragmento (a "regra do fragmento" do §76.4, que é construção do gerador).
- Não tem bancada nem suíte, e a fronteira segue a do §76: o componente não interage, então não há comportamento a asserir.
77.5 O 47º defeito de instrumento, porque ele muda como se escreve guarda nesta casa#
Esconder um elemento e mostrá-lo de novo não restaura o pixel — 112 px do
glifo do símbolo voltam diferentes depois do ciclo visibility:hidden → '',
enquanto quatro capturas sem toque nenhum são byte-idênticas. O sinal foi um
número impossível: sobreposição de −77 px entre dois planos.
Conserto: um estado de render por carga nova, e a carga só esconde.
Régua que sai disso, e vale para toda guarda: quem mexe na página para medir
imprime prova de estabilidade (estado de controle renderizado duas vezes, em
cargas independentes, exigindo 0 px) e devolve [n/a] quando instável.
Reproduza: node 06-validacao/suites/prova-47o-defeito.mjs.
77.6 Onde está a prova, e como se roda#
Remedido em 2026-09-27, 16:09–16:13Z (REV-P21), da raiz do repositório, com os caminhos de hoje (a
pasta validacao/ virou 06-validacao/, e as render-audit/gate-* da era do Drive são as pastas do
07-pecas/, GR-P10):
python 06-validacao/geradores/gen-prova-gr1.py <pasta> # escreve as 14 fixtures (ver a nota)
DIR=<pasta> node 06-validacao/guardas/guarda-grafismo.mjs # 24·7·11
DIR=07-pecas/gate-7-formatos node 06-validacao/guardas/guarda-grafismo.mjs # 21·0·0
DIR=07-pecas/gate-pecas-largas node 06-validacao/guardas/guarda-grafismo.mjs # 15·0·0
DIR=07-pecas/gate-montanha-topo node 06-validacao/guardas/guarda-grafismo.mjs # 16·2·0
DIR=<pasta> ESCALA=2 node 06-validacao/guardas/guarda-grafismo.mjs # 24·7·11 (condição variada)
Os números que mudaram desde 2026-08-21 mudaram por canon, não por deriva: a pasta de prova ganhou fixtures no §79 (10·3·8 → 24·7·11 em 14 fixtures, o placar que o §79.3 já registrava); as peças largas passaram com os tetos por formato do §78 (11·4·0 → 15·0·0, o do §78.5); e o topo deixou de ser
[n/a]com o teto de largura do §79 (montanha 14·2·2 → 16·2·0; os 2 FAIL são as peças de rodapé P2 e P5, faixa declarada de 64 px = 15,24 % contra o teto de 7,95 % do post 1:1 que a guarda imprime). O gerador da pasta de prova lê o símbolo oficial de um caminho FORA do repositório (~/.claude/skills/synced/seed-ds-post/…), que não existe nesta máquina, e aborta; a remedição usou uma cópia dele que lê03-assets/simbolos/simbolo-principal.svg. A folha de conferência, omonta-folha-gr1.pye oLEIA-ME.mdda pasta de prova não estão no repositório (git ls-files: 0). Os comandos e números de 2026-08-21 estão no Histórico da seção.
77.7 Pendências que esta seção deixa#
- GR-P5 (nova) — estender a GR1-c com o regime SERRA-CENA por formato, depois de MR-P4 aprovada, com a fixture escrita antes e uma dimensão por vez.
- GR-P6 (nova) — a divergência de ÁREA contra o instrumento perdido
(
0,49–1,79%×0,67–2,17%históricos) não é resolvível: fica registrada. Se alguém encontrar o arquivo antigo num backup, a primeira coisa a fazer é comparar as duas definições de área. - GR-P7 (nova) — a prova de estabilidade existe em 1 de 56 instrumentos.
A varredura de quais outros mexem na página e não a imprimem é uma varredura de
uma linha, e é irmã da varredura de
scroll-behavior(43º defeito) e da IN-P2. - MR-P6 — grafismo em milímetros (segue aberta, do §76).