Files

43 lines
2.7 KiB
Markdown

# Фаза 41. Мнения и вкладка «Связи»
## Зависимости
- [Фаза 8](../02-people/08-people-browser.md)
- [Фаза 36](../07-inventory/36-person-card-tabs.md)
## Зачем
У пары появляется число. Семья больше не «просто родственники». Карточка умеет это показать,
даже пока кружков ещё нет.
## Задачи
- [x] Мнение A→B: −100…100, несимметрично, ноль не хранить
- [x] Пороги и подписи в `BehaviorDef`; клиент рисует присланную подпись, не считает сам
- [x] Генератор ставит семейные старты (родители, сиблинги, партнёры семьи) из данных
- [x] Каждое рабочее утро (и skip) ненулевые мнения слегка дрейфуют к семейному базису или к нулю;
дошли до нуля — запись выкинуть
- [x] `people.json` пишет мнение при сдвиге; старый сейв без поля — все нули кроме семьи
после первой загрузки-переписи
- [x] Вкладка карточки **Связи**: семья с числами, топ друзей/врагов, поиск по ненулевым
- [x] Игрок с вкладки ничего не меняет
- [x] `docs/protocol.md` — HTTP карточки
## Тесты, без которых фаза не закрыта
- [x] Родитель и ребёнок после генерации имеют плюс в обе стороны; чужие одноклассники — нет записи
- [x] A→B и B→A могут различаться
- [x] После нескольких утренних дрейфов без разговоров мнение одноклассников (если появилось)
ближе к нулю, семейное — к старту, не к нулю
- [x] Карточка без отдельного запроса «всех пар школы»: только этот человек
- [x] Клиентский тест: вкладка «Связи» не монтирует лог
## Критерий готовности
- Открыть ученика, на «Связях» родители с подписью «близкие» или соседней, одноклассник без строки
- `dotnet test` и `npm test` / `build` проходят
## Стоп
Не собирать кружки. Не бампить сокет. Не заводить романтику.