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

2.8 KiB

Фаза 8. Просмотр людей

Зависимости

Зачем

Игрок видит, кто учится и работает в его школе, не теряя из виду часы, карту и события.

Задачи

  • GET /api/schools/{id}/people: фильтры (роль, параллель, должность, пол, диапазон возраста), сортировка, страница. Читает опубликованный снимок ростера и не трогает воркер — инвариант «только поток школы касается школы» остаётся целым
  • GET /api/schools/{id}/people/{personId}: карточка через мейлбокс воркера с TaskCompletionSource, потому что нужды живые
  • Панель «Люди» в оболочке менеджера: фильтры, сортируемые колонки, пейджер. Сделана вкладкой рядом с картой, а не нижним рядом — заодно с экрана ушла пустая панель событий из фазы 1; см. ../design/people.md
  • Строка списка — только лёгкие поля: ФИО, роль, класс или должность, возраст, пол
  • Карточка: тело, навыки, черты, нужды, семья со ссылками на родных — по ссылке открывается карточка родственника
  • Строки и подписи через t(...), как всё остальное
  • docs/protocol.md пополняется в том же коммите, что и обработчики
  • Тесты API: фильтр по роли и параллели, сортировка, границы страниц, неизвестная школа, неизвестный человек

Критерий готовности

  • Открыть школу, отфильтровать учеников пятой параллели, отсортировать по фамилии
  • Открыть карточку ученика, увидеть родителей, перейти по ссылке к матери
  • Тысяча строк не роняет и не подвешивает панель
  • dotnet test и клиентские npm test / build проходят

Стоп

Не редактировать людей. Не нанимать и не увольнять руками. Не показывать характеристики в списке — только в карточке.