Add Krea portrait models and write appearance as prose.

New schools default to Realism v2.5; living saves keep their catalog.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
Leonid Pershin
2026-08-20 16:45:40 +03:00
co-authored by Cursor
parent 8c89f605de
commit ed015b9d6b
9 changed files with 298 additions and 42 deletions
@@ -23,9 +23,11 @@ public class SwarmUiSettingsStoreTests
var profile = config.Resolve(34, PortraitKind.Full);
Assert.Equal("default", profile.PresetId);
Assert.Equal(SwarmUiModelDefinition.BabesId, profile.Model);
Assert.Equal(7, profile.Steps);
Assert.Equal(1.5, profile.CfgScale);
Assert.Equal(SwarmUiModelDefinition.RealismV25Id, profile.Model);
Assert.Equal(8, profile.Steps);
Assert.Equal(1, profile.CfgScale);
Assert.Equal("euler", profile.Sampler);
Assert.Equal("simple", profile.Scheduler);
}
[Fact]
@@ -196,7 +198,7 @@ public class SwarmUiSettingsStoreTests
}
[Fact]
public void CreateDefault_SeedsEveryKnownSwarmModel()
public void CreateDefault_SeedsCatalogModels()
{
var config = SwarmUiConfigFile.CreateDefault();
var ids = config.Models.Select(model => model.Id).ToList();
@@ -205,5 +207,20 @@ public class SwarmUiSettingsStoreTests
Assert.Contains(SwarmUiModelDefinition.DreamShaperId, ids);
Assert.Contains(SwarmUiModelDefinition.EpicRealismId, ids);
Assert.Contains(SwarmUiModelDefinition.LustifyId, ids);
Assert.Contains(SwarmUiModelDefinition.MuseId, ids);
Assert.Contains(SwarmUiModelDefinition.RealismV25Id, ids);
Assert.DoesNotContain("realismByStableYogi_v20TurboGGUF.gguf", ids);
var realism = Assert.Single(config.Models, model => model.Id == SwarmUiModelDefinition.RealismV25Id);
Assert.Equal(8, realism.Steps);
Assert.Equal(1, realism.CfgScale);
Assert.Equal("euler", realism.Sampler);
Assert.Equal("simple", realism.Scheduler);
var muse = Assert.Single(config.Models, model => model.Id == SwarmUiModelDefinition.MuseId);
Assert.Equal(8, muse.Steps);
Assert.Equal(1, muse.CfgScale);
Assert.Equal("euler", muse.Sampler);
Assert.Equal("simple", muse.Scheduler);
}
}