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:
@@ -0,0 +1,41 @@
|
||||
# Фаза 42. Темы и кружки
|
||||
|
||||
## Зависимости
|
||||
|
||||
- [Фаза 41](41-opinions.md)
|
||||
- [Фаза 21](21-decisions.md)
|
||||
|
||||
## Зачем
|
||||
|
||||
`Chat` перестаёт быть соло. В узле говорят 2–4 человека об одной теме. Язык и
|
||||
`Communication` влияют на исход.
|
||||
|
||||
## Задачи
|
||||
|
||||
- [ ] `TopicDef`: теги, возраст, роли, шёпот-на-уроке, опциональный язык
|
||||
- [ ] Ванильный набор тем (учёба, игры, еда, семья, спорт, сплетни, грубое) в `core`
|
||||
- [ ] Кружок 2–4 в одном узле; пятый не влезает
|
||||
- [ ] Кого зовут: друзья и одноклассники в узле, врагов не зовут; тихоня/лидер — поля черты
|
||||
- [ ] Нет общего языка — кружок можно, сдвиг мнения слабый и чаще вниз
|
||||
- [ ] `Communication` растёт от разговора меньше, чем предмет за урок; язык разговора — капля,
|
||||
если не у потолка
|
||||
- [ ] Черты **сплетник** и **общительный** в `core` с полями, не списками в коде
|
||||
- [ ] Исход пишет мнения всех пар кружка и строку лога
|
||||
- [ ] На уроке обычный `Chat` не стартует (шёпот — фаза 43)
|
||||
|
||||
## Тесты, без которых фаза не закрыта
|
||||
|
||||
- [ ] Двое свободных друзей в коридоре на перемене собирают кружок; враги — нет
|
||||
- [ ] Пятый в узле не входит в тот же кружок
|
||||
- [ ] Без общего языка мнение почти не растёт при том же `Communication`
|
||||
- [ ] Высокий `Communication` сильнее двигает число, чем низкий, на одной теме
|
||||
- [ ] Каталог без `TopicDef` не стартует школу с кружками — или падает загрузка, не молча соло-Chat
|
||||
|
||||
## Критерий готовности
|
||||
|
||||
- На перемене в коридоре двое «разговаривают», на карточке мнение сдвинулось, в логе тема
|
||||
- `dotnet test` проходит
|
||||
|
||||
## Стоп
|
||||
|
||||
Не шёпот на уроке. Не драка. Не менять кадр присутствия (локация может ещё писать «Разговор»).
|
||||
Reference in New Issue
Block a user