adds options for + button to update prompt in request and jump to new images automatically, reverts stupid outpaint type suggestion because it was Bad

This commit is contained in:
tim h 2023-08-12 13:42:34 -05:00
parent 5abf5914a3
commit e5dfa4fa93
5 changed files with 91 additions and 24 deletions

View file

@ -24,7 +24,7 @@ this is a completely vanilla javascript and html canvas outpainting convenience
- arbitrary dream reticle size - draw the rectangle of your dreams
- an [effectively infinite](https://github.com/zero01101/openOutpaint/pull/108), resizable, scalable canvas for you to paint all over
- **_NOTE: v0.0.10 introduces a new "camera control" modifier key - hold [`CTRL`] and use the scrollwheel to zoom (scroll the wheel or use the two-finger vertical gesture on, uh, modern touchpads) and pan (hold the scrollwheel button, or if you don't have one, left-click button) around the canvas_**
- extremely limited, janky support for a shockingly restrictive list of A1111 extensions including controlnet inpainting for legitimately [magic](https://github.com/Mikubill/sd-webui-controlnet/discussions/1464) [promptless inpainting](https://github.com/Mikubill/sd-webui-controlnet/discussions/1143) and [outpainting](https://github.com/Mikubill/sd-webui-controlnet/discussions/1597) and in-line reference preprocessors for keeping existing style while replacing things (reference requires at least 2 controlnet units enabled in A1111 settings), as well as a very very basic dynamic-prompts-on-or-off toggle
- extremely limited, janky support for a shockingly restrictive list of A1111 extensions including controlnet inpainting for legitimately magic promptless inpainting and outpainting ([a](https://github.com/Mikubill/sd-webui-controlnet/discussions/1464), [b](https://github.com/Mikubill/sd-webui-controlnet/discussions/1143), [c](https://github.com/Mikubill/sd-webui-controlnet/discussions/1597)) and in-line reference preprocessors for keeping existing style while replacing things (reference requires at least 2 controlnet units enabled in A1111 settings), as well as a very very basic dynamic-prompts-on-or-off toggle
- **_NOTE: this is_ JANKY, _pull requests greatly welcomed lol_**
- a very nicely functional and familiar layer system
- save, load, import, and export workspaces - includes all your layers, history, canvas size, you name it!

View file

@ -82,9 +82,7 @@ body {
max-height: 0;
overflow-y: clip;
overflow-x: visible;
transition:
max-height 0.2s ease-out,
height 0s ease-out;
transition: max-height 0.2s ease-out, height 0s ease-out;
}
.menu-container {
@ -132,9 +130,10 @@ body {
border-radius: 10px;
min-width: 360px;
width: 360px;
/* min-height: 250px; */
min-width: 400px;
width: 400px;
min-height: 260px;
height: 260px;
color: var(--c-text);

View file

@ -1,4 +1,4 @@
<!doctype html>
<!DOCTYPE html>
<html lang="en-US">
<head>
<meta charset="utf-8" />
@ -7,7 +7,7 @@
<link href="css/colors.css?v=f732f19" rel="stylesheet" />
<link href="css/icons.css?v=e6f94af" rel="stylesheet" />
<link href="css/index.css?v=fad20a2" rel="stylesheet" />
<link href="css/index.css?v=a1f5bff" rel="stylesheet" />
<link href="css/layers.css?v=92c0352" rel="stylesheet" />
<link href="css/ui/generic.css?v=30837f8" rel="stylesheet" />
@ -315,8 +315,8 @@
<br />
<span id="version">
<a href="https://github.com/zero01101/openOutpaint" target="_blank">
<s>Alpha release v0.0.16.4</s>
v20230722.002
<s>Alpha release v0.0.16.5</s>
v20230812.001
</a>
<br />
<a
@ -553,7 +553,7 @@
src="js/ui/tool/generic.js?v=3e678e0"
type="text/javascript"></script>
<script src="js/ui/tool/dream.js?v=c97af5b" type="text/javascript"></script>
<script src="js/ui/tool/dream.js?v=95bd3f0" type="text/javascript"></script>
<script
src="js/ui/tool/maskbrush.js?v=e9bd0eb"
type="text/javascript"></script>

View file

@ -62,12 +62,9 @@ const _monitorProgress = (bb, oncheck = null) => {
}
const timeSpent = performance.now() - init;
setTimeout(
() => {
if (running) _checkProgress();
},
Math.max(0, minDelay - timeSpent)
);
setTimeout(() => {
if (running) _checkProgress();
}, Math.max(0, minDelay - timeSpent));
};
_checkProgress();
@ -697,10 +694,29 @@ const _generate = async (endpoint, request, bb, options = {}) => {
parseInt(requestCopy.seed) +
requestCopy.batch_size * requestCopy.n_iter;
}
if (
localStorage.getItem(
"openoutpaint/settings.update-prompt-on-more-button"
) == "true"
) {
requestCopy.prompt = document.getElementById("prompt").value;
requestCopy.negative_prompt =
document.getElementById("negPrompt").value;
}
dreamData = await _dream(endpoint, requestCopy);
images.push(...dreamData.images);
seeds.push(...dreamData.seeds);
updateImageIndexText();
if (
localStorage.getItem(
"openoutpaint/settings.jump-to-1st-new-on-more-button"
) == "true"
) {
at = images.length - requestCopy.n_iter * requestCopy.batch_size;
activateImgAt(at);
} else {
updateImageIndexText();
}
} catch (e) {
if (alertCount < 2) {
notifications.notify(
@ -2035,9 +2051,9 @@ const dreamTool = () =>
"outpainting_fill",
"Outpaint Type",
{
0: "fill (SDXL?)",
1: "original (SDXL?)",
2: "latent noise (SD1.x/2.x)",
0: "fill",
1: "original",
2: "latent noise (suggested)",
3: "latent nothing",
},
2, // AVOID ORIGINAL FOR OUTPAINT OR ELSE but we still give you the option because we love you and because it seems to work better for SDXL

View file

@ -1,4 +1,4 @@
<!doctype html>
<!DOCTYPE html>
<html lang="en-US">
<head>
<meta charset="utf-8" />
@ -7,7 +7,7 @@
<link href="../css/colors.css?v=f732f19" rel="stylesheet" />
<link href="../css/icons.css?v=e6f94af" rel="stylesheet" />
<link href="../css/index.css?v=fad20a2" rel="stylesheet" />
<link href="../css/index.css?v=a1f5bff" rel="stylesheet" />
<link href="../css/layers.css?v=92c0352" rel="stylesheet" />
<link href="../css/ui/generic.css?v=30837f8" rel="stylesheet" />
@ -142,6 +142,24 @@
onchange="changeSmoothRendering()" />
</td>
</tr>
<tr>
<td class="title">+ Button Updates Prompt</td>
<td class="input">
<input
id="cbxUpdatePromptOnMoreButton"
class="canvas-size-input"
type="checkbox" />
</td>
</tr>
<tr>
<td class="title">Jump to 1st New on +</td>
<td class="input">
<input
id="cbxJumpTo1stNewOnMoreButton"
class="canvas-size-input"
type="checkbox" />
</td>
</tr>
<!-- //TODO implement this
<tr>
<td class="title">Marching Ants Update MS</td>
@ -165,6 +183,12 @@
const hrfixLiar = document.getElementById("hrfix-liar");
const autolayer = document.getElementById("autolayer");
const smoothRendering = document.getElementById("cbxSmooth");
const updatePromptOnMoreButton = document.getElementById(
"cbxUpdatePromptOnMoreButton"
);
const jumpTo1stNewOnMoreButton = document.getElementById(
"cbxJumpTo1stNewOnMoreButton"
);
function writeToLocalStorage() {
localStorage.setItem(
@ -190,6 +214,14 @@
"openoutpaint/settings.smooth",
smoothRendering.checked
);
localStorage.setItem(
"openoutpaint/settings.update-prompt-on-more-button",
updatePromptOnMoreButton.checked
);
localStorage.setItem(
"openoutpaint/settings.jump-to-1st-new-on-more-button",
jumpTo1stNewOnMoreButton.checked
);
}
// Loads values from local storage
@ -219,6 +251,24 @@
: localStorage.getItem("openoutpaint/settings.smooth") === "true";
smoothRendering.checked = _enable_smooth;
let _enable_update_prompt_on_more_button =
localStorage.getItem(
"openoutpaint/settings.update-prompt-on-more-button"
) === null
? true
: localStorage.getItem(
"openoutpaint/settings.update-prompt-on-more-button"
) === "true";
let _enable_jump_to_1st_new_on_more_button =
localStorage.getItem(
"openoutpaint/settings.jump-to-1st-new-on-more-button"
) === null
? true
: localStorage.getItem(
"openoutpaint/settings.jump-to-1st-new-on-more-button"
) === "true";
writeToLocalStorage();
canvasWidth.onchange = writeToLocalStorage;
@ -229,6 +279,8 @@
hrfixLiar.onchange = writeToLocalStorage;
autolayer.onchange = writeToLocalStorage;
smoothRendering.onchange = writeToLocalStorage;
updatePromptOnMoreButton.onchange = writeToLocalStorage;
jumpTo1stNewOnMoreButton.onchange = writeToLocalStorage;
</script>
</body>
</html>