2024-04-13 07:49:56 -05:00
<!doctype html>
2022-11-29 20:08:43 -06:00
< html lang = "en-US" >
< head >
< meta charset = "utf-8" / >
< title > openOutpaint 🐠< / title >
<!-- CSS Variables -->
2023-01-26 22:43:07 -06:00
< link href = "css/colors.css?v=f732f19" rel = "stylesheet" / >
2024-02-21 08:18:28 -06:00
< link href = "css/icons.css?v=1640e24" rel = "stylesheet" / >
2022-11-29 20:08:43 -06:00
2023-08-31 07:55:12 -05:00
< link href = "css/index.css?v=cf6b502" rel = "stylesheet" / >
2023-01-09 22:08:48 -06:00
< link href = "css/layers.css?v=92c0352" rel = "stylesheet" / >
2022-11-29 20:54:09 -06:00
2024-01-27 07:37:28 -06:00
< link href = "css/ui/generic.css?v=ed024fe" rel = "stylesheet" / >
2022-11-29 20:08:43 -06:00
2023-02-25 20:24:57 -06:00
< link href = "css/ui/notifications.css?v=7b152de" rel = "stylesheet" / >
2023-01-26 22:43:07 -06:00
< link href = "css/ui/workspace.css?v=2a9fdf7" rel = "stylesheet" / >
2022-12-28 19:52:14 -06:00
< link href = "css/ui/history.css?v=0b03861" rel = "stylesheet" / >
2023-01-18 17:55:04 -06:00
< link href = "css/ui/layers.css?v=1d66c2b" rel = "stylesheet" / >
2022-12-28 19:52:14 -06:00
< link href = "css/ui/toolbar.css?v=109c78f" rel = "stylesheet" / >
2022-11-29 20:08:43 -06:00
<!-- Tool Specific CSS -->
2022-12-28 19:52:14 -06:00
< link href = "css/ui/tool/dream.css?v=2d8a8ac" rel = "stylesheet" / >
< link href = "css/ui/tool/stamp.css?v=6f5ce15" rel = "stylesheet" / >
< link href = "css/ui/tool/colorbrush.css?v=57c8be5" rel = "stylesheet" / >
2022-11-29 20:08:43 -06:00
< link rel = "icon" type = "image/x-icon" href = "favicon.ico" / >
< / head >
< body >
<!-- Main Toolbar -->
< div
id="infoContainer"
class="floating-window"
style="left: 10px; top: 10px">
< div id = "infoTitleBar" class = "draggable floating-window-title" >
openOutpaint 🐠
2022-12-07 21:26:37 -06:00
< div style = "flex: 1" > < / div >
< button id = "settings-btn" class = "ui icon header-button" >
< div class = "icon-settings" > < / div >
< / button >
2022-11-29 20:08:43 -06:00
< / div >
< div id = "info" class = "menu-container" style = "min-width: 200px" >
2023-01-26 22:39:08 -06:00
< div
id="workspace-select-area"
style="display: flex; margin-bottom: 5px">
< div id = "workspace-select" > < / div >
< div class = "buttons" style = "display: flex" >
< button
id="save-workspace-btn"
class="ui inline-icon icon-save workspace-btn"
title="Save Workspace">< / button >
< button
id="rename-workspace-btn"
class="ui inline-icon icon-pencil workspace-btn"
title="Rename Workspace">< / button >
< button
id="more-workspace-btn"
class="ui inline-icon icon-more-horizontal workspace-btn"
title="More Options">< / button >
2022-12-02 12:42:09 -06:00
< div
2023-01-26 22:39:08 -06:00
id="more-workspace-menu"
class="workspace-collapsible collapsed">
< div >
< button
id="export-workspace-btn"
class="ui inline-icon icon-download workspace-btn"
title="Export Workspace">< / button >
< button
id="import-workspace-btn"
class="ui inline-icon icon-upload workspace-btn"
title="Import Workspace">< / button >
< button
id="delete-workspace-btn"
class="ui inline-icon icon-trash workspace-btn"
title="Delete Workspace">< / button >
< / div >
< div style = "width: 5px; background-color: var(--c-primary)" > < / div >
2022-12-02 11:31:49 -06:00
< / div >
2023-01-26 22:39:08 -06:00
< div style = "width: 5px; background-color: var(--c-primary)" > < / div >
< / div >
< / div >
2023-01-26 18:35:33 -06:00
< div class = "host-field-wrapper" >
< div class = "host-field" >
< div class = "label" > Host< / div >
2022-11-29 20:08:43 -06:00
< input id = "host" value = "http://127.0.0.1:7860" / >
< / div >
2023-01-26 18:35:33 -06:00
< div
id="connection-status-indicator"
class="connection-status before">
< span id = "connection-status-indicator-text" > Waiting< / span >
2022-11-29 20:08:43 -06:00
< / div >
2023-01-26 18:35:33 -06:00
< / div >
2023-01-09 22:02:19 -06:00
2022-11-29 20:08:43 -06:00
<!-- Prompts section -->
< button type = "button" class = "collapsible" > Prompts< / button >
2022-12-12 15:25:32 -06:00
< div class = "content prompt" >
< div class = "inputs" >
< div class = "prompt-wrapper" >
< div class = "prompt-indicator positive" title = "Prompt" > < / div >
< textarea id = "prompt" class = "expandable" > < / textarea >
< / div >
< div class = "prompt-wrapper" >
< div
class="prompt-indicator negative"
title="Negative Prompt">< / div >
< textarea id = "negPrompt" class = "expandable" > < / textarea >
< / div >
< div class = "prompt-wrapper" >
< div class = "prompt-indicator styles" title = "Styles" > < / div >
< div id = "style-ac-mselect" style = "flex-shrink: 1" > < / div >
< / div >
2022-11-29 20:08:43 -06:00
< / div >
2022-12-12 15:25:32 -06:00
< div class = "prompt-history-wrapper" >
< div class = "prompt-history-container" >
2022-12-12 15:27:47 -06:00
< div id = "prompt-history" > < / div >
2022-12-12 15:25:32 -06:00
< button
id="prompt-history-btn"
class="prompt-history-btn">< / button >
< / div >
2022-11-29 20:08:43 -06:00
< / div >
< / div >
<!-- SD section -->
< button type = "button" class = "collapsible" >
Stable Diffusion settings
< / button >
< div class = "content" >
2022-12-08 15:23:17 -06:00
< label > Model:< / label >
< div id = "models-ac-select" > < / div >
2023-01-15 10:31:27 -06:00
< button id = "refreshModelsBtn" onclick = "getModels(true)" >
< img
class="refreshbutton"
2023-01-20 18:04:40 -06:00
src="./res/icons/refresh-cw.svg?v=f627140"
2023-01-15 10:31:27 -06:00
alt="refresh models"
title="refresh models" />
< / button >
2022-12-08 15:23:17 -06:00
< label > Sampler:< / label >
< div id = "sampler-ac-select" > < / div >
2024-04-13 07:49:37 -05:00
< label > Scheduler:< / label >
< br / >
< select
id="schedulerSelect"
name="schedulerSelect"
onchange="changeScheduler()">
< option value = "Automatic" selected = "selected" > Automatic< / option >
< option value = "Uniform" > Uniform< / option >
< option value = "Karras" > Karras< / option >
< option value = "Exponential" > Exponential< / option >
< option value = "Polyexponential" > Polyexponential< / option >
< option value = "SGM Uniform" > SGM Uniform< / option >
< / select >
<!-- TODO scheduler isn't exposed via API that i can tell, un - hardcode when that's changed, add to localstorage settings, turn into magic type search autocomplete selectbox, disable selected attribute, all the stuff -->
< br / >
2022-11-29 20:08:43 -06:00
< label for = "seed" > Seed (-1 for random):< / label >
< br / >
< input
type="number"
id="seed"
onchange="changeSeed()"
2023-01-07 06:46:33 -06:00
min="-1"
2023-07-08 10:49:56 -05:00
max="99999999999999999999"
2022-11-29 20:08:43 -06:00
value="-1"
step="1" />
< br / >
2023-07-08 20:20:55 -05:00
< label > Lora:< / label >
< div id = "lora-ac-select" > < / div >
2023-08-25 14:44:12 -05:00
< input
type="checkbox"
id="cbxRefiner"
onchange="changeRefinerEnabled()" />
< label for = "cbxRefiner" > Enable Refiner< / label >
< br / >
< label id = "refinerModelLabel" class = "refiner" > Refiner Model< / label >
< div id = "refiner-ac-select" class = "refiner" > < / div >
<!-- <button
id="refreshRefinersBtn"
class="refiner"
onclick="getModels(true)">
< img
class="refreshbutton"
src="./res/icons/refresh-cw.svg?v=f627140"
alt="refresh refiner models"
title="refresh refiner models" />
< / button > -->
2023-08-26 06:23:47 -05:00
< div id = "refinerSwitchAt" class = "refiner" > < / div >
2022-12-03 06:53:12 -06:00
< input type = "checkbox" id = "cbxHRFix" onchange = "changeHiResFix()" / >
2023-01-05 17:42:50 -06:00
< label for = "cbxHRFix" > Apply Txt2Img HRfix< / label >
2022-12-12 18:25:02 -06:00
< br / >
2023-01-04 20:00:51 -06:00
< input
2023-01-04 23:27:02 -06:00
type="checkbox"
id="cbxHRFSquare"
onchange="changeHiResSquare()"
class="hrfix" />
2023-01-05 17:42:50 -06:00
< label for = "cbxHRFSquare" class = "hrfix" >
Square Firstpass Aspect
< / label >
2023-01-04 23:27:02 -06:00
< br class = "hrfix" / >
2023-01-04 18:00:17 -06:00
< div id = "hrFixScale" class = "hrfix" > < / div >
< div id = "hrFixLockPx" class = "hrfix" > < / div >
2023-01-04 20:00:51 -06:00
< div id = "hrFixSteps" class = "hrfix" > < / div >
2023-01-04 18:00:17 -06:00
< label id = "hrFixLabel" class = "hrfix" > Choose HRfix upscaler< / label >
< div id = "hrFixUpscaler" class = "hrfix" > < / div >
< div id = "hrDenoising" class = "hrfix" > < / div >
2024-02-21 14:40:02 -06:00
<!-- <input
2022-12-28 21:37:18 -06:00
type="checkbox"
id="cbxRestoreFaces"
onchange="changeRestoreFaces()" />
< label for = "cbxRestoreFaces" > Restore Faces< / label >
2024-02-21 14:40:02 -06:00
< br / > -->
2022-12-12 18:25:02 -06:00
< input
type="checkbox"
id="cbxSyncCursorSize"
onchange="changeSyncCursorSize()" />
< label for = "cbxSyncCursorSize" > Sync cursor size< / label >
< br / >
2022-12-03 06:53:12 -06:00
< div id = "resolution" > < / div >
2022-11-29 20:08:43 -06:00
< div id = "steps" > < / div >
< div id = "cfgScale" > < / div >
< div id = "batchSize" > < / div >
< div id = "batchCount" > < / div >
2023-01-02 13:50:28 -06:00
< 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()" />
2022-11-29 20:08:43 -06:00
< / div >
2023-07-08 10:49:56 -05:00
<!-- Extensions section -->
< button type = "button" class = "collapsible" > Extensions< / button >
< div class = "content" >
2023-07-08 12:54:17 -05:00
< input
2023-07-08 10:49:56 -05:00
type="checkbox"
id="cbxDynPrompts"
onchange="changeDynamicPromptsExtension()"
disabled="disabled" />
< label for = "cbxDynPrompts" > Dynamic Prompts< / label >
2023-07-08 12:54:17 -05:00
< br / >
2023-07-08 10:49:56 -05:00
< input
type="checkbox"
id="cbxControlNet"
onchange="changeControlNetExtension()"
disabled="disabled" />
< label for = "cbxControlNet" > ControlNet In/Outpainting< / label >
2023-07-15 12:10:45 -05:00
< br class = "controlNetElement" / >
< label id = "cnModuleLabel" class = "controlNetElement" >
Inpaint Preprocessor
2023-07-08 12:54:17 -05:00
< / label >
2023-07-15 12:10:45 -05:00
< div id = "controlNetModule-ac-select" class = "controlNetElement" > < / div >
< label id = "cnModelLabel" class = "controlNetElement" > Model< / label >
< div id = "controlNetModel-ac-select" class = "controlNetElement" > < / div >
< label id = "cnControlLabel" class = "controlNetElement" >
Inpaint Mode
2023-07-08 10:49:56 -05:00
< / label >
2023-07-15 12:10:45 -05:00
< select id = "controlNetMode-select" class = "controlNetElement" >
2023-07-08 17:45:47 -05:00
< option value = "Balanced" > balanced< / option >
< option value = "My prompt is more important" > +prompt< / option >
< option value = "ControlNet is more important" > +CN< / option >
< / select >
2023-07-15 12:10:45 -05:00
< br class = "controlNetElement" / >
< label id = "cnResizeLabel" class = "controlNetElement" >
2023-07-08 17:45:47 -05:00
Resize Mode
< / label >
2023-07-15 12:10:45 -05:00
< select id = "controlNetResize-select" class = "controlNetElement" >
2023-07-08 17:45:47 -05:00
< option value = "Just Resize" > resize< / option >
< option value = "Crop and Resize" > +crop< / option >
< option value = "Resize and Fill" > +fill< / option >
2023-07-08 12:54:17 -05:00
< / select >
2023-07-15 12:10:45 -05:00
< br class = "controlNetElement" / >
< input
type="checkbox"
id="cbxControlNetReferenceLayer"
onchange="changeControlNetReference()"
class="controlNetElement" />
< label for = "cbxControlNetReferenceLayer" class = "controlNetElement" >
Reference as 1st CN Unit
< / label >
< br class = "controlNetReferenceElement" / >
< label id = "cnReferenceModuleLabel" class = "controlNetReferenceElement" >
Reference Preprocessor
< / label >
< div
id="controlNetReferenceModule-ac-select"
class="controlNetReferenceElement">< / div >
< div
id="controlNetReferenceFidelity"
class="controlNetReferenceElement">< / div >
< label id = "cnResizeLabel" class = "controlNetReferenceElement" >
Reference Mode
< / label >
< select
id="controlNetReferenceMode-select"
class="controlNetReferenceElement">
< option value = "Balanced" > balanced< / option >
< option value = "My prompt is more important" > +prompt< / option >
< option value = "ControlNet is more important" > +CN< / option >
< / select >
2023-07-08 10:49:56 -05:00
< / div >
2022-11-29 20:08:43 -06:00
<!-- Save/load image section -->
< button type = "button" class = "collapsible" > Save/Upscaling< / button >
< div class = "content" >
< button onclick = "downloadCanvas()" > Save canvas< / button >
< br / >
2022-12-08 15:23:17 -06:00
< label > Choose upscaler< / label >
< div id = "upscaler-ac-select" > < / div >
2022-12-06 21:30:00 -06:00
< div id = "upscaleX" > < / div >
2024-01-04 07:36:59 -06:00
< button onclick = "upscaleAndDownload(true,false)" >
Upscale (and download)
< / button >
< button onclick = "upscaleAndDownload(false,true)" >
Upscale (to resource)
2022-11-29 20:08:43 -06:00
< / button >
< br / >
< button onclick = "newImage()" > Clear canvas< / button >
< / div >
<!-- Debug 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 / >
2022-12-01 20:31:49 -06:00
< button id = "resetToDefaults" onclick = "resetToDefaults()" >
Reset to defaults
< / button >
2022-12-24 08:56:30 -06:00
< button id = "toggleDebugBtn" onclick = "global.toggledebug()" >
Toggle Debug
< / button >
2022-12-01 20:31:49 -06:00
< br / >
2022-11-29 20:08:43 -06:00
< span id = "version" >
< a href = "https://github.com/zero01101/openOutpaint" target = "_blank" >
2024-04-13 07:49:37 -05:00
v20240413.001
2022-11-29 20:08:43 -06:00
< / a >
2023-01-06 14:16:51 -06:00
< br / >
< a
href="https://github.com/zero01101/openOutpaint/wiki/Manual"
target="_blank">
User Manual
< / a >
2022-11-29 20:08:43 -06:00
< / span >
< br / >
<!-- <hr /> -->
< / div >
< div style = "display: flex; align-items: center" >
< div
style="
flex: 1;
border-top: 1px black solid;
margin-right: 10px;
">< / div >
Context Menu
< div
style="
flex: 1;
border-top: 1px black solid;
margin-left: 10px;
">< / div >
< / div >
< div id = "tool-context" class = "context-menu" > < / div >
< / div >
< / div >
<!-- History -->
< div id = "ui-history" class = "floating-window" style = "right: 10px; top: 10px" >
2023-01-24 20:37:38 -06:00
< div class = "draggable floating-window-title" >
History
< div style = "flex: 1" > < / div >
2023-01-26 18:35:33 -06:00
< button
id="history-logs-btn"
class="ui icon header-button"
title="Generate History Log">
2023-01-24 20:37:38 -06:00
< div class = "icon-scroll" > < / div >
< / button >
< / div >
2022-11-29 20:08:43 -06:00
< div class = "menu-container" style = "min-width: 200px" >
< div id = "history" class = "history" > < / div >
< div class = "button-array" style = "padding: 10px" >
< button type = "button" onclick = "commands.undo()" class = "button tool" >
undo
< / button >
< button type = "button" onclick = "commands.redo()" class = "button tool" >
redo
< / button >
< / div >
< / div >
< / div >
2022-12-04 05:00:39 -06:00
<!-- Layers -->
< div
id="ui-layers"
class="floating-window"
style="right: 10px; bottom: 10px">
2023-04-05 17:02:28 -05:00
< div class = "draggable floating-window-title" >
Layers
< div style = "flex: 1" > < / div >
< button
id="unzoom-btn"
class="ui icon header-button"
title="Reset Zoom to 1x"
onclick="unzoom()">
< div class = "icon-unzoom" > < / div >
< / button >
< / div >
2022-12-04 05:00:39 -06:00
< div class = "menu-container" style = "min-width: 200px" >
2022-12-04 13:22:35 -06:00
< div class = "layer-manager" >
< div id = "layer-list" class = "layer-list" > < / div >
< div class = "ui separator" > < / div >
< div class = "layer-list-actions" >
< button
type="button"
title="Add Layer"
2023-01-23 16:24:50 -06:00
onclick="commands.runCommand('addLayer', 'Added Layer', {})"
2022-12-04 13:22:35 -06:00
class="ui icon button">
< div class = "icon-file-plus" > < / div >
< / button >
< button
type="button"
title="Move Layer Up"
2022-12-05 20:22:19 -06:00
onclick="commands.runCommand('moveLayer', 'Moved Layer Up',{delta: 1})"
2022-12-04 13:22:35 -06:00
class="ui icon button">
< div class = "icon-chevron-up" > < / div >
< / button >
< button
type="button"
title="Move Layer Down"
2022-12-05 20:22:19 -06:00
onclick="commands.runCommand('moveLayer', 'Moved Layer Down', {delta: -1})"
2022-12-04 13:22:35 -06:00
class="ui icon button">
< div class = "icon-chevron-down" > < / div >
< / button >
2022-12-05 20:22:19 -06:00
< button
type="button"
title="Merge Layer Down"
onclick="commands.runCommand('mergeLayer', 'Merged Layer Down')"
class="ui icon button">
< div class = "icon-chevron-flat-down" > < / div >
< / button >
< button
type="button"
2022-12-06 18:05:43 -06:00
title="Delete Layer"
2022-12-05 20:22:19 -06:00
onclick="commands.runCommand('deleteLayer', 'Deleted Layer')"
class="ui icon button">
< div class = "icon-file-x" > < / div >
< / button >
2022-12-04 13:22:35 -06:00
< / div >
< / div >
2022-12-04 05:00:39 -06:00
< / div >
< / div >
2023-01-22 13:29:24 -06:00
<!-- Scripts -->
2023-01-20 18:53:16 -06:00
< div
id="ui-script"
class="floating-window"
2023-04-05 17:02:28 -05:00
style="right: 10px; top: 330px; display: none">
2023-01-22 13:29:24 -06:00
< div class = "draggable floating-window-title" > Script< / div >
2023-01-20 12:27:34 -06:00
< div class = "menu-container" style = "min-width: 200px" >
2023-01-22 13:29:24 -06:00
< div id = "script-select" class = "script-select" >
< select id = "script-selector" onchange = "changeScript(event)" >
2023-02-19 09:49:48 -06:00
<!-- <option id="no_selected_script" value="">Select a script...</option>
< option id = "custom" value = "custom" > Custom< / option > -->
2023-01-22 13:29:24 -06:00
< / select >
2023-02-25 07:30:52 -06:00
<!-- <button
2023-02-19 09:49:48 -06:00
id="save-custom-script"
disabled="disabled"
title="Save custom script"
onclick="saveCustomScript()">
< image src = "./res/icons/save.svg" width = "60%" > < / image >
2023-02-25 07:30:52 -06:00
< / button > -->
2023-01-22 13:29:24 -06:00
< / div >
2023-01-20 12:27:34 -06:00
< div id = "script-name" class = "script-name" >
2023-03-10 16:15:57 -06:00
< label for = "script-name-input" > Script Name:< / label >
2023-01-20 12:27:34 -06:00
< br / >
2023-02-25 07:30:52 -06:00
< input
id="script-name-input"
disabled="disabled"
onfocusout="storeUserscriptVal(event, 'name')" />
2023-01-20 12:27:34 -06:00
< br / >
< / div >
2023-01-20 18:53:16 -06:00
< div id = "script-args" class = "script-args" >
< label for = "script-args-input" > Script Args List:< / label >
2023-01-20 12:27:34 -06:00
< br / >
2023-02-25 07:30:52 -06:00
< textarea
id="script-args-input"
onfocusout="storeUserscriptVal(event, 'args')">< / textarea >
2023-01-20 12:27:34 -06:00
< br / >
< / div >
< / div >
< / div >
2022-11-29 20:08:43 -06:00
<!-- Toolbar -->
< div
id="ui-toolbar"
class="floating-window toolbar"
2022-12-04 05:00:39 -06:00
style="right: 270px; top: 10px">
2022-11-29 20:08:43 -06:00
< div class = "draggable handle" >
< span class = "line" > < / span >
< / div >
< div class = "lock-indicator" id = "toolbar-lock-indicator" > < / div >
< div class = "toolbar-section" > < / div >
< / div >
<!-- Canvases -->
2022-11-29 20:54:09 -06:00
< div id = "layer-render" class = "layer-render-target" > < / div >
2022-11-29 20:08:43 -06:00
2022-12-04 13:22:35 -06:00
<!-- Overlay -->
2023-01-08 15:21:08 -06:00
< canvas id = "layer-overlay" class = "overlay-canvas" > < / canvas >
< canvas id = "layer-debug-overlay" class = "overlay-canvas" > < / canvas >
2022-12-04 13:22:35 -06:00
2022-12-07 21:26:37 -06:00
<!-- Page Overlay -->
< div id = "page-overlay-wrapper" class = "page-overlay invisible" >
< div class = "page-overlay-window" >
< div class = "title" >
Settings
< button id = "settings-btn-close" class = "close" > < / button >
< / div >
< div class = "ui separator" > < / div >
2023-01-02 00:49:02 -06:00
< iframe
id="page-overlay"
2023-01-20 18:04:40 -06:00
src="pages/configuration.html?v=fdbd833">< / iframe >
2022-12-07 21:26:37 -06:00
< / div >
< / div >
2022-12-27 15:08:06 -06:00
<!-- Basics -->
2023-01-16 21:03:43 -06:00
< script src = "js/global.js?v=ac30d16" type = "text/javascript" > < / script >
2023-01-07 06:46:33 -06:00
< script src = "js/defaults.js?v=5b06818" type = "text/javascript" > < / script >
2024-02-21 14:40:02 -06:00
< script src = "js/extensions.js?v=5102854" type = "text/javascript" > < / script >
2022-12-27 15:05:09 -06:00
2022-11-29 20:08:43 -06:00
<!-- Base Libs -->
2023-02-18 12:00:10 -06:00
< script src = "js/lib/util.js?v=379aef7" type = "text/javascript" > < / script >
2023-02-14 21:04:01 -06:00
< script
2023-02-25 20:24:57 -06:00
src="js/lib/notifications.js?v=270db88"
2023-02-14 21:04:01 -06:00
type="text/javascript">< / script >
2022-12-28 19:52:14 -06:00
< script src = "js/lib/events.js?v=2ab7933" type = "text/javascript" > < / script >
2023-01-26 22:43:07 -06:00
< script src = "js/lib/db.js?v=434363b" type = "text/javascript" > < / script >
2023-01-21 10:06:21 -06:00
< script src = "js/lib/input.js?v=769485c" type = "text/javascript" > < / script >
2023-02-18 12:56:06 -06:00
< script src = "js/lib/layers.js?v=26b7436" type = "text/javascript" > < / script >
2023-01-26 22:43:07 -06:00
< script src = "js/lib/commands.js?v=ad60afc" type = "text/javascript" > < / script >
2022-11-29 20:54:09 -06:00
2023-02-19 09:41:46 -06:00
< script src = "js/lib/toolbar.js?v=4fcf718" type = "text/javascript" > < / script >
2023-01-26 22:43:07 -06:00
< script src = "js/lib/ui.js?v=17014b3" type = "text/javascript" > < / script >
2022-11-29 20:54:09 -06:00
< script
2023-01-22 06:18:47 -06:00
src="js/initalize/layers.populate.js?v=066dc8e"
2022-11-29 20:54:09 -06:00
type="text/javascript">< / script >
2022-12-27 15:08:06 -06:00
<!-- Configuration -->
2023-02-25 20:24:57 -06:00
< script src = "js/config.js?v=9747005" type = "text/javascript" > < / script >
2023-01-18 17:55:04 -06:00
< script src = "js/theme.js?v=435cc1b" type = "text/javascript" > < / script >
2022-12-27 15:08:06 -06:00
2022-11-29 20:08:43 -06:00
<!-- Content -->
2022-12-28 19:52:14 -06:00
< script src = "js/prompt.js?v=7a1c68c" type = "text/javascript" > < / script >
2024-04-13 07:49:37 -05:00
< script src = "js/index.js?v=6e33053" type = "text/javascript" > < / script >
2022-12-12 15:25:32 -06:00
2022-12-28 19:56:54 -06:00
< script
2023-01-26 22:43:07 -06:00
src="js/ui/floating/history.js?v=4f29db4"
2022-12-28 19:56:54 -06:00
type="text/javascript">< / script >
< script
2023-04-05 17:02:28 -05:00
src="js/ui/floating/layers.js?v=3f5807f"
2022-12-28 19:56:54 -06:00
type="text/javascript">< / script >
2022-11-29 20:08:43 -06:00
<!-- Load Tools -->
2022-12-28 19:56:54 -06:00
< script
2023-01-12 20:41:01 -06:00
src="js/ui/tool/generic.js?v=3e678e0"
2022-12-28 19:56:54 -06:00
type="text/javascript">< / script >
2022-12-15 06:43:26 -06:00
2024-03-02 07:20:22 -06:00
< script src = "js/ui/tool/dream.js?v=56c7c50" type = "text/javascript" > < / script >
2022-12-28 19:56:54 -06:00
< script
2023-02-19 09:41:46 -06:00
src="js/ui/tool/maskbrush.js?v=e9bd0eb"
2022-12-28 19:56:54 -06:00
type="text/javascript">< / script >
< script
2023-02-25 09:06:50 -06:00
src="js/ui/tool/colorbrush.js?v=84ff9fa"
2022-12-28 19:56:54 -06:00
type="text/javascript">< / script >
< script
2023-12-16 06:28:35 -06:00
src="js/ui/tool/select.js?v=76df58e"
2022-12-28 19:56:54 -06:00
type="text/javascript">< / script >
2024-02-20 07:14:36 -06:00
< script src = "js/ui/tool/stamp.js?v=fdca5bc" type = "text/javascript" > < / script >
2022-12-28 19:56:54 -06:00
< script
2023-02-25 20:24:57 -06:00
src="js/ui/tool/interrogate.js?v=dd45b4a"
2022-12-28 19:56:54 -06:00
type="text/javascript">< / script >
2022-11-29 20:08:43 -06:00
2022-11-29 20:54:09 -06:00
<!-- Initialize -->
2023-01-26 22:39:08 -06:00
< script
2023-07-09 08:37:07 -05:00
src="js/initalize/workspace.populate.js?v=925431d"
2023-01-26 22:39:08 -06:00
type="text/javascript">< / script >
2022-12-01 15:10:30 -06:00
< script
2023-08-31 07:55:12 -05:00
src="js/initalize/shortcuts.populate.js?v=98e7502"
2022-12-01 15:10:30 -06:00
type="text/javascript">< / script >
2022-11-29 20:54:09 -06:00
< script
2022-12-28 19:52:14 -06:00
src="js/initalize/toolbar.populate.js?v=c1ca438"
2022-11-29 20:54:09 -06:00
type="text/javascript">< / script >
< script
2023-01-12 20:03:15 -06:00
src="js/initalize/debug.populate.js?v=64ad17f"
2022-11-29 20:54:09 -06:00
type="text/javascript">< / script >
2022-12-28 19:56:54 -06:00
< script
src="js/initalize/ui.populate.js?v=b59b288"
type="text/javascript">< / script >
2022-12-19 06:30:39 -06:00
<!-- Deals with webui communication -->
2023-02-14 21:44:10 -06:00
< script src = "js/webui.js?v=ccd423a" type = "text/javascript" > < / script >
2022-11-29 20:08:43 -06:00
< / body >
< / html >