Ativo fotorrealista
Pesquise um briefing, execute uma construção solo, compare com fotos e relate o resultado. Use o Blender instalado e as ferramentas de agente disponíveis no host; nenhum provedor de agente específico, modelo, caminho de instalação do Blender ou localização do projeto é necessário.
Configuração
- Resolva
{SKILL}para o diretório que contém este arquivo e{SCRIPTS}para o diretórioscripts/dele. Resolva{PROJECT}para o diretório do projeto escolhido pelo usuário. Coloque caminhos entre aspas nos comandos. Exemplos usam barras normais, que o Python aceita no Windows, macOS e Linux. - Use Python 3 com
numpyePillow(python -m pip install -r "{SKILL}/requirements.txt"). SciPy é opcional e acelera as verificações de UV. O Blender usa seu Python empacotado para scriptsbpy. - Encontre
blenderno PATH, ou definaPHOTOREAL_BLENDERpara o caminho completo do executável, sem aspas ao redor no valor. Use esse mesmo executável para scripts de construção e o harness. Verifique sua versão e adapte o código de construção à APIbpysuportada; não assuma uma versão fixa. - Cycles seleciona um backend de GPU disponível e recai para CPU. Defina
PHOTOREAL_CYCLES_DEVICEparaCPU,OPTIX,CUDA,HIP,METALouONEAPIpara substituir a seleção automática. Execute renders sequencialmente. Uma fila opcional externagpu_slot.pypode ser fornecida através dePHOTOREAL_GPU_TOOLS; não está incluída nem é obrigatória. - Caminhos em
asset.jsonsão relativos a esse arquivo. Umhdrivazio usa um céu diurno procedural; caso contrário, aponte para um HDRI existente. Mantenha a iluminação e as câmeras fixas assim que a construção começar. - A entrega padrão é um
.blendeditável com imagens empacotadas e renders de revisão. Adicione exportações de jogo somente quando solicitado, seguindo templates/GAME_READY.md.
Layout do projeto
<projeto>/
asset.json câmeras, iluminação, prefixo da coleção e referências do crítico
BRIEF.md briefing de pesquisa mais o modelo preenchido RULES.md
ref/SOURCES.md proveniência das fotos; imagens de referência não são enviadas
research/ layout.py, blockout.py, blockout.blend, NOTES.md
rounds/r01-build/ TASK.md, build.py, NOTES.md, tex/, renders/, final/, DONE.txt
<Titulo>.md tabela de rodadas e registro do projeto
Use uma biblioteca de ativos existente se o usuário fornecer uma. Registre URLs de origem e licenças para imagens e texturas externas. Mantenha licenças desconhecidas marcadas como desconhecidas; não invente propriedade ou redistribua fotos de referência com o entregável.
1. Pesquisa
- Copie templates/asset.json para o projeto e adapte o assunto,
collection_prefix, céu e chão. Enquadre uma visão heroica, lateral/frontal, três-quartos superior e close da parte mais difícil. Definarender_as,photo_kindescope_notepara o crítico. - Preencha templates/TASK_research.md:
{ASSET},{PROJECT},{PREFIX},{SUBJECT_PLURAL},{SKILL}e{SCRIPTS}. Salve comoresearch/TASK.md. Execute um pesquisador através das ferramentas de agente do host, ou realize a pesquisa diretamente. - Entregue fotos de referência com proveniência,
BRIEF.md,research/layout.pycom uma zona por parte e uma coleção proprietária, o blockout, eowner_refs/overall_refsemasset.json. - Inspecione os renders do blockout com o visualizador de imagens do host. Ajuste as câmeras até que cada uma enquadre seu assunto, então trave-as.
Para uma folha de design fornecida, copie-a inalterada para ref/, registre a proveniência fornecida
(desconhecida onde não especificada) e faça recortes de detalhes. Use suas vistas para as câmeras julgadas.
Defina critic_goal quando corresponder a um design estilizado for o objetivo em vez de passar como uma fotografia;
ajuste o texto da tarefa e quaisquer entregáveis extras de acordo.
2. Construção
- Crie
rounds/r01-build/TASK.mda partir de templates/TASK_build.md. Preencha{ROUND},{ASSET},{PROJECT},{ROUND_DIR},{FILE}e{SCRIPTS}. - Deixe
{GAME_READY}vazio para um ativo apenas Blender. Caso contrário, insira o preenchido templates/GAME_READY.md, selecionando Godot, Unreal Engine ou ambos. - Dê a tarefa a um construtor. Use o modelo atual a menos que o usuário solicite outro. Mantenha seu identificador de sessão se o host expuser um. Um construtor possui a geometria; críticos independentes apenas a revisam.
3. Revisão a cada rodada
- Renderize a cena final:
python "{SCRIPTS}/run.py" --asset "{PROJECT}/asset.json" --parts "{ROUND_DIR}/final/{FILE}.blend" --out "{ROUND_DIR}/final/renders" - Leia
NOTES.mde o últimocritique.md. Inspecione recortes em resolução total das partes difíceis ao lado das fotos, incluindo recortes clareados onde útil. Contagens de severidade são ruidosas; use as diferenças visuais reais para julgar o progresso. - Compare com a rodada anterior quando existir:
Inspecione as folhaspython "{SCRIPTS}/compare_rounds.py" --asset "{PROJECT}/asset.json" --rounds <rodada-anterior> <rodada-atual> --focus <ids-zona> --refs "<foto>:x0,y0,x1,y1" --out "{PROJECT}/compare_rounds"_all.jpge_focus.jpgresultantes. Use os caminhos das rodadas esperados porcompare_rounds.py --help. - Para exportações de jogo, execute a validação específica do destino em
GAME_READY.md. Não descreva uma importação do Unreal como validada pelo verificador GLB do Godot. - Se transcrições suportadas estiverem disponíveis, opcionalmente execute:
Esta auditoria entende logs do Antigravity e Claude Code, não todos os hosts. Passepython "{SCRIPTS}/audit_round.py" "{ROUND_DIR}" --root "{PROJECT}"--sessionpara uma conversa do Antigravity e--allowpara diretórios de ferramentas adicionais permitidos. Sua verificação de caminho de arquivo reconhece caminhos de disco do Windows; revise outros estilos de caminho separadamente. Raízes de log podem ser substituídas porPHOTOREAL_ANTIGRAVITY_LOGSePHOTOREAL_CLAUDE_LOGS. - Registre a rodada e relate imagens, melhorias, regressões, resultados de validação e uma recomendação. Relate custos apenas se medidos. Pare após a rodada solicitada; inicie outro refinamento apenas quando o usuário pedir. Copie ou ingira em uma biblioteca externa apenas quando esse destino e ação forem solicitados.
4. Refinar mediante solicitação
- Obtenha melhores fotos das partes nomeadas das vistas relevantes: sentado, vazio, lateral e do
ângulo da câmera de julgamento. Registre a proveniência em
ref/SOURCES.md. - Coloque as referências mais fortes primeiro na lista
owner_refsdo proprietário; cada grupo recebe até seis. - Copie os scripts de construção anteriores,
tex/efinal/{FILE}.blendpara uma nova pastarounds/rNN-<foco>/. Preserve suas notas comoNOTES_<anterior>.md, sua última verificação comorenders/<anterior>_check/e seus renders finais comorenders/<anterior>_final/. - Preencha templates/TASK_refine.md, incluindo as partes, IDs de zona e novas referências. Limite as alterações a essas partes, exceto defeitos de severidade 3 em outros lugares. Mantenha a regra de que as fotos vencem sobre posições e ângulos conflitantes, incluindo partes conectadas.
- Execute um construtor, revise como acima e mostre os resultados anterior e atual ao lado das fotos.
Transferência de agente e crítica independente
Use a interface de agente nativa do host em vez de assumir um nome de ferramenta ou alias de modelo.
Dê ao pesquisador ou construtor seu diretório de trabalho e o arquivo de tarefa completo. Mantenha escritas dentro
do diretório do projeto ou rodada atribuído. A tarefa termina escrevendo DONE.txt.
Se a delegação do construtor não estiver disponível, construa diretamente preservando os mesmos limites de tarefa.
O crítico da Regra 11 deve ser independente do construtor. photo_check.py prepara prompts e um
manifesto critic_jobs.json. Envie cada prompt para um revisor novo com permissão apenas de leitura de imagem/arquivo,
sem ferramentas de rede ou edição, então salve sua resposta JSON no response_file do manifesto e mescle.
Execute críticos concorrentemente apenas quando o host suportar, respeitando critic.parallel.
Use o visualizador de imagens do host sempre que um prompt se referir a leitura de imagem/arquivo.
Se subagentes independentes não estiverem disponíveis, --runner claude pode usar um Claude Code CLI instalado e autenticado.
Caso contrário, entregue os renders e os trabalhos de revisão preparados, e relate a crítica independente
como incompleta. Não substitua a própria revisão do construtor e a chame de independente.
Verificações
| Script | Propósito |
|---|---|
run.py / render.py | Renderizar coleções correspondentes ao prefixo na cena Cycles travada; escrever PNGs da câmera e sheet.jpg. |
photo_check.py | Recortar zonas de layout, preparar trabalhos de crítico independente e mesclar respostas JSON em critique.md. --from reutiliza renders; --groups seleciona proprietários. |
game_check.py / game_check_bl.py | Validar malhas LOD do Godot, UVs, colisão convexa e texturas GLB incorporadas; produzir um turntable de LOD. Veja GAME_READY.md para validação do Unreal. |
compare_rounds.py | Comparar rodadas e recortes focados com uma linha de referência. |
audit_round.py | Opcionalmente inspecionar transcrições suportadas para acesso a arquivos, rodadas irmãs, chamadas web e uso medido de tokens. |
Princípios de revisão
- Melhores fotos da parte fraca geralmente ajudam mais do que adicionar regras ao briefing.
- Compare cada refinamento com a rodada anterior: uma correção pode apagar melhorias anteriores.
- Verifique reclamações de proporção com uma sobreposição de escala correspondente antes de alterar a geometria.
- Cavidades escuras precisam de destaques visíveis nos lábios, espessura da parede e queda interna. Clarear é para inspeção apenas; mantenha a iluminação julgada fixa. Pule clarear quando isso cortar uma imagem de alto contraste.
- Use críticas como uma lista de reparos dentro de uma rodada, não como uma pontuação numérica entre rodadas.