# ARTES — Quinzena Industrial (PaperX)

**Período:** 22/08 a 05/09/2026 · **Tema:** DOR "chão de fábrica não espera papel" → PROMESSA "Efeito Empresa Gigante"
**Público:** donos/gestores de manutenção industrial em campo (CNC, tornos, máquinas-ferramenta).
**Identidade:** verde neon #1CD370 sobre fundo escuro (#0B0B0B/#161616), B2B premium; Anton (display) + Inter/Space Grotesk (corpo).

## Entregáveis (46 PNGs)

### Semana 1 — DOR (`conteudo/semana-1-dor/arte/`) — 23 PNGs
- `01-teaser-story.png` (story 9:16) — "A máquina parada não perdoa" · stamp PARADA + 1H
- `02-mao-no-oleo-story.png` (story 9:16) — "Mão suja de óleo não digita laudo" · phone laudo por voz (print ia-ditado-mobile)
- `03-quanto-custa-cnc-parada-carrossel-01..06.png` (carrossel 4:5, 6 slides) — "1h de CNC parada. Quanto custa pra você?" · s5 phone laudo por voz
- `04-tecnico-sem-internet-reel.png` (reel cover 9:16) — "Sem sinal no galpão? O laudo não espera" · badges ✕ Sinal / Offline OK + phone offline
- `05-peca-sumiu-da-nota-carrossel-01..07.png` (carrossel 4:5, 7 slides) — "A peça trocada que sumiu da nota" · s5 print split-fiscal-desktop (modal mascarado)
- `06-bitributacao-carrossel-01..06.png` (carrossel 4:5, 6 slides) — "O mesmo serviço tributado 2x?" · s5 print split-fiscal-desktop
- `07-efeito-empresa-gigante-reel.png` (reel cover 9:16) — "Efeito Empresa Gigante" · print portal-cliente-login em janela + urlbar @seusite.com.br

### Semana 2 — PROMESSA (`conteudo/semana-2-promessa/arte/`) — 23 PNGs
- `08-starter-297-story.png` (story 9:16) — oferta oficial Starter R$ 297/mês
- `09-enquete-os-de-papel-story.png` (story 9:16) — enquete "Seu técnico ainda entrega O.S. de papel?" (Sim / Já é digital)
- `10-cliente-ve-tecnico-no-mapa-carrossel-01..06.png` (carrossel 4:5, 6 slides) — GPS Cliente · s1/s3/s5 **reconstrução fiel** da UI de rastreamento (ver seção abaixo) + s2 mock de WhatsApp
- `11-fala-que-o-laudo-preenche-reel.png` (reel cover 9:16) — "Fala que o laudo se preenche" · phone laudo por voz + waveform
- `12-sua-marca-seu-dominio-carrossel-01..06.png` (carrossel 4:5, 6 slides) — white-label · prints portal-cliente-login (s2) e whitelabel-dns-desktop (s5) + mock e-mail corporativo (s3)
- `13-planos-oficiais-carrossel-01..06.png` (carrossel 4:5, 6 slides) — Starter R$ 297 · Pro R$ 597 · Enterprise R$ 1.290 · NF extra R$ 0,60 (valores oficiais)
- `14-laudo-por-voz-chao-de-fabrica-reel.png` (reel cover 9:16) — "É falar no campo, não escrever no campo" · phone laudo por voz
- `15-erp-de-bolso-manutencao-reel.png` (reel cover 9:16) — encerramento "O ERP de bolso da manutenção industrial" · a partir de R$ 297/mês

## Auditoria

### Render (Chromium headless shell, DPR 2)
- **46/46 PNGs gerados**: 45 `OK` + 1 `AJUSTADO` (`12-03` e-mail — título reduzido por autofit 0.96^n até caber) + **0 CLIP** (nenhum elemento de conteúdo fora do slide).
- **Fontes**: Anton, Inter e Space Grotesk carregadas e verificadas (`document.fonts.check` ✓) nas 46 peças — warmup de fontes + poll adicionados ao render.js para eliminar o race da 1ª página.
- **Dimensões**: carrosséis 2160×2700 (1080×1350 @2x) · stories/reels 2160×3840 (1080×1920 @2x).

