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

Graph Organization · Groups & Naming Standard — как сделать большой workflow читаемым

Большой production workflow должен читаться на трёх масштабах: весь canvas, функциональный module и отдельная node chain. Группы и naming standard превращают визуальную раскладку в навигацию, control API и документацию одновременно.

CONFIRMEDГлава фиксирует OVizLAB production standard. Поведение Fast Groups Bypasser по group title/filter/sort подтверждено исходным кодом rgthree; конкретная схема именования является нашим инженерным стандартом поверх ComfyUI.
01 · WHY

Группа — это не цветная рамка, а часть архитектуры workflow

Если group используется только для визуального украшения, она не помогает читать или обслуживать граф. В production workflow название группы должно сразу отвечать на вопрос: какую ответственность выполняет этот участок и где он находится в общем маршруте.

Правильная group architecture уменьшает когнитивную нагрузку: вместо сотен nodes пользователь сначала видит 10–15 систем, затем открывает нужный module и только потом читает конкретную chain.

02 · TOP LEVEL

Единый порядок главных production-групп

INFERRED

Почему numeric prefix

Префикс фиксирует intended reading order и делает сортировку групп предсказуемой даже при большом canvas.

PrefixGroupResponsibility
00BASE CONFIGГлобальная availability / bypass логика и режимы запуска
01MODEL LOADERSModels, CLIP, VAE и тяжёлые shared resources
02INPUTSBase render, maps, references, logo и внешние данные
03CONTROLShared values, selectors, seed, size, mode controls
04PREPROCESSDepth, Canny, resize, detection preparation
05BASE GENERATIONSDXL / FLUX base generation или img2img stage
06MASKSSegmentation, protection masks, local edit regions
07PEOPLE / PPLGeneration / replacement / compositing of people
08LOCAL REFINEDetail transfer, inpaint, local polish
09UPSCALEHigh-resolution / final polish path
10OUTPUTPreview, save, delivery outputs
03 · MODULE LEVEL

Внутри module используем тот же принцип: stage number + responsibility

Название должно описывать функцию, а не историю редактирования. FINAL2, TEST_NEW, COPY3 и похожие названия не являются архитектурными именами и быстро превращают canvas в архив случайных состояний.

04 · GROUP NAME = CONTROL API

Имена групп участвуют в управлении через Fast Groups Bypasser

Fast Groups Bypasser автоматически собирает groups и строит toggle rows по их titles. В properties можно фильтровать группы через matchTitle, ограничивать по цвету, сортировать по position, alphanumeric или custom alphabet.

Поэтому group title становится частью control plane. Переименование группы может изменить то, как она попадает в BASE CONFIG filter, а нестабильные названия делают управление workflow хрупким.

CONFIRMED

rgthree behavior

Fast Groups Bypasser использует group title для widget label и поддерживает matchTitle, sort и custom alphabet.

INFERRED

Production rule

Если BASE CONFIG использует title matching, имена production groups считаются интерфейсом и должны меняться осознанно.

05 · BOUNDARIES

Границы group должны совпадать с границами ответственности

  • Не растягивать одну group через половину canvas только ради визуального охвата.
  • Не помещать shared loader внутрь локального module, если им пользуются несколько веток.
  • Не прятать return point внутри соседней group.
  • Не перекрывать production groups без явной причины: один node не должен случайно принадлежать нескольким control regions.
  • Checkpoint размещать внутри module перед RETURN, а не далеко в OUTPUT.
CONFIRMED

Overlap risk

rgthree отдельно предупреждает, что overlapping groups могут привести к состояниям, которые не соответствуют ограничениям max one / always one.

06 · COLOR

Цвет помогает ориентироваться, но не заменяет название

Цвет useful как вторичный visual code: loaders, controls, masks, generation и output можно различать по palette. Но смысл group должен оставаться понятным в текстовом title без знания цветов.

Это особенно важно при передаче workflow другому человеку, смене темы UI и использовании matchTitle в BASE CONFIG.

07 · ANTI-PATTERNS

Названия, которые запрещаем в production master

Anti-patternПочему плохоВместо этого
final / final2 / final_finalНе описывает функцию и быстро устаревает09 · UPSCALE / 10 · OUTPUT
test / new / copyНеясно, что тестируетсяLAB · CANNY STRENGTH TEST
group 17Нет semantic responsibility06 · MASKS · FOLIAGE
PPL stuffСмешивает несколько stagesPPL · 02 DETECT / PPL · 03 SEGMENT
одна giant groupСкрывает module boundariesРазделить по contracts и return points
08 · LABEL RULE

Формула имени, которую можно применять к любому будущему module

09 · PRACTICE

Практика: прочитать Hansen только по группам

  • Работать на копии workflow; Hansen Original оставить immutable reference.
  • Сначала скрыть детали и выписать только названия крупных groups.
  • Для каждой group сформулировать ответственность одной строкой.
  • Отметить INPUT и RETURN каждого module.
  • Проверить, какие group titles видит BASE CONFIG / Fast Groups Bypasser.
  • Только после этого смотреть на внутренние nodes.
10 · PASS CRITERIA

Блок закрыт, когда canvas читается как карта системы

  • По одному title понятно назначение group.
  • Порядок major groups читается без поиска по canvas.
  • Любой local module имеет явные INPUT / CHECKPOINT / RETURN.
  • BASE CONFIG может адресовать нужные groups устойчивыми именами.
  • В production master нет временных названий final2 / test / copy.
  • Новый человек может сначала прочитать modules, а уже потом nodes.