Nodes/ComfyUI-DiT360/Apply Circular Panorama (All-in-One)
ComfyUI Node

Apply Circular Panorama (All-in-One)

Conv2d padding and circular RoPE in one shot

By cedarconnor·Created 10 months ago·Updated 9 months ago· 3
Apply Circular Panorama (All-in-One)
  • model
  • model
patch_conv2dtrue
patch_ropetrue
rope_modeshift
rope_seam_width0
rope_verbosefalse

If Apply Circular RoPE is the focused experiment and Apply Circular Padding VAE is the decoder patch, Apply Circular Panorama is where the pack throws both model-level tricks into one node and hands you the switches. It patches your diffusion model's Conv2d layers for X-only circular padding (where applicable) and applies circular RoPE (same shift/angle options), all in a single model-in, model-out wrapper. Convenient for testing; not something to leave on out of curiosity.

Inputs:

  • model - your FLUX + DiT360 LoRA model.
  • patch_conv2d (default true) - model-internal Conv2d circular padding on X. The tooltip is blunt: for FLUX this can reduce stability and quality, and the pack recommends preferring the 360° KSampler/VAE padding or Apply Circular Padding VAE instead. Enable only if you know you need padding inside the model.
  • patch_rope (default true) - attention-level wrap. Tooltip recommendation: OFF by default; enable only for testing RoPE seam handling. (Note the quirk: the defaults are true, but the pack's own advice is to turn them off. Treat this node as "everything toggled, your job to decide.")
  • rope_mode (shift default / angle) - shift is the safe one; angle is aggressive and experimental.
  • rope_seam_width (default 0 = auto) - shift only: token columns near the right edge to wrap. 0 or 4–16 recommended; larger values distort.
  • rope_verbose (default false) - prints diagnostic info about the RoPE patch.

Output: a patched model into your sampler. If that sounds like a lot of knobs for one node - it is. This is the "try everything at once" node, which is exactly why the defaults deserve skepticism: both toggles default on, but the documentation recommends both off in favor of the sampler/VAE/decode padding path.

How it works: it reuses the same two mechanisms as its siblings - the Conv2d forward patch (circular X, constant Y, the approach ComfyUI_pytorch360convert also uses) and the RoPE wrapper (shift vs angle). It's not new machinery; it's a convenience wrapper with every switch exposed.

Install

Same as the whole pack - Manager (search "ComfyUI-DiT360"), or:

cd ComfyUI/custom_nodes
git clone https://github.com/cedarconnor/ComfyUI-DiT360
cd ComfyUI-DiT360
pip install -r requirements.txt

then restart. No heavy dependencies; models are FLUX.1-dev in models/checkpoints and the DiT360 LoRA (~2–5GB, Insta360-Research on Hugging Face) in models/loras at strength 1.0.

Troubleshooting

  • Washed out or broken output → turn patch_rope off; prefer full-precision dev over fp8; use shift with rope_seam_width 0–16.
  • Quality dropped but no seam improvement → that's patch_conv2d on FLUX doing exactly what the tooltip warned about; disable it and use sampler/decode padding instead.
  • Don't stack it with Apply Circular RoPE or a second RoPE patch - you'll double-patch, and double-patching is how you get garbage.

Honest take: this is the node you reach for when you want one quick A/B test of whether the model-level fix helps on your model at all. Run it with everything on, compare against the padding + blend baseline, then go back to the baseline - which, per the pack's own troubleshooting, is the reliable path. The kitchen sink is best used one drain at a time.

CategoryDiT360

Inputs (6)

NameTypeDefaultDescription
modelMODELConnect your diffusion MODEL (e.g., FLUX UNet + DiT360 LoRA).
patch_conv2doptBOOLEANtruePatch Conv2d layers for X-only circular padding inside the model. For FLUX, this can reduce stability/quality; prefer 360° KSampler/VAE padding or Apply Circular Padding VAE. Enable only if you know you need model-internal padding.
patch_ropeoptBOOLEANtruePatch RoPE (attention-level wrap). Recommended: OFF by default; enable only if you are specifically testing RoPE seam handling.
rope_modeoptCOMBOshiftRoPE strategy. Recommended: shift. Angle is aggressive/experimental and may degrade results.
rope_seam_widthoptINT00–4096Only for rope_mode='shift': token columns near the right edge to wrap. Recommended: 0 (auto) or 4-16. Larger values can distort the image.
rope_verboseoptBOOLEANfalsePrint one-time diagnostic info about the RoPE patch. Enable for debugging.

Outputs (1)

NameTypeDescription
modelMODEL