Files
PessoaandClaude Opus 5 d547e9ca47 test(marca): a medição da fachada no navegador, e a sabotagem que a prova
O que está aqui é a superfície 2 do #659 — a tela de entrada — medida por
ferramenta num build de produção, com build ANTES e DEPOIS.

`medir-fachada.mjs` existe ao lado da spec porque o daemon do Docker desta
máquina travou (o socket ACEITA conexão e nunca responde), e sem Supabase local
a spec não carrega — o `loadCreds()` dela semeia pelo banco. A fachada não
precisa de banco: `marcaDaInstalacao()` devolve `null` quando a consulta falha
(`instalacao.ts:362` — ela não lança) e a resolução cai na camada do AMBIENTE,
que é a semente `APP_LOGO_URL` documentada no CLAUDE.md. O caminho de produto é
o mesmo; muda qual camada ganhou.

MEDIDO (tema escuro, logo enviado):
  background-color=rgb(255,255,255)  padding=[8,12,8,12]  box-shadow≠none
  a moldura CONTÉM o logo: 64×56 contra 40×40

MEDIDO (tema claro, mesmo logo):
  background-color=rgba(0,0,0,0)  padding=[0,0,0,0]  box-shadow=none

MEDIDO (tema escuro, marca do PRODUTO):
  nenhum ancestral com fundo claro — a fronteira da reconciliação vale.

A CONDIÇÃO DO DONO, com dois builds de produção (pré-#659 = 688f798f2 contra o
estado atual): para quem NÃO enviou logo, a marca e o cartão de acesso ocupam
retângulos IDÊNTICOS até a fração de pixel, nos dois temas, antes e depois.

O preço, medido e não escondido: para quem TEM logo enviado, o cartão desce 8px
no escuro (o `dark:py-2` da moldura, num bloco centrado). É a troca que o #659
declara — fica com número para poder ser discutida.

SABOTAGEM, previsão antes de rodar: revertendo a fachada ao pré-#659, 4
asserções vermelhas (pintura, folga, sombra, contenção) e o tema claro intacto.
Observado: exatamente 4, cada uma pelo motivo certo — a da contenção falha pela
ALTURA, porque sem o <div> o pai do logo passa a ser o `flex justify-center`,
que tem a mesma altura do logo.

Duas sondas minhas nasceram cegas e estão registradas no dossiê: uma rodou com
rótulo que não casava com o ramo do script (contagem certa, motivo errado), e a
outra usava "nenhum ancestral claro" no tema CLARO, onde o próprio
`bg-background` é claro por definição.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-14 18:02:52 -03:00

83 lines
1.4 KiB
JSON

{
"dark": {
"temaReal": "dark",
"temImgEnviada": true,
"temMarcaDoProduto": false,
"medida": {
"tagDoPai": "div",
"classeDoPai": "flex justify-center",
"fundo": "rgba(0, 0, 0, 0)",
"padding": [
0,
0,
0,
0
],
"sombra": "none",
"raio": "0px",
"caixaDoPai": {
"x": 448,
"y": 241,
"largura": 384,
"altura": 40
},
"caixaDoLogo": {
"x": 620,
"y": 241,
"largura": 40,
"altura": 40
},
"naturalWidth": 64
},
"cartao": {
"x": 448,
"y": 387,
"largura": 384,
"altura": 200
}
},
"light": {
"temaReal": "light",
"temImgEnviada": true,
"temMarcaDoProduto": false,
"medida": {
"tagDoPai": "div",
"classeDoPai": "flex justify-center",
"fundo": "rgba(0, 0, 0, 0)",
"padding": [
0,
0,
0,
0
],
"sombra": "none",
"raio": "0px",
"caixaDoPai": {
"x": 448,
"y": 241,
"largura": 384,
"altura": 40
},
"caixaDoLogo": {
"x": 620,
"y": 241,
"largura": 40,
"altura": 40
},
"naturalWidth": 64
},
"cartao": {
"x": 448,
"y": 387,
"largura": 384,
"altura": 200
}
},
"deslocamentoDoCartao": {
"dx": 0,
"dy": 0,
"dLargura": 0,
"dAltura": 0
}
}