### Pixels (pixel-audit.js)
- % verde: **3.8–11.5%** (média ~7%) — identidade verde neon mantida.
- Luminância 26–50 nos slides dark (80–93% pixels escuros). Slides com print claro (portal, whitelabel, mapa GPS, papel) sobem para 60–78 — choque claro/escuro intencional.

### Diretriz Meta — texto na imagem ≤20% (grid 5×5)
- Medição por peça (`meta-text.js`): soma das caixas de texto dos nós de texto (TreeWalker + Range) sobre a área do slide; "ink%" = caixas × fator realista de cobertura de glifos (0.42). Texto de UI dentro de mockups (.phone/.window/.urlbar) é tratado como print embutido e reportado à parte (não conta, igual a texto em screenshot de app).
- **Resultado: 46/46 peças ≤ 13.7% de tinta de texto** (máx `12-03` 13.7%) — todas classificadas `Low` (21) ou `OK` (25). **Nenhuma Medium/High.**
- Pior caso de caixas (boxes%): até 32.5% (`12-03`) — irrelevante pois a diretriz mede área visual do texto (tinta), não a caixa. Todas as frases por slide seguem os textos oficiais dos copys, 3–6 palavras por linha.

## Prints reais usados (pacote QA — 10 de 12)
| Print | Onde |
|---|---|
| ia-ditado-mobile.png (drawer IA por voz, OCR limpo) | 02, 03-s5, 04, 11, 14 |
| split-fiscal-desktop.png (modal NF-e/NFS-e mascarado) | 05-s5, 06-s5 |
| portal-cliente-login.png (login portal do cliente, CNPJ placeholder) | 07, 12-s2 |
| whitelabel-dns-desktop.png (painel DNS/CNAME, domínio demo) | 12-s5 |
| login-mobile / login-desktop / orcamentos-desktop / split-fiscal-mobile / whitelabel-dns-1610 / ia-ditado-desktop | disponíveis no pacote; não usados nesta leva (sem slide dependente) |
- **assinatura-mobile/desktop — NÃO usados** (decisão documentada): exibem o nome real "Vinicius Romeiro" no header. A análise de bandas de luminância mostrou imagem 100% escura (lum 12–46 em todas as faixas), sem uma linha de corte segura e verificável para recortar só o canvas — risco de vazar o nome real. Nenhum slide depende da assinatura (14 usa o drawer de laudo por voz), então a regra "recortar header OU não usar" foi cumprida pela opção "não usar".

## Reconstrução fiel — Rastreamento GPS (carrossel 10)
- **Não existe print real**: a rota `/rastreamento/:id` retorna 403 (live_locations) e os únicos prints do pacote HVAC são telas de erro. **Nada foi inventado como dado** — a UI foi reconstruída em HTML/CSS fiel à identidade do app (tema claro bg-zinc-50/`#F4F4F2`), com: status bar, header **"Acompanhamento em Tempo Real"**, badge azul pulsante **"EM DESLOCAMENTO"**, mapa estilo Leaflet/OSM (SVG: quarteirões, vias, rota tracejada, pino azul com anel pulsante + pino verde de origem) e card **Destino** ("Metalúrgica ABC · Linha 2", chegada prevista, botão WhatsApp verde).
- Slide 2 usa mock de conversa WhatsApp (3 cobranças "cadê o técnico?") e slide 5 o mesmo mapa com botão "Avisar chegada". Textos fictícios genéricos (empresa "Metalúrgica ABC") — sem dados reais.

