Ir ao conteúdo
SEED engenhariaDesign System

Dataviz

6. Supersedes formais

seed-dataviz.md v0.22 · §06seção 11 de 1206-supersedes-formais.md · MD5 0284bcb3
O que morre O que passa a valer Motivo
DG10-d — separar segmentos da pilha com traço de 1px em surface-page DG11 — contorno de 1px em cinza-900 em toda superfície de área opaca O branco mede 1,85 contra cat-2 (amarelo): praticamente invisível. O cinza-900 mede ≥4,17 contra todos os fills nos dois modos, e resolve fronteira contra o fundo e contra o vizinho — uma regra no lugar de duas. Descartado no caminho: contorno na variante -stroke da própria série (cat-2-stroke × cat-1 = 1,28)
Portão de grayscale por razão de contraste WCAG (1ª versão do contraste-dg.py) Portão por espalhamento de claridade, piso de 6 pontos A razão de contraste foi calibrada para texto sobre fundo e reprovava o modo claro (cat-1 × cat-3 = 1,22), onde o gate humano leu bem. A claridade discrimina faixa: claro espalha 20 pontos, escuro 4. O piso está declarado no código como calibrado pelo gate, não derivado de norma
Gatilho da textura "escuro OU grayscale", e depois "só grayscale" Interseção escuro + grayscale (DG13) Duas leituras erradas da decisão do Rafael, ambas ligavam textura onde a cor já resolve. Guarda permanente: a suite extrai todos os seletores que ligam textura e exige as duas condições em cada um
DG11 — contorno de 1px em cinza-900 em toda superfície de área opaca DG14 — zero contorno; fronteira por vão de 2px na cor do cartão (espaço negativo) Gate de estética de 2026-08-10 ("ar de relatório antigo"). A causa raiz do DG11 — fill que reprovava 3:1 sozinho — foi removida pela categórica estendida v1.5 (todos os fills ≥3,22; cat-1 mudou de stop para isso). Cadeia completa: DG10-d → DG11 → DG14, cada elo com racional medido
A parte "e contorno" do DG12 DG12 restrito ao rótulo interno O contorno morreu com o DG14; a regra da tinta fixa permanece viva para o rótulo. Exceção nova declarada: a meta do medidor ACOMPANHA a superfície, porque as bandas invertem com o tema (DM3) — 7,07/3,93 medidos
Categórica v1.0 (valores) e a restrição "nenhum hex novo" do DT Categórica ESTENDIDA v1.5 (§3c do seed-tokens.md) — 2 matizes exclusivos de dado, 5 famílias, cat-1→turquesa-500, regra do dourado, cinza fora Racional medido: 3 matizes livres na marca ⇒ 6 posições sempre repetiam família ("escalas da mesma cor", crítica do gate). Leis de consumo na §4.6
Racional de paleta do DG10-b ("acima de 4 pareia matizes") Teto de 4 permanece; racional passa a ser o cognitivo do mercado Com a v1.5, as posições 1–5 são famílias distintas — o fato de paleta sumiu. Teto não reavaliado em gate; pendência registrada no §5
Papéis do gauge do DT (banda colorida carrega a severidade) DM3 — banda em intensidade de cinza; a barra de valor carrega a severidade Faixas coloridas distavam 1 ponto (light) / 0 (dark) de claridade; Few manda codificar faixa em intensidade. Nenhum hex muda; supersede formal na §3c v1.5
Piso de 6 pontos como critério geral de espalhamento Piso restrito ao contexto de calibração (barras altas adjacentes, modo claro); fora dele decide o gate No DM, bandas a 9/8/17 pontos — acima do piso — seguiam indistintas para o Rafael. Emenda no DG13; o DM11 nasceu dessa decisão de gate
DG13 — gatilho da textura na interseção escuro ∩ grayscale DI2grayscale ∩ (escuro OU ≥4 séries) Remedição de 2026-08-11 com as seis posições da categórica v1.5 em modo claro: cat-1 × cat-4 = 1 ponto e cat-3 × cat-5 = 1 ponto de claridade (56/75/49/55/50/27). O "a cor basta no claro" do DG13 valia para três séries, medidas na paleta v1.0 — a v1.5 dobrou as posições sem que o gatilho fosse remedido. O que muda é a densidade da paleta, não o meio. Descartados: somar só o impresso ao gatilho (deixaria aberto um colapso de tela já medido) · texturizar sempre (reprovado no gate de 2026-08-09) · baixar o piso de 6 para 1 (escolher o limiar para caber na paleta inverte instrumento e evidência)
A afirmação do §5 de que o modo claro tem 7 pontos de espalhamento (errata E7) O claro tem 1 ponto no pior par acima de 3 séries Os 7 pontos são da categórica v1.0 com cat-1/2/3, corretos na data. Citar um número medido depois de um supersede de paleta exige reconferir o contexto, não herdá-lo. É a segunda consequência colateral medida do supersede da categórica — a primeira foi a E3 (ET5 em cat-5)
DM8 — o e-mail de alerta de geração leva um gráfico (barra agrupada esperado × medido, PNG @2x no R2) O e-mail de alerta leva SÍMBOLO DE ALERTA, não gráfico. O slot volta ao seed-email.md sob o EC5 (ícone raster sob demanda, /email/v1/icones/) Gate de produção do asset, 2026-08-11. O PNG hospedado é arquivo único servido a todos os disparos: os números nele são necessariamente ilustrativos, e o cliente com desvio de 6% receberia imagem mostrando 18%, contradizendo o texto. Quem vê isso conclui que o sistema erra, não que a imagem é genérica — e alerta existe para ser confiável. O e-mail avisa; o sistema mostra. A correção não abre exceção: reconduz o slot a uma lei que já existia e que o DM8 havia contornado ao especificar um PNG de conteúdo. Descartado: gráfico gerado por usina no envio — não por mérito, mas por domínio; o DM10 já pôs comportamento dependente de dado vivo no produto (Lovable/Supabase), e isso é programação de sistema, não spec de DS
A regra do piso: "o piso de 6 pontos decide apenas no contexto em que foi calibrado; fora dali quem decide é o gate" — lida como meio novo exige calibração nova O piso é calibrado por FORMA de apresentação e vale para aquela forma em qualquer meio. Forma nova exige recalibração por gate mesmo no meio de sempre Prova impressa física de 2026-08-11 (§4c.3). O DI3 nasceu prevendo que papel exigiria piso próprio; não exigiu. Os dois pares que o Rafael não distinguiu na folha em escala de cinza são exatamente os dois que a medição em tela apontava a 1 ponto (cat-1 × cat-4 e cat-3 × cat-5), sem falso positivo nem falso negativo em 15 pares. Comparando com o DM11 — bandas finas de medidor, 9/8/17 pontos, indistinguíveis na tela —, a variável discriminante aparece: forma diferente + mesmo meio → o instrumento erra; mesma forma + meio diferente → acerta. Por que a regra nova é melhor: a anterior mandava recalibrar a cada meio, o que é caro e desnecessário; a nova manda recalibrar a cada forma, que é onde o risco mora, e explica os dois episódios em vez de um. Descartado: manter a redação por "contexto", vaga o bastante para caber qualquer coisa e portanto incapaz de prever nada
Vocabulário de textura do DG13 com 4 posições 6 posições — acrescentam-se linhas verticais (série 5) e diagonal a 135° (série 6) O teto de séries sempre foi 6; o vocabulário parava em 4. A lacuna era invisível porque o gatilho antigo nunca foi exercido contra um gráfico de 5 ou 6 séries — o único que existe estava sem textura nenhuma (errata E11). A 6ª usa 135° e não 45° porque a diagonal a 45° é exclusiva do chart-no-data, e é a exclusividade que impede "sem medição" de ser lido como categoria. Descartados: 45° com espaçamento diferente (a distinção viraria densidade, frágil no papel e em fotocópia) · pontos maiores para a 5 (lê como a textura 2 de perto)
A hachura do chart-no-data consumindo chart-axis (redação da errata E3) chart-no-data-hatch, token próprio — cinza-600 light / cinza-400 dark (seed-tokens.md v1.7 §3c) chart-axis é cinza-500 e mede 2,80 contra o preenchimento cinza-100, abaixo do piso de 3:1 (errata E13). A cadeia inteira do papel: cat-5-stroke (v1.0 — cinza-600 por acidente, passava com 3,93) → chart-axis (E3 — semântica certa, medição quebrada) → token próprio (3,93 / 3,84). Descartado: consumir o primitivo cinza-700 direto — repetiria a estrutura do erro, que foi um papel de desenho existir sem token próprio e tomar emprestado o de outro papel
DF2 como cobertura completa do consumidor web (shadcn Chart sobre Recharts v3) DF2 vigente para os tipos core, monitoramento e derivados; a família MAPA consome d3-geo + topojson-client (DP2, §4d.2) Recharts não desenha mapa — não há componente geográfico na biblioteca. Não é supersede do DF2 e sim o preenchimento de uma lacuna que ele tinha sem saber, por ter sido escrito quando mapa não era escopo. Descartados: mapa de tiles (Leaflet/MapLibre/Google/Mapbox) — traz base cartográfica de terceiro com estética própria, não imprime, e paga custo de render em pan/zoom que nem usamos · D3 puro sem invólucro — aqui a camada d3-geo é obrigatória de qualquer forma, o opcional é o wrapper acima dela
DG14 lido como "nenhuma superfície de dado leva contorno, em qualquer forma" DG14 com escopo declarado: vale onde a superfície é separável por espaço negativo (barra, segmento de pilha, fatia, área). Onde a geometria é contígua (mapa, heatmap), a fronteira é desenhada e consome chart-grid (DP4, §4d.4) Território é contíguo: não existe vão entre dois municípios sem que se invente um. A regra que cobre o caso já existia e está estável desde o DT — condição (b) da §3c do seed-tokens.md, escrita junto com a isenção do WCAG 1.4.11 para heatmap. Por isso é precisão de escopo, não supersede: nenhuma decisão anterior deixa de valer. Descartado: erodir cada polígono para fabricar o vão de 2px — em município estreito a erosão consome a área, e na borda externa do estado ela abre canaleta contra o fundo, inventando fronteira onde não há
DI2 aplicado literalmente ao mapa (textura por série quando grayscale ∩ (escuro OU ≥4 séries)) Em mapa, a distinção de categoria em escala de cinza é por FORMA do marcador — círculo · quadrado · triângulo — com teto de 3 categorias (DP10, §4d.10) O DI2 permanece vigente; o que muda é o veículo. Textura exige área para virar padrão: dentro de um marcador de 8–12px, quadriculado ou pontilhado não produzem padrão, produzem sujeira, e em impressão a laser ou fotocópia produzem borrão. É a mesma lógica do supersede da regra do piso (§4c.3): o instrumento vale para a forma em que foi calibrado. Descartados: hachura reduzida proporcionalmente ao marcador (a distinção viraria densidade, frágil no papel e pior em fotocópia — armadilha já rejeitada no vocabulário de textura) · losango, estrela e cruz como 4ª–6ª formas (perdem identidade a 8–12px; círculo/quadrado/triângulo diferem em número de vértices, atributo que sobrevive à redução)
DP4 da v0.14 — a fronteira de município consome chart-grid chart-geo-boundary, token próprio novo na v1.8 dos gêmeos (errata E19) Medido em 2026-08-11 pelo contraste-dp.py: chart-grid e chart-no-data têm o mesmo hex nos dois temas (#E3EBF0 / #38464F), então a fronteira desaparece sobre um município sem medição (razão 1,00) e mede 1,11 contra o território de contexto. A condição (b) da §3c foi escrita para heatmap, onde a fronteira nunca separa dois cinzas; num mapa, separar dois cinzas é o caso normal. Descartados: border-default (1,37) · border-strong (2,33) · emprestar chart-axis, que passa numericamente mas no dark é o mesmo hex do chart-no-data-hatch — a estrutura exata da errata E3
DP10 da v0.14 — cor codifica a categoria até 3 marcadores; forma só acima disso A FORMA é o portador permanente da categoria; a cor é redundância (errata E20) Espalhamento de claridade medido entre os marcadores: no dark os três pares medem 3,6 · 3,7 · 0,2 pontos, e mesmo no light o par cat-1 × cat-4 mede 0,9 — todos abaixo do piso de 6. Como o mapa vai para impressão (mono é grayscale por definição) e para o ERP (tema escuro), não existe cenário em que a cor sustente a categoria sozinha. Registro desconfortável: a alternativa correta estava escrita na v0.14 e foi descartada por raciocínio ("cria distinção sem informação"), sem medição — o erro que o §7 da v0.11 já havia nomeado
DP9 — a malha é publicada em DOIS níveis de resolução (figura e ERP) UM único asset, simplificado a 2% (Visvalingam com topologia preservada) Medido em 2026-08-11 sobre a Malha Municipal Digital do IBGE 2025, com instrumento próprio (erro de área por município na projeção real). A previsão do DP9 era que o nível de papel seria pesado demais para o site — a diferença medida entre os dois níveis é de 192 KB (710 KB contra 518 KB), porque abaixo de 1% quem domina o arquivo é a quantização, não a contagem de vértices. Dois assets da mesma geometria por 192 KB é uma segunda fonte de verdade em troca de quase nada, exatamente o que o DF7 existe para impedir. Piso declarado do nível único: erro de área no p99 ≤ 2% (medido: 1,78%), porque é este o nível que hospedará o coropleto do DP14, onde a área desenhada é o que compara os dados. Descartados com número: 1% (p99 4,08%, pior município 20,5%) · 0,5% (p99 9,70%) · 0,2% (p99 23,24%) · 0,05% (p99 68,55%, e economiza apenas 208 KB sobre o 1%). Caso-limite achado pelo instrumento sozinho: Santa Cruz de Minas (MG), 3,565 km², o menor município de Minas — a 2% erra 4,2%; a 1%, 20,5%
(do DT, inalterado) nada Sequencial, no-data, divergente, gauge-tokens e strokes v1.3 seguem intocados

Esc