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

SMP · Location Combiner (legacy)

The node that turns '#ambient_light#' into real light

By ping1979ping·Created 5 months ago·Updated about a month ago· 0
SMP · Location Combiner (legacy)
  • location_raw
  • color_palette
  • location_dict
  • summary

The SMP location pipeline hands you a scene description full of placeholder tokens like #ambient_light# and #shadow_tone#. This is the node that spends them. Feed it the raw location dict from SMP · Location Generator plus a color palette, and it rewrites every element's prompt_fragment with real color words - warm golden light, deep blue shadows - instead of a token the text encoder will ignore or garble.

It's part of the pack's StructPromptMaker (SMP) suite, the earlier multi-stage prompt-building pipeline the README now calls legacy and superseded by the newer JB suite. "Legacy" here means "kept fully functional and documented," not "dead." You only meet this node if you're running an SMP reference workflow, and that's fine: SMP is more stages than most people need, but it's deterministic and the dicts are genuinely nice to debug.

How it works

It deep-copies the incoming LOCATION_DICT_RAW (no mutating your generator's output), builds a substitution table from the palette's atmosphere and garment colors, then string-replaces tokens inside each element's prompt_fragment. If the palette carries a color_tone and the location didn't pick one, it inherits it. The output LOCATION_DICT has its tokens gone and its fragments readable as plain English.

The two inputs that matter

This is a glue node, so the setup is short:

  • location_raw - the LOCATION_DICT_RAW from SMP · Location Generator.
  • color_palette - the COLOR_PALETTE_DICT from SMP · Color Generator.

That's the whole input list. Wire the same palette into the outfit combiner and both halves of the scene stay color-consistent.

Outputs

  • location_dict - resolved scene dict, wire it into SMP · Environment Builder or the Structured Prompt Assembler.
  • summary - a human-readable string of what got combined; hand it to a ShowText while debugging.

Install

Nothing extra. The SMP nodes ride on the base pack install - no models, no pip beyond what ComfyUI already has (numpy and pydantic 2, both already in the venv):

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

Then restart ComfyUI.

Common issues

If #ambient_light# and friends are still sitting in your output text, the palette probably didn't carry atmosphere colors - make sure the Color Generator is actually connected upstream, not just the location branch. If a token survives that should be resolvable, check the summary output first; it lists what was resolved and what wasn't. And if you see a color_tone on the location dict you didn't set, that's the inheritance working as designed.

CategoryFVM Tools/SMP/Combiners

Inputs (2)

NameTypeDefaultDescription
location_rawLOCATION_DICT_RAW
color_paletteCOLOR_PALETTE_DICT

Outputs (2)

NameTypeDescription
location_dictLOCATION_DICT
summarySTRING