Ir ao conteúdo
SEED engenhariaDesign System

Componentes

82. CONTRATO MM1 — o piso de traço em milímetros, por ALVO DE PASTA

estávelseed-componentes.md v1.43 · §82seção 88 de 9882-contrato-mm1-o-piso-de-traco-em-milimetros-por.md · MD5 18e1e0fd

Título completo no canon: CONTRATO MM1 — o piso de traço em milímetros, por ALVO DE PASTA · estável (2026-08-22, décima oitava parte) · instrumento validacao/guarda-piso-mm.py · canon marca-seed.md §7.4-c (v5.8)

Para quem lê isto sem o resto: o §76 especifica o grafismo (a serra de 3–4 planos de linha que assina as peças); o §77 o contrato GR1, que mede área, véu do glifo e faixa pelo PIXEL; o §80 o piso de traço em milímetros que o decisor aprovou; o §81 a medida física do cartão. Esta seção é o instrumento que faz o piso do §80 valer sem depender de alguém lembrar.

82.1 O que ele julga#

cláusula exige de onde vem o número
MM1-a traço mais fino ≥ 0,25 mm canon §7.4-c — veredito "saída B"
MM1-b a razão do alvo físico declarado casa com a razão em px (tol. 1%) coerência interna do artefato — tolerância de instrumento
MM1-c a cena tem ≥ 3 pesos DISTINTOS canon §7.1 ③ + §7.3 (serra-cena = 3–4 planos)
MM1-d arquivo de PRODUÇÃO declara sangria ≥ 3 mm canon §7.4-e (v5.10)
MM1-e conteúdo a ≥ 3 mm da linha de corte canon §7.4-e (v5.10)

Saída: placar PASS / FAIL / [n/a] por cláusula, COBERTURA: n de n, JSON opcional (JSON=…) e exit code (0 = sem FAIL). ⚠ Confira o exit code: o 48º defeito desta casa foi um placar de texto completo com o JSON derivado morrendo em silêncio.

82.2 A decisão de arquitetura — e ela é o coração da seção#

Quem é peça impressa é decidido pelo que o ARTEFATO DECLARA:

<meta name="alvo-fisico" content="90x50mm">

Escrito pelos geradores nas peças físicas. A guarda lê isso do arquivo. Nenhuma lista de nomes, nenhum filtro por prefixo.

Por que isso é regra e não estilo: filtro por nome de arquivo tem a aparência de alvo de pasta e é a origem documentada de dois defeitos deste projeto — o 42º (filtro por prefixo deixou 17 de 51 arquivos nunca medidos) e o fechamento da BT-P2 (declarado sobre dez artefatos num acervo de trinta e quatro). Peça sem a declaração sai [n/a] NOMEADO, nunca PASS: peça de tela não tem milímetro, e inventar alvo físico para ela seria pior que não ter.

82.3 Por que três cláusulas e não uma — as fixtures provam#

fixture o que ela é resultado
mm-b1-FALHA-alvo-incoerente alvo físico mentiroso (210×297mm numa peça 1062×590px) passa o piso com 0,583 mm e falha MM1-b. O milímetro sai errado e nada parece errado
mm-c1-FALHA-hierarquia-grampeada o GRAMPO — a saída que o decisor recusou passa MM1-a e falha MM1-c: 4 planos, 2 pesos. MM1-a sozinha salvaria o número e perderia o desenho
mm-a3-BORDA-exatamente-no-piso 0,2500 mm cravado PASS — o piso é inclusivo

Pasta de prova: render-audit/prova-mm/ (gerador validacao/gen-prova-mm.py), 7 fixtures, uma cláusula por fixture, com o veredito peça-por-peça impresso antes de o instrumento existir. Placar de referência: 13 PASS · 3 FAIL · 5 [n/a]. ⚠ Este placar é CONTRATO: se ele mudar sem uma fixture ter mudado, a guarda regrediu.

82.4 O que a estreia achou — inclusive um defeito real do gerador#

A primeira execução reprovou em bloco as 3 peças de cartão aprovadas e a pasta A4. ⭐ Régua da casa, aplicada pela sexta vez: quando uma régua nova reprova em bloco, a primeira hipótese não é "o acervo está ruim", é "a régua está medindo outra coisa".

  1. Defeito da RÉGUA: MM1-c exigia "pesos distintos == número de FORMAS". A serra real tem 5 formas para 4 planos — a linha da frente entra e sai da peça em segmentos, e dois segmentos compartilham o peso do mesmo plano. Corrigido para ≥ 3 pesos distintos (canon §7.3).
  2. Defeito do GERADOR, e é real: na pasta A4 (11,80952 px/mm) o piso vale 2,95238 px e round(...,2) devolvia 2,95 px = 0,24980 mmabaixo do canon por 0,0002 mm. Corrigido: o menor peso arredonda para CIMA. Piso violado por arredondamento é piso que não existe. Virou esclarecimento normativo no canon v5.8.

