π SEGS Mask Irregularity
Make your tiled masks look hand-drawn, not cut with scissors
- segs
- segs
Tiled regeneration has a tell: perfectly straight, machine-cut mask edges. Real objects don't end in clean rectangles, so when you composite regenerated tiles back together, the grid reads as artificial. ArchAi3D_SEGS_Mask_Irregularity is the pack's fix - it jitters the edges of the masks inside a SEGS structure so each tile boundary looks organic instead of scissored.
It's the companion to SEGS Mask Blur, and the two are meant to run together: irregularity removes the geometric grid tell, blur removes the remaining hard edge. Feed it SEGS (from Impact Pack's Make Tile SEGS or the pack's own Smart Tile SEGS), set how irregular you want the edges, and get SEGS back with the same masks, only ragged.
The inputs that matter
- segs - the SEGS to modify. Required.
- irregularity - 0 to 1, default 0.3. 0 leaves edges untouched, 1 applies maximum jitter. The default 0.3 is a sensible starting point: enough to break the straight-edge tell without turning masks into noise.
- seed - optional, default 0 (random). Set a fixed value to reproduce the same irregularity pattern across runs - useful if you're iterating on a workflow and don't want the mask shape changing every time.
Output: a single segs, same format in, same format out.
How it works
Each segment's mask gets its boundary displaced by a seeded random perturbation, scaled by the irregularity value - the implementation is a lightweight per-mask edge jitter rather than a full procedural texture pass, which is exactly the right scope for "I want the seam to not look like a seam." The seeded path makes it deterministic, which is the difference between a debugging nightmare and a reproducible workflow.
Installing it
Part of ComfyUI-ArchAi3d-Qwen (author: Amir Ferdos / ArchAi3d):
# ComfyUI Manager: search "ArchAi3d Qwen"
cd ComfyUI/custom_nodes
git clone https://github.com/amir84ferdos/ComfyUI-ArchAi3d-Qwen.git
cd ComfyUI-ArchAi3d-Qwen
pip install -r requirements.txt
Restart. Pure numpy/PIL - no models, no heavy dependencies.
Common issues
- Too much irregularity eats the mask. At 1.0, small segments can get so chewed up they no longer cover what they should. Keep segments large or keep irregularity modest.
- No visual change when nothing upstream. If you run it on SEGS that were already blurred to mush, the jitter is invisible. Pair it before blur: irregularity first, then blur to soften the jitter.
- Same seed β same result across node versions. Seeds pin the RNG, but if the pack updates the perturbation algorithm, your saved seeds won't reproduce old shapes. Pin your node version if reproducibility is critical.
A tiny, purpose-built utility for one specific artifact. If you've ever stared at a tiled upscale and known it was tiled from a mile away, this is the node that quietly fixes that.
Inputs (3)
| Name | Type | Default | Description |
|---|---|---|---|
| segs | SEGS | Input SEGS to modify | |
| irregularity | FLOAT | 0.300β1 | Amount of edge irregularity (0=none, 1=maximum) |
| seedopt | INT | 00β4294967295 | Random seed for reproducibility (0=random) |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| segs | SEGS | β |