openOutpaint/index.html
Kalekki 43c6344507 Model switching, samplers from api
Former-commit-id: 78da6ff935a79ecbb00114c8e467d8996d2752af
2022-11-23 21:23:20 +02:00

190 lines
No EOL
9.7 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!DOCTYPE html>
<html lang="en-US">
<head>
<meta charset="utf-8" />
<title>openOutpaint 🐠</title>
<link href="css/index.css" rel="stylesheet" />
<link rel="icon" type="image/x-icon" href="favicon.ico">
</head>
<body>
<!-- Main Toolbar -->
<div id="infoContainer" class="uiContainer">
<div id="infoTitleBar" class="draggable uiTitleBar">openOutpaint 🐠</div>
<div id="info" class="info" style="min-width:200px;">
<label for="host">Host</label>
<input id="host" value="http://127.0.0.1:7860"><br />
<!-- Prompts section -->
<button type="button" class="collapsible">Prompts</button>
<div class="content">
<label for="prompt">Prompt:</label> <br>
<textarea id="prompt">oceanographic study, underwater wildlife, award winning</textarea><br />
<label for="negPrompt">Negative prompt:</label> <br>
<textarea
id="negPrompt">people, person, humans, human, divers, diver, glitch, error, text, watermark, bad quality, blurry</textarea><br />
<hr>
</div>
<!-- SD section -->
<button type="button" class="collapsible">Stable Diffusion settings</button>
<div class="content">
<label for="models">Model:</label>
<select id="models" onchange="changeModel()"></select><br>
<label for="seed">Seed (-1 for random):</label> <br>
<input type="number" id="seed" onchange="changeSeed()" min="1" max="9999999999" value="-1"
step="1" /><br />
<label for="samplerSelect">Sampler:</label>
<select id="samplerSelect" onchange="changeSampler()">
</select><br />
<label for="steps">Steps: <input type="number" id="stepsTxt"></label><br />
<input type="range" id="steps" name="steps" min="1" max="50" /><br />
<label for="cfgScale">CFG scale: <input type="number" id="cfgScaleTxt"></label>
<br />
<input type="range" id="cfgScale" name="cfgScale" min="-1" max="25" step="0.5" /><br />
<label for="batchSize">Batch size: <input type="number" id="batchSizeText"></label><br />
<input type="range" id="batchSize" name="batchSize" min="1" max="8" step="1" /><br />
<label for="batchCount">Batch count: <input type="number" id="batchCountText"></label><br />
<input type="range" id="batchCount" name="batchCount" min="1" max="8" step="1" /><br />
<hr>
</div>
<!-- Unsectioned -->
<label for="scaleFactor">Scale factor: <input type="number" id="scaleFactorTxt"></label><br />
<input type="range" id="scaleFactor" name="scaleFactor" min="1" max="16" /><br />
<label for="cbxSnap">Snap to grid?</label>
<input type="checkbox" id="cbxSnap" onchange="changeSnapMode()" checked="checked"><br />
<label for="cbxEnableErasing">Right-click erase?</label>
<input type="checkbox" id="cbxEnableErasing" onchange="changeEnableErasing()"><br />
<label for="cbxPaint">Mask mode?</label>
<input type="checkbox" id="cbxPaint" onchange="changePaintMode()"><br />
<label for="cbxHRFix">Auto txt2img HRfix?</label>
<input type="checkbox" id="cbxHRFix" onchange="changeHiResFix()"><br />
<label for="overMaskPx">Overmask px (0 to disable):</label>
<input type="number" id="overMaskPx" onchange="changeOverMaskPx()" min="0" max="128" value="16"
step="1" /><br />
<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 />
<!-- Save/load image section -->
<button type="button" class="collapsible">Save/Load/New image</button>
<div class="content">
<label for="preloadImage">Load image:</label>
<input type="file" id="preloadImage" onchange="preloadImage()" accept="image/*" /
style="width: 200px;"><br />
<button onclick="downloadCanvas()">Save canvas</button><br />
<label for="upscalers">Choose upscaler</label>
<select id="upscalers"></select>
<button onclick="upscaleAndDownload()">Upscale (might take a sec)</button><br />
<button onclick="newImage()">Clear canvas</button>
</div>
<!-- Degub info -->
<button type="button" class="collapsible">Debug info</button>
<div id="coords" class="content">
<label for="mouseX">mouseX:</label>
<span id="mouseX"></span>
<br />
<label for="mouseY">mouseY:</label>
<span id="mouseY"></span>
<br />
<label for="canvasX">canvasX:</label>
<span id="canvasX"></span>
<br />
<label for="canvasY">canvasY:</label>
<span id="canvasY"></span>
<br />
<label for="snapX">snapX:</label>
<span id="snapX"></span>
<br />
<label for="snapY">snapY:</label>
<span id="snapY"></span><br />
<label for="heldButton">Mouse button:</label>
<span id="heldButton"></span><br />
<span id="version">Alpha release v0.0.6.9</span> <!-- 𝓃𝒾𝒸𝑒 -->
<br />
<hr>
</div>
</div>
</div>
<!-- History Toolbar -->
<div id="historyContainer" class="uiContainer" style="right: 0;">
<div id="historyTitleBar" class="draggable uiTitleBar">History</div>
<div class="info" style="min-width:200px;">
<div id="history" class="history"></div>
<div class="toolbar" style="padding: 10px;">
<button type="button" onclick="commands.undo()" class="tool">undo</button>
<button type="button" onclick="commands.redo()" class="tool">redo</button>
</div>
</div>
</div>
<div id="mainHSplit" class="mainHSplit">
<div id="uiWrapper" class="uiWrapper">
<div id="canvasHolder" class="canvasHolder" oncontextmenu="return false;">
<canvas id="backgroundCanvas" class="mainCanvases backgroundCanvas" width="2560" height="1440"
style="z-index: 0;">
<!-- gray grid bg canvas -->
<p>lol ur browser sucks</p>
</canvas>
<canvas id="canvas" class="mainCanvases canvas" width="2560" height="1440" style="z-index: 1;">
<!-- normal canvas on which images are drawn -->
<p>lol ur browser sucks</p>
</canvas>
<canvas id="tempCanvas" class="mainCanvases tempCanvas" width="2560" height="1440" style="z-index: 2;">
<!-- temporary canvas on which images being selected/rejected or imported arbitrary images are superimposed -->
<p>lol ur browser sucks</p>
</canvas>
<canvas id="targetCanvas" class="mainCanvases targetCanvas" width="2560" height="1440"
style="z-index: 3;">
<!-- canvas on which "targeting" squares are drawn -->
<p>lol ur browser sucks</p>
</canvas>
<canvas id="maskPaintCanvas" class="mainCanvases maskPaintCanvas" width="2560" height="1440"
style="z-index: 4;">
<!-- canvas on which masking brush is "painted" -->
<p>lol ur browser sucks</p>
</canvas>
<canvas id="overlayCanvas" class="mainCanvases overlayCanvas" width="2560" height="1440"
style="z-index: 5;">
<!-- canvas on which "cursor" reticle or arc is drawn -->
<p>lol ur browser sucks</p>
</canvas>
<div id="tempDiv" style="position: relative; z-index: 6;">
<!-- where popup buttons go -->
</div>
</div>
</div>
<div id="masks" class="masks">
<div>
<!-- <canvas id="maskCanvasMonitor" class="maskCanvasMonitor" width="512" height="512">
<p>lol ur browser sucks</p>
</canvas><br /> -->
<canvas id="overMaskCanvasMonitor" class="overMaskCanvasMonitor" width="512" height="512">
<p>lol ur browser sucks</p>
</canvas><br />
<canvas id="initImgCanvasMonitor" class="initImgCanvasMonitor" width="512" height="512">
<p>lol ur browser sucks</p>
</canvas><br />
</div>
</div>
</div>
<script src="js/util.js" type="text/javascript"></script>
<script src="js/input.js" type="text/javascript"></script>
<script src="js/commands.js" type="text/javascript"></script>
<script src="js/index.js" type="text/javascript"></script>
<script src="js/settingsbar.js" type="text/javascript"></script>
<script src="js/shortcuts.js" type="text/javascript"></script>
<script src="js/ui/history.js" type="text/javascript"></script>
</body>
</html>