A Float wired to a sampler's denoise could be set above 1, where ComfyUI's own Primitive node stops at 1. Both number boxes now follow their output to every input it reaches, through Reroutes and into subgraphs, and keep to the range all of those inputs allow: by typing, by the arrows and by a drag. A value that is outside when the wire is made comes to the nearest limit, the card shows the limits beside the value (0–1), and an unwired box takes any number as before. No input was added, so saved workflows and API requests are unchanged. With it: - A new box takes the value of the first input it is wired to, as the Primitive does. A box that came with a workflow or a paste, or one that was already set, keeps its own value. - Float shows the decimals its steps reach (1.00 wired to denoise, 8.0 wired to CFG) and goes past them only for a value that uses more. It read 1.000 everywhere before. - Integer's own limit goes from 2,147,483,647 to 9,007,199,254,740,991, the largest whole number a browser holds exactly, so a seed fits. The walk over the graph is js/shared/wired_limits.mjs; the scrub control gains setRange and a way to drop the zeroes its steps never reach. Help pages, tests and the CHANGELOG entries are included.
1.8 KiB
1.8 KiB
Float
A number with decimals. Set one strength, scale, or CFG here, wire it to every node that needs it, and change it in one place.
Controls
- Value (
value): The number to send out. It starts at0. The box shows the decimals its steps use (0.00) and holds up to three, so a typed0.125stays0.125.
Limits
Wire the output to a setting that has limits and the box takes them over. Wired to a sampler's denoise, it goes from 0 to 1 and no further: type 1.5 and you get 1. The card shows 0–1 beside the value.
- It works through a Reroute and into a box (subgraph) too.
- Wired to two settings, it keeps to what both allow.
- Unwire it and it takes any number again.
- A new box takes the value of the first setting you wire it to, so wiring it up changes nothing until you move it. A box you have already set, or one that came with a workflow, keeps its own value.
Output
- float: The value, unchanged.
For arithmetic on the way — scaling, clamping with min/max — feed this
into Math Expression 🆎 instead of retyping derived numbers.
Technical details
- The limits are those of the input the wire lands on, the way ComfyUI's own Primitive node takes them. When the inputs agree on a step, the fine step (Shift) is that step.
- A value that is outside the limits when the wire is made is brought to the nearest one.
- The box holds three decimals, or as many as the step it took over needs.
It shows the decimals its arrow step reaches (at least one) and goes past
them only for a value that uses more:
1.00wired to denoise,8.0wired to CFG,0.855for a typed 0.855. - The limits are kept by the node's face. A value sent straight through the API is passed on as it is.
- Wired only to inputs that share no value (one stops at 1, the other starts at 2), the box keeps no limits.