ComfyUI Node

Staging

StageNode is Staging's old name — the real topic is where your stages live on disk

By arturitu·Created 2 months ago·Updated 19 days ago· 45
Staging
    • Stage Data
    stage_data

    Same story as the other alias pages in this pack, so let's get it out fast: StageNode is an early/legacy name for StagingNode in ComfyUI-scene-camera-action. Loaded a workflow that references it? It works - the pack keeps old class registrations alive (alongside SceneNode, UBStagingNode, and the UB* acting/directing names) so saved graphs survive renames. Build something new and you'll pick Staging from the node menu instead; it's literally the same class.

    What's actually worth reading on this page is the part the "Stage" name points at: stages are files, and knowing where they live is half of using this node well.

    Where your stages actually live

    A stage is a small JSON document (the format calls itself a cube_stage: a list of nodes, each a block or group with position/rotation/scale). Two places on disk feed the node's preset dropdown:

    1. The pack's presets/ folder - ComfyUI/custom_nodes/ComfyUI-scene-camera-action/presets/. This is where the bundled environments ship (race_track.json, industrial_ruin.json, liberty_beach.json, courthouse_square.json, gas_station.json, test-collider.json, and more) and where the widget's Save button writes your own.
    2. ComfyUI/input/staging_stages/ - your input folder, which the node also scans. Drop a shared stage JSON here and it shows up in the dropdown without touching the pack directory at all.

    That second path is the one to know about. It means sharing a stage is as easy as passing a JSON file - same culture as sharing a workflow, one file does the whole gray-box set. It also means a "where did this preset come from" mystery usually has a two-folder answer.

    What you do with a stage

    The node's wire surface stays minimal: one optional stage_data string input and a Stage Data output. You pick or build the stage in the embedded three.js viewport (orbit left-drag, pan right-drag, scroll zoom, shift-click multi-select), then the output feeds the pack's Acting node, where an actor drives across the geometry you staged. The whole thing runs in-browser on WebGL - no model download, no GPU on the server, which is why the pack's example pipeline can run with 0 AI models until the final video step.

    Install

    Manager (search "Scene Camera Action") or:

    cd ComfyUI/custom_nodes
    git clone https://github.com/arturitu/ComfyUI-scene-camera-action.git
    pip install -r ComfyUI-scene-camera-action/requirements.txt
    

    Restart, look in the scene-camera-action category. Windows portable users run the pip line with python_embeded\python.exe -m pip.

    Watch out for

    Don't hand-edit a preset's JSON and expect the widget to be thrilled - the viewport loads geometry and hierarchy from that file, and a typo'd transform or an id you duplicated can make a block vanish or a scene fail to load cleanly. If a downloaded stage does nothing when you pick it, it's usually not a valid cube_stage document. Back up before you overwrite, and treat the Save button as the source of truth. Old name, new habit: in any fresh workflow, it's Staging.

    Categoryscene-camera-action

    Inputs (1)

    NameTypeDefaultDescription
    stage_dataoptSTRINGSerialized JSON data of the stage configurations

    Outputs (1)

    NameTypeDescription
    Stage Data*