From 40e6dd8464a39f9b312c565b3615d78055f128ae Mon Sep 17 00:00:00 2001
From: psychedelicious <4822129+psychedelicious@users.noreply.github.com>
Date: Thu, 24 Aug 2023 12:22:17 +1000
Subject: [PATCH] feat(ui): use seed + 1 for second inpaint/outpaint pass
---
invokeai/frontend/web/public/locales/en.json | 6 +-
.../util/graphBuilders/addLoRAsToGraph.ts | 4 +-
.../util/graphBuilders/addSDXLLoRAstoGraph.ts | 4 +-
.../graphBuilders/buildCanvasInpaintGraph.ts | 52 ++++++++---------
.../graphBuilders/buildCanvasOutpaintGraph.ts | 54 +++++++++---------
.../buildCanvasSDXLInpaintGraph.ts | 54 +++++++++---------
.../buildCanvasSDXLOutpaintGraph.ts | 56 ++++++++++---------
.../nodes/util/graphBuilders/constants.ts | 8 ++-
.../ParamCanvasCoherencePassCollapse.tsx | 21 +++++++
...teps.tsx => ParamCanvasCoherenceSteps.tsx} | 18 +++---
...h.tsx => ParamCanvasCoherenceStrength.tsx} | 18 +++---
.../ParamCanvasRefinePassCollapse.tsx | 21 -------
.../parameters/store/generationSlice.ts | 20 +++----
.../SDXLUnifiedCanvasTabParameters.tsx | 4 +-
.../UnifiedCanvas/UnifiedCanvasParameters.tsx | 4 +-
15 files changed, 177 insertions(+), 167 deletions(-)
create mode 100644 invokeai/frontend/web/src/features/parameters/components/Parameters/Canvas/SeamPainting/ParamCanvasCoherencePassCollapse.tsx
rename invokeai/frontend/web/src/features/parameters/components/Parameters/Canvas/SeamPainting/{ParamCanvasRefineSteps.tsx => ParamCanvasCoherenceSteps.tsx} (56%)
rename invokeai/frontend/web/src/features/parameters/components/Parameters/Canvas/SeamPainting/{ParamCanvasRefineStrength.tsx => ParamCanvasCoherenceStrength.tsx} (54%)
delete mode 100644 invokeai/frontend/web/src/features/parameters/components/Parameters/Canvas/SeamPainting/ParamCanvasRefinePassCollapse.tsx
diff --git a/invokeai/frontend/web/public/locales/en.json b/invokeai/frontend/web/public/locales/en.json
index 0bddc07bac..e39f438146 100644
--- a/invokeai/frontend/web/public/locales/en.json
+++ b/invokeai/frontend/web/public/locales/en.json
@@ -509,9 +509,9 @@
"maskAdjustmentsHeader": "Mask Adjustments",
"maskBlur": "Mask Blur",
"maskBlurMethod": "Mask Blur Method",
- "refinePassHeader": "Refine Pass",
- "refineSteps": "Refine Steps",
- "refineStrength": "Refine Strength",
+ "coherencePassHeader": "Coherence Pass",
+ "coherenceSteps": "Coherence Pass Steps",
+ "coherenceStrength": "Coherence Pass Strength",
"seamLowThreshold": "Low",
"seamHighThreshold": "High",
"scaleBeforeProcessing": "Scale Before Processing",
diff --git a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/addLoRAsToGraph.ts b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/addLoRAsToGraph.ts
index 602af2242e..e199a78a20 100644
--- a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/addLoRAsToGraph.ts
+++ b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/addLoRAsToGraph.ts
@@ -8,7 +8,7 @@ import {
import {
CANVAS_INPAINT_GRAPH,
CANVAS_OUTPAINT_GRAPH,
- CANVAS_REFINE_DENOISE_LATENTS,
+ CANVAS_COHERENCE_DENOISE_LATENTS,
CLIP_SKIP,
LORA_LOADER,
MAIN_MODEL_LOADER,
@@ -149,7 +149,7 @@ export const addLoRAsToGraph = (
field: 'unet',
},
destination: {
- node_id: CANVAS_REFINE_DENOISE_LATENTS,
+ node_id: CANVAS_COHERENCE_DENOISE_LATENTS,
field: 'unet',
},
});
diff --git a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/addSDXLLoRAstoGraph.ts b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/addSDXLLoRAstoGraph.ts
index 56423bd031..a52264ca8e 100644
--- a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/addSDXLLoRAstoGraph.ts
+++ b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/addSDXLLoRAstoGraph.ts
@@ -6,7 +6,7 @@ import {
SDXLLoraLoaderInvocation,
} from 'services/api/types';
import {
- CANVAS_REFINE_DENOISE_LATENTS,
+ CANVAS_COHERENCE_DENOISE_LATENTS,
LORA_LOADER,
METADATA_ACCUMULATOR,
NEGATIVE_CONDITIONING,
@@ -178,7 +178,7 @@ export const addSDXLLoRAsToGraph = (
field: 'unet',
},
destination: {
- node_id: CANVAS_REFINE_DENOISE_LATENTS,
+ node_id: CANVAS_COHERENCE_DENOISE_LATENTS,
field: 'unet',
},
});
diff --git a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasInpaintGraph.ts b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasInpaintGraph.ts
index 330052a5a6..4b017340cb 100644
--- a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasInpaintGraph.ts
+++ b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasInpaintGraph.ts
@@ -17,9 +17,9 @@ import { addWatermarkerToGraph } from './addWatermarkerToGraph';
import {
CANVAS_INPAINT_GRAPH,
CANVAS_OUTPUT,
- CANVAS_REFINE_DENOISE_LATENTS,
- CANVAS_REFINE_NOISE,
- CANVAS_REFINE_NOISE_INCREMENT,
+ CANVAS_COHERENCE_DENOISE_LATENTS,
+ CANVAS_COHERENCE_NOISE,
+ CANVAS_COHERENCE_NOISE_INCREMENT,
CLIP_SKIP,
DENOISE_LATENTS,
INPAINT_IMAGE,
@@ -63,8 +63,8 @@ export const buildCanvasInpaintGraph = (
shouldUseCpuNoise,
maskBlur,
maskBlurMethod,
- canvasRefineSteps,
- canvasRefineStrength,
+ canvasCoherenceSteps,
+ canvasCoherenceStrength,
clipSkip,
} = state.generation;
@@ -143,26 +143,26 @@ export const buildCanvasInpaintGraph = (
denoising_start: 1 - strength,
denoising_end: 1,
},
- [CANVAS_REFINE_NOISE]: {
+ [CANVAS_COHERENCE_NOISE]: {
type: 'noise',
id: NOISE,
use_cpu,
is_intermediate: true,
},
- [CANVAS_REFINE_NOISE_INCREMENT]: {
+ [CANVAS_COHERENCE_NOISE_INCREMENT]: {
type: 'add',
- id: CANVAS_REFINE_NOISE_INCREMENT,
+ id: CANVAS_COHERENCE_NOISE_INCREMENT,
b: 1,
is_intermediate: true,
},
- [CANVAS_REFINE_DENOISE_LATENTS]: {
+ [CANVAS_COHERENCE_DENOISE_LATENTS]: {
type: 'denoise_latents',
id: DENOISE_LATENTS,
is_intermediate: true,
- steps: canvasRefineSteps,
+ steps: canvasCoherenceSteps,
cfg_scale: cfg_scale,
scheduler: scheduler,
- denoising_start: 1 - canvasRefineStrength,
+ denoising_start: 1 - canvasCoherenceStrength,
denoising_end: 1,
},
[LATENTS_TO_IMAGE]: {
@@ -314,17 +314,17 @@ export const buildCanvasInpaintGraph = (
field: 'item',
},
destination: {
- node_id: CANVAS_REFINE_NOISE_INCREMENT,
+ node_id: CANVAS_COHERENCE_NOISE_INCREMENT,
field: 'a',
},
},
{
source: {
- node_id: CANVAS_REFINE_NOISE_INCREMENT,
+ node_id: CANVAS_COHERENCE_NOISE_INCREMENT,
field: 'value',
},
destination: {
- node_id: CANVAS_REFINE_NOISE,
+ node_id: CANVAS_COHERENCE_NOISE,
field: 'seed',
},
},
@@ -334,7 +334,7 @@ export const buildCanvasInpaintGraph = (
field: 'unet',
},
destination: {
- node_id: CANVAS_REFINE_DENOISE_LATENTS,
+ node_id: CANVAS_COHERENCE_DENOISE_LATENTS,
field: 'unet',
},
},
@@ -344,7 +344,7 @@ export const buildCanvasInpaintGraph = (
field: 'conditioning',
},
destination: {
- node_id: CANVAS_REFINE_DENOISE_LATENTS,
+ node_id: CANVAS_COHERENCE_DENOISE_LATENTS,
field: 'positive_conditioning',
},
},
@@ -354,17 +354,17 @@ export const buildCanvasInpaintGraph = (
field: 'conditioning',
},
destination: {
- node_id: CANVAS_REFINE_DENOISE_LATENTS,
+ node_id: CANVAS_COHERENCE_DENOISE_LATENTS,
field: 'negative_conditioning',
},
},
{
source: {
- node_id: CANVAS_REFINE_NOISE,
+ node_id: CANVAS_COHERENCE_NOISE,
field: 'noise',
},
destination: {
- node_id: CANVAS_REFINE_DENOISE_LATENTS,
+ node_id: CANVAS_COHERENCE_DENOISE_LATENTS,
field: 'noise',
},
},
@@ -374,14 +374,14 @@ export const buildCanvasInpaintGraph = (
field: 'latents',
},
destination: {
- node_id: CANVAS_REFINE_DENOISE_LATENTS,
+ node_id: CANVAS_COHERENCE_DENOISE_LATENTS,
field: 'latents',
},
},
// Decode Inpainted Latents To Image
{
source: {
- node_id: CANVAS_REFINE_DENOISE_LATENTS,
+ node_id: CANVAS_COHERENCE_DENOISE_LATENTS,
field: 'latents',
},
destination: {
@@ -431,8 +431,10 @@ export const buildCanvasInpaintGraph = (
(graph.nodes[NOISE] as NoiseInvocation).width = scaledWidth;
(graph.nodes[NOISE] as NoiseInvocation).height = scaledHeight;
- (graph.nodes[CANVAS_REFINE_NOISE] as NoiseInvocation).width = scaledWidth;
- (graph.nodes[CANVAS_REFINE_NOISE] as NoiseInvocation).height = scaledHeight;
+ (graph.nodes[CANVAS_COHERENCE_NOISE] as NoiseInvocation).width =
+ scaledWidth;
+ (graph.nodes[CANVAS_COHERENCE_NOISE] as NoiseInvocation).height =
+ scaledHeight;
// Connect Nodes
graph.edges.push(
@@ -503,8 +505,8 @@ export const buildCanvasInpaintGraph = (
// Add Images To Nodes
(graph.nodes[NOISE] as NoiseInvocation).width = width;
(graph.nodes[NOISE] as NoiseInvocation).height = height;
- (graph.nodes[CANVAS_REFINE_NOISE] as NoiseInvocation).width = width;
- (graph.nodes[CANVAS_REFINE_NOISE] as NoiseInvocation).height = height;
+ (graph.nodes[CANVAS_COHERENCE_NOISE] as NoiseInvocation).width = width;
+ (graph.nodes[CANVAS_COHERENCE_NOISE] as NoiseInvocation).height = height;
graph.nodes[INPAINT_IMAGE] = {
...(graph.nodes[INPAINT_IMAGE] as ImageToLatentsInvocation),
diff --git a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasOutpaintGraph.ts b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasOutpaintGraph.ts
index 82ddea87b8..9f424d3dcf 100644
--- a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasOutpaintGraph.ts
+++ b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasOutpaintGraph.ts
@@ -19,9 +19,9 @@ import { addWatermarkerToGraph } from './addWatermarkerToGraph';
import {
CANVAS_OUTPAINT_GRAPH,
CANVAS_OUTPUT,
- CANVAS_REFINE_DENOISE_LATENTS,
- CANVAS_REFINE_NOISE,
- CANVAS_REFINE_NOISE_INCREMENT,
+ CANVAS_COHERENCE_DENOISE_LATENTS,
+ CANVAS_COHERENCE_NOISE,
+ CANVAS_COHERENCE_NOISE_INCREMENT,
CLIP_SKIP,
DENOISE_LATENTS,
INPAINT_IMAGE,
@@ -69,8 +69,8 @@ export const buildCanvasOutpaintGraph = (
shouldUseCpuNoise,
maskBlur,
maskBlurMethod,
- canvasRefineSteps,
- canvasRefineStrength,
+ canvasCoherenceSteps,
+ canvasCoherenceStrength,
tileSize,
infillMethod,
clipSkip,
@@ -163,26 +163,26 @@ export const buildCanvasOutpaintGraph = (
denoising_start: 1 - strength,
denoising_end: 1,
},
- [CANVAS_REFINE_NOISE]: {
+ [CANVAS_COHERENCE_NOISE]: {
type: 'noise',
id: NOISE,
use_cpu,
is_intermediate: true,
},
- [CANVAS_REFINE_NOISE_INCREMENT]: {
+ [CANVAS_COHERENCE_NOISE_INCREMENT]: {
type: 'add',
- id: CANVAS_REFINE_NOISE_INCREMENT,
+ id: CANVAS_COHERENCE_NOISE_INCREMENT,
b: 1,
is_intermediate: true,
},
- [CANVAS_REFINE_DENOISE_LATENTS]: {
+ [CANVAS_COHERENCE_DENOISE_LATENTS]: {
type: 'denoise_latents',
- id: CANVAS_REFINE_DENOISE_LATENTS,
+ id: CANVAS_COHERENCE_DENOISE_LATENTS,
is_intermediate: true,
- steps: canvasRefineSteps,
+ steps: canvasCoherenceSteps,
cfg_scale: cfg_scale,
scheduler: scheduler,
- denoising_start: 1 - canvasRefineStrength,
+ denoising_start: 1 - canvasCoherenceStrength,
denoising_end: 1,
},
[LATENTS_TO_IMAGE]: {
@@ -355,17 +355,17 @@ export const buildCanvasOutpaintGraph = (
field: 'item',
},
destination: {
- node_id: CANVAS_REFINE_NOISE_INCREMENT,
+ node_id: CANVAS_COHERENCE_NOISE_INCREMENT,
field: 'a',
},
},
{
source: {
- node_id: CANVAS_REFINE_NOISE_INCREMENT,
+ node_id: CANVAS_COHERENCE_NOISE_INCREMENT,
field: 'value',
},
destination: {
- node_id: CANVAS_REFINE_NOISE,
+ node_id: CANVAS_COHERENCE_NOISE,
field: 'seed',
},
},
@@ -375,7 +375,7 @@ export const buildCanvasOutpaintGraph = (
field: 'unet',
},
destination: {
- node_id: CANVAS_REFINE_DENOISE_LATENTS,
+ node_id: CANVAS_COHERENCE_DENOISE_LATENTS,
field: 'unet',
},
},
@@ -385,7 +385,7 @@ export const buildCanvasOutpaintGraph = (
field: 'conditioning',
},
destination: {
- node_id: CANVAS_REFINE_DENOISE_LATENTS,
+ node_id: CANVAS_COHERENCE_DENOISE_LATENTS,
field: 'positive_conditioning',
},
},
@@ -395,17 +395,17 @@ export const buildCanvasOutpaintGraph = (
field: 'conditioning',
},
destination: {
- node_id: CANVAS_REFINE_DENOISE_LATENTS,
+ node_id: CANVAS_COHERENCE_DENOISE_LATENTS,
field: 'negative_conditioning',
},
},
{
source: {
- node_id: CANVAS_REFINE_NOISE,
+ node_id: CANVAS_COHERENCE_NOISE,
field: 'noise',
},
destination: {
- node_id: CANVAS_REFINE_DENOISE_LATENTS,
+ node_id: CANVAS_COHERENCE_DENOISE_LATENTS,
field: 'noise',
},
},
@@ -415,14 +415,14 @@ export const buildCanvasOutpaintGraph = (
field: 'latents',
},
destination: {
- node_id: CANVAS_REFINE_DENOISE_LATENTS,
+ node_id: CANVAS_COHERENCE_DENOISE_LATENTS,
field: 'latents',
},
},
// Decode the result from Inpaint
{
source: {
- node_id: CANVAS_REFINE_DENOISE_LATENTS,
+ node_id: CANVAS_COHERENCE_DENOISE_LATENTS,
field: 'latents',
},
destination: {
@@ -504,8 +504,10 @@ export const buildCanvasOutpaintGraph = (
(graph.nodes[NOISE] as NoiseInvocation).width = scaledWidth;
(graph.nodes[NOISE] as NoiseInvocation).height = scaledHeight;
- (graph.nodes[CANVAS_REFINE_NOISE] as NoiseInvocation).width = scaledWidth;
- (graph.nodes[CANVAS_REFINE_NOISE] as NoiseInvocation).height = scaledHeight;
+ (graph.nodes[CANVAS_COHERENCE_NOISE] as NoiseInvocation).width =
+ scaledWidth;
+ (graph.nodes[CANVAS_COHERENCE_NOISE] as NoiseInvocation).height =
+ scaledHeight;
// Connect Nodes
graph.edges.push(
@@ -615,8 +617,8 @@ export const buildCanvasOutpaintGraph = (
(graph.nodes[NOISE] as NoiseInvocation).width = width;
(graph.nodes[NOISE] as NoiseInvocation).height = height;
- (graph.nodes[CANVAS_REFINE_NOISE] as NoiseInvocation).width = width;
- (graph.nodes[CANVAS_REFINE_NOISE] as NoiseInvocation).height = height;
+ (graph.nodes[CANVAS_COHERENCE_NOISE] as NoiseInvocation).width = width;
+ (graph.nodes[CANVAS_COHERENCE_NOISE] as NoiseInvocation).height = height;
graph.nodes[INPAINT_IMAGE] = {
...(graph.nodes[INPAINT_IMAGE] as ImageToLatentsInvocation),
diff --git a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasSDXLInpaintGraph.ts b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasSDXLInpaintGraph.ts
index 76136dc681..f60c710c64 100644
--- a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasSDXLInpaintGraph.ts
+++ b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasSDXLInpaintGraph.ts
@@ -17,9 +17,9 @@ import { addVAEToGraph } from './addVAEToGraph';
import { addWatermarkerToGraph } from './addWatermarkerToGraph';
import {
CANVAS_OUTPUT,
- CANVAS_REFINE_DENOISE_LATENTS,
- CANVAS_REFINE_NOISE,
- CANVAS_REFINE_NOISE_INCREMENT,
+ CANVAS_COHERENCE_DENOISE_LATENTS,
+ CANVAS_COHERENCE_NOISE,
+ CANVAS_COHERENCE_NOISE_INCREMENT,
INPAINT_IMAGE,
INPAINT_IMAGE_RESIZE_DOWN,
INPAINT_IMAGE_RESIZE_UP,
@@ -63,8 +63,8 @@ export const buildCanvasSDXLInpaintGraph = (
shouldUseCpuNoise,
maskBlur,
maskBlurMethod,
- canvasRefineSteps,
- canvasRefineStrength,
+ canvasCoherenceSteps,
+ canvasCoherenceStrength,
} = state.generation;
const {
@@ -148,26 +148,26 @@ export const buildCanvasSDXLInpaintGraph = (
: 1 - strength,
denoising_end: shouldUseSDXLRefiner ? refinerStart : 1,
},
- [CANVAS_REFINE_NOISE]: {
+ [CANVAS_COHERENCE_NOISE]: {
type: 'noise',
id: NOISE,
use_cpu,
is_intermediate: true,
},
- [CANVAS_REFINE_NOISE_INCREMENT]: {
+ [CANVAS_COHERENCE_NOISE_INCREMENT]: {
type: 'add',
- id: CANVAS_REFINE_NOISE_INCREMENT,
+ id: CANVAS_COHERENCE_NOISE_INCREMENT,
b: 1,
is_intermediate: true,
},
- [CANVAS_REFINE_DENOISE_LATENTS]: {
+ [CANVAS_COHERENCE_DENOISE_LATENTS]: {
type: 'denoise_latents',
id: SDXL_DENOISE_LATENTS,
is_intermediate: true,
- steps: canvasRefineSteps,
+ steps: canvasCoherenceSteps,
cfg_scale: cfg_scale,
scheduler: scheduler,
- denoising_start: 1 - canvasRefineStrength,
+ denoising_start: 1 - canvasCoherenceStrength,
denoising_end: 1,
},
[LATENTS_TO_IMAGE]: {
@@ -328,17 +328,17 @@ export const buildCanvasSDXLInpaintGraph = (
field: 'item',
},
destination: {
- node_id: CANVAS_REFINE_NOISE_INCREMENT,
+ node_id: CANVAS_COHERENCE_NOISE_INCREMENT,
field: 'a',
},
},
{
source: {
- node_id: CANVAS_REFINE_NOISE_INCREMENT,
+ node_id: CANVAS_COHERENCE_NOISE_INCREMENT,
field: 'value',
},
destination: {
- node_id: CANVAS_REFINE_NOISE,
+ node_id: CANVAS_COHERENCE_NOISE,
field: 'seed',
},
},
@@ -348,7 +348,7 @@ export const buildCanvasSDXLInpaintGraph = (
field: 'unet',
},
destination: {
- node_id: CANVAS_REFINE_DENOISE_LATENTS,
+ node_id: CANVAS_COHERENCE_DENOISE_LATENTS,
field: 'unet',
},
},
@@ -358,7 +358,7 @@ export const buildCanvasSDXLInpaintGraph = (
field: 'conditioning',
},
destination: {
- node_id: CANVAS_REFINE_DENOISE_LATENTS,
+ node_id: CANVAS_COHERENCE_DENOISE_LATENTS,
field: 'positive_conditioning',
},
},
@@ -368,17 +368,17 @@ export const buildCanvasSDXLInpaintGraph = (
field: 'conditioning',
},
destination: {
- node_id: CANVAS_REFINE_DENOISE_LATENTS,
+ node_id: CANVAS_COHERENCE_DENOISE_LATENTS,
field: 'negative_conditioning',
},
},
{
source: {
- node_id: CANVAS_REFINE_NOISE,
+ node_id: CANVAS_COHERENCE_NOISE,
field: 'noise',
},
destination: {
- node_id: CANVAS_REFINE_DENOISE_LATENTS,
+ node_id: CANVAS_COHERENCE_DENOISE_LATENTS,
field: 'noise',
},
},
@@ -388,14 +388,14 @@ export const buildCanvasSDXLInpaintGraph = (
field: 'latents',
},
destination: {
- node_id: CANVAS_REFINE_DENOISE_LATENTS,
+ node_id: CANVAS_COHERENCE_DENOISE_LATENTS,
field: 'latents',
},
},
// Decode Inpainted Latents To Image
{
source: {
- node_id: CANVAS_REFINE_DENOISE_LATENTS,
+ node_id: CANVAS_COHERENCE_DENOISE_LATENTS,
field: 'latents',
},
destination: {
@@ -445,8 +445,10 @@ export const buildCanvasSDXLInpaintGraph = (
(graph.nodes[NOISE] as NoiseInvocation).width = scaledWidth;
(graph.nodes[NOISE] as NoiseInvocation).height = scaledHeight;
- (graph.nodes[CANVAS_REFINE_NOISE] as NoiseInvocation).width = scaledWidth;
- (graph.nodes[CANVAS_REFINE_NOISE] as NoiseInvocation).height = scaledHeight;
+ (graph.nodes[CANVAS_COHERENCE_NOISE] as NoiseInvocation).width =
+ scaledWidth;
+ (graph.nodes[CANVAS_COHERENCE_NOISE] as NoiseInvocation).height =
+ scaledHeight;
// Connect Nodes
graph.edges.push(
@@ -517,8 +519,8 @@ export const buildCanvasSDXLInpaintGraph = (
// Add Images To Nodes
(graph.nodes[NOISE] as NoiseInvocation).width = width;
(graph.nodes[NOISE] as NoiseInvocation).height = height;
- (graph.nodes[CANVAS_REFINE_NOISE] as NoiseInvocation).width = width;
- (graph.nodes[CANVAS_REFINE_NOISE] as NoiseInvocation).height = height;
+ (graph.nodes[CANVAS_COHERENCE_NOISE] as NoiseInvocation).width = width;
+ (graph.nodes[CANVAS_COHERENCE_NOISE] as NoiseInvocation).height = height;
graph.nodes[INPAINT_IMAGE] = {
...(graph.nodes[INPAINT_IMAGE] as ImageToLatentsInvocation),
@@ -576,7 +578,7 @@ export const buildCanvasSDXLInpaintGraph = (
// Add Refiner if enabled
if (shouldUseSDXLRefiner) {
- addSDXLRefinerToGraph(state, graph, CANVAS_REFINE_DENOISE_LATENTS);
+ addSDXLRefinerToGraph(state, graph, CANVAS_COHERENCE_DENOISE_LATENTS);
}
// optionally add custom VAE
diff --git a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasSDXLOutpaintGraph.ts b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasSDXLOutpaintGraph.ts
index dacfb6eb88..7e98c37233 100644
--- a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasSDXLOutpaintGraph.ts
+++ b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasSDXLOutpaintGraph.ts
@@ -19,9 +19,9 @@ import { addVAEToGraph } from './addVAEToGraph';
import { addWatermarkerToGraph } from './addWatermarkerToGraph';
import {
CANVAS_OUTPUT,
- CANVAS_REFINE_DENOISE_LATENTS,
- CANVAS_REFINE_NOISE,
- CANVAS_REFINE_NOISE_INCREMENT,
+ CANVAS_COHERENCE_DENOISE_LATENTS,
+ CANVAS_COHERENCE_NOISE,
+ CANVAS_COHERENCE_NOISE_INCREMENT,
INPAINT_IMAGE,
INPAINT_IMAGE_RESIZE_DOWN,
INPAINT_IMAGE_RESIZE_UP,
@@ -69,8 +69,8 @@ export const buildCanvasSDXLOutpaintGraph = (
shouldUseCpuNoise,
maskBlur,
maskBlurMethod,
- canvasRefineSteps,
- canvasRefineStrength,
+ canvasCoherenceSteps,
+ canvasCoherenceStrength,
tileSize,
infillMethod,
} = state.generation;
@@ -168,26 +168,26 @@ export const buildCanvasSDXLOutpaintGraph = (
: 1 - strength,
denoising_end: shouldUseSDXLRefiner ? refinerStart : 1,
},
- [CANVAS_REFINE_NOISE]: {
+ [CANVAS_COHERENCE_NOISE]: {
type: 'noise',
id: NOISE,
use_cpu,
is_intermediate: true,
},
- [CANVAS_REFINE_NOISE_INCREMENT]: {
+ [CANVAS_COHERENCE_NOISE_INCREMENT]: {
type: 'add',
- id: CANVAS_REFINE_NOISE_INCREMENT,
+ id: CANVAS_COHERENCE_NOISE_INCREMENT,
b: 1,
is_intermediate: true,
},
- [CANVAS_REFINE_DENOISE_LATENTS]: {
+ [CANVAS_COHERENCE_DENOISE_LATENTS]: {
type: 'denoise_latents',
- id: CANVAS_REFINE_DENOISE_LATENTS,
+ id: CANVAS_COHERENCE_DENOISE_LATENTS,
is_intermediate: true,
- steps: canvasRefineSteps,
+ steps: canvasCoherenceSteps,
cfg_scale: cfg_scale,
scheduler: scheduler,
- denoising_start: 1 - canvasRefineStrength,
+ denoising_start: 1 - canvasCoherenceStrength,
denoising_end: 1,
},
[LATENTS_TO_IMAGE]: {
@@ -369,17 +369,17 @@ export const buildCanvasSDXLOutpaintGraph = (
field: 'item',
},
destination: {
- node_id: CANVAS_REFINE_NOISE_INCREMENT,
+ node_id: CANVAS_COHERENCE_NOISE_INCREMENT,
field: 'a',
},
},
{
source: {
- node_id: CANVAS_REFINE_NOISE_INCREMENT,
+ node_id: CANVAS_COHERENCE_NOISE_INCREMENT,
field: 'value',
},
destination: {
- node_id: CANVAS_REFINE_NOISE,
+ node_id: CANVAS_COHERENCE_NOISE,
field: 'seed',
},
},
@@ -389,7 +389,7 @@ export const buildCanvasSDXLOutpaintGraph = (
field: 'unet',
},
destination: {
- node_id: CANVAS_REFINE_DENOISE_LATENTS,
+ node_id: CANVAS_COHERENCE_DENOISE_LATENTS,
field: 'unet',
},
},
@@ -399,7 +399,7 @@ export const buildCanvasSDXLOutpaintGraph = (
field: 'conditioning',
},
destination: {
- node_id: CANVAS_REFINE_DENOISE_LATENTS,
+ node_id: CANVAS_COHERENCE_DENOISE_LATENTS,
field: 'positive_conditioning',
},
},
@@ -409,17 +409,17 @@ export const buildCanvasSDXLOutpaintGraph = (
field: 'conditioning',
},
destination: {
- node_id: CANVAS_REFINE_DENOISE_LATENTS,
+ node_id: CANVAS_COHERENCE_DENOISE_LATENTS,
field: 'negative_conditioning',
},
},
{
source: {
- node_id: CANVAS_REFINE_NOISE,
+ node_id: CANVAS_COHERENCE_NOISE,
field: 'noise',
},
destination: {
- node_id: CANVAS_REFINE_DENOISE_LATENTS,
+ node_id: CANVAS_COHERENCE_DENOISE_LATENTS,
field: 'noise',
},
},
@@ -429,14 +429,14 @@ export const buildCanvasSDXLOutpaintGraph = (
field: 'latents',
},
destination: {
- node_id: CANVAS_REFINE_DENOISE_LATENTS,
+ node_id: CANVAS_COHERENCE_DENOISE_LATENTS,
field: 'latents',
},
},
// Decode inpainted latents to image
{
source: {
- node_id: CANVAS_REFINE_DENOISE_LATENTS,
+ node_id: CANVAS_COHERENCE_DENOISE_LATENTS,
field: 'latents',
},
destination: {
@@ -519,8 +519,10 @@ export const buildCanvasSDXLOutpaintGraph = (
(graph.nodes[NOISE] as NoiseInvocation).width = scaledWidth;
(graph.nodes[NOISE] as NoiseInvocation).height = scaledHeight;
- (graph.nodes[CANVAS_REFINE_NOISE] as NoiseInvocation).width = scaledWidth;
- (graph.nodes[CANVAS_REFINE_NOISE] as NoiseInvocation).height = scaledHeight;
+ (graph.nodes[CANVAS_COHERENCE_NOISE] as NoiseInvocation).width =
+ scaledWidth;
+ (graph.nodes[CANVAS_COHERENCE_NOISE] as NoiseInvocation).height =
+ scaledHeight;
// Connect Nodes
graph.edges.push(
@@ -630,8 +632,8 @@ export const buildCanvasSDXLOutpaintGraph = (
(graph.nodes[NOISE] as NoiseInvocation).width = width;
(graph.nodes[NOISE] as NoiseInvocation).height = height;
- (graph.nodes[CANVAS_REFINE_NOISE] as NoiseInvocation).width = width;
- (graph.nodes[CANVAS_REFINE_NOISE] as NoiseInvocation).height = height;
+ (graph.nodes[CANVAS_COHERENCE_NOISE] as NoiseInvocation).width = width;
+ (graph.nodes[CANVAS_COHERENCE_NOISE] as NoiseInvocation).height = height;
graph.nodes[INPAINT_IMAGE] = {
...(graph.nodes[INPAINT_IMAGE] as ImageToLatentsInvocation),
@@ -709,7 +711,7 @@ export const buildCanvasSDXLOutpaintGraph = (
// Add Refiner if enabled
if (shouldUseSDXLRefiner) {
- addSDXLRefinerToGraph(state, graph, CANVAS_REFINE_DENOISE_LATENTS);
+ addSDXLRefinerToGraph(state, graph, CANVAS_COHERENCE_DENOISE_LATENTS);
}
// optionally add custom VAE
diff --git a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/constants.ts b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/constants.ts
index e9842299f7..6547d4a092 100644
--- a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/constants.ts
+++ b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/constants.ts
@@ -25,9 +25,11 @@ export const INPAINT_IMAGE_RESIZE_DOWN = 'inpaint_image_resize_down';
export const INPAINT_INFILL = 'inpaint_infill';
export const INPAINT_INFILL_RESIZE_DOWN = 'inpaint_infill_resize_down';
export const INPAINT_FINAL_IMAGE = 'inpaint_final_image';
-export const CANVAS_REFINE_DENOISE_LATENTS = 'canvas_refine_denoise_latents';
-export const CANVAS_REFINE_NOISE = 'canvas_refine_noise';
-export const CANVAS_REFINE_NOISE_INCREMENT = 'canvas_refine_noise_increment';
+export const CANVAS_COHERENCE_DENOISE_LATENTS =
+ 'canvas_coherence_denoise_latents';
+export const CANVAS_COHERENCE_NOISE = 'canvas_coherence_noise';
+export const CANVAS_COHERENCE_NOISE_INCREMENT =
+ 'canvas_coherence_noise_increment';
export const MASK_FROM_ALPHA = 'tomask';
export const MASK_EDGE = 'mask_edge';
export const MASK_BLUR = 'mask_blur';
diff --git a/invokeai/frontend/web/src/features/parameters/components/Parameters/Canvas/SeamPainting/ParamCanvasCoherencePassCollapse.tsx b/invokeai/frontend/web/src/features/parameters/components/Parameters/Canvas/SeamPainting/ParamCanvasCoherencePassCollapse.tsx
new file mode 100644
index 0000000000..b454c4ccec
--- /dev/null
+++ b/invokeai/frontend/web/src/features/parameters/components/Parameters/Canvas/SeamPainting/ParamCanvasCoherencePassCollapse.tsx
@@ -0,0 +1,21 @@
+import { Flex } from '@chakra-ui/react';
+import IAICollapse from 'common/components/IAICollapse';
+import { memo } from 'react';
+import { useTranslation } from 'react-i18next';
+import ParamCanvasCoherenceSteps from './ParamCanvasCoherenceSteps';
+import ParamCanvasCoherenceStrength from './ParamCanvasCoherenceStrength';
+
+const ParamCanvasCoherencePassCollapse = () => {
+ const { t } = useTranslation();
+
+ return (
+
+
+
+
+
+
+ );
+};
+
+export default memo(ParamCanvasCoherencePassCollapse);
diff --git a/invokeai/frontend/web/src/features/parameters/components/Parameters/Canvas/SeamPainting/ParamCanvasRefineSteps.tsx b/invokeai/frontend/web/src/features/parameters/components/Parameters/Canvas/SeamPainting/ParamCanvasCoherenceSteps.tsx
similarity index 56%
rename from invokeai/frontend/web/src/features/parameters/components/Parameters/Canvas/SeamPainting/ParamCanvasRefineSteps.tsx
rename to invokeai/frontend/web/src/features/parameters/components/Parameters/Canvas/SeamPainting/ParamCanvasCoherenceSteps.tsx
index 5bb877cc5d..5482a7e1d9 100644
--- a/invokeai/frontend/web/src/features/parameters/components/Parameters/Canvas/SeamPainting/ParamCanvasRefineSteps.tsx
+++ b/invokeai/frontend/web/src/features/parameters/components/Parameters/Canvas/SeamPainting/ParamCanvasCoherenceSteps.tsx
@@ -1,36 +1,36 @@
import type { RootState } from 'app/store/store';
import { useAppDispatch, useAppSelector } from 'app/store/storeHooks';
import IAISlider from 'common/components/IAISlider';
-import { setCanvasRefineSteps } from 'features/parameters/store/generationSlice';
+import { setCanvasCoherenceSteps } from 'features/parameters/store/generationSlice';
import { memo } from 'react';
import { useTranslation } from 'react-i18next';
-const ParamCanvasRefineSteps = () => {
+const ParamCanvasCoherenceSteps = () => {
const dispatch = useAppDispatch();
- const canvasRefineSteps = useAppSelector(
- (state: RootState) => state.generation.canvasRefineSteps
+ const canvasCoherenceSteps = useAppSelector(
+ (state: RootState) => state.generation.canvasCoherenceSteps
);
const { t } = useTranslation();
return (
{
- dispatch(setCanvasRefineSteps(v));
+ dispatch(setCanvasCoherenceSteps(v));
}}
withInput
withSliderMarks
withReset
handleReset={() => {
- dispatch(setCanvasRefineSteps(20));
+ dispatch(setCanvasCoherenceSteps(20));
}}
/>
);
};
-export default memo(ParamCanvasRefineSteps);
+export default memo(ParamCanvasCoherenceSteps);
diff --git a/invokeai/frontend/web/src/features/parameters/components/Parameters/Canvas/SeamPainting/ParamCanvasRefineStrength.tsx b/invokeai/frontend/web/src/features/parameters/components/Parameters/Canvas/SeamPainting/ParamCanvasCoherenceStrength.tsx
similarity index 54%
rename from invokeai/frontend/web/src/features/parameters/components/Parameters/Canvas/SeamPainting/ParamCanvasRefineStrength.tsx
rename to invokeai/frontend/web/src/features/parameters/components/Parameters/Canvas/SeamPainting/ParamCanvasCoherenceStrength.tsx
index 53f6f68dbf..f478bd70fe 100644
--- a/invokeai/frontend/web/src/features/parameters/components/Parameters/Canvas/SeamPainting/ParamCanvasRefineStrength.tsx
+++ b/invokeai/frontend/web/src/features/parameters/components/Parameters/Canvas/SeamPainting/ParamCanvasCoherenceStrength.tsx
@@ -1,36 +1,36 @@
import type { RootState } from 'app/store/store';
import { useAppDispatch, useAppSelector } from 'app/store/storeHooks';
import IAISlider from 'common/components/IAISlider';
-import { setCanvasRefineStrength } from 'features/parameters/store/generationSlice';
+import { setCanvasCoherenceStrength } from 'features/parameters/store/generationSlice';
import { memo } from 'react';
import { useTranslation } from 'react-i18next';
-const ParamCanvasRefineStrength = () => {
+const ParamCanvasCoherenceStrength = () => {
const dispatch = useAppDispatch();
- const canvasRefineStrength = useAppSelector(
- (state: RootState) => state.generation.canvasRefineStrength
+ const canvasCoherenceStrength = useAppSelector(
+ (state: RootState) => state.generation.canvasCoherenceStrength
);
const { t } = useTranslation();
return (
{
- dispatch(setCanvasRefineStrength(v));
+ dispatch(setCanvasCoherenceStrength(v));
}}
withInput
withSliderMarks
withReset
handleReset={() => {
- dispatch(setCanvasRefineStrength(0.3));
+ dispatch(setCanvasCoherenceStrength(0.3));
}}
/>
);
};
-export default memo(ParamCanvasRefineStrength);
+export default memo(ParamCanvasCoherenceStrength);
diff --git a/invokeai/frontend/web/src/features/parameters/components/Parameters/Canvas/SeamPainting/ParamCanvasRefinePassCollapse.tsx b/invokeai/frontend/web/src/features/parameters/components/Parameters/Canvas/SeamPainting/ParamCanvasRefinePassCollapse.tsx
deleted file mode 100644
index 6bd486955e..0000000000
--- a/invokeai/frontend/web/src/features/parameters/components/Parameters/Canvas/SeamPainting/ParamCanvasRefinePassCollapse.tsx
+++ /dev/null
@@ -1,21 +0,0 @@
-import { Flex } from '@chakra-ui/react';
-import IAICollapse from 'common/components/IAICollapse';
-import { memo } from 'react';
-import { useTranslation } from 'react-i18next';
-import ParamCanvasRefineSteps from './ParamCanvasRefineSteps';
-import ParamCanvasRefineStrength from './ParamCanvasRefineStrength';
-
-const ParamCanvasRefinePassCollapse = () => {
- const { t } = useTranslation();
-
- return (
-
-
-
-
-
-
- );
-};
-
-export default memo(ParamCanvasRefinePassCollapse);
diff --git a/invokeai/frontend/web/src/features/parameters/store/generationSlice.ts b/invokeai/frontend/web/src/features/parameters/store/generationSlice.ts
index 339e70147e..8a4b9a7963 100644
--- a/invokeai/frontend/web/src/features/parameters/store/generationSlice.ts
+++ b/invokeai/frontend/web/src/features/parameters/store/generationSlice.ts
@@ -37,8 +37,8 @@ export interface GenerationState {
scheduler: SchedulerParam;
maskBlur: number;
maskBlurMethod: MaskBlurMethodParam;
- canvasRefineSteps: number;
- canvasRefineStrength: StrengthParam;
+ canvasCoherenceSteps: number;
+ canvasCoherenceStrength: StrengthParam;
seed: SeedParam;
seedWeights: string;
shouldFitToWidthHeight: boolean;
@@ -76,8 +76,8 @@ export const initialGenerationState: GenerationState = {
scheduler: 'euler',
maskBlur: 16,
maskBlurMethod: 'box',
- canvasRefineSteps: 20,
- canvasRefineStrength: 0.3,
+ canvasCoherenceSteps: 20,
+ canvasCoherenceStrength: 0.3,
seed: 0,
seedWeights: '',
shouldFitToWidthHeight: true,
@@ -204,11 +204,11 @@ export const generationSlice = createSlice({
setMaskBlurMethod: (state, action: PayloadAction) => {
state.maskBlurMethod = action.payload;
},
- setCanvasRefineSteps: (state, action: PayloadAction) => {
- state.canvasRefineSteps = action.payload;
+ setCanvasCoherenceSteps: (state, action: PayloadAction) => {
+ state.canvasCoherenceSteps = action.payload;
},
- setCanvasRefineStrength: (state, action: PayloadAction) => {
- state.canvasRefineStrength = action.payload;
+ setCanvasCoherenceStrength: (state, action: PayloadAction) => {
+ state.canvasCoherenceStrength = action.payload;
},
setTileSize: (state, action: PayloadAction) => {
state.tileSize = action.payload;
@@ -318,8 +318,8 @@ export const {
setScheduler,
setMaskBlur,
setMaskBlurMethod,
- setCanvasRefineSteps,
- setCanvasRefineStrength,
+ setCanvasCoherenceSteps,
+ setCanvasCoherenceStrength,
setSeed,
setSeedWeights,
setShouldFitToWidthHeight,
diff --git a/invokeai/frontend/web/src/features/sdxl/components/SDXLUnifiedCanvasTabParameters.tsx b/invokeai/frontend/web/src/features/sdxl/components/SDXLUnifiedCanvasTabParameters.tsx
index 707317a2b5..00432bcec8 100644
--- a/invokeai/frontend/web/src/features/sdxl/components/SDXLUnifiedCanvasTabParameters.tsx
+++ b/invokeai/frontend/web/src/features/sdxl/components/SDXLUnifiedCanvasTabParameters.tsx
@@ -2,7 +2,7 @@ import ParamDynamicPromptsCollapse from 'features/dynamicPrompts/components/Para
import ParamLoraCollapse from 'features/lora/components/ParamLoraCollapse';
import ParamInfillAndScalingCollapse from 'features/parameters/components/Parameters/Canvas/InfillAndScaling/ParamInfillAndScalingCollapse';
import ParamMaskAdjustmentCollapse from 'features/parameters/components/Parameters/Canvas/MaskAdjustment/ParamMaskAdjustmentCollapse';
-import ParamCanvasRefinePassCollapse from 'features/parameters/components/Parameters/Canvas/SeamPainting/ParamCanvasRefinePassCollapse';
+import ParamCanvasCoherencePassCollapse from 'features/parameters/components/Parameters/Canvas/SeamPainting/ParamCanvasCoherencePassCollapse';
import ParamControlNetCollapse from 'features/parameters/components/Parameters/ControlNet/ParamControlNetCollapse';
import ParamNoiseCollapse from 'features/parameters/components/Parameters/Noise/ParamNoiseCollapse';
import ParamSDXLPromptArea from './ParamSDXLPromptArea';
@@ -21,7 +21,7 @@ export default function SDXLUnifiedCanvasTabParameters() {
-
+
>
);
}
diff --git a/invokeai/frontend/web/src/features/ui/components/tabs/UnifiedCanvas/UnifiedCanvasParameters.tsx b/invokeai/frontend/web/src/features/ui/components/tabs/UnifiedCanvas/UnifiedCanvasParameters.tsx
index c1298fd6ef..1c3d3cd270 100644
--- a/invokeai/frontend/web/src/features/ui/components/tabs/UnifiedCanvas/UnifiedCanvasParameters.tsx
+++ b/invokeai/frontend/web/src/features/ui/components/tabs/UnifiedCanvas/UnifiedCanvasParameters.tsx
@@ -3,7 +3,7 @@ import ParamLoraCollapse from 'features/lora/components/ParamLoraCollapse';
import ParamAdvancedCollapse from 'features/parameters/components/Parameters/Advanced/ParamAdvancedCollapse';
import ParamInfillAndScalingCollapse from 'features/parameters/components/Parameters/Canvas/InfillAndScaling/ParamInfillAndScalingCollapse';
import ParamMaskAdjustmentCollapse from 'features/parameters/components/Parameters/Canvas/MaskAdjustment/ParamMaskAdjustmentCollapse';
-import ParamCanvasRefinePassCollapse from 'features/parameters/components/Parameters/Canvas/SeamPainting/ParamCanvasRefinePassCollapse';
+import ParamCanvasCoherencePassCollapse from 'features/parameters/components/Parameters/Canvas/SeamPainting/ParamCanvasCoherencePassCollapse';
import ParamControlNetCollapse from 'features/parameters/components/Parameters/ControlNet/ParamControlNetCollapse';
import ParamPromptArea from 'features/parameters/components/Parameters/Prompt/ParamPromptArea';
import ParamSymmetryCollapse from 'features/parameters/components/Parameters/Symmetry/ParamSymmetryCollapse';
@@ -21,7 +21,7 @@ const UnifiedCanvasParameters = () => {
-
+
>
);