Pular para o conteúdo
Beneverso
Equipe

O que roda nesta campanha

Ferramentas

Só equipe

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

3

Gerador de arte Beneverso

No site

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

No site

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

No site

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

7

CLI de render (_kit)

ParcialEsforço médio

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

ParcialEsforço médio

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

ParcialEsforço alto

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

ParcialEsforço médio

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)

ParcialEsforço médio

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)

ParcialEsforço médio

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)

ParcialEsforço médio

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

5

Código do gerador de arte (app.py + motor.py + rotulos.py)

Só em pastaEsforço médio

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)

Só em pastaEsforço médio

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

Só em pastaEsforço médio

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)

Só em pastaEsforço médio

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

Só em pastaEsforço médio

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/biblioteca.ts 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é\