fix(ui): recall seamless settings

This commit is contained in:
Riku
2024-10-28 11:20:41 +01:00
committed by psychedelicious
parent 47168b5505
commit 107e48808a
5 changed files with 52 additions and 1 deletions

View File

@@ -682,7 +682,8 @@
"recallParameters": "Recall Parameters",
"recallParameter": "Recall {{label}}",
"scheduler": "Scheduler",
"seamless": "Seamless",
"seamlessXAxis": "Seamless X Axis",
"seamlessYAxis": "Seamless Y Axis",
"seed": "Seed",
"steps": "Steps",
"strength": "Image to image strength",

View File

@@ -199,6 +199,16 @@ export const handlers = {
parser: parsers.sdxlPositiveStylePrompt,
recaller: recallers.sdxlPositiveStylePrompt,
}),
seamlessX: buildHandlers({
getLabel: () => t('metadata.seamlessXAxis'),
parser: parsers.seamlessX,
recaller: recallers.seamlessX,
}),
seamlessY: buildHandlers({
getLabel: () => t('metadata.seamlessYAxis'),
parser: parsers.seamlessY,
recaller: recallers.seamlessY,
}),
seed: buildHandlers({ getLabel: () => t('metadata.seed'), parser: parsers.seed, recaller: recallers.seed }),
steps: buildHandlers({ getLabel: () => t('metadata.steps'), parser: parsers.steps, recaller: recallers.steps }),
strength: buildHandlers({

View File

@@ -41,6 +41,8 @@ import type {
ParameterSDXLRefinerNegativeAestheticScore,
ParameterSDXLRefinerPositiveAestheticScore,
ParameterSDXLRefinerStart,
ParameterSeamlessX,
ParameterSeamlessY,
ParameterSeed,
ParameterSteps,
ParameterStrength,
@@ -63,6 +65,8 @@ import {
isParameterSDXLRefinerNegativeAestheticScore,
isParameterSDXLRefinerPositiveAestheticScore,
isParameterSDXLRefinerStart,
isParameterSeamlessX,
isParameterSeamlessY,
isParameterSeed,
isParameterSteps,
isParameterStrength,
@@ -160,6 +164,12 @@ const parseSteps: MetadataParseFunc<ParameterSteps> = (metadata) => getProperty(
const parseStrength: MetadataParseFunc<ParameterStrength> = (metadata) =>
getProperty(metadata, 'strength', isParameterStrength);
const parseSeamlessX: MetadataParseFunc<ParameterSeamlessX> = (metadata) =>
getProperty(metadata, 'seamless_x', isParameterSeamlessX);
const parseSeamlessY: MetadataParseFunc<ParameterSeamlessY> = (metadata) =>
getProperty(metadata, 'seamless_y', isParameterSeamlessY);
const parseHRFEnabled: MetadataParseFunc<ParameterHRFEnabled> = async (metadata) => {
try {
return await getProperty(metadata, 'hrf_enabled', isParameterHRFEnabled);
@@ -647,6 +657,8 @@ export const parsers = {
height: parseHeight,
steps: parseSteps,
strength: parseStrength,
seamlessX: parseSeamlessX,
seamlessY: parseSeamlessY,
hrfEnabled: parseHRFEnabled,
hrfStrength: parseHRFStrength,
hrfMethod: parseHRFMethod,

View File

@@ -18,6 +18,8 @@ import {
setRefinerStart,
setRefinerSteps,
setScheduler,
setSeamlessXAxis,
setSeamlessYAxis,
setSeed,
setSteps,
t5EncoderModelSelected,
@@ -44,6 +46,8 @@ import type {
ParameterSDXLRefinerNegativeAestheticScore,
ParameterSDXLRefinerPositiveAestheticScore,
ParameterSDXLRefinerStart,
ParameterSeamlessX,
ParameterSeamlessY,
ParameterSeed,
ParameterSteps,
ParameterStrength,
@@ -106,6 +110,14 @@ const recallStrength: MetadataRecallFunc<ParameterStrength> = (strength) => {
getStore().dispatch(setImg2imgStrength(strength));
};
const recallSeamlessX: MetadataRecallFunc<ParameterSeamlessX> = (enabled) => {
getStore().dispatch(setSeamlessXAxis(enabled));
};
const recallSeamlessY: MetadataRecallFunc<ParameterSeamlessY> = (enabled) => {
getStore().dispatch(setSeamlessYAxis(enabled));
};
const recallHRFEnabled: MetadataRecallFunc<ParameterHRFEnabled> = (hrfEnabled) => {
getStore().dispatch(setHrfEnabled(hrfEnabled));
};
@@ -211,6 +223,8 @@ export const recallers = {
height: recallHeight,
steps: recallSteps,
strength: recallStrength,
seamlessX: recallSeamlessX,
seamlessY: recallSeamlessY,
hrfEnabled: recallHRFEnabled,
hrfStrength: recallHRFStrength,
hrfMethod: recallHRFMethod,

View File

@@ -141,6 +141,20 @@ export const isParameterStrength = (val: unknown): val is ParameterStrength =>
zParameterStrength.safeParse(val).success;
// #endregion
// #region SeamlessX
const zParameterSeamlessX = z.boolean();
export type ParameterSeamlessX = z.infer<typeof zParameterSeamlessX>;
export const isParameterSeamlessX = (val: unknown): val is boolean =>
zParameterSeamlessX.safeParse(val).success && val !== null && val !== undefined;
// #endregion
// #region SeamlessY
const zParameterSeamlessY = z.boolean();
export type ParameterSeamlessY = z.infer<typeof zParameterSeamlessY>;
export const isParameterSeamlessY = (val: unknown): val is boolean =>
zParameterSeamlessY.safeParse(val).success && val !== null && val !== undefined;
// #endregion
// #region Precision
const zParameterPrecision = z.enum(['fp16', 'fp32']);
export type ParameterPrecision = z.infer<typeof zParameterPrecision>;