import { n as noop, a as safe_not_equal, c as create_ssr_component, b as subscribe, d as each, e as escape, f as add_attribute, g as set_store_value, v as validate_component } from "../../chunks/index-445fd704.js";
import { b as base } from "../../chunks/paths-396f020f.js";
import "nanoid";
import "px-brush";
const COLOR_LIST = [
{ color: [219, 14, 154], label: "building" },
{ color: [147, 142, 123], label: "pervious surface" },
{ color: [248, 12, 0], label: "impervious surface" },
{ color: [169, 113, 1], label: "bare soil" },
{ color: [21, 83, 174], label: "water" },
{ color: [25, 74, 38], label: "coniferous" },
{ color: [70, 228, 131], label: "deciduous" },
{ color: [243, 166, 13], label: "brushwood" },
{ color: [102, 0, 130], label: "vineyard" },
{ color: [85, 255, 0], label: "herbaceous vegetation" },
{ color: [255, 243, 13], label: "agricultural land" },
{ color: [228, 223, 124], label: "plowed land" },
{ color: [61, 230, 235], label: "swimming pool" },
{ color: [255, 255, 255], label: "snow" },
{ color: [138, 179, 160], label: "clear cut" },
{ color: [107, 113, 79], label: "mixed" }
];
const IMAGES_LIST = [
"/samples/default.jpg",
"/samples/example0.png",
"/samples/example1.png",
"/samples/example2.png",
"/samples/example3.png",
"/samples/example4.png",
"/samples/example5.png",
"/samples/example6.jpg"
];
const PRESETS = [
["", "None"],
["Watercolors", "Watercolors"],
["Colorful lego bricks", "Lego brick"],
["Black and white paper pencil drawing", "Pencil"],
["Oil on canvas painting", "Painting"]
];
const subscriber_queue = [];
function writable(value, start = noop) {
let stop;
const subscribers = /* @__PURE__ */ new Set();
function set(new_value) {
if (safe_not_equal(value, new_value)) {
value = new_value;
if (stop) {
const run_queue = !subscriber_queue.length;
for (const subscriber of subscribers) {
subscriber[1]();
subscriber_queue.push(subscriber, value);
}
if (run_queue) {
for (let i = 0; i < subscriber_queue.length; i += 2) {
subscriber_queue[i][0](subscriber_queue[i + 1]);
}
subscriber_queue.length = 0;
}
}
}
}
function update(fn) {
set(fn(value));
}
function subscribe2(run, invalidate = noop) {
const subscriber = [run, invalidate];
subscribers.add(subscriber);
if (subscribers.size === 1) {
stop = start(set) || noop;
}
run(value);
return () => {
subscribers.delete(subscriber);
if (subscribers.size === 0) {
stop();
stop = null;
}
};
}
return { set, update, subscribe: subscribe2 };
}
function randomSeed() {
return BigInt(13248873089935215e3 & ((1 << 63) - 1) * Math.random());
}
const drawingLayers = writable(/* @__PURE__ */ new Map());
const resultImage = writable();
const currentCanvas = writable();
const selectedImage = writable();
const selectedBrush = writable();
const selectedParams = writable({
prompt: "Aerial view of rue des Lilas, Toulouse, Haute-Garonne, France",
modifier: PRESETS[0][0],
seed: randomSeed(),
steps: 20
});
const generateMap = writable(false);
const saveResult = writable(false);
var TemplateGallery_svelte_svelte_type_style_lang = /* @__PURE__ */ (() => "form.svelte-1gwcbp.svelte-1gwcbp{width:100%;overflow:hidden\n}.samples.svelte-1gwcbp.svelte-1gwcbp{display:flex;scroll-snap-type:x var(--tw-scroll-snap-strictness);--tw-scroll-snap-strictness:mandatory;flex-wrap:nowrap;gap:0.25rem;overflow-x:scroll;-ms-overflow-style:none;scrollbar-width:none\n}.samples.svelte-1gwcbp.svelte-1gwcbp::-webkit-scrollbar{display:none\n}input[type='radio'].svelte-1gwcbp.svelte-1gwcbp{position:absolute;display:none;height:0px;width:0px;opacity:0\n}input[type='radio'].svelte-1gwcbp.svelte-1gwcbp:disabled{opacity:0.5\n}input[type='radio'].svelte-1gwcbp:checked~label.svelte-1gwcbp{outline-style:solid;outline-width:2px;outline-color:#eab308\n}input[type='radio'].svelte-1gwcbp:disabled+label.svelte-1gwcbp{opacity:0.5\n}label.svelte-1gwcbp.svelte-1gwcbp{display:flex;cursor:pointer;outline-width:2px;outline-offset:-2px;outline-color:#eab308;transition-property:all;transition-duration:200ms;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1)\n}label.svelte-1gwcbp.svelte-1gwcbp:hover{outline-style:solid\n}img.svelte-1gwcbp.svelte-1gwcbp{max-height:6rem;max-width:none\n}")();
const css$5 = {
code: "form.svelte-1gwcbp.svelte-1gwcbp{width:100%;overflow:hidden\n}.samples.svelte-1gwcbp.svelte-1gwcbp{display:flex;scroll-snap-type:x var(--tw-scroll-snap-strictness);--tw-scroll-snap-strictness:mandatory;flex-wrap:nowrap;gap:0.25rem;overflow-x:scroll;-ms-overflow-style:none;scrollbar-width:none\n}.samples.svelte-1gwcbp.svelte-1gwcbp::-webkit-scrollbar{display:none\n}input[type='radio'].svelte-1gwcbp.svelte-1gwcbp{position:absolute;display:none;height:0px;width:0px;opacity:0\n}input[type='radio'].svelte-1gwcbp.svelte-1gwcbp:disabled{opacity:0.5\n}input[type='radio'].svelte-1gwcbp:checked~label.svelte-1gwcbp{outline-style:solid;outline-width:2px;outline-color:#eab308\n}input[type='radio'].svelte-1gwcbp:disabled+label.svelte-1gwcbp{opacity:0.5\n}label.svelte-1gwcbp.svelte-1gwcbp{display:flex;cursor:pointer;outline-width:2px;outline-offset:-2px;outline-color:#eab308;transition-property:all;transition-duration:200ms;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1)\n}label.svelte-1gwcbp.svelte-1gwcbp:hover{outline-style:solid\n}img.svelte-1gwcbp.svelte-1gwcbp{max-height:6rem;max-width:none\n}",
map: null
};
const TemplateGallery = create_ssr_component(($$result, $$props, $$bindings, slots) => {
let $$unsubscribe_selectedImage;
let $generateMap, $$unsubscribe_generateMap;
$$unsubscribe_selectedImage = subscribe(selectedImage, (value) => value);
$$unsubscribe_generateMap = subscribe(generateMap, (value) => $generateMap = value);
$$result.css.add(css$5);
$$unsubscribe_selectedImage();
$$unsubscribe_generateMap();
return `
`;
});
var BrushSelector_svelte_svelte_type_style_lang = /* @__PURE__ */ (() => ".colors.svelte-1oy4poo.svelte-1oy4poo{display:grid;max-height:9rem;scroll-snap-type:y var(--tw-scroll-snap-strictness);--tw-scroll-snap-strictness:mandatory;grid-template-columns:repeat(2, minmax(0, 1fr));gap:0.5rem;overflow:scroll\n}@media(min-width: 530px){.colors.svelte-1oy4poo.svelte-1oy4poo{max-height:none;grid-template-columns:repeat(3, minmax(0, 1fr))\n }}.colors.svelte-1oy4poo span.svelte-1oy4poo{margin-left:0.5rem\n}.colors.svelte-1oy4poo svg.svelte-1oy4poo{display:block\n}input[type='radio'].svelte-1oy4poo.svelte-1oy4poo{position:absolute;display:none;height:0px;width:0px;opacity:0\n}input[type='radio'].svelte-1oy4poo:checked~label.svelte-1oy4poo{outline-style:solid;outline-width:2px;outline-color:#eab308\n}label.svelte-1oy4poo.svelte-1oy4poo{display:flex;cursor:pointer;white-space:nowrap;outline-width:2px;outline-offset:-2px;outline-color:#eab308;transition-property:all;transition-duration:200ms;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1)\n}label.svelte-1oy4poo.svelte-1oy4poo:hover{outline-style:solid\n}.brush.svelte-1oy4poo.svelte-1oy4poo{display:flex\n}")();
const css$4 = {
code: ".colors.svelte-1oy4poo.svelte-1oy4poo{display:grid;max-height:9rem;scroll-snap-type:y var(--tw-scroll-snap-strictness);--tw-scroll-snap-strictness:mandatory;grid-template-columns:repeat(2, minmax(0, 1fr));gap:0.5rem;overflow:scroll\n}@media(min-width: 530px){.colors.svelte-1oy4poo.svelte-1oy4poo{max-height:none;grid-template-columns:repeat(3, minmax(0, 1fr))\n }}.colors.svelte-1oy4poo span.svelte-1oy4poo{margin-left:0.5rem\n}.colors.svelte-1oy4poo svg.svelte-1oy4poo{display:block\n}input[type='radio'].svelte-1oy4poo.svelte-1oy4poo{position:absolute;display:none;height:0px;width:0px;opacity:0\n}input[type='radio'].svelte-1oy4poo:checked~label.svelte-1oy4poo{outline-style:solid;outline-width:2px;outline-color:#eab308\n}label.svelte-1oy4poo.svelte-1oy4poo{display:flex;cursor:pointer;white-space:nowrap;outline-width:2px;outline-offset:-2px;outline-color:#eab308;transition-property:all;transition-duration:200ms;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1)\n}label.svelte-1oy4poo.svelte-1oy4poo:hover{outline-style:solid\n}.brush.svelte-1oy4poo.svelte-1oy4poo{display:flex\n}",
map: null
};
const STARTCOLORID = 6;
const BrushSelector = create_ssr_component(($$result, $$props, $$bindings, slots) => {
let $selectedBrush, $$unsubscribe_selectedBrush;
$$unsubscribe_selectedBrush = subscribe(selectedBrush, (value) => $selectedBrush = value);
const { color, label } = COLOR_LIST[STARTCOLORID];
let brushColor = `rgb(${color.join(",")})`;
let brushSize = 40;
set_store_value(selectedBrush, $selectedBrush = {
color: brushColor,
size: brushSize,
label
}, $selectedBrush);
$$result.css.add(css$4);
$$unsubscribe_selectedBrush();
return ``;
});
var ParamsSelector_svelte_svelte_type_style_lang = /* @__PURE__ */ (() => "@media(min-width: 530px){}select.svelte-7to72y.svelte-7to72y,button.svelte-7to72y.svelte-7to72y,input.svelte-7to72y.svelte-7to72y{border-radius:0.5rem;border-width:1px;--tw-border-opacity:1;border-color:rgb(209 213 219 / var(--tw-border-opacity));--tw-bg-opacity:1;background-color:rgb(249 250 251 / var(--tw-bg-opacity));padding:0.25rem;font-size:0.875rem;line-height:1.25rem;--tw-text-opacity:1;color:rgb(17 24 39 / var(--tw-text-opacity))\n}select.svelte-7to72y.svelte-7to72y:focus,button.svelte-7to72y.svelte-7to72y:focus,input.svelte-7to72y.svelte-7to72y:focus{--tw-border-opacity:1;border-color:rgb(59 130 246 / var(--tw-border-opacity));--tw-ring-opacity:1;--tw-ring-color:rgb(59 130 246 / var(--tw-ring-opacity))\n}select.svelte-7to72y.svelte-7to72y:disabled,button.svelte-7to72y.svelte-7to72y:disabled,input.svelte-7to72y.svelte-7to72y:disabled{opacity:0.5\n}@media(prefers-color-scheme: dark){select.svelte-7to72y.svelte-7to72y,button.svelte-7to72y.svelte-7to72y,input.svelte-7to72y.svelte-7to72y{--tw-border-opacity:1;border-color:rgb(209 213 219 / var(--tw-border-opacity));--tw-bg-opacity:1;background-color:rgb(249 250 251 / var(--tw-bg-opacity))\n }select.svelte-7to72y.svelte-7to72y:focus,button.svelte-7to72y.svelte-7to72y:focus,input.svelte-7to72y.svelte-7to72y:focus{--tw-border-opacity:1;border-color:rgb(59 130 246 / var(--tw-border-opacity));--tw-ring-opacity:1;--tw-ring-color:rgb(59 130 246 / var(--tw-ring-opacity))\n }}input.svelte-7to72y:disabled+label.svelte-7to72y{opacity:0.5\n}input.svelte-7to72y.svelte-7to72y{padding-left:0.75rem\n}")();
const css$3 = {
code: "@media(min-width: 530px){}select.svelte-7to72y.svelte-7to72y,button.svelte-7to72y.svelte-7to72y,input.svelte-7to72y.svelte-7to72y{border-radius:0.5rem;border-width:1px;--tw-border-opacity:1;border-color:rgb(209 213 219 / var(--tw-border-opacity));--tw-bg-opacity:1;background-color:rgb(249 250 251 / var(--tw-bg-opacity));padding:0.25rem;font-size:0.875rem;line-height:1.25rem;--tw-text-opacity:1;color:rgb(17 24 39 / var(--tw-text-opacity))\n}select.svelte-7to72y.svelte-7to72y:focus,button.svelte-7to72y.svelte-7to72y:focus,input.svelte-7to72y.svelte-7to72y:focus{--tw-border-opacity:1;border-color:rgb(59 130 246 / var(--tw-border-opacity));--tw-ring-opacity:1;--tw-ring-color:rgb(59 130 246 / var(--tw-ring-opacity))\n}select.svelte-7to72y.svelte-7to72y:disabled,button.svelte-7to72y.svelte-7to72y:disabled,input.svelte-7to72y.svelte-7to72y:disabled{opacity:0.5\n}@media(prefers-color-scheme: dark){select.svelte-7to72y.svelte-7to72y,button.svelte-7to72y.svelte-7to72y,input.svelte-7to72y.svelte-7to72y{--tw-border-opacity:1;border-color:rgb(209 213 219 / var(--tw-border-opacity));--tw-bg-opacity:1;background-color:rgb(249 250 251 / var(--tw-bg-opacity))\n }select.svelte-7to72y.svelte-7to72y:focus,button.svelte-7to72y.svelte-7to72y:focus,input.svelte-7to72y.svelte-7to72y:focus{--tw-border-opacity:1;border-color:rgb(59 130 246 / var(--tw-border-opacity));--tw-ring-opacity:1;--tw-ring-color:rgb(59 130 246 / var(--tw-ring-opacity))\n }}input.svelte-7to72y:disabled+label.svelte-7to72y{opacity:0.5\n}input.svelte-7to72y.svelte-7to72y{padding-left:0.75rem\n}",
map: null
};
const ParamsSelector = create_ssr_component(($$result, $$props, $$bindings, slots) => {
let $selectedParams, $$unsubscribe_selectedParams;
let $generateMap, $$unsubscribe_generateMap;
$$unsubscribe_selectedParams = subscribe(selectedParams, (value) => $selectedParams = value);
$$unsubscribe_generateMap = subscribe(generateMap, (value) => $generateMap = value);
let form;
let seed = $selectedParams.seed;
let sampleSteps = $selectedParams.steps;
let prompt = $selectedParams.prompt;
let modifier = $selectedParams.modifier;
$$result.css.add(css$3);
$$unsubscribe_selectedParams();
$$unsubscribe_generateMap();
return ``;
});
const Undo = create_ssr_component(($$result, $$props, $$bindings, slots) => {
let { classNames = "" } = $$props;
if ($$props.classNames === void 0 && $$bindings.classNames && classNames !== void 0)
$$bindings.classNames(classNames);
return ``;
});
var DrawingCanvas_svelte_svelte_type_style_lang = /* @__PURE__ */ (() => ".canvas.svelte-vhujxn{z-index:0;aspect-ratio:512/512;width:100%;max-width:100%;border-width:1px;--tw-border-opacity:1;border-color:rgb(107 114 128 / var(--tw-border-opacity))\n}.brush.svelte-vhujxn{pointer-events:none;position:absolute;z-index:10;--tw-translate-x:-50%;--tw-translate-y:-50%;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))\n}.label.svelte-vhujxn{pointer-events:none;position:absolute;top:0px;left:0px;z-index:20;-webkit-user-select:none;-moz-user-select:none;user-select:none;padding-left:0.5rem;padding-right:0.5rem;font-size:1rem;line-height:1.5rem;--tw-text-opacity:1;color:rgb(255 255 255 / var(--tw-text-opacity));color:white;font-weight:bolder;-webkit-text-stroke:1px black;-webkit-text-fill-color:white\n}")();
const css$2 = {
code: ".canvas.svelte-vhujxn{z-index:0;aspect-ratio:512/512;width:100%;max-width:100%;border-width:1px;--tw-border-opacity:1;border-color:rgb(107 114 128 / var(--tw-border-opacity))\n}.brush.svelte-vhujxn{pointer-events:none;position:absolute;z-index:10;--tw-translate-x:-50%;--tw-translate-y:-50%;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))\n}.label.svelte-vhujxn{pointer-events:none;position:absolute;top:0px;left:0px;z-index:20;-webkit-user-select:none;-moz-user-select:none;user-select:none;padding-left:0.5rem;padding-right:0.5rem;font-size:1rem;line-height:1.5rem;--tw-text-opacity:1;color:rgb(255 255 255 / var(--tw-text-opacity));color:white;font-weight:bolder;-webkit-text-stroke:1px black;-webkit-text-fill-color:white\n}",
map: null
};
function drawImage(ctx, img) {
ctx.drawImage(img, 0, 0, ctx.canvas.width, ctx.canvas.height);
}
const DrawingCanvas = create_ssr_component(($$result, $$props, $$bindings, slots) => {
let $drawingLayers, $$unsubscribe_drawingLayers;
let $selectedImage, $$unsubscribe_selectedImage;
let $selectedBrush, $$unsubscribe_selectedBrush;
let $$unsubscribe_currentCanvas;
$$unsubscribe_drawingLayers = subscribe(drawingLayers, (value) => $drawingLayers = value);
$$unsubscribe_selectedImage = subscribe(selectedImage, (value) => $selectedImage = value);
$$unsubscribe_selectedBrush = subscribe(selectedBrush, (value) => $selectedBrush = value);
$$unsubscribe_currentCanvas = subscribe(currentCanvas, (value) => value);
let canvas;
let brush;
let ctx;
$$result.css.add(css$2);
{
{
if ($selectedImage) {
drawImage(ctx, $selectedImage);
set_store_value(drawingLayers, $drawingLayers = /* @__PURE__ */ new Map(), $drawingLayers);
}
}
}
$$unsubscribe_drawingLayers();
$$unsubscribe_selectedImage();
$$unsubscribe_selectedBrush();
$$unsubscribe_currentCanvas();
return `
${escape($selectedBrush == null ? void 0 : $selectedBrush.label)}
`;
});
var ResultCanvas_svelte_svelte_type_style_lang = /* @__PURE__ */ (() => ".image.svelte-1t0h0rs{z-index:0;box-sizing:border-box;aspect-ratio:512/512;border-width:1px;--tw-border-opacity:1;border-color:rgb(107 114 128 / var(--tw-border-opacity))\n}@media(prefers-color-scheme: dark){.image.svelte-1t0h0rs{--tw-border-opacity:1;border-color:rgb(209 213 219 / var(--tw-border-opacity))\n }}.loading.svelte-1t0h0rs{position:absolute;top:0px;left:0px;right:0px;bottom:0px;display:flex;flex-direction:column;align-items:center;justify-content:center\n}")();
const css$1 = {
code: ".image.svelte-1t0h0rs{z-index:0;box-sizing:border-box;aspect-ratio:512/512;border-width:1px;--tw-border-opacity:1;border-color:rgb(107 114 128 / var(--tw-border-opacity))\n}@media(prefers-color-scheme: dark){.image.svelte-1t0h0rs{--tw-border-opacity:1;border-color:rgb(209 213 219 / var(--tw-border-opacity))\n }}.loading.svelte-1t0h0rs{position:absolute;top:0px;left:0px;right:0px;bottom:0px;display:flex;flex-direction:column;align-items:center;justify-content:center\n}",
map: null
};
let predictStatus = "";
async function saveImage(base64Image) {
return new Promise((resolve, reject) => {
try {
const a = document.createElement("a");
a.download = `sucess-${Date.now()}.png`;
a.target = "_self";
a.onclick = async (e) => {
if (a.href) {
URL.revokeObjectURL(a.href);
}
a.href = base64Image;
};
requestAnimationFrame(() => {
console.log("Downloading image.");
a.click();
resolve(null);
});
} catch (err) {
reject();
}
});
}
async function predict(base64Image, { prompt, modifier, steps, seed }) {
const response = await fetch("/predict", {
method: "POST",
headers: { "Content-Type": "application/json" },
body: JSON.stringify({
data: [base64Image, prompt + ". " + modifier, steps, seed.toString()]
})
});
if (!response.ok) {
throw new Error("Prediction request failed.");
}
const result = await response.text();
return result;
}
const ResultCanvas = create_ssr_component(($$result, $$props, $$bindings, slots) => {
let $saveResult, $$unsubscribe_saveResult;
let $resultImage, $$unsubscribe_resultImage;
let $generateMap, $$unsubscribe_generateMap;
let $selectedParams, $$unsubscribe_selectedParams;
let $currentCanvas, $$unsubscribe_currentCanvas;
$$unsubscribe_saveResult = subscribe(saveResult, (value) => $saveResult = value);
$$unsubscribe_resultImage = subscribe(resultImage, (value) => $resultImage = value);
$$unsubscribe_generateMap = subscribe(generateMap, (value) => $generateMap = value);
$$unsubscribe_selectedParams = subscribe(selectedParams, (value) => $selectedParams = value);
$$unsubscribe_currentCanvas = subscribe(currentCanvas, (value) => $currentCanvas = value);
$$result.css.add(css$1);
{
(async () => {
if ($generateMap) {
const results = await predict($currentCanvas.toDataURL(), $selectedParams);
set_store_value(resultImage, $resultImage = results, $resultImage);
set_store_value(generateMap, $generateMap = false, $generateMap);
}
})();
}
{
(async () => {
if ($saveResult) {
await saveImage($resultImage);
set_store_value(saveResult, $saveResult = false, $saveResult);
}
})();
}
$$unsubscribe_saveResult();
$$unsubscribe_resultImage();
$$unsubscribe_generateMap();
$$unsubscribe_selectedParams();
$$unsubscribe_currentCanvas();
return `${$resultImage ? `
![${]()
` : ``}
${$generateMap ? `
` : ``}
`;
});
var index_svelte_svelte_type_style_lang = /* @__PURE__ */ (() => ".drawings.svelte-1sy339h{display:grid;grid-template-columns:2fr 1.5fr;place-items:center}@media(min-width: 530px){.drawings.svelte-1sy339h{grid-template-columns:repeat(2, minmax(0, 1fr))}}button.svelte-1sy339h{border-radius:0.5rem;border-width:1px;--tw-border-opacity:1;border-color:rgb(209 213 219 / var(--tw-border-opacity));--tw-bg-opacity:1;background-color:rgb(249 250 251 / var(--tw-bg-opacity));padding:0.25rem;font-size:0.875rem;line-height:1.25rem;--tw-text-opacity:1;color:rgb(17 24 39 / var(--tw-text-opacity))}button.svelte-1sy339h:focus{--tw-border-opacity:1;border-color:rgb(59 130 246 / var(--tw-border-opacity));--tw-ring-opacity:1;--tw-ring-color:rgb(59 130 246 / var(--tw-ring-opacity))}button.svelte-1sy339h:disabled{opacity:0.5}@media(prefers-color-scheme: dark){button.svelte-1sy339h{--tw-border-opacity:1;border-color:rgb(209 213 219 / var(--tw-border-opacity));--tw-bg-opacity:1;background-color:rgb(249 250 251 / var(--tw-bg-opacity))}button.svelte-1sy339h:focus{--tw-border-opacity:1;border-color:rgb(59 130 246 / var(--tw-border-opacity));--tw-ring-opacity:1;--tw-ring-color:rgb(59 130 246 / var(--tw-ring-opacity))}}.green.svelte-1sy339h{background-color:lightgreen;font-weight:bold;font-size:1.2em}")();
const css = {
code: ".drawings.svelte-1sy339h{display:grid;grid-template-columns:2fr 1.5fr;place-items:center}@media(min-width: 530px){.drawings.svelte-1sy339h{grid-template-columns:repeat(2, minmax(0, 1fr))}}button.svelte-1sy339h{border-radius:0.5rem;border-width:1px;--tw-border-opacity:1;border-color:rgb(209 213 219 / var(--tw-border-opacity));--tw-bg-opacity:1;background-color:rgb(249 250 251 / var(--tw-bg-opacity));padding:0.25rem;font-size:0.875rem;line-height:1.25rem;--tw-text-opacity:1;color:rgb(17 24 39 / var(--tw-text-opacity))}button.svelte-1sy339h:focus{--tw-border-opacity:1;border-color:rgb(59 130 246 / var(--tw-border-opacity));--tw-ring-opacity:1;--tw-ring-color:rgb(59 130 246 / var(--tw-ring-opacity))}button.svelte-1sy339h:disabled{opacity:0.5}@media(prefers-color-scheme: dark){button.svelte-1sy339h{--tw-border-opacity:1;border-color:rgb(209 213 219 / var(--tw-border-opacity));--tw-bg-opacity:1;background-color:rgb(249 250 251 / var(--tw-bg-opacity))}button.svelte-1sy339h:focus{--tw-border-opacity:1;border-color:rgb(59 130 246 / var(--tw-border-opacity));--tw-ring-opacity:1;--tw-ring-color:rgb(59 130 246 / var(--tw-ring-opacity))}}.green.svelte-1sy339h{background-color:lightgreen;font-weight:bold;font-size:1.2em}",
map: null
};
const Routes = create_ssr_component(($$result, $$props, $$bindings, slots) => {
let $generateMap, $$unsubscribe_generateMap;
let $saveResult, $$unsubscribe_saveResult;
let $resultImage, $$unsubscribe_resultImage;
$$unsubscribe_generateMap = subscribe(generateMap, (value) => $generateMap = value);
$$unsubscribe_saveResult = subscribe(saveResult, (value) => $saveResult = value);
$$unsubscribe_resultImage = subscribe(resultImage, (value) => $resultImage = value);
$$result.css.add(css);
$$unsubscribe_generateMap();
$$unsubscribe_saveResult();
$$unsubscribe_resultImage();
return `Drawing to Map
This space is for the ControlNet model Drawing2Map
${validate_component(BrushSelector, "BrushSelector").$$render($$result, {}, {}, {})}
${validate_component(DrawingCanvas, "DrawingCanvas").$$render($$result, {}, {}, {})}
${validate_component(ResultCanvas, "ResultCanvas").$$render($$result, {}, {}, {})}
${validate_component(TemplateGallery, "TemplateGallery").$$render($$result, {}, {}, {})}
${validate_component(ParamsSelector, "ParamSelector").$$render($$result, {}, {}, {})}
`;
});
export { Routes as default };