- 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.
2.7 KiB
2.7 KiB
Фаза 41. Мнения и вкладка «Связи»
Зависимости
Зачем
У пары появляется число. Семья больше не «просто родственники». Карточка умеет это показать, даже пока кружков ещё нет.
Задачи
- Мнение A→B: −100…100, несимметрично, ноль не хранить
- Пороги и подписи в
BehaviorDef; клиент рисует присланную подпись, не считает сам - Генератор ставит семейные старты (родители, сиблинги, партнёры семьи) из данных
- Каждое рабочее утро (и skip) ненулевые мнения слегка дрейфуют к семейному базису или к нулю; дошли до нуля — запись выкинуть
people.jsonпишет мнение при сдвиге; старый сейв без поля — все нули кроме семьи после первой загрузки-переписи- Вкладка карточки Связи: семья с числами, топ друзей/врагов, поиск по ненулевым
- Игрок с вкладки ничего не меняет
docs/protocol.md— HTTP карточки
Тесты, без которых фаза не закрыта
- Родитель и ребёнок после генерации имеют плюс в обе стороны; чужие одноклассники — нет записи
- A→B и B→A могут различаться
- После нескольких утренних дрейфов без разговоров мнение одноклассников (если появилось) ближе к нулю, семейное — к старту, не к нулю
- Карточка без отдельного запроса «всех пар школы»: только этот человек
- Клиентский тест: вкладка «Связи» не монтирует лог
Критерий готовности
- Открыть ученика, на «Связях» родители с подписью «близкие» или соседней, одноклассник без строки
dotnet testиnpm test/buildпроходят
Стоп
Не собирать кружки. Не бампить сокет. Не заводить романтику.