# RenderParcel — Cerámica, tres intenciones de luz

Versión del paquete: **1.0.0**. Workflow original para reconstruir un ensayo creativo en otra máquina.

**Lo que se entrega:** un JSON de interfaz de ComfyUI 0.4, 15 nodos integrados, tres ramas de luz, un manifiesto exacto del modelo y de las fuentes de software, un validador sin conexión y una hoja de comparación en blanco.

**Lo que se ha comprobado:** sintaxis JSON, esquema oficial UI 0.4, estructura de los nodos, tipos de conexiones, grafo sin ciclos, parámetros concordantes y valores por defecto introducidos a propósito. **ComfyUI no se ha ejecutado; no se ha generado ninguna imagen, no se ha medido ninguna necesidad de VRAM ni tiempo de generación.** La importación en una interfaz ComfyUI y la ejecución en tu entorno quedan por comprobar. El paquete no contiene ningún peso.

## 1. Verificar el paquete sin ComfyUI

Descomprime el archivo y abre un terminal en `comfyui-v1`. Con Python 3.10 o posterior:

```console
python validate_workflow.py
```

El validador solo usa la biblioteca estándar, no contacta con ningún servidor y no lanza ningún cálculo de IA. El resultado esperado para el paquete intacto contiene `ok: true`, `nodes: 15`, `links: 25`, `checkpoint_verified: false`, `comfyui_executed: false` e `image_generated: false`. Un fallo devuelve un código de salida 1 y una explicación. Este validador comprueba el perfil concreto de este paquete, no cualquier workflow ComfyUI posible.

## 2. Reunir las dependencias en la máquina de destino

El grafo se construyó a partir de las definiciones de **ComfyUI 0.37.0**, commit `73c9bad4d21e7addbe1d13bc92eee0f1431b017d`. Las dependencias de esta versión remiten a **comfyui-frontend-package 1.52.7**, commit frontend `1a7a6b82514874545dc5e8203d0bd2188c2d9b18`. Son referencias documentales exactas, no un entorno instalado y ejecutado en esta entrega. Una versión más reciente puede importar el formato; esa posibilidad no equivale a validar su comportamiento.

