Random nodes for ComfyUI I made to solve my struggle with ComfyUI. Have varying quality.
More Docs (can be shown directly in the UI if rgthree is installed).
Piping:
Highway
: yet another implementation but overkill version of pipe and reroute.HighwayBatch
: batching version ofHighway
.Junction
: over-the-head data packing and unpacking sequentially.JunctionBatch
: ifJunction
and ComfyUI batching have a kid.Merge
: pipe and batch merging.
Misc:
BoxRange
: visualization of boxes. usefull for anything that requires boxes (which isx
,y
,width
,height
).Currently onlyConditioningSetAreaPercentage
and anything that havepercentage size
and have exactx,y,width,height
input name are supported. More will come in the future.- Reworked to now output generic int and float data based on the regex provided.
- Double click on each corner and discover what each will do.
Beautify
: the beautification of data for easy troubleshooting.Stringify
: anything to string, optionally together.RandomInt
: different from other implementation such that it generate number server side to works withLoop
.Hub
: widget management to the max.- Image display does not work for now, alongside with other 3rd party custom. But it should generally stable.
CastReroute
: basically likeReroute
but have ability to specify custom type. Useful when dealing withHighway
,Junction
and such.Cloud
: Prompt/Data/etc management made "easy".Tag
: Data tagging mechanism.
Control Flow:
Loop
: very hacky recursive repetition by messing with ComfyUI internals.Hold
: hold data between each loop execution.Count
: simple counter to use withLoop
.Switch
: allows input/output switching. Will not evaluate unused inputs.
"Execute anything" node:
ScriptNode
ScriptRule
Script
Added Tag node to allow better data management. Demo workflow:
Added Cloud and Switch node (still techincally in beta but whatever). Also added 0246.AlternateDOMWidget
option.
Demo workflow are below:
Tons more nodes. Here's the simple workflow image that showcase everything within this update.
For any nodes related to Script
, *_order
widget will determine script execution order, which depends on natsort. How it being sorted can be customized by doing things like INT, LOCALE
within the _sort_mode
widget.
Warning: The recent changes I have changed how Highway and Junction tracking types. Therefore the best way to mitigrate this is to just copy the _query
or _offset
, create a new Highway or Junction, paste the string then reconnect everything over. I've probably find a way to automate this.
I recommended you to play around with this sample workflow (edit 2024-01-20: kind of obsolete but should still works with some manual fixes):
- Tutorial for various nodes.
- More testing.