DOGMA v35.4 Four-Sector Plan
The same planner, four live slots
- plan_preview
- category_1
- sam_prompt_1
- sam_threshold_1
- category_2
- sam_prompt_2
- sam_threshold_2
- category_3
- sam_prompt_3
- sam_threshold_3
- category_4
- sam_prompt_4
- sam_threshold_4
- category_5
- sam_prompt_5
- sam_threshold_5
- category_6
- sam_prompt_6
- sam_threshold_6
What it is
DOGMASectorPlanV354 is the v27 planner with the slot layout widened from three categories to four. It keeps v27's normalization wholesale - the text-safe rule that kills any line containing sign/billboard/lettering/logo, the filter that drops broad scene words like sky and road, and the same conservative, finite SAM prompt caps (car:80, person:100, thresholds in the 0.13–0.18 range).
Its own docstring says it plainly: "Same conservative v27 normalization/SAM prompts, but routes FOUR real sectors in slots 2..5."
That one sentence is the entire reason it exists, and it tells you something important about how this pack is meant to be read. DOGMA Nodes isn't a curated library with a stable API. It's a family of frozen experiment snapshots from a working production studio - DOGMA, the Italian outfit that does AI work for TV ads and film - where each version number marks a specific graph on a specific job. Newer nodes in this pack usually aren't better in isolation; they're different in some one specific way that mattered for the shot being fixed at the time.
Why a fourth sector matters
Three target categories is a real constraint on a wide architectural plate. A Milan street scene that needs work might plausibly want people, vehicles, street furniture and architectural details all repaired in place, each with its own prompt, its own mask, its own crop settings and its own edit instruction. With a three-slot planner you pick three and let the fourth stay muddy.
Note what the fourth slot costs you, though. Slots 2–5 now carry live categories, and every live category means its own SAM pass, its own set of region crops, its own Klein pass and its own stitch region. More sectors is more of the frame being regenerated, more VRAM, and more chances for the model to invent something the source never had. Four sectors is a budget decision, not a free upgrade. (If you want four categories and better recall on small vehicles and pedestrians, v36 is the next step up - it drops thresholds into the 0.08–0.14 range and raises caps substantially.)
Inputs and outputs
One input: planner_text. It's forceInput and multiline, so there's no widget on the node - wire a string primitive or a VLM's text output into it.
Outputs are the standard 19 of this planner family. plan_preview is a formatted dump of every slot (SLOT 2: vehicles, the SAM prompt, the threshold) and it's the only honest way to see what the parser did with your text. Then per slot: category_N is the normalized category name, sam_prompt_N is the classifier prompt string (class names with instance caps), and sam_threshold_N is a float threshold.
The wiring gotcha: slot 1 and slot 6 are always __none__. Slots 2–5 are where your categories land. If you're porting a graph from v26 or v27, slot 5 used to be empty - anything you wired from it was getting nothing, and now it's live. That's a change in behaviour with no visual difference in the node, which is exactly the kind of thing that bites you at 2am.
Install
ComfyUI Manager → DOGMA Nodes, or:
cd ComfyUI/custom_nodes
git clone https://github.com/axior/ComfyUI-DOGMA-Nodes
# restart ComfyUI
No external Python dependencies - the pack's requirements.txt is a single comment line, and the code only uses PyTorch plus ComfyUI's built-in sampler utilities. Budget for SAM: these planner nodes emit prompts and thresholds, never masks, so a detector node from another pack does the actual segmentation.
Gotchas
- Text-bearing categories are still refused. If a slot's category reads as signage, it becomes
__none__and the preview will show it - read the preview. - Version numbers in this pack are not a progression you should climb. v35.4 exists because four sectors were needed on one job; v27 exists because three sectors with conservative caps were needed on another. Pick the node whose behaviour matches your graph, not the highest number you can find.
- There is no tutorial ecosystem for this pack at all. Zero reddit threads mention it, and the README documents only the WAN VACE prep and sampler nodes - the semantic detailer half is documented by its own class docstrings. Budget accordingly.
Inputs (1)
| Name | Type | Default | Description |
|---|---|---|---|
| planner_text | STRING | — |
Outputs (19)
| Name | Type | Description |
|---|---|---|
| plan_preview | STRING | — |
| category_1 | STRING | — |
| sam_prompt_1 | STRING | — |
| sam_threshold_1 | FLOAT | — |
| category_2 | STRING | — |
| sam_prompt_2 | STRING | — |
| sam_threshold_2 | FLOAT | — |
| category_3 | STRING | — |
| sam_prompt_3 | STRING | — |
| sam_threshold_3 | FLOAT | — |
| category_4 | STRING | — |
| sam_prompt_4 | STRING | — |
| sam_threshold_4 | FLOAT | — |
| category_5 | STRING | — |
| sam_prompt_5 | STRING | — |
| sam_threshold_5 | FLOAT | — |
| category_6 | STRING | — |
| sam_prompt_6 | STRING | — |
| sam_threshold_6 | FLOAT | — |