EPS Technical Manual
06 / 64
Файлы
06
PART I · WORKFLOW ENGINEERING FOR COMFYUI

Data Plane vs Control Plane — что течёт по графу и что им управляет

Профессиональный ComfyUI-граф легче читать, если разделить два слоя: data plane переносит изображения, latent, masks, models и conditioning; control plane задаёт режимы, selectors, параметры, enable/bypass и общий runtime profile.

CONFIRMEDРазделение data/control plane согласуется с реальной topology Hansen: крупные data links и linked INT/FLOAT/STRING controls выполняют разные роли.
01 · TWO LAYERS

Один граф содержит как минимум два разных типа логики

LayerЧто несётГлавный вопрос
DATA PLANEIMAGE, MASK, LATENT, MODEL, CONDITIONINGЧто сейчас обрабатывается?
CONTROL PLANEINT, FLOAT, STRING, BOOLEAN, selectors, bypassКакой маршрут и режим сейчас активен?
02 · DATA PLANE

Data plane показывает путь результата от input до output

При первом чтении большого workflow ищи крупные объекты. IMAGE переходит в preprocessors, MASK ограничивает область, LATENT идёт через sampler, MODEL и CONDITIONING обеспечивают генерацию. Это скелет вычисления.

Если удалить мысленно все маленькие control wires, должен остаться понятный маршрут данных.

03 · CONTROL PLANE

Control plane формирует effective runtime state

Control plane может не менять пиксели напрямую, но определяет, какие pixels вообще попадут downstream. Он выбирает source, strength, steps, denoise, mode, resolution и active modules.

Поэтому маленький INT selector иногда важнее целой генеративной ветки: неверное значение просто выберет другой путь.

04 · LINKED VALUES

Видимое widget value не всегда является фактическим значением

Если input параметра связан с другой control-нодой, downstream widget может отображать сохранённое локальное значение, которое не определяет текущий runtime. Authoritative source находится upstream.

При диагностике selectors и shared controls всегда нужно трассировать link до источника, а не доверять только подписи внутри конечной ноды.

CONFIRMED

Hansen example

В текущем technical manual уже зафиксированы selectors, где linked input переопределяет stored widget value.

05 · SINGLE SOURCE OF TRUTH

Один shared control должен управлять связанными параметрами согласованно

Когда несколько branch должны использовать один режим, размер или seed, лучше иметь единый authoritative control, чем копировать значение вручную в нескольких местах.

Это уменьшает configuration drift: ситуацию, когда один parameter уже изменён, а второй остался старым.

Shared controlВозможные consumers
SeedSDXL sampler, FLUX noise, PPL generation
Working sizeLatent, resize, masks, composite canvas
ModeLatent source, denoise route, selectors
People sourcePPL selectors, downstream return
06 · TWO-PASS READING

Большой граф лучше читать в два прохода

07 · EFFECTIVE STATE

Topology и runtime path — не одно и то же

Topology отвечает: какие связи вообще существуют в сохранённом workflow. Effective runtime map отвечает: какие из этих связей реально определяют текущий результат с учётом selectors, linked controls и bypass state.

Это различие критично для аудита больших графов: connected branch может быть selected away, а сохранённый post-process может находиться в bypass.

08 · PRACTICE

Практика: нарисовать две карты одного workflow

  • Карта A: оставить только IMAGE / MASK / LATENT / MODEL / CONDITIONING links.
  • Карта B: выписать только selectors, INT/FLOAT/STRING controls и bypass switches.
  • Для каждого selector записать его authoritative upstream value.
  • Соединить карты и описать одной фразой effective runtime route.
INFERRED

Критерий готовности

Если пользователь может объяснить отдельно data route и control route, он готов переходить к module contracts и interface design.