From 9e675dd80414fb0c2e2f141f67016305ad1b8eb0 Mon Sep 17 00:00:00 2001 From: Leonid Pershin Date: Mon, 27 Oct 2025 00:08:06 +0300 Subject: [PATCH] Add CurrentImage property to GenerationRequest model for preview functionality and update StableDiffusionNetAdapter to include current image in progress tracking. Update AIImages.dll to reflect these changes. --- Assemblies/AIImages.dll | Bin 87552 -> 87552 bytes Source/AIImages/Models/GenerationRequest.cs | 5 +++++ .../Services/StableDiffusionNetAdapter.cs | 1 + 3 files changed, 6 insertions(+) diff --git a/Assemblies/AIImages.dll b/Assemblies/AIImages.dll index f4f83f89f27d4057fa9c46fe62be144531c7e199..daa0bbbc27f385fa7dfb1cf677e27bfc59290eb4 100644 GIT binary patch delta 22808 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 BC6oXF diff --git a/Source/AIImages/Models/GenerationRequest.cs b/Source/AIImages/Models/GenerationRequest.cs index a8e0e4f..d66d884 100644 --- a/Source/AIImages/Models/GenerationRequest.cs +++ b/Source/AIImages/Models/GenerationRequest.cs @@ -79,5 +79,10 @@ namespace AIImages.Models /// Идет ли генерация в данный момент /// public bool IsActive { get; set; } + + /// + /// Превью текущего состояния генерации (base64) + /// + public string CurrentImage { get; set; } } } diff --git a/Source/AIImages/Services/StableDiffusionNetAdapter.cs b/Source/AIImages/Services/StableDiffusionNetAdapter.cs index 1755791..84489db 100644 --- a/Source/AIImages/Services/StableDiffusionNetAdapter.cs +++ b/Source/AIImages/Services/StableDiffusionNetAdapter.cs @@ -156,6 +156,7 @@ namespace AIImages.Services TotalSteps = progress.State?.SamplingSteps ?? 0, EtaRelative = progress.EtaRelative, IsActive = progress.Progress > 0 && progress.Progress < 1.0, + CurrentImage = progress.CurrentImage, // Превью текущего состояния генерации }; } catch (Exception ex)