Files
h-school/docs/phases/08-people-browser.md
T
Leonid Pershin 5eabc90d53
ci / server (push) Failing after 3m43s
ci / client (push) Successful in 15s
Enhance school day structure and decision-making for lunch breaks
- Updated `ai.md` to clarify the mechanics of hunger restoration and the importance of lunch breaks in the school schedule.
- Revised `schedule.md` to detail the new lunch break structure, allowing for separate sittings for different grade levels.
- Enhanced `Decision.cs` and `DecisionPlanner.cs` to incorporate logic for lunch breaks, ensuring that students only leave lessons during their designated lunch windows.
- Updated `DayFrameDef` and related classes to support multiple lunch breaks and validate their configurations.
- Adjusted tests to validate the new decision-making logic regarding lunch breaks and hunger management, ensuring robust functionality.
- Improved localization strings to reflect changes in the school day structure and lunch functionalities.
2026-08-19 23:17:16 +03:00

41 lines
2.8 KiB
Markdown

# Фаза 8. Просмотр людей
## Зависимости
- [Фаза 7](07-people-in-school.md)
- [Фаза 1](01-manager-shell.md)
## Зачем
Игрок видит, кто учится и работает в его школе, не теряя из виду часы, карту и события.
## Задачи
- [x] `GET /api/schools/{id}/people`: фильтры (роль, параллель, должность, пол, диапазон
возраста), сортировка, страница. Читает **опубликованный снимок** ростера и не трогает
воркер — инвариант «только поток школы касается школы» остаётся целым
- [x] `GET /api/schools/{id}/people/{personId}`: карточка через мейлбокс воркера с
`TaskCompletionSource`, потому что нужды живые
- [x] Панель «Люди» в оболочке менеджера: фильтры, сортируемые колонки, пейджер. Сделана
**вкладкой рядом с картой**, а не нижним рядом — заодно с экрана ушла пустая панель
событий из фазы 1; см. [`../design/people.md`](../design/people.md)
- [x] Строка списка — только лёгкие поля: ФИО, роль, класс или должность, возраст, пол
- [x] Карточка: тело, навыки, черты, нужды, семья со ссылками на родных — по ссылке открывается
карточка родственника
- [x] Строки и подписи через `t(...)`, как всё остальное
- [x] `docs/protocol.md` пополняется в том же коммите, что и обработчики
- [x] Тесты API: фильтр по роли и параллели, сортировка, границы страниц, неизвестная школа,
неизвестный человек
## Критерий готовности
- Открыть школу, отфильтровать учеников пятой параллели, отсортировать по фамилии
- Открыть карточку ученика, увидеть родителей, перейти по ссылке к матери
- Тысяча строк не роняет и не подвешивает панель
- `dotnet test` и клиентские `npm test` / `build` проходят
## Стоп
Не редактировать людей. Не нанимать и не увольнять руками. Не показывать характеристики в списке —
только в карточке.