## Datas nas imagens — ZERO
- Regra inviolável: **nenhuma data/dia da semana renderizado na arte** (queima reuso + campanhas pagas). A data só existe no nome do arquivo (padrão `NN-slug.png` do cronograma) e no cronograma.
- Verificação executada nos 13 HTMLs de build: `grep -iE 'dom|seg|ter|qua|qui|sex|sab|22/08|23/08|24/08|25/08|26/08|27/08|28/08|29/08|30/08|31/08|01/09|02/09|03/09|04/09|05/09'` → os únicos matches são **substrings de palavras legítimas** (Enterprise, Starter, interno, domínio, center, footer, interrompe, enquadramento…). `grep -E '\b(dom|seg|ter|qua|qui|sex|sab|sáb|…)\b|[0-3][0-9]/[0-1][0-9]'` → **0 matches**. Nenhum chip/header de data em nenhuma peça.

## TAG/TEMA INTERNO — ZERO (correção 07/08/2026)
- Regra: **nenhum chip/label de organização interna renderizado na arte** — proibido "Semana 1/2", "Reel · …", "Story · …", "Carrossel · …", "Plano N de 3", "Slide N/Post N", "Abertura da quinzena", "Oferta oficial", "Enquete · …", numeração "01 / 06" etc. (só organizam arquivo/pasta/cronograma/ClickUp e queimam a peça para reuso e campanhas pagas).
- Executado nesta leva: removidos **23 chips de tag interna**, **37 indicadores de slide "NN / NN"**, **3 rótulos "REEL 30s"** e o "PaperX" de **6 linhas de hashtag**. `grep -iE 'semana [12]|reel ·|story ·|carrossel ·|plano [123] de 3|encerramento|modo offline'` → **0 matches em conteúdo renderizado** (só em comentários HTML e em conteúdo genuíno como o pill "Modo offline" do encerramento).
- **Mantidos** (conteúdo genuíno do slide): "A conta de 1 hora", "O vilão escondido", "A virada", "A saída · Laudo por voz", "A saída · Split Fiscal", "GPS Cliente · Tempo real", "O caminho do papel", "A causa real", "O resultado", "O erro comum", "Os dois lados doem", "A espera cega", "Domínio customizado", "E-mail corporativo", "NF extra · Transparência" etc.

## Logo oficial — imagem (correção 07/08/2026)
- Toda peça usa o **logo oficial em imagem** (`assets/logo-paperx.png`, cópia byte-a-byte do `banco-imagens/logo-oficial/logo-paperx-oficial.png`, md5 idêntico). **Proibido** wordmark "PAPERX" com fonte genérica — nenhuma ocorrência de texto de marca restou nos HTMLs (só o `<img>` e `alt`).
- Altura: **300px** em stories/reels e capas (canvas 1080px) e **260px** nos slides com chip de conteúdo (folga preservada). Verificação por região de pixels: as 46 peças exibem o logo (pixels brancos/verdes na região top-left confirmados).
- Menções a "PaperX" em copy/hashtags/winbar de mockup foram removidas/reescritas ("o app dita offline", "Split Fiscal:", "Emissão Fiscal", hashtags sem #PaperX); marca dentro de prints reais de app permanece (é parte do print).

## Preços (somente oficiais)
- Únicos valores renderizados: **R$ 297** (Starter), **R$ 597** (Pro), **R$ 1.290** (Enterprise), **R$ 0,60** (NF extra) e "a partir de R$ 297/mês" — conforme cronograma. Nenhum outro valor.

## Revisão visual
Abra `galeria-arte-quinzena-industrial.html` (raiz de `quinzena-industrial/`) no navegador.

## Build (para reprocessar)
`_work/arte-build/`: `style.css` (design system) + `s1-*.html`/`s2-*.html` (slides) + `render.js` (render+auditoria) + `pixel-audit.js` + `meta-text.js` + `make-gallery.js`. Servir `quinzena-industrial/` na porta 8739 (já ativa) e rodar:
`NODE_PATH=/opt/data/profiles/diretor_de_projetos/home/.npm/_npx/88950a7d37a5e205/node_modules node render.js` → depois `pixel-audit.js`, `meta-text.js`, `make-gallery.js`.