메인 콘텐츠로 건너뛰기

개요

부그래프는 사용자가 노드를 재사용 가능한 중첩 가능한 구성 요소로 그룹화할 수 있게 해줍니다. 각 부그래프는 고유한 UUID를 가진 LGraph입니다. 사용자 친화적인 안내서는 부그래프를 참조하세요.

노드 식별자

ComfyUI는 세 가지 서로 다른 노드 식별자 유형을 사용합니다. 잘못된 유형을 사용하면 조용히 실패하게 됩니다. 확장 프로그램 내에서 노드의 로케이터 ID를 생성하려면:

노드 탐색

현재 레이어만

모든 노드 재귀적으로

중첩된 부그래프까지 탐색하려면 모든 노드에서 콜백을 호출하는 재귀적 도우미를 사용하세요:
전체 예제:

루트 vs 활성 그래프

이벤트

부그래프 수준 이벤트

subgraph.events에서 발행됩니다:

캔버스 수준 이벤트

app.canvas.canvas (HTML 캔버스 요소)에서 발행됩니다:

리스닝 패턴

위젯 승격

SubgraphInput가 부그래프 내 위젯과 연결되면 해당 위젯의 복사본이 상위 부그래프 노드에 나타납니다. 이때 widget-promoted 이벤트가 발생합니다. 연결을 제거하면 widget-demoted 이벤트가 발생합니다.
위젯 승격 동작은 아직 개발 중이며, 향후 릴리스에서 변경될 수 있습니다.

정리

노드가 제거될 때 모든 이벤트 리스너를 정리하려면 AbortController를 사용하세요.
onRemoved은 삭제뿐만 아니라 부그래프 변환 중에도 발생할 수 있습니다. 재구조화 과정에서도 상태를 유지해야 한다면 정리 로직을 보호하세요.

참고