Stack portrait LoRAs and embeddings from model, preset, and shot kind.

Swarm loads LoRAs via loras/loraweights; embeddings go in the prompt as embed tags, not lora tags.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
Leonid Pershin
2026-08-20 14:58:26 +03:00
co-authored by Cursor
parent 5d46550f12
commit 9e217e93eb
5 changed files with 33 additions and 20 deletions
@@ -11,21 +11,21 @@ LoRA и embeddings можно поставить на модель, на пре
## Задачи
- [ ] Discovery: список `embeddings` из Swarm (`models.Embedding`)
- [ ] Списки LoRA и embeddings (name + weight) на модели, пресете и avatar/custom/full.
- [x] Discovery: список `embeddings` из Swarm (`models.Embedding`)
- [x] Списки LoRA и embeddings (name + weight) на модели, пресете и avatar/custom/full.
Склейка модель → пресет → кадр. Пустые списки в шаблоне
- [ ] Генерация: все LoRA в `loras` и `loraweights`; embeddings в positive/negative как
- [x] Генерация: все LoRA в `loras` и `loraweights`; embeddings в positive/negative как
`<embed:name>`. Не писать `<lora:>` в промпт
- [ ] UI: комбобоксы из discovery на модели, в спойлере пресета и в секции кадра. `t(...)`
- [ ] HTTP в [`protocol.md`](../../protocol.md), сокет не бампить
- [x] UI: комбобоксы из discovery на модели, в спойлере пресета и в секции кадра. `t(...)`
- [x] HTTP в [`protocol.md`](../../protocol.md), сокет не бампить
## Тесты, без которых фаза не закрыта
- [ ] Discovery парсит embeddings; офлайн — пустой список
- [ ] Склейка LoRA/embed: модель + пресет + kind
- [ ] Промпт содержит `<embed:…>` и не содержит `<lora:`
- [ ] Generate шлёт `loras` и `loraweights` раздельно
- [ ] Диалог: поля embeddings у модели и у вида кадра
- [x] Discovery парсит embeddings; офлайн — пустой список
- [x] Склейка LoRA/embed: модель + пресет + kind
- [x] Промпт содержит `<embed:…>` и не содержит `<lora:`
- [x] Generate шлёт `loras` и `loraweights` раздельно
- [x] Диалог: поля embeddings у модели и у вида кадра
## Критерий готовности