Mapeo de Gradientes para Blender
Revisión del flujo de trabajo 15. Responde en el idioma del usuario. Utiliza el Blender MCP conectado y el script mantenido scripts/gm_core.py (versión 8+); preserva su algoritmo de mapeo.
Lee solo lo que esta fase necesita
Para el mapeo base, lee references/base-api.md y references/reference-quality.md una vez por contexto disponible. No cargues fuentes auxiliares ni el flujo de trabajo completo solo para descubrir APIs. Inspecciona una firma/docstring específica para argumentos no documentados; lee solo la función fuente relevante si es necesario.
references/workflow.md es la referencia extendida para preajustes, claves de plan opcionales, explicaciones de QA y ejemplos históricos: lee las secciones relevantes bajo demanda. SKILL_DIR es la carpeta de este punto de entrada. Lee references/detail.md solo después de la aprobación base. Reutiliza documentos que ya están en contexto a menos que hayan cambiado o se hayan perdido después de la compactación.
Alcance y salvaguardas
/tb-hoidzautoriza la preparación, planificación, zonas, mapeo base, comparación y QA. Combina un plan conciso y un aviso de asignación de paleta en la breve actualización de apertura, luego continúa sin confirmación intermedia; sigue las reglas de comunicación a continuación. Detente después de la base completada para la aprobación del usuario antes del mapeo de detalle. Las adiciones de geometría requieren la elección del usuario sobre detalle, método de corte y costo de triángulos; las aprobaciones existentes persisten.- Reutiliza el concepto y objetivo proporcionados, de lo contrario las mallas seleccionadas si no son ambiguas. Pregunta solo por entradas faltantes. Nunca inventes un concepto, reemplaces el activo o importes duplicados por defecto.
- Registra
bpy.data.filepathal inicio de la ejecución como el destino de guardado de trabajo. Edita los objetos en vivo. Un archivo cambiado inicia un nuevo contexto; un archivo sin guardar requiere la primera ubicación de guardado del usuario. - Cada cara pertenece a una zona; una banda por zona, U colapsada en su centro, al menos 2 píxeles de márgenes U/V. Combina normales de luz superior y altura, no solo altura por defecto. Utiliza normales duras/suaves apropiadas y respuesta de material. Preserva la geometría durante el mapeo base.
- Almacena el plan, membresías/evidencia privadas, triángulos de referencia, firmas, QA y excepciones de forma local en la escena. Los archivos JSON persistentes, las exportaciones de imágenes y los informes de referencia son opcionales, no entregables por defecto.
save_planpor defecto guarda en la carpeta de la habilidad: utiliza almacenamiento explícito y escribible en su lugar.
Comunicación y vista previa
Por defecto, narración mínima en el chat: realiza el trabajo autorizado y las comprobaciones internas, luego informa el resultado completado. Combina el plan, la asignación de paleta prevista y cualquier alternativa conocida en una breve actualización de apertura. Durante el trabajo, evita mensajes de hito rutinarios, tablas de colores, volcados de QA y explicaciones repetidas de vista previa. Proporciona solo breves actualizaciones de progreso requeridas por instrucciones de ejecución de mayor prioridad, o informa de inmediato un bloqueo, una decisión del usuario necesaria o un cambio en el alcance del material.
Mantén toda la evidencia, candidatos e informes de forma local en la escena; devuelve resúmenes compactos de herramientas para las decisiones. Prefiere la inspección visual interna cuando la herramienta lo soporta explícitamente. Si una herramienta muestra automáticamente imágenes en el chat, acepta esa limitación, utiliza solo las capturas necesarias y no incrustes esas imágenes nuevamente en comentarios o en la respuesta final. Nunca inventes un modo de vista previa oculta ni omitas la QA visual requerida para mantener el chat en silencio. Utiliza una vista general mapeada por defecto; las capturas adicionales deben resolver una incertidumbre o verificar una corrección significativa.
Termina con un informe conciso que cubra el archivo guardado y el estado sucio, el resultado de QA, las limitaciones del material y los detalles pendientes. Solicita la aprobación de la base en el punto de control existente. Si falla el guardado o una comprobación requerida, informa el estado real incompleto. La narración mínima por sí sola no establece un ahorro de velocidad o tokens.
Mapeo base
- Conectar y preparar. Llama a
get_addon_statusuna vez y obtén datos compactos de la escena: ruta de trabajo, mallas, límites del mundo, conteos de caras/triángulos y materiales. Agrupa las lecturas independientes. Importa los ayudantes desde el directorio de scripts absoluto de esta habilidad en cada llamada a Blender que los utilice. En la primera importación, coloca ese directorio primero ensys.path, elimina los módulos gm de otras rutas, recargagm_core, e imprime su ruta/versión verificada una vez (base-api.md). Las llamadas posteriores importan sin recargar. Ejecutaensure_palette; incluye la alternativa, la reasignación o la creación de material en el informe final a menos que necesite una decisión del usuario ahora. Pregunta antes de actualizar una copia de habilidad de paleta de equipo diferente. La actualización de apertura cubre la asignación de paleta antes deprepare_model(..., assign_material=True); evita un anuncio de rutina separado. - Identificar materiales antes del mapeo. En un lote de descubrimiento inicial cuando sea práctico, recopila partes, límites, grupos UV originales y resúmenes de normales en espacio mundial para los objetos objetivo. Almacena membresías y evidencia de forma privada; resume solo las partes relevantes para la decisión. Enfoca las comprobaciones más profundas de PCA/profundidad/adyacencia en partes ambiguas o mixtas y familias representativas, luego reutiliza la evidencia verificada. Se permite descubrimiento adicional para límites no resueltos. Combina pistas geométricas con posición conceptual; el descubrimiento precede a la asignación semántica. Audita las partes dominantes inciertas antes de asignarlas. Un cuadro delimitador delgado puede describir una lámina ancha o una cuerda diagonal: inspecciona las dimensiones principales y la extensión de la superficie más la posición semántica. Las pistas de forma son evidencia, nunca etiquetas de material. Captura
surface_groups(..., uv_seams=True)antes de sobrescribir UVs en superficies mixtas. Verifica un representante y la estructura coincidente antes de reutilizar una regla para repeticiones. Resuelve los límites de panel/borde, cavidad/superficie y envoltura/mástil durante la base. Completa la compuerta de material de partes pequeñas en reference-quality.md para cada parte o familia estructuralmente verificada; el tamaño pequeño no exime a una parte. Las asignaciones inciertas requieren descubrimiento enfocado antes del mapeo. - Planificar y asignar. Utiliza reference-quality.md para colores medidos o estimados explícitamente del concepto, jerarquía de materiales y valores. Realiza búsquedas por lotes completas seguras en V con
suggest_zone_colors; conserva 2 o 3 candidatos y colores elegidos de forma privada; emite solo un resumen compacto de la herramienta y los problemas que necesitan una decisión. Asigna zonas a partir de la auditoría de material verificada y verifica las caras no asignadas y los límites inciertos antes del mapeo. No utilices un material predeterminado genérico para lograr cobertura; las asignaciones temporales permanecen explícitamente inciertas hasta que se verifiquen. Preserva las membresías verificadas. Enumera emblemas/tableros faltantes como detalles futuros. - Mapear y comparar. Aplica el plan, luego
show_texture(light="FLAT"). Valida la paleta y el material de vista previa antes de inspeccionar el color; evita una captura de pantalla inicial completamente rosa. Una imagen previa al mapeo debe responder una pregunta geométrica específica: utiliza colores sólidos planos verificados o colores de zona temporales. Inspecciona una vista general comparable de 512 a 640 px después del mapeo. Completa una revisión de límites semánticos de las familias auditadas, incluyendo accesorios pequeños e interfaces ocultas o ilegibles en la vista general. Utiliza vistas específicas solo donde sea necesario. Corrige solo los objetos/zonas afectados y verifica los vecinos. El ajuste de iluminación real opcional es para una discrepancia concreta no resuelta, no un pase general de todo el activo. Otra captura debe resolver un problema o verificar una corrección significativa. - QA final y guardado. Finaliza las correcciones de color y límites planificadas antes de la QA final. Durante el mapeo, utiliza comprobaciones compactas de cobertura, límites y zonas afectadas en lugar de la QA final de todo el activo. Después del último cambio, ejecuta
qayqa_facesen cada objetivo una vez. Una reparación solicitada por QA invalida los resultados afectados: vuelve a ejecutar los ayudantes de objeto completo en los objetivos afectados y amplía a todos los usuarios para cambios de dependencia compartidos; nunca guardes utilizando QA obsoleto. Corrige fallos; inspecciona y documenta advertencias/excepciones intencionales. Verifica cobertura, márgenes, UV activo/renderizado, enlaces reales de sombreador de paleta, normales/luz y topología base sin cambios. Registra la comparación de referencia y el resultado de la compuerta de material por separado: la QA de datos no demuestra una asignación correcta de material o similitud visual. No marques una base como completamente verificada mientras queden asignaciones inciertas; registra cualquier limitación genuina de referencia/topología explícitamente. Finaliza las vistas previas temporales, empaqueta la paleta, deja la textura visible y ejecuta el guardado protegido en base-api.md. Informa la ruta guardada/estado sucio, detalles pendientes y solicita la aprobación de la base.
Disciplina de caché y salida
- Ejecuta
state_signature+compare_stateuna vez por lote dependiente antes de reutilizar la caché. Las firmas faltantes no están verificadas. Los cambios de geometría invalidan las membresías; los cambios de UV invalidan la evidencia de UV original. Los cambios compartidos de normal/paleta/material/transformación/luz amplían el alcance. Actualiza las firmas después de ediciones aceptadas. No repitas firmas entre lecturas independientes en un lote sin cambios. - Mantén todas las partes, membresías de cara, datos de paleta, candidatos y QA en la escena. Devuelve conteos agregados más un máximo de 12 filas de partes relevantes para la decisión por defecto; amplía solo para una región nombrada no resuelta o una solicitud del usuario. Nunca imprimas el mapa de paleta completo/catálogo de bandas, lista de candidatos, catálogo de caras/vértices o caché de escena. Filtra zonas vacías de
apply_plan; devuelve totales de caras mapeadas y bandas cambiadas, no informes brutos de ayudantes. La salida final de QA cubre cada objetivo con conteos de fallos/problemas y advertencias procesables; conserva informes detallados de aprobación de forma privada. - Emite una representación de resultado de MCP:
structuredContentcuando esté disponible, de lo contrario contenido de texto. Reenvía bloques de imagen por separado. No conviertas a cadena representaciones duplicadas o datos de imagen. - Agrupa lecturas independientes y operaciones de objetos compatibles; mantén las comprobaciones/ediciones dependientes secuenciales. Evita capturas de pantalla sin cambios, volcados de escena y sondeos de conexión. No hagas afirmaciones de ahorro de tokens/tiempo sin mediciones comparables.
Eficiencia de ejecución
- Carga el mapa de paleta una vez por lote de ejecución. Almacena en caché
part_evidencepor membresía de cara verificada; no recalcules PCA por separado para centro y tamaño. Agrupa lecturas y correcciones compatibles mientras mantienes las decisiones revisables. Preserva el algoritmo de mapeo mantenido. - Antes de la captura, establece juntos la validez de imagen/sombreador, sombreado, luz y encuadre. Recopila discrepancias concretas de la vista general y corrige por lotes las correcciones independientes antes de la verificación. Para ediciones locales, preserva y verifica los datos de UV/zona fuera del alcance y verifica los límites vecinos; amplía el alcance para dependencias compartidas.
- Almacena métricas de ejecución ligeras de forma local en la escena: identidad objetivo/línea base, segundos por etapa, conteos reales de llamadas a herramientas/capturas y estado final de QA. Utiliza
time.perf_counter()alrededor del descubrimiento, mapeo/correcciones y trabajo de QA/guardado existentes; cuenta las llamadas reales a herramientas en la orquestación. No agregues llamadas solo para medir. Marca métricas no disponibles y distingue el tiempo de ejecución de Blender del tiempo transcurrido de extremo a extremo. Realiza evaluaciones comparativas solo cuando se solicite en el mismo concepto/modelo/estado inicial, comparando calidad y tiempo. No equipares los bytes de salida con ahorros de tokens.
Guardado y recuperación
Para ediciones de color/UV, utiliza Deshacer de sesión y la política de copia de seguridad existente de Blender; no hay archivo de recuperación separado. La actualización del archivo de trabajo está autorizada, pero los límites del sistema de archivos aún se aplican. Resuelve la ruta de guardado permitida una vez y reutilízala. Prefiere la herramienta Blender conectada cuando esté permitida. Si se requiere elevación, solicítala solo para el guardado protegido concreto después de QA. No redescubras el código fuente del servidor ni implementes TCP sin formato por ejecución. Una alternativa aprobada debe usar un host/puerto en vivo configurado, nunca un puerto adivinado ni una ruta que eluda la denegación.
Antes de ediciones de geometría, guarda una copia de recuperación en el directorio hermano _backup/<nombre_base_trabajo>_gm_recovery.blend con copy=True; reutiliza solo esta ranura propiedad de la habilidad. Para ese guardado de recuperación solo, registra preferences.filepaths.save_version, establécelo temporalmente en 0 y restáuralo en finally. No persistas preferencias, cambies la política de guardado de trabajo ni elimines copias de seguridad del usuario. Verifica la autorización y el guardado de recuperación exitoso antes de cortar; detén el trabajo de geometría si falla.
Las ediciones directas de bpy pueden dejar is_dirty=False: requiere un operador de guardado explícito exitoso, que coincida con la ruta de archivo resultante y una comprobación de suciedad posterior al guardado. Preserva el estado de reversión en caso de fallo. Si la captura visual no está disponible, completa la QA de datos, marca la fidelidad visual como no verificada e identifica la región para revisión en vivo.