sigh
This commit is contained in:
parent
304da0ec9e
commit
43d4239824
3 changed files with 83 additions and 51 deletions
50
index.html
50
index.html
|
@ -98,9 +98,11 @@
|
|||
step="1" />
|
||||
<br />
|
||||
<input type="checkbox" id="cbxHRFix" onchange="changeHiResFix()" />
|
||||
<label for="cbxHRFix">Auto txt2img HRfix</label>
|
||||
<label for="cbxHRFix">Apply txt2img HRfix</label>
|
||||
<br />
|
||||
<div id="hrFixLock"></div>
|
||||
<div id="hrFixScale"></div>
|
||||
<label id="hrFixLabel">Choose HRfix upscaler</label>
|
||||
<div id="hrFixUpscaler"></div>
|
||||
<input
|
||||
type="checkbox"
|
||||
id="cbxRestoreFaces"
|
||||
|
@ -118,27 +120,27 @@
|
|||
<div id="cfgScale"></div>
|
||||
<div id="batchSize"></div>
|
||||
<div id="batchCount"></div>
|
||||
<label for="maskBlur">Mask blur:</label>
|
||||
<span id="maskBlurText"></span>
|
||||
<br />
|
||||
<input
|
||||
type="number"
|
||||
id="maskBlur"
|
||||
name="maskBlur"
|
||||
min="0"
|
||||
max="256"
|
||||
value="0"
|
||||
step="1"
|
||||
onchange="changeMaskBlur()" />
|
||||
<br />
|
||||
<input
|
||||
type="checkbox"
|
||||
id="cbxSmooth"
|
||||
checked
|
||||
onchange="changeSmoothRendering()" />
|
||||
<label for="cbxSmooth">Smooth Rendering</label>
|
||||
</div>
|
||||
<!-- Unsectioned -->
|
||||
<label for="maskBlur">Mask blur:</label>
|
||||
<span id="maskBlurText"></span>
|
||||
<br />
|
||||
<input
|
||||
type="number"
|
||||
id="maskBlur"
|
||||
name="maskBlur"
|
||||
min="0"
|
||||
max="256"
|
||||
value="0"
|
||||
step="1"
|
||||
onchange="changeMaskBlur()" />
|
||||
<br />
|
||||
<input
|
||||
type="checkbox"
|
||||
id="cbxSmooth"
|
||||
checked
|
||||
onchange="changeSmoothRendering()" />
|
||||
<label for="cbxSmooth">Smooth Rendering</label>
|
||||
|
||||
<!-- Save/load image section -->
|
||||
<button type="button" class="collapsible">Save/Upscaling</button>
|
||||
<div class="content">
|
||||
|
@ -337,7 +339,7 @@
|
|||
|
||||
<!-- Content -->
|
||||
<script src="js/prompt.js?v=7a1c68c" type="text/javascript"></script>
|
||||
<script src="js/index.js?v=133b74b" type="text/javascript"></script>
|
||||
<script src="js/index.js?v=eae1998" type="text/javascript"></script>
|
||||
|
||||
<script
|
||||
src="js/ui/floating/history.js?v=fc92d14"
|
||||
|
@ -351,7 +353,7 @@
|
|||
src="js/ui/tool/generic.js?v=2bcd36d"
|
||||
type="text/javascript"></script>
|
||||
|
||||
<script src="js/ui/tool/dream.js?v=832aa62" type="text/javascript"></script>
|
||||
<script src="js/ui/tool/dream.js?v=6d1e673" type="text/javascript"></script>
|
||||
<script
|
||||
src="js/ui/tool/maskbrush.js?v=1e8a893"
|
||||
type="text/javascript"></script>
|
||||
|
|
59
js/index.js
59
js/index.js
|
@ -106,8 +106,10 @@ var stableDiffusionData = {
|
|||
inpainting_fill: 2,
|
||||
enable_hr: false,
|
||||
restore_faces: false,
|
||||
firstphase_width: 0,
|
||||
firstphase_height: 0,
|
||||
//firstphase_width: 0,
|
||||
//firstphase_height: 0, //20230102 welp looks like the entire way HRfix is implemented has become bonkersly different
|
||||
hr_scale: 2.0,
|
||||
hr_upscaler: "None",
|
||||
styles: [],
|
||||
// here's some more fields that might be useful
|
||||
|
||||
|
@ -552,6 +554,14 @@ const upscalerAutoComplete = createAutoComplete(
|
|||
document.getElementById("upscaler-ac-select")
|
||||
);
|
||||
|
||||
const hrFixUpscalerAutoComplete = createAutoComplete(
|
||||
"HRfix Upscaler",
|
||||
document.getElementById("hrFixUpscaler")
|
||||
);
|
||||
hrFixUpscalerAutoComplete.onchange.on(({value}) => {
|
||||
stableDiffusionData.hr_upscaler = value;
|
||||
});
|
||||
|
||||
const resSlider = makeSlider(
|
||||
"Resolution",
|
||||
document.getElementById("resolution"),
|
||||
|
@ -563,8 +573,6 @@ const resSlider = makeSlider(
|
|||
2,
|
||||
(v) => {
|
||||
stableDiffusionData.width = stableDiffusionData.height = v;
|
||||
stableDiffusionData.firstphase_width =
|
||||
stableDiffusionData.firstphase_height = v / 2;
|
||||
|
||||
toolbar.currentTool &&
|
||||
toolbar.currentTool.redraw &&
|
||||
|
@ -621,15 +629,16 @@ makeSlider(
|
|||
1
|
||||
);
|
||||
|
||||
// 20230102 grumble grumble
|
||||
makeSlider(
|
||||
"HRfix Lock Px.",
|
||||
document.getElementById("hrFixLock"),
|
||||
"hr_fix_lock_px",
|
||||
0.0,
|
||||
768.0,
|
||||
256.0,
|
||||
0.0,
|
||||
1.0
|
||||
"HRfix Scale",
|
||||
document.getElementById("hrFixScale"),
|
||||
"hr_scale",
|
||||
1.0,
|
||||
4.0,
|
||||
0.1,
|
||||
2.0,
|
||||
0.1
|
||||
);
|
||||
|
||||
function changeMaskBlur() {
|
||||
|
@ -649,6 +658,20 @@ function changeHiResFix() {
|
|||
document.getElementById("cbxHRFix").checked
|
||||
);
|
||||
localStorage.setItem("openoutpaint/enable_hr", stableDiffusionData.enable_hr);
|
||||
var hrfSlider = document.getElementById("hrFixScale");
|
||||
var hrfOpotions = document.getElementById("hrFixUpscaler");
|
||||
var hrfLabel = document.getElementById("hrFixLabel");
|
||||
if (stableDiffusionData.enable_hr) {
|
||||
hrfSlider.classList.remove("invisible");
|
||||
hrfOpotions.classList.remove("invisible");
|
||||
hrfLabel.classList.remove("invisible");
|
||||
//state.ctxmenu.keepUnmaskedBlurSliderLinebreak.classList.add("invisible");
|
||||
} else {
|
||||
hrfSlider.classList.add("invisible");
|
||||
hrfOpotions.classList.add("invisible");
|
||||
hrfLabel.classList.add("invisible");
|
||||
//state.ctxmenu.keepUnmaskedBlurSliderLinebreak.classList.remove("invisible");
|
||||
}
|
||||
}
|
||||
|
||||
function changeRestoreFaces() {
|
||||
|
@ -743,17 +766,23 @@ async function getUpscalers() {
|
|||
"[index] purposefully_incorrect_data response, ignore above error"
|
||||
);
|
||||
// result = purposefully_incorrect_data response: Invalid upscaler, needs to be on of these: None , Lanczos , Nearest , LDSR , BSRGAN , R-ESRGAN General 4xV3 , R-ESRGAN 4x+ Anime6B , ScuNET , ScuNET PSNR , SwinIR_4x
|
||||
const upscalers = data.detail
|
||||
const upscalersPlusNone = data.detail
|
||||
.split(": ")[1]
|
||||
.split(",")
|
||||
.map((v) => v.trim())
|
||||
.filter((v) => v !== "None"); // converting the result to a list of upscalers
|
||||
.map((v) => v.trim()); // need "None" for stupid hrfix changes razza frazza
|
||||
const upscalers = upscalersPlusNone.filter((v) => v !== "None"); // converting the result to a list of upscalers
|
||||
upscalersPlusNone.push("Latent");
|
||||
upscalersPlusNone.push("Latent (nearest)"); // GRUMBLE GRUMBLE
|
||||
|
||||
upscalerAutoComplete.options = upscalers.map((u) => {
|
||||
return {name: u, value: u};
|
||||
});
|
||||
hrFixUpscalerAutoComplete.options = upscalersPlusNone.map((u) => {
|
||||
return {name: u, value: u};
|
||||
});
|
||||
|
||||
upscalerAutoComplete.value = upscalers[0];
|
||||
hrFixUpscalerAutoComplete.value = upscalersPlusNone[0];
|
||||
} catch (e) {
|
||||
console.warn("[index] Failed to fetch upscalers:");
|
||||
console.warn(e);
|
||||
|
|
|
@ -1387,18 +1387,6 @@ const dreamTool = () =>
|
|||
h: stableDiffusionData.height,
|
||||
};
|
||||
|
||||
//hacky set non-square auto hrfix values
|
||||
let hrLockPx =
|
||||
localStorage.getItem("openoutpaint/hr_fix_lock_px") ?? 0;
|
||||
stableDiffusionData.firstphase_height =
|
||||
hrLockPx == 0 || resolution.h / 2 <= hrLockPx
|
||||
? resolution.h / 2
|
||||
: hrLockPx;
|
||||
stableDiffusionData.firstphase_width =
|
||||
hrLockPx == 0 || resolution.w / 2 <= hrLockPx
|
||||
? resolution.w / 2
|
||||
: hrLockPx;
|
||||
|
||||
if (global.connection === "online") {
|
||||
dream_generate_callback(bb, resolution, state);
|
||||
} else {
|
||||
|
@ -1492,8 +1480,14 @@ const dreamTool = () =>
|
|||
state.ctxmenu.keepUnmaskedBlurSlider.classList.remove(
|
||||
"invisible"
|
||||
);
|
||||
state.ctxmenu.keepUnmaskedBlurSliderLinebreak.classList.add(
|
||||
"invisible"
|
||||
);
|
||||
} else {
|
||||
state.ctxmenu.keepUnmaskedBlurSlider.classList.add("invisible");
|
||||
state.ctxmenu.keepUnmaskedBlurSliderLinebreak.classList.remove(
|
||||
"invisible"
|
||||
);
|
||||
}
|
||||
}
|
||||
).label;
|
||||
|
@ -1511,6 +1505,12 @@ const dreamTool = () =>
|
|||
}
|
||||
).slider;
|
||||
|
||||
state.ctxmenu.keepUnmaskedBlurSliderLinebreak =
|
||||
document.createElement("br");
|
||||
state.ctxmenu.keepUnmaskedBlurSliderLinebreak.classList.add(
|
||||
"invisible"
|
||||
);
|
||||
|
||||
// Preserve Brushed Masks Checkbox
|
||||
state.ctxmenu.preserveMasksLabel = _toolbar_input.checkbox(
|
||||
state,
|
||||
|
@ -1552,6 +1552,7 @@ const dreamTool = () =>
|
|||
menu.appendChild(document.createElement("br"));
|
||||
menu.appendChild(state.ctxmenu.keepUnmaskedLabel);
|
||||
menu.appendChild(state.ctxmenu.keepUnmaskedBlurSlider);
|
||||
menu.appendChild(state.ctxmenu.keepUnmaskedBlurSliderLinebreak);
|
||||
menu.appendChild(state.ctxmenu.preserveMasksLabel);
|
||||
menu.appendChild(document.createElement("br"));
|
||||
menu.appendChild(state.ctxmenu.overMaskPxLabel);
|
||||
|
|
Loading…
Reference in a new issue