Wireframe de baixa fidelidade · Debriefing: tabela · caixa, linha, rótulo e posição. Sem cor, sem tipografia final, sem dado real: XX, R$ X.XXX,XX e DD/MM/AAAA são marcação. Estado desenhado: 8 turmas de hoje (5 medidas, 3 futuras) na tabela principal, mais uma variante com 51 turmas provando a escala. Os números dos blocos batem com DEBRIEFING-TABELA.md §1; a legenda ao lado diz a pergunta que cada um responde.
Cabeçalho (três marcas, D1), menu e botão de tema herdam da Geral. Não são bloco desta tela e não se desenham aqui.
0Barra da telatítulo · abas (grupo-opcoes) · herda o padrão de Tráfego
A aba Tabela é esta tela; a aba Gráfico é a irmã (a transposta: cada métrica vira um gráfico pequeno, a turma no eixo), com hierarquia e wireframe próprios (DEBRIEFING-GRAFICO.md), não desenhada aqui. As duas já existem em produção como abas de uma tela só (tela-tabari.js, grupo-opcoes idêntico ao das três visões de Tráfego: nenhum padrão de navegação novo). Sem interruptor de reembolso aqui: a tabela replica a fórmula da planilha, que não conhece o interruptor da Geral/Turma. Título de uma palavra (SPEC-REFAZER §0.3): “Debriefing”, não “Tabari”, ajuste explicado na §6 do documento.
1A tabelatabela-tabari da base (herdada) · 6 blocos · 52 métricas · turma na linha
Réplica da aba Dados dos Eventos da planilha do método (vendor, só leitura). Uma linha por turma, métrica na coluna, exatamente como a planilha (SPEC-REFAZER §9.2: “a frase 'métrica por linha, turma por coluna' sempre descreveu o GRÁFICO, nunca a tabela”).
| Turma | Captação | Tráfego | Aulas · Pico ao vivo | Aulas · Espectadores | Conversão | Resultado | ||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| $ Ingresso | Ingressos | CAC | Lead Score | Investimento | Faturamento | Saldo Captação | ROAS | CPM | CTR | CARREGAMENTO | TAXA CHECKOUT | CONV. CHECKOUT | CONVERSÃO PAG | Inscritos x A1 | 1 | Segunda | Retenção 1p2 | 2 | Terça | Retenção 2p3 | 3 | Quarta | Retenção 3p4 | 4 | Quinta | Retenção 4p5 | 5 | Sexta | Retenção 5pZ | Zoom | Sábado | Retenção 5p6 | 6 | Domingo | Inscritos x A1 | 1 | Segunda | Retenção 1p2 | 2 | Terça | Retenção 2p3 | 3 | Quarta | Retenção 3p4 | 4 | Quinta | Retenção 4p5 | 5 | Sexta | Retenção 5p6 | 6 | Domingo | Ficha Interesse | Ingresso x Ficha | Vendas | % Conversão | % Conv. Ficha | % Conv. Aula 1 | % Conv. Aula 6 | $ Investimento | $ Faturamento | Imposto | $ Líquido | ROAS Total | |
| Turma 1: DD/MM/AAAA | R$ X.XXX,XX | XX | R$ X.XXX,XX | - | R$ X.XXX,XX | R$ X.XXX,XX | R$ X.XXX,XX | X,XX× | R$ X.XXX,XX | XX% | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | XX% | XX | XX% | XX | XX% | XX | XX% | XX | XX% | XX | XX% | XX | - | - | XX | XX% | - | - | - | R$ X.XXX,XX | R$ X.XXX,XX | R$ X.XXX,XX | R$ X.XXX,XX | X,XX× |
| Turma 2: DD/MM/AAAA | R$ X.XXX,XX | XX | R$ X.XXX,XX | - | R$ X.XXX,XX | R$ X.XXX,XX | R$ X.XXX,XX | X,XX× | R$ X.XXX,XX | XX% | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | XX% | XX | XX% | XX | XX% | XX | XX% | XX | XX% | XX | XX% | XX | - | - | XX | XX% | - | - | - | R$ X.XXX,XX | R$ X.XXX,XX | R$ X.XXX,XX | R$ X.XXX,XX | X,XX× |
| Turma 3: DD/MM/AAAA | R$ X.XXX,XX | XX | R$ X.XXX,XX | - | R$ X.XXX,XX | R$ X.XXX,XX | R$ X.XXX,XX | X,XX× | R$ X.XXX,XX | XX% | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | XX% | XX | XX% | XX | XX% | XX | XX% | XX | XX% | XX | XX% | XX | - | - | XX | XX% | - | - | - | R$ X.XXX,XX | R$ X.XXX,XX | R$ X.XXX,XX | R$ X.XXX,XX | X,XX× |
| Turma 4: DD/MM/AAAA | R$ X.XXX,XX | XX | R$ X.XXX,XX | - | R$ X.XXX,XX | R$ X.XXX,XX | R$ X.XXX,XX | X,XX× | R$ X.XXX,XX | XX% | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | XX% | XX | XX% | XX | XX% | XX | XX% | XX | XX% | XX | XX% | XX | - | - | XX | XX% | - | - | - | R$ X.XXX,XX | R$ X.XXX,XX | R$ X.XXX,XX | R$ X.XXX,XX | X,XX× |
| Turma 5: DD/MM/AAAA | R$ X.XXX,XX | XX | R$ X.XXX,XX | - | R$ X.XXX,XX | R$ X.XXX,XX | R$ X.XXX,XX | X,XX× | R$ X.XXX,XX | XX% | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | XX% | XX | XX% | XX | XX% | XX | XX% | XX | XX% | XX | XX% | XX | - | - | XX | XX% | - | - | - | R$ X.XXX,XX | R$ X.XXX,XX | R$ X.XXX,XX | R$ X.XXX,XX | X,XX× |
| Turma 6: DD/MM/AAAA | a venda abre em DD/MM | |||||||||||||||||||||||||||||||||||||||||||||||||||
| Turma 7: DD/MM/AAAA | a venda abre em DD/MM | |||||||||||||||||||||||||||||||||||||||||||||||||||
| Turma 8: DD/MM/AAAA | a venda abre em DD/MM | |||||||||||||||||||||||||||||||||||||||||||||||||||
pico ao vivo: as duas fontes (YouTube Analytics e o coletor ao vivo) estão vazias em produção, 16 colunas (o próprio bloco Pico ao vivo, mais Inscritos x A1 de Tráfego, mais % Conv. Aula 1 e % Conv. Aula 6) · ficha de interesse ainda não chega ao D1, 3 colunas (Ficha Interesse, Ingresso x Ficha, % Conv. Ficha) · lead score: a operação não pontua o ingresso, 1 coluna · Carregamento, Taxa Checkout, Conv. Checkout e Conversão Pag: fonte declarada desde 02/09 (ações da Meta atribuídas ao anúncio), 4 colunas ainda sem confirmação de valor.
24 das 52 colunas hoje sem fonte confirmada, medido linha a linha contra functions/_radar-tabari-colunas.js (o catálogo de produção) e contra o JSON embutido em debriefing.html: 13 no bloco Pico ao vivo inteiro, mais 3 fora dele que também dependem do pico (Inscritos x A1 em Tráfego, % Conv. Aula 1 e % Conv. Aula 6 em Conversão) · 3 de ficha de interesse · 1 de lead score · 4 de VK Metrics (Carregamento, Taxa Checkout, Conv. Checkout, Conversão Pag), que o catálogo diz terem GANHO fonte em 02/09 (radar_fato_gasto, migração 0050) mas cujo último retrato medido (a mesma data) ainda mostra vazias nas 5 turmas com dado; esta etapa não lê o D1 de produção para confirmar se já têm valor hoje (regra do AGILE.md). Por isso 20 (16+3+1) é o número confirmado por leitura de fonte, e 24 é o último número medido ao vivo; a tela trata os dois grupos do mesmo jeito (traço com o motivo), então a diferença não muda o desenho, só o texto exato da legenda quando alguém confirmar contra o banco (§7 do documento).
Colunas fixas nas duas direções (“painel congelado”): a coluna Turma fica presa à esquerda (já existe em produção, .tabela-tabari th[scope=row]) e as duas linhas de cabeçalho (bloco + métrica) ficam presas no topo desta caixa (ainda não existe em produção hoje: só o protótipo avançado debriefing.html já prova as duas presas ao mesmo tempo). A caixa tem altura máxima e rola nas duas direções por dentro dela mesma: a página em volta (cabeçalho, rodapé) nunca rola por causa desta tabela. É a resposta ao item 2 do pedido (51 turmas sem rolagem horizontal infinita no celular): como turma é LINHA (não coluna, ver nota abaixo), 51 turmas engordam a tabela para BAIXO, nunca para o lado; o lado já rola hoje, com ou sem 51 turmas, porque são sempre 52 colunas fixas. A prova de escala com as 51 linhas está embaixo, dentro deste mesmo bloco.
Por que turma é linha e não coluna (o pedido original dizia o contrário “métrica por linha e turma por coluna é o padrão Tabari desta tabela”, e pedia para nunca inverter sem escrever por quê): SPEC-REFAZER-TELAS-010926.md §9.2 resolve isso por escrito, com a fala do dono: “isto encerra uma confusão antiga: a frase 'métrica por linha, turma por coluna' sempre descreveu o GRÁFICO, nunca a tabela. A tabela é igual ao Excel” (turma na linha, métrica na coluna). O código de produção já implementa exatamente isso (tela-tabari-tabela.js: “uma linha por turma, as 52 métricas na coluna”) e o próprio protótipo avançado também. Este wireframe segue a SPEC e o código, não a frase solta do pedido: é exatamente o caso que a SPEC nomeou e resolveu.
Rótulo da linha: “Turma N: DD/MM/AAAA” (data da aula 1, componente rotuloDaTurma já usado no seletor de turma e nas tabelas por turma de Aulas), não o formato de duas linhas (data em cima, “turma N” embaixo) que só o protótipo avançado usa: reaproveita o componente que já existe em vez de inventar um novo para esta tela.
Sem linha de total no rodapé da tabela (diferente do protótipo avançado, que soma): a produção de hoje (tela-tabari-tabela.js) não tem tfoot, e somar CAC/ROAS/CTR de turmas heterogêneas sem quebra é território da Geral (regra já escrita em TURMA-HIERARQUIA.md §3: “o negócio inteiro... sem quebra de turma → Geral”). Decisão revisável, ver §6 do documento.
Célula sem fonte: traço, nunca zero, motivo no title e uma vez na legenda (regra da casa). Turma futura: uma linha só com a frase, colspan nas 52 colunas, nunca 52 traços (mesma regra do bloco 0 da Turma). Cabeçalho de métrica sem fonte (itálico, sublinhado pontilhado): sinalização nova deste wireframe, para o olho notar o padrão de colunas mortas ANTES de rolar; a alta fidelidade decide a marca exata (a produção hoje risca o cabeçalho morto no protótipo avançado, classe morta, ideia parecida).
Prova de escala: as mesmas colunas fixas, com 51 turmas (6 colunas de amostra, para não inflar este arquivo; a tabela real tem as 52)
| Turma | Ingressos | CAC | ROAS | CTR | % Conversão | ROAS Total |
|---|---|---|---|---|---|---|
| Turma 1: DD/MM/AAAA | XX | R$ X.XXX,XX | X,XX× | XX% | XX% | X,XX× |
| Turma 2: DD/MM/AAAA | XX | R$ X.XXX,XX | X,XX× | XX% | XX% | X,XX× |
| Turma 3: DD/MM/AAAA | XX | R$ X.XXX,XX | X,XX× | XX% | XX% | X,XX× |
| Turma 4: DD/MM/AAAA | XX | R$ X.XXX,XX | X,XX× | XX% | XX% | X,XX× |
| Turma 5: DD/MM/AAAA | XX | R$ X.XXX,XX | X,XX× | XX% | XX% | X,XX× |
| Turma 6: DD/MM/AAAA | XX | R$ X.XXX,XX | X,XX× | XX% | XX% | X,XX× |
| Turma 7: DD/MM/AAAA | XX | R$ X.XXX,XX | X,XX× | XX% | XX% | X,XX× |
| Turma 8: DD/MM/AAAA | XX | R$ X.XXX,XX | X,XX× | XX% | XX% | X,XX× |
| Turma 9: DD/MM/AAAA | XX | R$ X.XXX,XX | X,XX× | XX% | XX% | X,XX× |
| Turma 10: DD/MM/AAAA | XX | R$ X.XXX,XX | X,XX× | XX% | XX% | X,XX× |
| Turma 11: DD/MM/AAAA | XX | R$ X.XXX,XX | X,XX× | XX% | XX% | X,XX× |
| Turma 12: DD/MM/AAAA | XX | R$ X.XXX,XX | X,XX× | XX% | XX% | X,XX× |
| Turma 13: DD/MM/AAAA | XX | R$ X.XXX,XX | X,XX× | XX% | XX% | X,XX× |
| Turma 14: DD/MM/AAAA | XX | R$ X.XXX,XX | X,XX× | XX% | XX% | X,XX× |
| Turma 15: DD/MM/AAAA | XX | R$ X.XXX,XX | X,XX× | XX% | XX% | X,XX× |
| Turma 16: DD/MM/AAAA | XX | R$ X.XXX,XX | X,XX× | XX% | XX% | X,XX× |
| Turma 17: DD/MM/AAAA | XX | R$ X.XXX,XX | X,XX× | XX% | XX% | X,XX× |
| Turma 18: DD/MM/AAAA | XX | R$ X.XXX,XX | X,XX× | XX% | XX% | X,XX× |
| Turma 19: DD/MM/AAAA | XX | R$ X.XXX,XX | X,XX× | XX% | XX% | X,XX× |
| Turma 20: DD/MM/AAAA | XX | R$ X.XXX,XX | X,XX× | XX% | XX% | X,XX× |
| Turma 21: DD/MM/AAAA | XX | R$ X.XXX,XX | X,XX× | XX% | XX% | X,XX× |
| Turma 22: DD/MM/AAAA | XX | R$ X.XXX,XX | X,XX× | XX% | XX% | X,XX× |
| Turma 23: DD/MM/AAAA | XX | R$ X.XXX,XX | X,XX× | XX% | XX% | X,XX× |
| Turma 24: DD/MM/AAAA | XX | R$ X.XXX,XX | X,XX× | XX% | XX% | X,XX× |
| Turma 25: DD/MM/AAAA | XX | R$ X.XXX,XX | X,XX× | XX% | XX% | X,XX× |
| Turma 26: DD/MM/AAAA | XX | R$ X.XXX,XX | X,XX× | XX% | XX% | X,XX× |
| Turma 27: DD/MM/AAAA | XX | R$ X.XXX,XX | X,XX× | XX% | XX% | X,XX× |
| Turma 28: DD/MM/AAAA | XX | R$ X.XXX,XX | X,XX× | XX% | XX% | X,XX× |
| Turma 29: DD/MM/AAAA | XX | R$ X.XXX,XX | X,XX× | XX% | XX% | X,XX× |
| Turma 30: DD/MM/AAAA | XX | R$ X.XXX,XX | X,XX× | XX% | XX% | X,XX× |
| Turma 31: DD/MM/AAAA | XX | R$ X.XXX,XX | X,XX× | XX% | XX% | X,XX× |
| Turma 32: DD/MM/AAAA | XX | R$ X.XXX,XX | X,XX× | XX% | XX% | X,XX× |
| Turma 33: DD/MM/AAAA | XX | R$ X.XXX,XX | X,XX× | XX% | XX% | X,XX× |
| Turma 34: DD/MM/AAAA | XX | R$ X.XXX,XX | X,XX× | XX% | XX% | X,XX× |
| Turma 35: DD/MM/AAAA | XX | R$ X.XXX,XX | X,XX× | XX% | XX% | X,XX× |
| Turma 36: DD/MM/AAAA | XX | R$ X.XXX,XX | X,XX× | XX% | XX% | X,XX× |
| Turma 37: DD/MM/AAAA | XX | R$ X.XXX,XX | X,XX× | XX% | XX% | X,XX× |
| Turma 38: DD/MM/AAAA | XX | R$ X.XXX,XX | X,XX× | XX% | XX% | X,XX× |
| Turma 39: DD/MM/AAAA | XX | R$ X.XXX,XX | X,XX× | XX% | XX% | X,XX× |
| Turma 40: DD/MM/AAAA | XX | R$ X.XXX,XX | X,XX× | XX% | XX% | X,XX× |
| Turma 41: DD/MM/AAAA | XX | R$ X.XXX,XX | X,XX× | XX% | XX% | X,XX× |
| Turma 42: DD/MM/AAAA | XX | R$ X.XXX,XX | X,XX× | XX% | XX% | X,XX× |
| Turma 43: DD/MM/AAAA | XX | R$ X.XXX,XX | X,XX× | XX% | XX% | X,XX× |
| Turma 44: DD/MM/AAAA | XX | R$ X.XXX,XX | X,XX× | XX% | XX% | X,XX× |
| Turma 45: DD/MM/AAAA | XX | R$ X.XXX,XX | X,XX× | XX% | XX% | X,XX× |
| Turma 46: DD/MM/AAAA | XX | R$ X.XXX,XX | X,XX× | XX% | XX% | X,XX× |
| Turma 47: DD/MM/AAAA | XX | R$ X.XXX,XX | X,XX× | XX% | XX% | X,XX× |
| Turma 48: DD/MM/AAAA | a venda abre em DD/MM | |||||
| Turma 49: DD/MM/AAAA | a venda abre em DD/MM | |||||
| Turma 50: DD/MM/AAAA | a venda abre em DD/MM | |||||
| Turma 51: DD/MM/AAAA | a venda abre em DD/MM | |||||
Corpo de prova: 47 turmas medidas mais 4 futuras no final, numa proporção de futuras bem menor que a de hoje (5 para 3 em 8 é quase 40% futuras; aqui, 4 em 51, é cerca de 8%): os números são encenação para testar volume de linhas, não para repetir a proporção de hoje. Role esta caixa para baixo: o cabeçalho fica preso. Role para o lado: a coluna Turma fica presa. Medido com Playwright nos dois tamanhos (§7 do documento): nem esta caixa nem a de cima estouram a página para o lado a 390 nem a 1440; quem rola é só a caixa.
2Rodapéuma linha · herda mostraRodape
8 turmas · atualizado em DD/MM HH:MM
Último bloco, uma linha, igual a toda tela do Radar (SPEC-REFAZER §0.4). Sem bloco de avisos no topo: a legenda do bloco 1 e este rodapé dizem tudo. A planilha vendor (fonte_da_planilha) e a alíquota vigente do imposto (aliquota_imposto, hoje 10% desde 01/08/2026) vão no title das colunas Imposto e $ Líquido, não aqui: não mudam por turma, então não são “estado da carga”.