using System.ComponentModel.DataAnnotations; using CommunityToolkit.Mvvm.ComponentModel; using StabilityMatrix.Avalonia.Controls; using StabilityMatrix.Avalonia.Models.Inference; using StabilityMatrix.Avalonia.ViewModels.Base; using StabilityMatrix.Core.Attributes; using StabilityMatrix.Core.Models.Api.Comfy.Nodes; namespace StabilityMatrix.Avalonia.ViewModels.Inference; [View(typeof(BatchSizeCard))] [ManagedService] [Transient] public partial class BatchSizeCardViewModel : LoadableViewModelBase, IComfyStep { [NotifyDataErrorInfo] [ObservableProperty] [Range(1, 1024)] private int batchSize = 1; [NotifyDataErrorInfo] [ObservableProperty] [Range(1, int.MaxValue)] private int batchCount = 1; [NotifyDataErrorInfo] [ObservableProperty] [Required] private bool isBatchIndexEnabled; [NotifyDataErrorInfo] [ObservableProperty] [Range(1, 1024)] private int batchIndex = 1; /// /// Sets batch size to connections. /// Provides: /// /// /// /// /// public void ApplyStep(ModuleApplyStepEventArgs e) { e.Builder.Connections.BatchSize = BatchSize; e.Builder.Connections.BatchIndex = IsBatchIndexEnabled ? BatchIndex : null; } }