O que roda nesta campanha
Ferramentas
Geradores, motores de render, pipelines e scripts — tudo o que este projeto construiu para produzir peça. Cada um com o que é, onde mora, se já tem porta no site e em que pé está. A lista é o recorte “ferramenta” do catálogo da /biblioteca: nada aqui é digitado duas vezes.
Por que existe uma página só para isto
São 15 ferramentas catalogadas, e elas não moram aqui: moram no catálogo, junto com todo o resto. Esta página é o recorte “ferramenta” da /biblioteca com nome próprio na navegação — porque o recorte só serve a quem já sabe que a coisa existe, e o problema nunca foi filtrar: foi não desconfiar que havia o que filtrar. Coisa construída, funcionando e no ar que a equipe não encontra é coisa que vai ser construída de novo.
10 de 15 abrem daqui em um clique — ou porque são serviço no ar, ou porque existe uma rota interna que explica como rodar. As outras mostram o caminho no disco.
3
No site
7
Parcial
5
Só em pasta
O selo é o mesmo da /biblioteca e quer dizer a mesma coisa: se dá para usar isto de dentro do site, se só uma fatia chegou (quase sempre o guia de como rodar, não a execução), ou se a coisa continua vivendo só na máquina de alguém.
No site
3Gerador de arte Beneverso
Renderiza o design system de imagens em peça pronta (FastAPI + Playwright/Chromium). É a ferramenta que produz os carrosséis pop-art da casa.
- No site
- Link na navegação da equipe (serviço separado, fora deste Next)
- Em que pé está
- No ar. Este item é o SERVIÇO — a URL que a equipe abre. O código-fonte dele é outro item (`gerador-arte-codigo`), porque é outra pergunta: “dá para usar?” e “dá para mexer?” têm respostas diferentes aqui, e enquanto o código morava numa frase deste campo a segunda pergunta não tinha resposta nenhuma.
Gerador Benedita do Rio
Gerador do projeto irmão (LadoB): estética scrapbook/fandom. Marca separada — não compartilha ativo nem estilo com o Beneverso.
- No site
- Link na navegação da equipe, sinalizado como projeto irmão
- Em que pé está
- No ar. Repo privado benedita-do-rio.
Bonde da Bené no navegador
O mesmo gerador de agendas da juventude, servido pela web: `web/servidor.py` é um FastAPI que importa `app/motor.py`, `app/rosto.py` e `app/recorte.py` do programa de mesa — não há segundo desenho para manter em sincronia — e devolve a prévia como PNG para o navegador. O `web/Dockerfile` e o `web/docker-compose.yml` são como ele sobe na VPS, com o Traefik tirando o prefixo e o `BONDE_BASE` devolvendo-o ao app para que prévia, fotos e download não caiam na raiz do site. O `entrada.sh` copia os assets do molde para um volume na primeira partida, para que foto que a equipe subir sobreviva ao próximo deploy.
- No site
- Link na área da equipe (serviço separado, fora deste Next — mesmo Traefik do /arte e do /gerador)
- Em que pé está
- No ar. ⚠️ DUAS COISAS QUE PRECISAM DE DECISÃO DO FELIPE, e nenhuma delas é conserto de dado: (1) o servidor ACEITA UPLOAD — `enviar_foto` recebe imagem da pessoa e `abre_projeto` recebe arquivo de projeto —, e a área da equipe está SEM SENHA desde 13/08; (2) o que a equipe subir fica num volume Docker na VPS, que ninguém aqui declara nem faz backup. Se a porta continua aberta assim é dele; corrigir a descrição era nosso.
Parcial
7CLI de render (_kit)
A linha de comando por baixo do gerador: render.py monta a peça a partir do CSS do design system, variar.py cospe variações em lote, e peca.py, recorte.py e contato.py cuidam de recorte e folha de contato.
- No disco
Beneverso_Vault/99_⚙️_Sistema/ Design_System_Imagens/ _kit/ - Tamanho
- 16 arquivos · conferido no disco em 18/08/2026
- No site
- /guias/ferramentas-da-maquinadocumentado em /guias — os cinco scripts, o que cada um faz e como rodar
- Em que pé está
- Continua rodando SÓ na máquina: o guia explica, não executa. Enquanto o site não roda o script, isto é “parcial” e não “sim” — texto sobre a ferramenta não é a ferramenta. O gerador web cobre o caso comum; o CLI é o que dá lote grande. Traz junto beneverso.css, forma.css, fonts/ e edicoes.json.
Montador GOV Toys (montar2.py + legendas.py) — o segundo motor de vídeo
O montador da produção GOV Toys: `montar2.py` fecha as duas peças em 1080×1920 a 30 fps direto no ffmpeg — cada segmento é um PNG com Ken Burns ou um clipe Kling, com a duração cravada à mão no código — e grava o `.ass` de cada peça pela `gerar_ass()` que ele mesmo tem embutida, com destaque em amarelo. O `legendas.py` ao lado está SUPERADO: gera o `.ass` do corte antigo em bloco só, e mexer nele não muda nada nas peças de hoje.
- No disco
videos/bonecos_presidentes/ - Tamanho
- 5 scripts · conferido no disco em 25/08/2026
- No site
- /guias/pipeline-bonecos-presidenteso guia descreve o motor inteiro — pipeline, mecânica da montagem e custo —, mas o site não roda os scripts: eles continuam só na máquina, e só no Windows
- Em que pé está
- Em que ele DIFERE do motor do _Lab_Video (`_Lab_Video/web/motor.js`): lá a animação acontece no navegador — cena em HTML/CSS, `render(t)` puro, Playwright capturando frame a frame a partir de um roteiro em JSON — e aqui não há navegador nem roteiro em JSON: é ffmpeg costurando imagem parada e clipe de IA, com a montagem escrita dentro do próprio `.py`. Um serve para peça animada com texto e efeito; o outro, para peça feita de imagem gerada e vídeo de IA. Escolher errado custa dias — e é justamente essa escolha que o guia manda fazer antes de abrir qualquer arquivo. Antes de mexer, saber que este é o motor ATIVO: `montar.py`, `montar_old.py` e `montar2_old.py` são versões anteriores e continuam no disco só como histórico — e o perigoso dos três é o `montar2_old.py`, que é o próprio `montar2.py` de antes da última rodada e abre parecendo o arquivo certo.
Scripts de ETL vault → Supabase
Extraem timeline, citações, pautas, adversários e personagens do vault em markdown e geram o seed do banco. É como o conteúdo do vault chegou no site.
- No disco
Beneverso_Vault/99_⚙️_Sistema/ Scripts/ - Tamanho
- 30 arquivos · conferido no disco em 18/08/2026
- No site
- /timelineo resultado alimenta /timeline — e, pelo mesmo seed, /citacoes, /pautas e /adversarios
- Em que pé está
- Rodam à mão, em lotes (seed_lote_1 a 6). Não há sincronização automática: mudou no vault, alguém tem que rodar de novo.
Gerador do CAPTCHA da Benedita
O gerador da peça em formato reCAPTCHA: gerar.py lê cards.json, aplica template.html e cospe os 11 cards em render/.
- No disco
Beneverso_Vault/10_🎬_Conteudo/ Carrosseis/ assets/ 2026-08-12_captcha-benedita/ - Tamanho
- 39 arquivos · conferido no disco em 18/08/2026
- No site
- /producoes/captcha-beneditaa PEÇA está em /producoes/captcha-benedita — o gerador que a produziu não; é a saída dele que está no site, não ele
- Em que pé está
- A peça que ele produziu está publicada em /producoes/captcha-benedita; o gerador em si não. É um formato reaproveitável — trocar cards.json dá uma peça nova.
Pipeline do Douglas Ruas (recortar + editor + publicar)
A cadeia completa de uma peça: recortar.py tira o fundo das fotos, editor/ é o editor local de elementos livres com recortador embutido, publicar.py fecha a entrega.
- No disco
Beneverso_Vault/10_🎬_Conteudo/ Carrosseis/ assets/ 2026-08-13_douglas-ruas/ - Tamanho
- 99 arquivos · conferido no disco em 18/08/2026
- No site
- /guias/ferramentas-da-maquinao README do editor está transcrito em /guias, com atalhos, balões e recortador
- Em que pé está
- É a ferramenta mais completa de montagem de carrossel que existe hoje. Roda só na máquina — e mora DENTRO da pasta da peça do Douglas Ruas, não numa pasta de ferramenta: usar em peça nova hoje significa copiar a pasta. Traz também cards/, cutouts/, originais/ e entrega/. Continua “parcial”: o guia transcreve o README, o site não roda o editor.
Motor de créditos rolantes (crawl.py + creditos.py)
Gera a cartela de créditos em rolagem estilo Star Wars a partir de um texto.txt — com estrelas, gradiente e trilha. Na mesma pasta ficam as cartelas já geradas, com as camadas separadas (texto, gradiente, estrelas) e a subpasta vozes/.
- No disco
_Assets_Producao/Creditos_Rolantes/ - Tamanho
- 27 arquivos · conferido no disco em 18/08/2026
- No site
- /midialistado em /midia — o que é, quantos arquivos, quanto pesa e o caminho no disco; o arquivo continua fora do site
- Em que pé está
- Foi o que produziu a cartela da Nota ao TSE (nota_tse_crawl.mp4 e a versão reels). Reutilizável em qualquer vídeo — é a peça de software mais reaproveitável que este acervo tem.
Motor de render HTML→MP4 (_Lab_Video/web)
A stack de vídeo da casa: motor.js anima as cenas em HTML/CSS, mod_efeitos/ isola os efeitos e traz teste de determinismo próprio, capturar.py tira os frames pelo Playwright e montar_v2.py + mixar_v2.py fecham o MP4 com trilha. A entrada é um roteiro em JSON — o pipeline da pasta irmã roteiro/ mede a narração gravada e encaixa a animação nela, em vez de alguém cronometrar à mão.
- No disco
_Lab_Video/web/ - Tamanho
- 8 peças do motor · conferido no disco em 20/08/2026
- No site
- /guias/laboratorio-de-videoo guia explica o pipeline script a script, a invariante que deixa o render paralelo funcionar e as armadilhas que já custaram round
- Em que pé está
- É a ferramenta de VÍDEO desta casa, e a mais capaz da família que roda só na máquina — ao lado do CLI de render, do editor de carrossel e do ETL do vault. Roda só na máquina: o guia explica, não executa, e por isso isto é “parcial” e não “sim”. Quem for fazer a próxima peça em vídeo começa aqui, copiando o ROTEIRO_MODELO.json da pasta roteiro/, e não pelo .aep.
Só em pasta
5Código do gerador de arte (app.py + motor.py + rotulos.py)
O que faz o /arte rodar: `app.py` é o FastAPI que traduz formulário em dicionário de forma, `motor.py` mantém UM Chromium vivo entre requisições via Playwright (peça em ~350 ms em vez de ~1,5 s abrindo o navegador toda vez) e `rotulos.py` guarda o nome de tela de cada eixo — grade, trama, paleta —, separado de propósito para que o design system não carregue texto de interface. O Dockerfile e o docker-compose.yml ao lado são como ele sobe na VPS, atrás do Traefik.
- No disco
Beneverso_Vault/99_⚙️_Sistema/ Design_System_Imagens/ gerador/ - Tamanho
- 29 arquivos · conferido no disco em 25/08/2026
- Em que pé está
- Não tem porta no site, e a falta é real: o serviço está no ar em /arte, mas o código que o define não é editável, nem legível, de dentro daqui — quem for mexer abre a pasta no HD. Duas armadilhas que o próprio código documenta e que valem mais que o resto deste campo: o `root_path=BV_BASE` existe porque o Traefik tira o prefixo, e sem ele qualquer redirect automático joga a pessoa no site público, fora do Basic Auth; e o HTML temporário TEM que sair em `_tmp_web/`, um nível acima, porque o `peca.monta()` emite caminho relativo com `..` — em `gerador/_tmp/` o CSS não carrega e a peça sai em branco com HTTP 200. O `_kit/` que ele importa é o mesmo do item `cli-render`: não há cópia do design system aqui.
Editor de posição das peças (o que reescreve o HTML real)
Servidor local em Python (`python editor.py` → localhost) que serve o HTML REAL da peça no navegador, deixa arrastar os elementos e reescreve o `style` inline no próprio arquivo. Não tem modelo próprio nem canvas: o que se vê é o mesmo Chromium que o render.py usa, então não existe segunda implementação do design system para manter em sincronia. Só filhos diretos do <body> são arrastáveis, e ele preserva o eixo de ancoragem — quem estava em right/bottom continua em right/bottom, porque metade das peças ancora a Bené pela direita. Tem atalhos de teclado para mover de 1, 10 e 40 px, e entrega o JPG de 1080 direto na pasta de assets do carrossel, em vez de deixar o render.py escrever só em _render/ e alguém copiar na mão.
- No disco
Beneverso_Vault/99_⚙️_Sistema/ Design_System_Imagens/ pecas/ 2026-08-17_corrida-senado/ editor.py - Em que pé está
- Roda só na máquina, e mora DENTRO da pasta de uma peça — a “Corrida do Senado” —, não numa pasta de ferramenta: usar em peça nova hoje significa copiar o arquivo e deixar cópias divergindo. É o mesmo defeito de morada do editor do Douglas Ruas, e é a segunda vez que ele aparece: ferramenta que nasce dentro da peça que a pediu. ⚠️ O site tem hoje DOIS editores de carrossel e nenhuma decisão escrita sobre qual é o caminho: um monta a partir de um projeto.json e redesenha em canvas, este edita o HTML de verdade. Escolher — ou dar morada de ferramenta a um deles — é do Felipe.
Bonde da Bené — o app de agenda da juventude
Programa de desktop em Python + tkinter que monta a arte de agenda em 4:5, 9:16 e 1:1: escolhe-se o arranjo, escreve-se o título com a palavra destacada entre asteriscos, preenchem-se dia, horário e local, e sai o JPG pronto para o Instagram. Roda como .exe numa pasta, com as fontes, o rostinho de óculos e as fotos recortadas da Bené ao lado — é o que deixa a equipe acrescentar foto nova sem recompilar.
- No disco
Bonde_da_Bene/- Em que pé está
- O PROGRAMA DE MESA não tem porta no site: é app de janela, não página, e o pacote é pesado demais para /downloads, que é rota pública. Mas o Bonde ganhou um gêmeo de navegador, e este campo jurava o contrário — dizia “não tem porta no site e não deve ter tão cedo”, escrito antes de `web/` existir. A subpasta `web/` sobe o MESMO motor de desenho (importa `app/motor.py`, sem cópia) num FastAPI atrás do mesmo Traefik do /arte e do /gerador, e está no ar: quem quiser a porta abre o item `bonde-da-bene-web`. Quem for mexer no programa de mesa continua abrindo a pasta no HD — o LEIA-ME.txt é escrito para a equipe e o miolo está em app/. ⚠️ Em dist/ estão as pastas gêmeas do mesmo pacote e o .rar gerado delas: qual artefato fica é decisão do Felipe. E a ferramenta carimba “Bonde da Bené”, nome que lib/roteiros.ts registra como DESCARTADO em favor de “BenéLovers”.
Pictogramas do acervo de vídeo (o código que os desenha)
Os scripts em Python que desenham os pictogramas da série de colagem — entre eles o selo_senado_amigo_do_povo.py, o carimbo que virou assinatura das peças. Cada um cospe um PNG com alpha que o indexar.py absorve para o acervo ao lado.
- No disco
_Acervo_Video/_pictogramas_src/ - Em que pé está
- Nada no site dizia que este código existe: quem procurasse pictograma achava o PNG no acervo, não o script que o gera. Mexer aqui muda peça futura; mexer no resto do _Acervo_Video, não. ⚠️ A vizinha _descartado/ guarda os pictogramas RECUSADOS — registro editorial, não resíduo: não apagar achando que é sobra.
Elementos para o CapCut + o gerador de projeto que não abriu
A pasta capcut/ traz os elementos do “Onde tudo começou” separados para montagem à mão, em preto e branco já tratado e no tamanho que um projeto vertical precisa: recortes com fundo transparente (feitos com u2net_human_seg, que pega o corpo inteiro, braço erguido incluído), as fotos inteiras sem recorte, campos de multidão para o fundo, o papel em boil como overlay e como fundo, o cartaz em camadas e os originais em tamanho cheio à parte. O LEIA.md ao lado é a receita de montagem passo a passo, com a ordem das camadas, o modo de mesclagem do papel e três erros já cometidos escritos como aviso. O build/gerar_capcut.py é a outra metade: o script que escreve o projeto do CapCut direto, em JSON, a partir de um projeto-molde.
- No disco
_Assets_Producao/onde_tudo_comecou/ capcut/ - Em que pé está
- ⚠️ O GERADOR NÃO FUNCIONA, e isto é o que mais importa saber antes de abrir a pasta: o `capcut/LEIA.md` registra que a tentativa de criar o projeto direto na pasta do CapCut falhou e que a instalação do Felipe foi restaurada ao estado original, sem nada acrescentado. O caminho que o próprio arquivo recomenda é arrastar os elementos à mão. O que sobrou do script vale como conhecimento e está escrito no fim do LEIA.md: três causas encontradas e corrigidas (o número exato de `extra_material_refs` por segmento e a ordem deles; a timeline que o app lê ficar em Timelines/<id>/draft_content.json e não na raiz do projeto; o subdraft herdado do molde virando aba apontando para mídia inexistente) e ainda assim não abriu — o diagnóstico suspeita de campos validados na abertura. Quem tentar de novo: fechar o CapCut antes de rodar e fazer backup do root_meta_info.json. Os ELEMENTOS, esses, funcionam e são o que a pasta entrega hoje.
Como uma ferramenta entra nesta página
Cadastrando o item em lib/ com categoria: "ferramenta". Nenhum nome de ferramenta está escrito neste arquivo de página: ele lista o que o catálogo declarar, na hora em que o catálogo declarar. Ganhou rotaNoSite, o cartão ganha o link; ganhou contagem, aparece o tamanho conferido no disco — e o npm test reconfere o número contra a pasta de verdade.
Para ver este recorte ao lado do resto — roteiros, peças, acervos e documentos —, o catálogo inteiro está em /biblioteca.
Os caminhos locais desta página são relativos a C:\Users\HOME\Documents\Bené\