Nodes/comfyui-fvmtools/SMP · Location Generator (dict) (legacy)
ComfyUI Node

SMP · Location Generator (dict) (legacy)

245 seed-controlled scenes as structured data

By ping1979ping·Created 5 months ago·Updated about a month ago· 0
SMP · Location Generator (dict) (legacy)
    • location_raw
    • summary
    location_set
    seed0
    enable_backgroundtrue
    enable_midgroundfalse
    enable_architecture_detailfalse
    enable_propsfalse
    enable_foreground_elementtrue
    enable_time_of_daytrue
    enable_weathertrue
    color_tone

    Where do you set the scene in a ComfyUI prompt? If you're the type who hand-writes "sunlit mediterranean courtyard, warm ambient light, terracotta shadows" into every positive prompt, this node is that sentence turned into a structured dict. It's the SMP suite's location generator, and it emits a LOCATION_DICT_RAW: per-element records for background, midground, foreground, architecture detail, props, time of day, and weather, each carrying its own prompt_fragment and a region hint.

    The "legacy" in its display name is the pack's own label - the JB suite replaced SMP for most use cases - but legacy here means "still fully supported," not "broken." If you're building reproducible character-and-scene workflows, the determinism is the point: same seed, same scene, every time.

    How it works

    The node wraps core.location_engine.generate_location_records from the pack's own source. Each element is gated by its own enable toggle, so you can generate just background plus time of day plus weather and skip props entirely. The deliberately interesting part: the prompt_fragments come out with #ambient_light# and #shadow_tone# tokens still embedded. That's not a bug - it's a two-node handshake. The Location Combiner resolves those tokens against your color palette, and the generator + combiner pair are meant to be wired together.

    Inputs that matter

    • location_set - a dropdown of ~245 curated sets (like indoor/activities/bowling_alley), scanned from the pack's location_lists/ data.
    • seed - the reproducibility dial. Same seed, same scene.
    • The enable_* toggles - background and foreground element default on; midground, architecture detail, and props default off.
    • color_tone - warm / cool / neutral bias for the atmosphere, or leave empty.

    Most people set the scene, the seed, and the toggles, and never look back.

    Outputs

    • location_raw - wire it straight into SMP · Location Combiner.
    • summary - a human-readable string, handy in a ShowText node.

    Install

    No extra dependencies beyond the base pack. SMP runs on numpy and pydantic 2, both already in the ComfyUI venv:

    cd ComfyUI/custom_nodes
    git clone https://github.com/ping1979ping/comfyui-FVMtools
    

    Restart ComfyUI and the SMP nodes appear under FVM Tools/SMP.

    Common issues

    If the location_set dropdown shows only a handful of entries, the location_lists scan failed to find its data and the node fell back to three hardcoded sets. Check the pack directory is intact and re-clone if needed. And remember this node emits tokens - if you connect its output straight to a text encoder expecting finished prose, you'll see #ambient_light# as literal text. The Combiner is not optional in this pipeline.

    CategoryFVM Tools/SMP/Generators

    Inputs (10)

    NameTypeDefaultDescription
    location_setCOMBO140 options: indoor/everyday_de/bathroom_mirror, indoor/everyday_de/kitchen_cooking, indoor/everyday_de/living_room_sofa, indoor/everyday_de/supermarket_aisle_de, indoor/everyday_us/dentist_waiting_room, indoor/everyday_us/family_living_room_tv, +134
    seedINT00–18446744073709550000
    enable_backgroundBOOLEANtrue
    enable_midgroundBOOLEANfalse
    enable_architecture_detailBOOLEANfalse
    enable_propsBOOLEANfalse
    enable_foreground_elementBOOLEANtrue
    enable_time_of_dayBOOLEANtrue
    enable_weatherBOOLEANtrue
    color_toneCOMBO4 options: , warm, cool, neutral

    Outputs (2)

    NameTypeDescription
    location_rawLOCATION_DICT_RAW
    summarySTRING