diff --git a/CHANGELOG.md b/CHANGELOG.md index 4c75e6ac..87cdd760 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,7 +5,7 @@ What is new in each version, in plain words. Newest first. ## [Unreleased] - **Noise merging is now called Step merging**, because most of its modes merge the model's answers at a step, not noise. Settings are kept. -- **Alternative prompts** (Settings > general): write `[dance|zoom]` in a prompt, or `DANCE|ZOOM` between two shortcuts, for two options, A and B. "Main prompt reads" sets what the prompt says by default: "A while B" (default), "A B", only A or only B. Switch on "Read A and B separately" (off by default) to also assign steps: "Steps that read only A" and "Steps that read only B" give each step you name its own option, with no extra model pass. A `|` next to anything that is not a shortcut is left as typed. Two options per bracket. +- **Alternating prompts** (Settings > general): write `[dance|zoom]` in a prompt, or `DANCE|ZOOM` between two shortcuts, for two options, A and B. "Main prompt reads" sets what the prompt says by default: "A while B" (default), "A B", only A or only B. Switch on "Read A and B separately" (off by default) to also assign steps: "Steps that read only A" and "Steps that read only B" give each step you name its own option, with no extra model pass. A `|` next to anything that is not a shortcut is left as typed. Two options per bracket. - **Simultaneous actions** (Step merging, needs "Read A and B separately"): with `[A|B]` in the prompt, each merged step is answered once on A and once on B from the same picture, and the two answers are mixed at your strength. "Second pass new noise" sets how much of the noise B starts from is new (0 keeps the same noise for both). Strength 0 reads only A, and strength 1 with new noise 1 reads only B, each with a single pass. Steps named in Step merging win over the per-step lists. Costs one extra model pass per merged step. - **Removed: timed phrases `[phrase@2-4]`, and `[a|b]` as a blend of two prompts.** `[a|b]` now means two actions at once (above). `(word:1.5)` weights work as before. - **Reference sheet** (Assets panel, "Reference sheet..."): pick rows and columns, a picture and a label for each slot, and a title. You get one white sheet with the pictures in a grid, each labelled below and the title in the top left corner, saved to the media bin as a picture. Pictures come from the bin or an upload; each is cropped from the middle to the slot's shape. diff --git a/modules/conditioning/prompt_alternatives/__init__.py b/modules/conditioning/prompt_alternatives/__init__.py index 39d8028a..233effa1 100644 --- a/modules/conditioning/prompt_alternatives/__init__.py +++ b/modules/conditioning/prompt_alternatives/__init__.py @@ -1,4 +1,4 @@ -"""Alternative prompts: what an `[A|B]` in the prompt (or `A|B` between two shortcuts) means for the run. +"""Alternating prompts: what an `[A|B]` in the prompt (or `A|B` between two shortcuts) means for the run. `[A|B]` gives the run two prompts, A and B, each holding only its own option. Three things use them: @@ -17,7 +17,7 @@ from comfy.patcher_extension import WrappersMP from ..._core import dit_hooks, log, streams ID = "prompt_alternatives" -TITLE = "Alternative prompts" +TITLE = "Alternating prompts" MOUNT = "settings.general" STAGE = "conditioning" CATEGORY = "conditioning" @@ -58,7 +58,7 @@ SETTINGS = { def _say(message, level=log.ALERT): - log.once(f"{ID}:{message}", level, "FunUI Alternative prompts", message) + log.once(f"{ID}:{message}", level, "FunUI Alternating prompts", message) def install(patcher, values, key): diff --git a/modules/conditioning/prompt_markup/nodes.py b/modules/conditioning/prompt_markup/nodes.py index b5f1208f..37318020 100644 --- a/modules/conditioning/prompt_markup/nodes.py +++ b/modules/conditioning/prompt_markup/nodes.py @@ -27,7 +27,7 @@ def _say(message): def _alternatives(settings): - """-> (how the main prompt reads an [A|B], whether A and B are also read separately), from Alternative prompts.""" + """-> (how the main prompt reads an [A|B], whether A and B are also read separately), from Alternating prompts.""" spec = registry_mod.current().specs.get("prompt_alternatives") if spec is None or control_mod.all_off(settings): return "while", False diff --git a/modules/sampling/noise_merge/__init__.py b/modules/sampling/noise_merge/__init__.py index 9673146b..6ee1f58e 100644 --- a/modules/sampling/noise_merge/__init__.py +++ b/modules/sampling/noise_merge/__init__.py @@ -15,7 +15,7 @@ seed (and so is the sound, when the model has it). The two are then mixed: later input is its own last answer re-noised, the way a few-step sampler chains its steps. At the named steps its answer is blended into yours the same way. It costs one extra pass at every step up to the last one named. -"Simultaneous actions": with `[A|B]` in the prompt (or `A|B` between two shortcuts) and Alternative prompts > +"Simultaneous actions": with `[A|B]` in the prompt (or `A|B` between two shortcuts) and Alternating prompts > "Read A and B separately" on, the named steps are answered once for each option -- the same picture and noise, a prompt that holds only that option -- and the answers are merged the same way, instead of the second-seed pass. The prompt outside those steps holds both ("A while B").