Add SwarmUI settings management and portrait generation enhancements

- Introduced new API endpoints for managing SwarmUI settings, including fetching and saving presets and age rules.
- Updated the portrait generation logic to utilize the new settings structure, allowing for dynamic preset selection based on age.
- Enhanced UI components to support SwarmUI settings, including localization for new strings and improved styling for settings sections.
- Added tests to verify the functionality of new settings endpoints and portrait generation behavior.

This commit lays the groundwork for more flexible and user-friendly portrait generation options.
This commit is contained in:
Leonid Pershin
2026-08-20 06:06:45 +03:00
parent e0b7122f3b
commit 5a400be792
32 changed files with 2178 additions and 184 deletions
+40
View File
@@ -182,3 +182,43 @@
| Фаза | Статус | Зачем |
| --- | --- | --- |
| [40. Темп часов](40-clock-tempo.md) | ⬜ | ×1 = минута/с, кнопки ×½ ×1 ×2 ×5 ×10, страйд тяжёлых систем |
## Срез 9. Общение и романтический пак
Дизайн: [`../design/social.md`](../design/social.md).
Разговор становится кружком, мнение — числом, вражда — ссорой. Романтика не ваниль: отдельный
пак. Срез можно остановить после этапа B — школа болтает, даже если драк и пака ещё нет.
**Этап A — мнения.** Число и вкладка.
| Фаза | Статус | Зачем |
| --- | --- | --- |
| [41. Мнения и «Связи»](41-opinions.md) | ⬜ | −100…100, семья-старт, вкладка карточки |
**Этап B — разговоры.** Кружок, язык, шёпот.
| Фаза | Статус | Зачем |
| --- | --- | --- |
| [42. Темы и кружки](42-talk-circles.md) | ⬜ | `TopicDef`, 2–4 человека, язык, `Communication` |
| [43. Шёпот и учитель](43-whisper.md) | ⬜ | Шёпот на уроке, шанс оборвать, разговор после звонка |
42 стоит на 41; 43 — на 42.
**Этап C — конфликт и экран.**
| Фаза | Статус | Зачем |
| --- | --- | --- |
| [44. Ссора и драка](44-quarrel-fight.md) | ⬜ | Перемена / двор / физкультура, выговор, без травм |
| [45. Кружок в присутствии](45-presence-talk.md) | ⬜ | Id участников и темы в кадре, протокол +1 |
44 и 45 стоят на 42, можно параллельно.
**Этап D — правила, дом, пак.**
| Фаза | Статус | Зачем |
| --- | --- | --- |
| [46. Политика речи и дом](46-speech-home.md) | ⬜ | Комбобоксы речи с завтра; утреннее семейное событие |
| [47. Пак romance](47-romance-pack.md) | ⬜ | Ориентация, симпатия, пара 18+, патч тем |
46 стоит на 37 и 42; 47 — на 42 и 23. `example` не трогать.