Skip to main content

Descripción general

Los subgrafos permiten agrupar nodos en componentes reutilizables y anidables. Cada subgrafo es su propio LGraph con un UUID. Para la guía de usuario, consulta Subgrafos.

Identificadores de nodo

ComfyUI usa tres tipos distintos de identificador de nodo. Usar el equivocado provoca fallos silenciosos. Para construir el ID de localizador de un nodo desde dentro de una extensión:

Recorrer los nodos

Solo la capa actual

Todos los nodos de forma recursiva

Para entrar en subgrafos anidados, usa un helper recursivo que llame a un callback en cada nodo:
Ejemplo completo:

Grafo raíz vs grafo activo

Eventos

Eventos de nivel de subgrafo

Se emiten en subgraph.events:

Eventos de nivel de lienzo

Se emiten en app.canvas.canvas (el elemento canvas de HTML):

Patrón de escucha

Promoción de widgets

Cuando un SubgraphInput se conecta a un widget dentro de un subgrafo, aparece una copia de ese widget en el nodo de subgrafo padre. Esto dispara widget-promoted. Eliminar la conexión dispara widget-demoted.
El comportamiento de la promoción de widgets todavía está en evolución y puede cambiar en versiones futuras.

Limpieza

Usa un AbortController para limpiar todos los listeners de eventos cuando se elimina un nodo.
onRemoved también puede dispararse durante la conversión de un subgrafo, no solo al eliminar. Protege la lógica de desmontaje si necesitas conservar el estado durante la reestructuración.

Véase también