Nodes/FoW - Light/🌍 FoW - Environment Category Light
ComfyUI Node

🌍 FoW - Environment Category Light

Three text boxes that build your whole scene

By SirWillance·Created 2 years ago·Updated about a year ago· 5
🌍 FoW - Environment Category Light
  • clip
  • Environment Conditioning
  • Environment Prompt
environment_setting
environment_structure_props
environment_elements_lighting

The scene node that thinks in three layers

Most category nodes in the FoW suite make you pick from a catalog. Environment Category Light does something smarter: it gives you three text boxes - setting, structure/props, and elements/lighting - and fuses whatever you type in each into one conditioning object. It's a gentle way to force yourself to describe a scene completely, which is exactly where weak environments come from: people write "a castle" and stop.

It's part of SirWillance's FoW_Suite_LIGHT, the free Light tier of the "Force of Will" suite, built by a self-taught dev over two months and MIT-licensed. Of all the category nodes this one shows the author's background-cleaning instinct most clearly - same .replace(" FoW ", ", ") delimiter cleanup you see in the refiner, same "encode each non-empty box, concat them" logic.

How it works

Each non-empty text box gets cleaned and encoded separately, then the conditionings are concatenated with ComfyUI's built-in ConditioningConcat:

cond = clip.encode_from_tokens_scheduled(clip.tokenize(cleaned_text))
...
fused = self.concat_node.concat(fused, cond)[0]

Empty boxes are skipped, and if all three are empty it encodes an empty string so the graph still produces a valid (if useless) conditioning rather than erroring out. The three slices are joined with ", " for the text output.

The inputs that matter

  • clip (CLIP) - your checkpoint's text encoder.
  • environment_setting (STRING, multiline) - where and when the scene is ("a rainy cyberpunk alley at night").
  • environment_structure_props (STRING, multiline) - the built environment and objects ("neon signs, fire escapes, puddles").
  • environment_elements_lighting (STRING, multiline) - atmosphere and light ("harsh neon reflections, steam rising").

Outputs are Environment Conditioning (CONDITIONING) and Environment Prompt (STRING). The conditioning feeds a positive Fusion node; the string shows the joined result.

Installing it

One install, whole suite:

cd ComfyUI/custom_nodes
git clone https://github.com/SirWillance/FoW_Suite_LIGHT

Restart ComfyUI, nodes appear under "🧿 FoW - Light". ComfyUI Manager has it too - search "Force of Will Suite Light". No dependencies, no model downloads.

Where people get burned

The three-box structure is a feature, not a rule - nothing enforces that "lighting" goes in the lighting box. People dump everything into environment_setting and leave the others empty, which defeats the point. The separation matters because the FoW pipeline weights each category independently later: if you want to boost lighting without boosting "rainy alley," it has to be in its own box. Also keep each box to one idea-sentence. Three stuffed paragraphs don't encode better than three clean lines - CLIP's token budget is real on SDXL-lineage models, and the KB's prompt essay is blunt that structure beats volume on the models where this pack's weighting actually works.

Category🧿 FoW - Light/📇 The 9 Categories/👍 Positive

Inputs (4)

NameTypeDefaultDescription
clipCLIP
environment_settingoptSTRING
environment_structure_propsoptSTRING
environment_elements_lightingoptSTRING

Outputs (2)

NameTypeDescription
Environment ConditioningCONDITIONING
Environment PromptSTRING