3.1 KiB
3.1 KiB
Журнал ревью
Сводка: ../reviewed.md. Индекс среза: README.md.
Срез 2. Люди
- Фазы: 5–9
- Проверен на:
bdb1253, 2026-08-20 - Пути:
src/HSchool.People,src/HSchool.Content/PeopleDefs.cs,src/HSchool.Simulation/RosterSpawner.cs,src/HSchool.Simulation/School.cs,src/HSchool.Server/Api/SchoolEndpoints.cs,src/HSchool.Server/Game/PersonCardReader.cs,src/HSchool.Server/Game/SchoolWorker.cs,src/HSchool.Client/src/ui/peoplePanel.ts,src/HSchool.Client/src/ui/personCard.ts,tests/HSchool.People.Tests,tests/HSchool.Content.Tests/PeopleDefTests.cs,tests/HSchool.Simulation.Tests/PeopleInSchoolTests.cs,tests/HSchool.AppHost.Tests/PeopleApiTests.cs,tests/HSchool.AppHost.Tests/SchoolSeedTests.cs - Итог: обещания фаз 5–9 целы; починены два API-теста, дописан один на reload после набора
Что подтверждено:
- Дефы человека: разбор, наследование, патч, неизвестная ссылка, склонение, мод со своим набором.
- Генератор: шесть тестов списка фазы, без Arch/ASP.NET/
DateTime.Now. Неполные семьи 5–10%. Сид — поле школы, неschool.Id; хостовые тесты, которым нужен состав, передают сид явно. - Одиннадцать кабинетов, сущности в
World,PersistPeopleтолько при смене состава. Штат при создании пуст — это фаза 11. - Список с опубликованного снимка, карточка через
TaskCompletionSource. Фильтры, пейджер, семейные ссылки, всё черезt(...). Вкладка рядом с картой, не нижний ряд — так записано в фазе 8 и в../../design/02-people/people.md. - Выпуск старшей имеющейся, вместимость, семьи через поколения, reload после набора.
Дописано:
PeopleApiTests.ReloadAfterTheYearlyIntake_RestoresTheNewComposition— ждёт 1 сентября и требует состав после набора, отличный от исходного (детерминизм от сида иначе скрыл бы потерянный файл).
Исправлено:
Card_IncludesFamilyAndLiveNeedsбралPeople[0]и требовал двух родителей. Состав зависит от сида; на чистом клоне первый ученик иногда из неполной семьи. Теперь ищет ученика с матерью и проверяет диапазон.List_SortsBySurnameтребовал ordinal-порядок, сервер ставит Ё на место Е. Совпадали, пока вcoreне было фамилий на Ё.