Usa la [instalación oficial adaptada a tu sistema](https://docs.comfy.org/installation/manual_install). No sustituyas a ciegas tu instalación de producción. Anota tus versiones realmente utilizadas en `environnement-a-remplir.json`, en particular Python, PyTorch, el controlador, la precisión y las opciones de arranque. Ningún Python/PyTorch de generación se presenta aquí como probado.

El único modelo requerido es **Stable Diffusion XL Base 1.0** de Stability AI:

- repositorio: `stabilityai/stable-diffusion-xl-base-1.0`;
- revisión: `462165984030d82259a11f4367a4eed129e94a7b`;
- archivo: `sd_xl_base_1.0.safetensors`;
- tamaño de referencia: `6938078334` bytes, sin relación directa con el pico de VRAM;
- SHA-256 de referencia: `31e35c80fc4829d14f90153f4c74cd59c90b779f6afe05a74cd6120b893f7e5b`;
- ubicación prevista: `ComfyUI/models/checkpoints/sd_xl_base_1.0.safetensors`.

Consulta el [archivo del editor en la revisión fijada](https://huggingface.co/stabilityai/stable-diffusion-xl-base-1.0/blob/462165984030d82259a11f4367a4eed129e94a7b/sd_xl_base_1.0.safetensors) y su [licencia CreativeML Open RAIL++-M](https://huggingface.co/stabilityai/stable-diffusion-xl-base-1.0/blob/462165984030d82259a11f4367a4eed129e94a7b/LICENSE.md) antes de obtenerlo por separado. El paquete no realiza ninguna descarga. La huella proviene de los metadatos LFS del editor; no se ha recalculado sobre los pesos en esta entrega.

Para comparar el archivo que ya tienes, sin cargarlo en memoria GPU:

```console
python validate_workflow.py --checkpoint "D:/modeles/sd_xl_base_1.0.safetensors"
```

Esta opción lee el archivo para verificar su tamaño y su huella. Puede tardar según el almacenamiento. Una huella correcta no es prueba de una ejecución exitosa. Este grafo no requiere ningún refiner, LoRA, ControlNet, imagen de entrada ni nodo personalizado.

## 3. Importar y leer las tres ramas

Abre una instalación ComfyUI preparada y luego importa `workflow-ui.json` en la interfaz, abriendo el workflow o arrastrando el JSON al lienzo. **No envíes este archivo al punto de entrada API `/prompt`: describe la interfaz, no el payload de ejecución de la API.**

Comprueba la elección del checkpoint en el nodo 1. Si el archivo se ha colocado en una subcarpeta, selecciona su ruta real y conserva este cambio en tu copia del manifiesto. Si el menú no lo ofrece, comprueba primero su ubicación y las rutas adicionales de tu instalación, y luego actualiza los modelos o reinicia según el procedimiento de tu versión.

Las ramas A, B y C retoman el mismo objeto ficticio: un jarrón de marfil mate sobre una base azul cobalto, con una zona libre prevista para un título añadido después en un programa de maquetación. Los prompts están en inglés para este ejemplo SDXL; la carpeta explica su función en francés. Solo varía la última frase del prompt positivo: frontal suave, lateral izquierda, contraluz.

Los tres KSampler usan `24092026`, control tras la generación `fixed`, 24 pasos, CFG 6.5, `euler`, `normal`, denoise 1. El latent común es de 1024 × 1024 píxeles con un lote de 1. Estos números definen el ejercicio; no son ni un ajuste óptimo universal ni una medida de rendimiento. La receta no controla tres GPU ni ensambla un tríptico en una sola imagen.

## 4. Ejecutar y juzgar tu resultado

Lanza una ejecución cuando las dependencias estén disponibles. Cada rama debe alcanzar su nodo SaveImage. Los prefijos son `RenderParcel/ceramique-v1/a_frontale`, `b_laterale` y `c_contrejour` en el directorio de salida de ComfyUI; ComfyUI añade sus contadores de archivos. Tres ramas no garantizan una ejecución simultánea.

Abre los tres PNG. Rellena `comparaison.csv`: borde legible, materia legible, espacio para el título, deformación, variante elegida y comentario. Las celdas están deliberadamente vacías. La luz también puede cambiar la silueta o la composición: un seed común no bloquea un objeto real. Para una representación fiel de un producto, esta carpeta text-to-image es solo un estudio de dirección, no un procedimiento de reproducción controlada.

La validación en tu máquina ha terminado cuando los archivos existen, se abren, tienen las dimensiones previstas y responden a tus criterios. Registra el entorno, exporta el JSON utilizado y guarda una imagen testigo producida por tu ejecución. No inventes una duración o una VRAM si no la has medido.

## 5. Reconstruir, modificar, transmitir

`reconstruction.md` detalla cada conexión y el orden de los widgets. Para modificar el caso, duplica la carpeta, cambia una variable a la vez y actualiza el manifiesto. El validador del perfil v1 puede rechazar una extensión voluntaria: eso no demuestra que sea inválida para ComfyUI, solo que queda fuera de la carpeta controlada.

Conserva el JSON independientemente de los PNG. Los metadatos incorporados pueden eliminarse mediante una conversión o al compartir. Archiva también tu manifiesto completado, la comparación y las salidas seleccionadas. Las bibliotecas, los pesos y los controladores siguen siendo dependencias distintas.

## Fuentes técnicas

- [Formato UI ComfyUI 0.4](https://docs.comfy.org/specs/workflow_json_0.4).
- [Nodos integrados, fuente ComfyUI 0.37.0](https://github.com/Comfy-Org/ComfyUI/blob/73c9bad4d21e7addbe1d13bc92eee0f1431b017d/nodes.py).
- [Dependencias de esta versión](https://github.com/Comfy-Org/ComfyUI/blob/73c9bad4d21e7addbe1d13bc92eee0f1431b017d/requirements.txt).
- [Ubicación de los modelos](https://docs.comfy.org/basic-concepts/models).
- [SDXL en ComfyUI, ejemplos del autor](https://comfyanonymous.github.io/ComfyUI_examples/sdxl/).
- [Límites de reproducibilidad de PyTorch](https://docs.pytorch.org/docs/2.14/notes/randomness.html).

Los recursos originales de la carpeta se rigen por `LICENSE.md`. Los programas y el modelo conservan sus propias licencias. Ningún archivo de cuenta, pago, identidad, cookie o secreto es necesario para este proyecto.

## Compatibilidad de las salidas v1

Las nuevas imágenes usan el prefijo `RenderParcel/ceramique-v1/`. Ninguna carpeta de salida ya presente se mueve ni se elimina. Los identificadores de los quince nodos, los enlaces y los ajustes siguen siendo idénticos.

El validador también acepta el prefijo histórico `Prismora/ceramique-v1/`, con los mismos nombres de variantes. Así puede leer un workflow v1 anterior con el manifiesto actual; no acepta un nombre de variante diferente. Las imágenes ya producidas conservan su ruta original.
