👺 FoW - Definition Category Light
Catalog-tick your way to better anatomy
- clip
- Definition Conditioning
- Definition Text
The anti-"bad anatomy" menu
FoW - Definition Category Light (the "Definition Villain") is where the drawing-quality negatives live. Instead of typing bad anatomy, deformed, plastic skin from muscle memory, you open a catalog and tick the problems you're actually seeing: Anatomy & Body Proportions, Body Shape & Form, Rendering & Style, Feature Definition, Drawing Quality. The node encodes your picks into negative conditioning.
It ships in SirWillance's FoW_Suite_LIGHT, the free Light tier of the "Force of Will" suite - a self-taught dev's two-month first project, MIT-licensed, aimed squarely at beginners. The catalog is small and, honestly, pretty well thought out: each token carries a tooltip telling you what it fixes ("Corrects general anatomical inaccuracies", "Unfocus detail of surface" for blurry textures). Paid tiers promise a bigger catalog; Light keeps the hits.
How it works
Identical backend to every agent/villain node:
tokens = clip.tokenize(user_input)
cond = clip.encode_from_tokens_scheduled(tokens)
return (cond, user_input)
The frontend hides the text widget and shows an "Open Definition Catalogue" button. Tick tokens in the grouped modal, they get written into user_input, and CLIP encodes them. Your selections are stored on the node, so you set the catalog once per workflow and it sticks.
The inputs that matter
- clip (CLIP) - the text encoder from your checkpoint.
- user_input (STRING, multiline) - hidden; filled by the modal.
- default_catalogue (STRING) - hidden; the embedded catalog JSON.
Outputs are Definition Conditioning (CONDITIONING) and Definition Text (STRING). The conditioning feeds a negative Fusion node or a KSampler.
Installing it
The suite is one install:
cd ComfyUI/custom_nodes
git clone https://github.com/SirWillance/FoW_Suite_LIGHT
Restart ComfyUI, nodes appear under "🧿 FoW - Light". ComfyUI Manager also has it - search "Force of Will Suite Light". No dependencies, no model downloads.
Where people get burned
Definition negatives are the ones people most often over-stack, and over-stacking has a real cost: pile bad anatomy, deformed, distorted forms, merged features, poorly drawn, sketchy in at once and the model can start draining life out of otherwise-good images - the output gets cleaner and blander at the same time. Tick the two or three defects you actually see in a given run, not the whole catalog. And the standing rule applies hard here: this is a negative prompt, so it only has teeth when CFG is above 1. On distilled/turbo models at CFG 1 the whole Definition catalog is a no-op, which surprises people constantly because the menu makes it feel like a filter. It isn't - nothing is being removed from the model, the sampler is just being steered.
Inputs (3)
| Name | Type | Default | Description |
|---|---|---|---|
| clip | CLIP | CLIP model for encoding | |
| user_input | STRING | — | |
| default_catalogue | STRING | {"catalogue": {"FoW - Definition": [{"id": "definition_anatomy_001", "category": "Definition Anatomy", "name": "Anatomy & Body Proportions", "notes": "Tokens to correct anatomical inaccuracies and body proportion issues.", "tokens": [{"value": "bad anatomy", "enabled": true, "tooltip": "Corrects general anatomical inaccuracies."}, {"value": "deformed", "enabled": true, "tooltip": "Corrects deformities in the body."}]}, {"id": "definition_body_001", "category": "Definition Body", "name": "Body Shape & Form", "notes": "Tokens to address issues with body shape, form, and distortions.", "tokens": [{"value": "shape distortion", "enabled": true, "tooltip": "Fixes any general distortion of the body shape."}, {"value": "distorted forms", "enabled": true, "tooltip": "Corrects any warping or unusual shaping of body parts."}]}, {"id": "definition_rendering_001", "category": "Definition Rendering", "name": "Rendering & Style Issues", "notes": "Tokens to correct rendering artifacts and stylistic inconsistencies.", "tokens": [{"value": "plastic skin", "enabled": true, "tooltip": "Adds a more skin alike look to the generated result."}, {"value": "blurry textures", "enabled": true, "tooltip": "Unfocus detail of surface"}]}, {"id": "definition_features_001", "category": "Definition Features", "name": "Feature Definition", "notes": "Tokens to control the definition and separation of features.", "tokens": [{"value": "merged features", "enabled": true, "tooltip": "Distinguishes part from another"}, {"value": "undefined features", "enabled": true, "tooltip": "Make general things more clear."}]}, {"id": "definition_drawing_001", "category": "Definition Drawing", "name": "Drawing Quality", "notes": "Tokens to improve the overall drawing quality and address common drawing errors.", "tokens": [{"value": "poorly drawn", "enabled": true, "tooltip": "Redraw most part with more care"}, {"value": "sketchy", "enabled": true, "tooltip": "Add detail to make a final version"}]}]}} | — |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| Definition Conditioning | CONDITIONING | — |
| Definition Text | STRING | — |