feat: implement generation preconditions check and integrate with generation commands

This commit is contained in:
syntaxbullet
2026-07-10 23:25:24 +02:00
parent 678a0a40a7
commit 06f2898080
4 changed files with 160 additions and 3 deletions

View File

@@ -9,6 +9,7 @@ import type { GenerateSettings } from "@editor/tools";
import { buildInpaintBundle, type InpaintBundle } from "./inpaintPrep";
import { imageSourceToDataUrl, loadImageSize } from "@platform/browser/imageRaster";
import { requestGeneration } from "@platform/comfy/generationClient";
import { checkGenerationPreconditions } from "./preconditions";
export async function runGenerate(options: {
document: ImageDocument;
@@ -18,8 +19,10 @@ export async function runGenerate(options: {
dispatch: AppStore["dispatch"];
}) {
const { document, selection, settings, dispatch } = options;
const precondition = checkGenerationPreconditions(document, selection, settings);
if (!precondition.ready) throw new Error(precondition.message);
const artboard = selection.artboardId ? document.artboards.find((candidate) => candidate.id === selection.artboardId) : document.artboards[0];
if (!artboard) return;
if (!artboard) throw new Error("Create an artboard before generating an image.");
const target = resolveSelectedImage(document, selection);
const inpaintBundle = settings.mode === "inpaint" ? await buildInpaintBundle(document, selection, settings) : undefined;