Improve settings persistence and initialization logic in main.js
This commit is contained in:
46
src/main.js
46
src/main.js
@@ -635,19 +635,7 @@ async function generateMap() {
|
||||
setStatus('Please enter a prompt');
|
||||
return;
|
||||
}
|
||||
const settings = {
|
||||
steps: Number(stepsInput.value) || defaultSettings.steps,
|
||||
guidance: Number(guidanceInput.value) || defaultSettings.guidance,
|
||||
width: Number(widthInput.value) || defaultSettings.width,
|
||||
height: Number(heightInput.value) || defaultSettings.height,
|
||||
scheduler: schedulerInput.value || defaultSettings.scheduler,
|
||||
upscale: upscaleInput.value || defaultSettings.upscale,
|
||||
seamInpaint: seamInpaintInput.checked,
|
||||
modelPath: modelPathInput.value.trim() || defaultSettings.modelPath,
|
||||
baseModel: baseModelInput.value.trim() || defaultSettings.baseModel,
|
||||
vaeModel: vaeModelInput.value.trim() || defaultSettings.vaeModel,
|
||||
};
|
||||
currentSettings = settings;
|
||||
const settings = saveSettings(readSettingsFromInputs());
|
||||
generationRunning = true;
|
||||
cancelRequested = false;
|
||||
generateBtn.disabled = false;
|
||||
@@ -715,6 +703,13 @@ function setupUI() {
|
||||
});
|
||||
settingsReset.addEventListener('click', () => {
|
||||
applySettings(defaultSettings);
|
||||
saveSettings(currentSettings);
|
||||
});
|
||||
[stepsInput, guidanceInput, widthInput, heightInput, modelPathInput, baseModelInput, vaeModelInput].forEach(input => {
|
||||
input.addEventListener('input', persistSettingsFromInputs);
|
||||
});
|
||||
[schedulerInput, upscaleInput, seamInpaintInput].forEach(input => {
|
||||
input.addEventListener('change', persistSettingsFromInputs);
|
||||
});
|
||||
deleteConfirmCancel.addEventListener('click', () => {
|
||||
closeDeleteConfirmation(false);
|
||||
@@ -760,7 +755,7 @@ async function setupProgressEvents() {
|
||||
async function bootstrap() {
|
||||
initScene();
|
||||
setupUI();
|
||||
applySettings(defaultSettings);
|
||||
applySettings(loadSavedSettings() || defaultSettings);
|
||||
await setupProgressEvents();
|
||||
await setSkyFromUrl(defaultTextureUrl);
|
||||
await refreshThumbnails();
|
||||
@@ -768,17 +763,18 @@ async function bootstrap() {
|
||||
}
|
||||
|
||||
function applySettings(cfg) {
|
||||
currentSettings = { ...cfg };
|
||||
stepsInput.value = cfg.steps;
|
||||
guidanceInput.value = cfg.guidance;
|
||||
widthInput.value = cfg.width;
|
||||
heightInput.value = cfg.height;
|
||||
schedulerInput.value = cfg.scheduler;
|
||||
upscaleInput.value = cfg.upscale;
|
||||
seamInpaintInput.checked = Boolean(cfg.seamInpaint);
|
||||
modelPathInput.value = cfg.modelPath;
|
||||
baseModelInput.value = cfg.baseModel;
|
||||
vaeModelInput.value = cfg.vaeModel;
|
||||
const settings = normalizeSettings(cfg);
|
||||
currentSettings = settings;
|
||||
stepsInput.value = settings.steps;
|
||||
guidanceInput.value = settings.guidance;
|
||||
widthInput.value = settings.width;
|
||||
heightInput.value = settings.height;
|
||||
schedulerInput.value = settings.scheduler;
|
||||
upscaleInput.value = settings.upscale;
|
||||
seamInpaintInput.checked = settings.seamInpaint;
|
||||
modelPathInput.value = settings.modelPath;
|
||||
baseModelInput.value = settings.baseModel;
|
||||
vaeModelInput.value = settings.vaeModel;
|
||||
}
|
||||
|
||||
bootstrap();
|
||||
|
||||
Reference in New Issue
Block a user