π CR Float Range List
Sweep denoise/CFG values or build an animation curve
- FLOAT
- show_help
The float cousin of CR Integer Range List, with a twist worth caring about. CR Float Range List generates a list of decimals - start, end, step - but it can also run each value through a trig function on the way out. That makes it two tools in one: a plain parameter sweeper for things like CFG, denoise, and LoRA weight, and a curve generator for animation schedules where you want smooth oscillation instead of a linear ramp.
For the everyday case, it's simple: sweep denoise from 0.3 to 0.7 to find where your img2img holds detail, or walk CFG across a range to see where a checkpoint stops looking baked. Because the output is a list, ComfyUI runs the graph once per value automatically - you queue once and get the whole spread.
How it works
It builds the sequence from start to end by step, rounds each value to decimal_places, and optionally applies operation - sin, cos, or tan - to every value. That trig option is the interesting bit: a sine curve gives you a value that eases up and back down, which is what you want for a smooth animated parameter (think a weight that breathes in and out over frames) rather than a straight line. ping_pong walks the range up then back down; loops repeats the whole thing; max_values_per_loop caps how many values a single loop emits so a tiny step doesn't explode into thousands. ignore_first_value (on by default) drops the leading value, which is handy when your start point is a throwaway.
The inputs and outputs that matter
start/end/step- the range and increment. Small steps = long lists.operation(none / sin / cos / tan) - leave atnonefor a plain sweep; use sin/cos for animation curves.decimal_places- rounding. 2 is plenty for most weights.ping_pong(boolean) - bounce back down for oscillating sweeps.loopsandmax_values_per_loop- repeat count and a safety cap on list length.ignore_first_value(boolean) - skip the first value.
Outputs:
FLOAT- the list of floats; wire into any float input (denoise, CFG, weight) and it fans out.show_help- wiki link, ignore.
How to install it
Comfyroll Studio (Suzie1 and RockOfFire), a mature utility pack - no models, no heavy dependencies.
- ComfyUI Manager - search Comfyroll Studio, install, restart.
- Manual -
cd ComfyUI/custom_nodes && git clone https://github.com/Suzie1/ComfyUI_Comfyroll_CustomNodes.git, then restart.
Also on CivitAI.
Common issues
Watch the list length. A step of 0.01 over a range of 0 to 10 is a thousand values, and every one triggers a full run - max_values_per_loop exists precisely to stop that, so lean on it. The other subtlety is the trig option: when operation is sin/cos/tan, the output values are the result of that function, not your raw range, so don't be surprised when a 0β1 range comes out as numbers between -1 and 1. That's the feature, not a glitch - just know it's happening.
If the node's missing entirely, that's the pack-wide load failure: Comfyroll Studio: Failed to load ... and NameError: name 'CR_HalftoneGrid' is not defined. The NameError is a symptom of a real import error (usually an incompatible Pillow version from another node) that can down the whole pack. Reinstall Pillow (pip install --upgrade --force-reinstall pillow) and restart.
Inputs (9)
| Name | Type | Default | Description |
|---|---|---|---|
| start | FLOAT | 0.00-99999.99β99999.99 | β |
| end | FLOAT | 1.00-99999.99β99999.99 | β |
| step | FLOAT | 1.00-99999.99β99999.99 | β |
| operation | COMBO | 4 options: none, sin, cos, tan | |
| decimal_places | INT | 20β10 | β |
| ignore_first_value | BOOLEAN | true | β |
| max_values_per_loop | INT | 1281β99999 | β |
| loops | INT | 11β999 | β |
| ping_pong | BOOLEAN | false | β |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| FLOAT | FLOAT | β |
| show_help | STRING | β |