Descripción general
Los subgrafos permiten agrupar nodos en componentes reutilizables y anidables. Cada subgrafo es su propioLGraph 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:Grafo raíz vs grafo activo
Eventos
Eventos de nivel de subgrafo
Se emiten ensubgraph.events:
Eventos de nivel de lienzo
Se emiten enapp.canvas.canvas (el elemento canvas de HTML):
Patrón de escucha
Promoción de widgets
Cuando unSubgraphInput 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.
Limpieza
Usa unAbortController para limpiar todos los listeners de eventos cuando se elimina un nodo.