Nodes/comfyui_play_traversal/Scene Backdrop Data
ComfyUI Node

Scene Backdrop Data

Pull a saved backdrop back into your graph

By wgedeon·Created 12 months ago·Updated 10 months ago· 2
Scene Backdrop Data
  • workspace
  • name
  • positive
  • negative
  • image
  • image_path
  • image_latent
  • image_latent_path
  • image_mask
  • image_depthmap
  • image_depthmap_path
  • image_seed
backdrop_name

Scene Backdrop Data is the read-back half of the backdrop pair. Where Scene Backdrop writes a reference image, latent, and depth map to disk, this node loads them back out and hands them to the graph as connectable sockets. It's the node you put inside your render loop (or just upstream of it) to give every batch the same stable background - which, in a pack whose whole reason for existing is chunk-to-chunk continuity, is a genuinely useful trick.

It's a pure loader: give it a workspace and a backdrop name, and it opens <output>/workspaces/<workspace_codename>/scene_backdrops/<name>/backdrop.json, then loads whatever files that JSON points at. What you get is everything you saved plus an auto-extracted mask.

The outputs that matter

  • image and image_mask - the saved backdrop PNG loaded as an IMAGE tensor, plus a mask extracted from its alpha channel (ComfyUI core's LoadImage behavior, reused). The mask is your automatic cutout if the backdrop had transparency.
  • image_latent - the saved latent, loaded back as a LATENT dict. This is the one you'd feed to a sampler to seed every chunk from the same encoded background. The latent's file path is on image_latent_path.
  • image_depthmap - the depth map, if one was saved (path on image_depthmap_path). Depth-conditioning every batch against the same map is a solid way to keep composition locked across chunks.
  • positive, negative, image_seed - the stored prompt text and seed, in case you want to reuse them for conditioning.
  • name, image_path - mostly bookkeeping: the backdrop's name and the on-disk path of the image.

The inputs that matter

  • workspace (required, WORKSPACE) - same deal as Scene Backdrop: this type comes from the author's sibling project wgedeon/_comfyui_user_workspaces, not from this pack. No workspaces pack, no sockets.
  • backdrop_name (required) - the folder name you saved under. Empty string by default, and a missing folder raises a FileNotFoundError - the node doesn't create anything, it only reads.

Installing

You need both halves:

cd ComfyUI/custom_nodes
git clone https://github.com/wgedeon/comfyui_play_traversal
git clone https://github.com/wgedeon/_comfyui_user_workspaces
pip install -r comfyui_play_traversal/requirements.txt

Restart ComfyUI. comfyui_play_traversal is in ComfyUI Manager (search the title); the workspaces pack is manual-clone only, since the author can't push it to the registry. The pack's requirements are heavy (diffusers, accelerate, onnxruntime, opencv-python, spandrel, peft, clip_interrogator, sentencepiece, matplotlib, lark).

Where people get burned

  • "Could not find backdrop file." The most common failure - you haven't run a Scene Backdrop node with that exact name in that workspace yet, or you misspelled backdrop_name. It reads exactly what you saved, and it raises loudly if the JSON's missing.
  • Missing WORKSPACE type again. Install the workspaces pack or the inputs stay "unknown type" and nothing connects.
  • Saving image and latent are independent. If you saved only the image, image_latent comes back empty - plan what you'll want to read before you run the save node.
  • The saved JSON is your contract. Rename a backdrop folder on disk and the paths inside go stale. Move things via the nodes, not the file explorer.
  • Early-stage, single-author pack - treat console logs as the docs, and expect rough edges.
CategoryFeller of Trees/Play Traversal

Inputs (2)

NameTypeDefaultDescription
workspaceWORKSPACE
backdrop_nameSTRING

Outputs (11)

NameTypeDescription
nameSTRING
positiveSTRING
negativeSTRING
imageIMAGE
image_pathSTRING
image_latentLATENT
image_latent_pathSTRING
image_maskMASK
image_depthmapIMAGE
image_depthmap_pathSTRING
image_seedINT