README changes

This commit is contained in:
rgthree
2023-09-15 23:58:12 -04:00
parent 5bba13e43c
commit 332c5e795f
+37 -9
View File
@@ -6,7 +6,7 @@ A collection of nodes I've created while messing around with Stable Diffusion. I
# Install
1. Install [ComfyUi](https://github.com/comfyanonymous/ComfyUI).
1. Install the great [ComfyUi](https://github.com/comfyanonymous/ComfyUI).
2. Clone this repo into `custom_modules`:
```
cd ComfyUI/custom_nodes
@@ -14,7 +14,9 @@ A collection of nodes I've created while messing around with Stable Diffusion. I
```
3. Start up ComfyUI.
## 🐛 Graph Linking Issues
If your workflows sometimes have missing connections, or even errors on load, start up ComfyUI and go to http://127.0.0.1:8188/extensions/rgthree-comfy/html/links.html which will allow you to drop in an image or workflow json file and check for and fix any bad links.
# The Nodes
@@ -39,22 +41,28 @@ A collection of nodes I've created while messing around with Stable Diffusion. I
> <summary>ℹ️ <i>More Information</i></summary>
>
> - Use the right-click context menu to change the width, height and connection layout
> - Also toggle resizability (min size is 40x43 if resizing though), and title/type display.
>
> ![Router Node](./docs/rgthree_router.png)
> </details>
## Context
## Context / Context Big
> Pass along in general flow properties, and merge in new data. Similar to some other node suites "pipes" but easier merging, is more easily interoperable with standard nodes by both combining and exploding all in a single node.
> <details>
> <summary>ℹ️ <i>More Information</i></summary>
>
> - Context and Context Big are backwards compatible with each other. That is, an input connected to a Context Big will be passed through the CONTEXT outputs through normal Context nodes and available as an output on either (or, Context Big if the output is only on that node, like "steps").
> - Pro Tip: When dragging a Context output over a nother node, hold down "ctrl" and release to automatically connect the other Context outputs to the hovered node.
> - Pro Tip: You can change between Context and Context Big nodes from the menu.
>
> ![Context Node](./docs/rgthree_context.png)
> </details>
## Display Int
> Nothing special, an 'output node' that displays an int _after execution_.
## Display Any
> Displays most any piece of text data from the backend _after execution_.
## Lora Loader Stack
@@ -73,11 +81,20 @@ A collection of nodes I've created while messing around with Stable Diffusion. I
> </details>
## Power Prompt (Simple)
## Power Prompt - Simple
> Same as Power Prompt above, but without LORA support; made for a slightly cleaner negative prompt _(since negative prompts do not support loras)_.
## Context Switch
## SDXL Power Prompt - Positive
> The SDXL sibling to the Power Prompt above. It contains the text_g and text_l as separate text inputs, as well a couple more input slots necessary to ensure proper clipe encoding. Combine with
## SDXL Power Prompt - Simple
> Like the non-SDXL `Power Prompt - Simple` node, this one is essentially the same as the SDXL Power Prompt but without lora support for either non-lora positive prompts or SDXL negative prompts _(since negative prompts do not support loras)_.
## SDXL Config
> Just some configuration fields for SDXL prompting. Honestly, could be used for non SDXL too.
## Context Switch / Context Switch Big
> A powerful node to branch your workflow. Works by choosing the first Context input that is not null/empty.
> <details>
> <summary>ℹ️ <i>More Information</i></summary>
@@ -92,6 +109,7 @@ A collection of nodes I've created while messing around with Stable Diffusion. I
> A powerful 'control panel' node to quickly toggle connected node allowing it to quickly be muted or enabled
> <details>
> <summary>ℹ️ <i>More Information</i></summary>
>
> - Add a collection of all connected nodes allowing a single-spot as a "dashboard" to quickly enable and disable nodes. Two distinct nodes; one for "Muting" connected nodes, and one for "Bypassing" connected nodes.
> </details>
@@ -99,6 +117,16 @@ A collection of nodes I've created while messing around with Stable Diffusion. I
## Fast Bypasser
> Same as Fast Muter but sets the connected nodes to "Bypass"
## Fast Actions Button
> Oh boy, this node allows you to semi-automate connected nodes and/ror ConfyUI.
> <details>
> <summary>ℹ️ <i>More Information</i></summary>
>
> - Connect nodes and, at the least, mute, bypass or enable them when the button is pressed.
> - Certain nodes expose additional actions. For instance, the `Seed` node you can set `Randomize Each Time` or `Use Last Queued Seed` when the button is pressed.
> - Also, from the node properties, set a shortcut key to toggle the button actions, without needing a click!
> </details>
## Node Collector
> Used to cleanup noodles, this will accept any number of input nodes and passes it along to another node.
@@ -107,7 +135,7 @@ A collection of nodes I've created while messing around with Stable Diffusion. I
## Mute / Bypass Repeater
> A powerful node that will dispatch it's Mute/Bypass/Active mode to all connected input nodes.
> A powerful node that will dispatch its Mute/Bypass/Active mode to all connected input nodes or, if in a group w/o any connected inputs, will dispatch its Mute/Bypass/Active mode to all nodes in that group.
> <details>
> <summary>ℹ️ <i>More Information</i></summary>
>
@@ -133,11 +161,11 @@ A collection of nodes I've created while messing around with Stable Diffusion. I
A lot of the power of these nodes comes from *Muting*. Muting is the basis of correctly implementing multiple paths for a workflow utlizing the Context Switch node.
While other extensions may provide switches, they often get it wrong causing your workflow to do extra work than is needed. While these switches may have a selector to choose which input to pass along, they don't stop execution of the other inputs, which will be wasted. Instead, Context Switch works by choosing the first non-empty context to pass along. Muting is one way to make a previous node empty, and causes no extra work to be done when set up correctly.
While other extensions may provide switches, they often get it wrong causing your workflow to do more work than is needed. While other switches may have a selector to choose which input to pass along, they don't stop the execution of the other inputs, which will result in wasted work. Instead, Context Switch works by choosing the first non-empty context to pass along and correctly Muting is one way to make a previous node empty, and causes no extra work to be done when set up correctly.
### To understand muting, is to understand the graph flow
Muting, and therefore using Switches, can often confuse people at first because it _feels_ muting a node, or using a switch, should be able to stop or direct the _forward_ flow of the graph. However, this is not the case and, in fact, the graph actually starts working backwards.
Muting, and therefore using Switches, can often confuse people at first because it _feels_ like muting a node, or using a switch, should be able to stop or direct the _forward_ flow of the graph. However, this is not the case and, in fact, the graph actually starts working backwards.
If you have a workflow that has a path like `... > Context > KSampler > VAE Decode > Save Image` it may initially _feel_ like you should be able to mute that first Context node and the graph would stop there when moving forward and skip the rest of that workflow.