Nodes/atlas-camera/Atlas Sky Dome Layer ☁
ComfyUI Node

Atlas Sky Dome Layer ☁

A ComfyUI node in Atlas/07 · Clean Plate & Inpaint with 12 inputs and 4 outputs.

By mikejamesvfx·Created 2 months ago·Updated about 23 hours ago· 1
Atlas Sky Dome Layer ☁
  • solve
  • depth
  • sky_mask
  • plate_image
  • plate_ref
  • solve
  • hole_mask
  • extend_mask
  • report
radius_m300
relief_grid96
namesky
priority-10
edge_extend_px48
frame_outpaint_px64
distance_m0
CategoryAtlas/07 · Clean Plate & Inpaint

Inputs (12)

NameTypeDefaultDescription
solveATLAS_SOLVE
depthATLAS_DEPTH_MAP
sky_maskMASKReal segmentation marking sky pixels (e.g. ComfyUI-RMBG's SAM3 Segmentation prompted with 'sky'). Sole authority on this layer's shape — real depth values are never read for the card's geometry.
plate_imageIMAGEA CLEAN sky plate — invert sky_mask, run it through an external inpaint chain (INPAINT_ExpandMask -> INPAINT_InpaintWithModel) on the original photo, wire the result here.
radius_moptFLOAT3001–100000With distance_m at 0 (default): the card's DISTANCE in metres (forward-Z, legacy behavior) — should comfortably exceed the scene's own derived backdrop distance so it never intersects real geometry. With distance_m set: the card's minimum half-extent — its SIZE, radius in the dome sense — the card is enlarged (never shrunk below frustum coverage) via extra outpaint so it reaches this world size at that distance. Distance doesn't affect appearance from the solve camera (texel assignment is by ray); it controls parallax — how far you can dolly/orbit before the card reveals itself.
relief_gridoptINT9616–4096Card mesh density (long-edge grid columns). A flat, constant-depth card needs far less density than real geometry — default is lower than AtlasDeriveReliefMesh's.
nameoptSTRINGsky
priorityoptFLOAT-10-100–100Blend priority among layers (higher wins). Low by default since sky_mask makes this layer spatially exclusive from ground/foreground layers in practice.
plate_refoptATLAS_PLATE_REFOptional registered final clean-plate reference. Browser still uses image_b64 preview; exporters use this for EXR/float-safe handoff.
edge_extend_pxoptINT480–512Deterministic edge-extend (the classic Nuke premult->dilate trick, NOT an inpaint): smears the sky's edge colors this many pixels past the silhouette into the plate, dilates the matte to match, and overhangs the dome mesh accordingly - so orbiting reveals plausible gradient sky behind foreground silhouettes instead of black slivers. Enough for narrow disocclusions of smooth sky; large structured reveals (clouds behind a building) still want a real LaMa/inpaint chain on plate_image. 0 = off.
frame_outpaint_pxoptINT640–1024Outpaint the sky past the FRAME edges by this many pixels (edge-replicated then smeared, same deterministic trick as edge_extend_px) so a small orbit/pan doesn't slam into the plate boundary. The sky source gets its own enlarged canvas + widened intrinsics (cx/cy shifted, W/H grown), and the dome mesh extends past the original frustum to carry it. Purely this layer's camera - the primary solve and every other layer are untouched. 0 = off.
distance_moptFLOAT00–100000Card distance from the camera in metres. 0 (default) = legacy behavior: radius_m IS the distance and size follows from the frustum. When set, this places the card and radius_m becomes its minimum half-extent (SIZE): if the frustum footprint at this distance is smaller than radius_m, the card grows via extra outpaint (edge-replicated pixels, declared in extend_mask; total padding memory-capped at half the plate's long edge per side). Distance = parallax; size = orbit/pan slack.

Outputs (4)

NameTypeDescription
solveATLAS_SOLVE
hole_maskMASK
extend_maskMASK
reportSTRING