Direção com IA e qualidade

Da fonte à cena: por que uma visual novel gerada precisa de direção

Gerar duas imagens bonitas é fácil. A dificuldade começa quando existem mais de dez e todas precisam manter a mesma pessoa, lugar, objeto e continuidade do enredo. Enviar parágrafos soltos ao gerador cria uma galeria, não uma visual novel coerente.

Em uma adaptação literária vi personagens mudarem de escala, flutuarem, alterarem o mesmo cenário, reiniciarem a música e moverem um anel importante entre mãos e dedos. Por isso transformei a geração em um pipeline com analista de texto, artista, compositor, agente MCP, validação técnica e direção por IA.

![Pipeline Romergo da fonte à estrutura, bíblias de continuidade, assets, montagem MCP e revisão de direção](direction-flow)

1. A fonte é a autoridade

A entrada pode ser texto, HTML, Markdown ou PDF textual. Primeiro registro idioma, edição, capítulos e direitos do original, da tradução e das imagens. romergo_inspect_story_source e romergo_plan_story_source criam inventário e preview sem escrever o projeto. Uma fonte linear deve continuar linear.

O texto é dividido quando lugar, tempo, participantes ou ação mudam. Cada cena guarda o sourceExcerpt exato e um contrato visual: presença, fala, escuta, ação, direção do olhar, apoio físico, rostos que precisam sobreviver ao corte mobile e âncoras que ligam cenas vizinhas.

2. Personagens, lugares e objetos têm memória

Um auditor independente relê cada trecho e extrai os objetos manipulados. Cada prop ganha descrição canônica, características imutáveis, dono, estado, visibilidade e quantidade. Um anel de ouro deve ser o mesmo antes, durante e depois da entrega.

Documentos temporários ligados por ID e hash formam o grafo de produção: mapa de cenas, bíblias de personagens e locais, ledger de props, manifesto de assets, jobs de geração e relatórios de auditoria. Eles não substituem o livro; evitam que decisões desapareçam entre agentes.

3. Dois modos de composição

baked_narrative integra personagens ao fundo em trechos narrativos sem fala. O contato com chão, cama, pedra ou cadeira fica resolvido dentro de uma imagem. layered_dialogue mantém fundo e sprites separados para alternar poses de fala e escuta, nome e retrato. O híbrido existe, mas precisa ser uma decisão explícita.

A geração começa pelo trecho exato, pela bíblia do local e pelo estado atual dos props. O QA do arquivo procura anatomia quebrada, halo de transparência, silhueta cortada, texto acidental e vegetação repetitiva. Mesmo assim, um PNG isolado não avalia a encenação final.

4. MCP monta um projeto editável

Os assets aprovados entram no rascunho. As ferramentas MCP criam capítulos, cenas, texto, transições, timeline, música e posicionamento. Depois o agente lê o estado com romergo_get_chapter, executa romergo_validate_project e conclui com romergo_verify_quest_change. O que importa é o estado persistido e o runtime, não apenas uma resposta de sucesso.

5. O diretor lê o texto e observa o Player

A revisão final percorre o capítulo em desktop e em 390 × 844. Capturas aos 0, 100 e 500 ms revelam tela preta, fundo branco ou sprite antigo durante transições. Cada frame chega com o trecho exato, contrato visual, cenas vizinhas e histórico dos props.

Se o fundo está certo e um sprite flutua, a ação é recompose via MCP: posição, escala, camada ou crop. Se a pose errada já está fundida no fundo, é regenerate. O novo render volta para uma revisão independente.

Erro 1. O herói sentou na heroína

No mobile, a camada de Gray caiu sobre Assol adormecida. “Os dois aparecem” era verdadeiro e insuficiente. Cada viewport agora verifica apoio, profundidade e interseção corporal.

![Frame mobile em que Gray fica sobre Assol adormecida](direction-failure-overlap)

Erro 2. Um anel virou vários

Procurar apenas um objeto dourado permitiu que o anel mudasse de mão e dedo ou se multiplicasse. O contrato exige exatamente uma unidade, lado anatômico e dedo específicos, além dos estados antes, durante e depois da transferência.

![Nove recortes com o anel mal posicionado: fora do dedo, flutuando ao lado ou no dedo errado](direction-failure-ring)

Erro 3. Olhavam para a janela contra o texto

A cena da taverna era bonita, mas o texto dizia que os homens estavam de costas para a janela. A orientação errada estava incorporada na imagem; não era problema de layout e precisava de nova geração.

![Cena de taverna em que os personagens olham para a janela contra a instrução do texto](direction-failure-window)

De imagens soltas a uma direção reproduzível

Os primeiros testes só conferiam arquivo, alpha, limites e grafo. A confiabilidade surgiu quando os requisitos vieram do texto exato, Player virou a superfície de controle, a revisão passou a receber cenas vizinhas e histórico dos objetos, e cada falha precisou escolher um reparo e repetir o teste.

Tudo isso ainda está longe de uma geração totalmente automática. Repertório visual, experiência e sensibilidade humanas continuam sendo o principal critério de sucesso; não espero dizer tão cedo que a geração é autônoma.

O pipeline atual já me poupa muitas horas e espero que poupe o tempo de outros criadores. Deixemos tempo para criar e entreguemos a rotina técnica complexa aos scripts e à IA. Assim texto, HTML ou PDF vira uma obra coerente, não apenas uma coleção de imagens.

Voltar ao blog técnico