Picker is Swarm intersect config, preset style/shot inherit model defaults, and living saves lift the old preset shape.
44 lines
2.9 KiB
Markdown
44 lines
2.9 KiB
Markdown
Часть [Вне очереди](README.md). Соседей по папке не читать, если задача не про них.
|
||
|
||
# Модели Swarm и слои промпта
|
||
|
||
### Зачем
|
||
|
||
Пикер моделей не должен предлагать то, чего нет в нашем конфиге. Дефолты генерации живут
|
||
на модели; пресет задаёт стиль и тип кадра и может переопределить дефолты. Промпт собирается
|
||
слоями, а не одним «базовым» текстом пресета.
|
||
|
||
### Было / Стало / Почему
|
||
|
||
**Было.** Пресет сам держал модель, steps/cfg/sampler и `positive`. Список Swarm только
|
||
наполнял комбобоксы. «Свой промпт» у custom **заменял** текст кадра. `portraitSettings` в
|
||
сейве — копия этого файла.
|
||
|
||
**Стало.** В конфиге каталог `models` (whitelist) и пресеты. Пикер = Swarm ∩ каталог; при
|
||
офлайне Swarm — все id из каталога. У модели: закрытый набор настроек генерации (steps, cfg,
|
||
clip skip, sampler, scheduler, seed, LoRA) и обычно пустые base positive/negative. У пресета:
|
||
модель, **стиль** (бывший `positive`), доп. negative, размеры и **тип кадра** на avatar/custom/full.
|
||
Оверрайды генерации у пресета — nullable, в UI под спойлером. Промпт:
|
||
|
||
1. base positive модели
|
||
2. стиль пресета
|
||
3. тип кадра
|
||
4. «Свой промпт» (`promptExtra`, только custom; после кадра, не вместо)
|
||
5. поза (слот пустой, без поля в UI)
|
||
6. внешность: кто это, возраст, тело
|
||
7. одежда
|
||
8. хвост пустой
|
||
|
||
Negative: модель + необязательное дополнение пресета. Ширина/высота остаются на виде кадра.
|
||
|
||
**Почему.** Модель задаёт «как считать картинку»; пресет — «какой это школьный снимок».
|
||
Гость по-прежнему рисует с копии школы, не с глобального файла.
|
||
|
||
### Что не входит
|
||
|
||
Зеркало всех `ListT2IParams`. Кнопка настроек в меню. Редактор каталога «добавить модель из
|
||
Swarm». Поза в UI. Бамп версии сокета. Перегенерация уже лежащих PNG.
|
||
|
||
Живые школы: `NormalizeAfterLoad` поднимает старый пресет (`positive` → `style`, kind
|
||
`positive` → `shotType`, уникальные `model` → `models[]`). Старые картинки не трогаем.
|