Saltar al contenido principal

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 nodos

ComfyUI usa tres tipos distintos de identificadores de nodos. Usar el incorrecto causa fallos silenciosos. Para construir el ID de localizador de un nodo desde una extensión:

Recorrer nodos

Solo la capa actual

Todos los nodos de forma recursiva

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

Gráfico raíz frente a gráfico activo

Eventos

Eventos a nivel de subgrafo

Se despachan en subgraph.events:

Eventos a nivel de lienzo

Se despachan en app.canvas.canvas (el elemento HTML canvas):

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 del subgrafo padre. Esto dispara widget-promoted. Al eliminar la conexión se dispara widget-demoted.
El comportamiento de la promoción de widgets todavía está en evolución y puede cambiar en futuras versiones.

Limpieza

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

Ver también