Quem achou o defeito 2 foi a guarda, na primeira vez que rodou — o mede-traco-mm.py rodado à mão imprimia "0,250 mm" arredondado e ninguém veria. É o argumento inteiro a favor de instrumento sobre conferência à mão.

82.5 Estado do acervo#

pasta MM1 leitura
gate-z3/largos 9 PASS · 0 FAIL · 6 [n/a] 3 cartões medidos; banner e capa são tela
gate-z3/formatos 3 PASS · 0 FAIL · 18 [n/a] só a pasta A4 é impressa nesta família
gate-montanha 0 PASS · 0 FAIL · 18 [n/a] tudo tela — e isso é o certo
gate-mr9/br-90x50 0 PASS · 0 FAIL · 15 [n/a] ⚠ gerado antes de a meta existir (MM-P1)

82.6 Fronteira declarada#

  • Não renderiza. Lê o stroke-width declarado. ⚠ CSS que sobrescreva o stroke-width passa invisível; nenhum gerador desta casa faz isso hoje, e se passar a fazer, a cláusula tem de virar medição de pixel.
  • Não exige DPI mínimo — não existe piso de resolução no canon (§0-b). O DPI é diagnóstico.
  • Não julga aparência e não sabe qual processo a gráfica usa (isso é o diagnóstico do mede-traco-mm.py, contra pisos de mercado).
  • Não há folha de conferência, de propósito: o produto é placar e exit code. Folha existe quando há aparência a julgar.

82.7 Pendências#

  • MM-P1 (nova) — varredura de quais artefatos do acervo são fisicamente impressos e não declaram alvo físico. Hoje eles saem [n/a], o que é honesto mas não é cobertura.
  • MR-P10sangria, com decisão dele pendente.

82.8 As duas cláusulas da SANGRIA — MM1-d e MM1-e (novas na v5.10)#

A regra que elas fazem valer é o canon §7.4-e: em peça impressa, 3 mm de sangria e 3 mm de margem de segurança, com a composição definida para a área de corte e a sangria como crescimento para fora — os dois vereditos dele, "acredito que 3+3" e "deixar o desenho dentro da area real, e a parte da sangria vc cresce o desenho".

O que muda no consumo, e é a parte que o time precisa saber:

tipo de arquivo tamanho quem mede declara no artefato
GATE área de corte GR1 (área · véu · faixa) e o olho do decisor papel=gate
PRODUÇÃO corte + 3 mm MM1-d e MM1-e papel=producao · corte-px · sangria

Nunca coloque um arquivo de produção na pasta de gate. A GR1 mediria a tela com sangria (razão 1134/662 = 1,713), que não casa com nenhum teto da §7.4, e devolveria [n/a]. Defeito que não é defeito, produzido por medir a coisa certa no lugar errado.

Como se gera o arquivo de produção:

PRODUCAO=1 DEST_LARGOS=producao/cartao-90x50 python3 validacao/gen-z3-largos.py

Peça de TELA é PULADA nesse modo, e com aviso impresso: peça de tela não tem corte nem sangria, e escrevê-la ali criaria um arquivo que parece de gráfica e não é.

Três coisas medidas que valem como regra de consumo:

  1. A sangria em px arredonda para CIMA (3 mm × 11,8 = 35,4 → 36 px = 3,05 mm). Sangria curta é sangria que não existe — mesma regra do piso de traço (§7.4-c).
  2. O layout aprovado cabe em 3 mm sem mexer: conteúdo a 4,24 mm do corte, folga de 1,24 mm. Contra 5 mm faltariam 0,76 mm e o conteúdo teria de ir de 50px para 59pxmudaria a composição aprovada.
  3. Sangria e margem protegem coisas diferentes. A fixture e1 prova: sangria correta e conteúdo a 2,03 mm do corte → passa MM1-d e falha MM1-e. Sangria evita fio branco; margem evita nome decepado.

Defeito de instrumento registrado: a primeira versão da MM1-e reportava a própria linha de corte como "o conteúdo mais perto do corte" — a 3,05 mm — e passava por acidente, escondendo a distância real do texto. Régua que mede a si mesma sempre passa. Corrigido: .corte e .card são moldura, não conteúdo.

82.9 Fronteira nova: peça com DOBRA não está coberta#

MR-P12. Peça com aba, vinco ou furo tem margem própria — a fonte pesquisada dá, como exemplo, 15 mm no lado da espiral em encadernação wire-o. A pasta A4 com aba é o primeiro caso do acervo e não existe como arquivo de produção: o que existe é uma face plana a 300 DPI, marcada papel=gate. Medir dobra é frente nova, e depende de ele decidir se a pasta vira arquivo de produção.


Esc