Photoreal asset
Investiga un breve, ejecuta una construcción en solitario, compárala con las fotos e informa del resultado. Usa Blender instalado y las herramientas de agente disponibles del anfitrión; no requiere un proveedor de agente, modelo, ruta de instalación de Blender o ubicación de proyecto específica.
Configuración
- Resuelve
{SKILL}al directorio que contiene este archivo y{SCRIPTS}a su directorioscripts/. Resuelve{PROJECT}al directorio de proyecto elegido por el usuario. Pon las rutas entre comillas en los comandos. Los ejemplos usan barras diagonales, que Python acepta en Windows, macOS y Linux. - Usa Python 3 con
numpyyPillow(python -m pip install -r "{SKILL}/requirements.txt"). SciPy es opcional y acelera las comprobaciones UV. Blender usa su Python empaquetado para scriptsbpy. - Encuentra
blenderen PATH, o establecePHOTOREAL_BLENDERen la ruta completa del ejecutable, sin comillas alrededor en el valor. Usa ese mismo ejecutable para los scripts de construcción y el orquestador. Verifica su versión y adapta el código de construcción a la APIbpycompatible; no asumas una versión fija. - Cycles selecciona un backend de GPU disponible y retrocede a CPU. Establece
PHOTOREAL_CYCLES_DEVICEenCPU,OPTIX,CUDA,HIP,METALoONEAPIpara anular la selección automática. Ejecuta los renders secuencialmente. Una cola externa opcionalgpu_slot.pyse puede proporcionar a través dePHOTOREAL_GPU_TOOLS; no está incluida ni es obligatoria. - Las rutas en
asset.jsonson relativas a ese archivo. Unhdrivacío usa un cielo de luz diurna procedural; de lo contrario, apúntalo a un HDRI existente. Mantén la iluminación y las cámaras fijas una vez que comience la construcción. - La entrega predeterminada es un
.blendeditable con imágenes empaquetadas y renders de revisión. Añade exportaciones para juegos solo cuando se solicite, siguiendo templates/GAME_READY.md.
Diseño del proyecto
<project>/
asset.json cámaras, iluminación, prefijo de colección y referencias del crítico
BRIEF.md breve de investigación más la plantilla RULES.md rellenada
ref/SOURCES.md proveniencia de las fotos; las imágenes de referencia no se distribuyen
research/ layout.py, blockout.py, blockout.blend, NOTES.md
rounds/r01-build/ TASK.md, build.py, NOTES.md, tex/, renders/, final/, DONE.txt
<Title>.md tabla de rondas y registro del proyecto
Usa una biblioteca de activos existente si el usuario proporciona una. Registra las URL de origen y las licencias de imágenes y texturas externas. Mantén las licencias desconocidas marcadas como desconocidas; no inventes propiedad ni redistribuyas fotos de referencia con el entregable.
1. Investigación
- Copia templates/asset.json en el proyecto y adapta el sujeto,
collection_prefix, cielo y suelo. Enmarca una vista heroica, lateral/frontal, tres cuartos superior y una vista cercana de la parte más difícil. Establecerender_as,photo_kindyscope_notepara el crítico. - Rellena templates/TASK_research.md:
{ASSET},{PROJECT},{PREFIX},{SUBJECT_PLURAL},{SKILL}y{SCRIPTS}. Guárdalo comoresearch/TASK.md. Ejecuta un investigador a través de las herramientas de agente del anfitrión, o realiza la investigación directamente. - Entrega fotos de referencia con proveniencia,
BRIEF.md,research/layout.pycon una zona por parte y una colección propietaria, el bloqueo, yowner_refs/overall_refsenasset.json. - Inspecciona los renders del bloqueo con el visor de imágenes del anfitrión. Ajusta las cámaras hasta que cada una enmarque su sujeto, luego bloquéalas.
Para una hoja de diseño proporcionada, cópiala sin cambios en ref/, registra la proveniencia proporcionada
(desconocida donde no se especifique) y haz recortes de detalle. Usa sus vistas para las cámaras evaluadas.
Establece critic_goal cuando el objetivo sea coincidir con un diseño estilizado en lugar de pasar como fotografía;
ajusta la redacción de la tarea y cualquier entregable adicional en consecuencia.
2. Construcción
- Crea
rounds/r01-build/TASK.mda partir de templates/TASK_build.md. Rellena{ROUND},{ASSET},{PROJECT},{ROUND_DIR},{FILE}y{SCRIPTS}. - Deja
{GAME_READY}vacío para un activo solo para Blender. De lo contrario, inserta el templates/GAME_READY.md rellenado, seleccionando Godot, Unreal Engine o ambos. - Asigna la tarea a un constructor. Usa el modelo actual a menos que el usuario solicite otro. Mantén su identificador de sesión si el anfitrión expone uno. Un constructor posee la geometría; los críticos independientes solo la revisan.
3. Revisar cada ronda
- Renderiza la escena final:
python "{SCRIPTS}/run.py" --asset "{PROJECT}/asset.json" --parts "{ROUND_DIR}/final/{FILE}.blend" --out "{ROUND_DIR}/final/renders" - Lee
NOTES.mdy el últimocritique.md. Inspecciona recortes a resolución completa de las partes difíciles junto a las fotos, incluyendo recortes iluminados donde sea útil. Los recuentos de gravedad son ruidosos; usa las diferencias visuales reales para juzgar el progreso. - Compara con la ronda anterior cuando exista:
Inspecciona las láminaspython "{SCRIPTS}/compare_rounds.py" --asset "{PROJECT}/asset.json" --rounds <ronda-anterior> <ronda-actual> --focus <ids-de-zona> --refs "<foto>:x0,y0,x1,y1" --out "{PROJECT}/compare_rounds"_all.jpgy_focus.jpgresultantes. Usa las rutas de ronda esperadas porcompare_rounds.py --help. - Para exportaciones para juegos, ejecuta la validación específica del motor en
GAME_READY.md. No describas una importación de Unreal como validada por el verificador GLB de Godot. - Si hay transcripciones compatibles disponibles, opcionalmente ejecuta:
Esta auditoría comprende registros de Antigravity y Claude Code, no todos los anfitriones. Pasapython "{SCRIPTS}/audit_round.py" "{ROUND_DIR}" --root "{PROJECT}"--sessionpara una conversación de Antigravity y--allowpara directorios de herramientas permitidas adicionales. Su escaneo de rutas de archivos reconoce rutas de unidades de Windows; revisa otros estilos de ruta por separado. Las raíces de registro se pueden anular conPHOTOREAL_ANTIGRAVITY_LOGSyPHOTOREAL_CLAUDE_LOGS. - Registra la ronda e informa imágenes, mejoras, regresiones, resultados de validación y una recomendación. Informa los costos solo si se midieron. Detente después de la ronda solicitada; comienza otro refinamiento solo cuando el usuario lo pida. Copia o ingiere en una biblioteca externa solo cuando ese destino y acción sean solicitados.
4. Refinar a petición
- Obtén mejores fotos de las partes nombradas desde vistas relevantes: sentado, vacío, lateral y desde
el ángulo de la cámara de evaluación. Registra la proveniencia en
ref/SOURCES.md. - Coloca las referencias más sólidas primero en la lista
owner_refsdel propietario; cada grupo recibe hasta seis. - Copia los scripts de construcción anteriores,
tex/yfinal/{FILE}.blenden una nueva carpetarounds/rNN-<focus>/. Conserva sus notas comoNOTES_<anterior>.md, su última comprobación comorenders/<anterior>_check/y sus renders finales comorenders/<anterior>_final/. - Rellena templates/TASK_refine.md, incluyendo las partes, IDs de zona y nuevas referencias. Limita los cambios a esas partes, excepto defectos de gravedad 3 en otros lugares. Mantén la regla de que las fotos ganan sobre posiciones y ángulos en conflicto, incluyendo partes conectadas.
- Ejecuta un constructor, revisa como se indicó anteriormente y muestra los resultados anteriores y actuales junto a las fotos.
Traspaso de agente y crítica independiente
Usa la interfaz de agente nativa del anfitrión en lugar de asumir un nombre de herramienta o alias de modelo.
Proporciona al investigador o constructor su directorio de trabajo y el archivo de tarea completo. Mantén las escrituras dentro
del proyecto asignado o directorio de ronda. La tarea termina escribiendo DONE.txt.
Si la delegación del constructor no está disponible, construye directamente mientras preservas los mismos límites de tarea.
El crítico de la Regla 11 debe ser independiente del constructor. photo_check.py prepara indicaciones y un
manifiesto critic_jobs.json. Envía cada indicación a un revisor nuevo con solo lectura de imágenes/archivos,
sin herramientas de red o edición, luego guarda su respuesta JSON en el response_file del manifiesto y fusiona.
Ejecuta críticos concurrentemente solo cuando el anfitrión lo soporte, respetando critic.parallel.
Usa el visor de imágenes del anfitrión donde una indicación se refiera a lectura de imágenes/archivos.
Si los subagentes independientes no están disponibles, --runner claude puede usar una CLI de Claude Code instalada y autenticada.
De lo contrario, entrega los renders y los trabajos de revisión preparados, e informa la crítica independiente
como incompleta. No sustituyas la propia revisión del constructor y la llames independiente.
Comprobaciones
| Script | Propósito |
|---|---|
run.py / render.py | Renderiza colecciones que coinciden con el prefijo en la escena Cycles bloqueada; escribe PNGs de cámara y sheet.jpg. |
photo_check.py | Recorta zonas de diseño, prepara trabajos de crítico independiente y fusiona respuestas JSON en critique.md. --from reutiliza renders; --groups selecciona propietarios. |
game_check.py / game_check_bl.py | Valida mallas LOD, UVs, colisión convexa y texturas GLB incrustadas de Godot; produce un plato giratorio LOD. Consulta GAME_READY.md para validación de Unreal. |
compare_rounds.py | Compara rondas y recortes enfocados con una fila de referencia. |
audit_round.py | Opcionalmente inspecciona transcripciones compatibles en busca de acceso a archivos, rondas hermanas, llamadas web y uso de tokens medido. |
Principios de revisión
- Mejores fotos de la parte débil suelen ayudar más que añadir reglas al breve.
- Compara cada refinamiento con la ronda anterior: una corrección puede borrar mejoras anteriores.
- Verifica quejas de proporción con una superposición a escala coincidente antes de cambiar la geometría.
- Las cavidades oscuras necesitan reflejos de borde visibles, grosor de pared y degradado interior. Iluminar es solo para inspección; mantén la iluminación evaluada fija. Omite iluminar cuando recorte una imagen de alto clave.
- Usa las críticas como una lista de reparaciones dentro de una ronda, no como una puntuación numérica entre rondas.