Record slice 2 recheck after notices and portraits.

This commit is contained in:
Leonid Pershin
2026-08-21 03:08:40 +03:00
parent c3d17cafc6
commit 2a199fda8f
4 changed files with 100 additions and 1 deletions
+57
View File
@@ -94,3 +94,60 @@
- Хостовые `PeopleApiTests` / `SchoolSeedTests` в этом проходе не гонялись (Testing policy:
HTTP не менялся). Симуляционный переход 1 сентября и библиотечный набор зелёные.
- `people.json` теперь ещё пишется после разговора и ссоры — это срез 9, не состав среза 2.
## Срез 2. Люди — перепроверка после notices и портретов
- **Фазы:** 59
- **Проверен на:** `c3d17ca`, 2026-08-21
- **Пути:** `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`
- **Итог:** перепроверка после дрейфа с `8108508` (notices, scene prompt, портреты, одежда,
мнения). Обещания фаз 5–9 целы; код среза не чинился; дописаны тесты обзора карточки
и номеров кабинетов
Что подтверждено:
- Дефы, наследование, патч, неизвестная ссылка, взаимная несовместимость, склонение
правилом и таблицей, мод со своей страной и чертами. `GET /api/catalog` отдаёт страны,
не наборы имён — фаза 29, не регрессия среза 2.
- Генератор: тот же сид → тот же ростер; 13-я семья не двигает первые двенадцать;
отчества отцовские; полное телосложение зажимает ловкость; 1 и 11 кабинетов собираются;
неполные семьи 5–10% и не все материнские. Arch / ASP.NET / `DateTime.Now` в
`HSchool.People` нет.
- Одиннадцать кабинетов-номеров (`101``204`…), `Homeroom` не компьютерный класс,
сущности в `World`, `PersistPeople` с `peopleChanged` (набор / штат / разговор), не
с таймера часов. `RecordWorldEvents` в `Tick` не поднимает этот флаг. Штат при создании
пуст — фаза 11. Нужды в `core` с ненулевым `decayPerHour` — срез 5.
- Список читает опубликованный снимок (`FindPeople`), карточка — мейлбокс с
`TaskCompletionSource`. Фильтры роли/параллели/литеры/должности/пола/возраста в
`RosterBrowser`; панель — вкладка рядом с картой, строки через `t(...)`. Обзор карточки
по-прежнему тело, навыки, черты, нужды и семья-ссылка; кнопка notice среза 11 на карточку
не сажалась.
- Выпуск старшей имеющейся, вместимость, младший брат в том же роде, родитель-работник
выпускников остаётся, reload после набора (тесты прошлых проходов на месте).
Дописано:
- `renderPersonCard` / `opens a relative from the overview family links` — фаза 8 обещает
переход к родственнику; после вкладок одежды и портрета обзор с пустой `family` больше
не кликали.
- `RosterGeneratorTests.VanillaMap_HasElevenHomeroomsNotTheComputerLab` — подписи
кабинетов это трёхзначные номера, не имена классов.
Исправлено: ничего в коде среза.
Открытое:
- Хостовые `PeopleApiTests` / `SchoolSeedTests` в этом проходе не гонялись (Testing policy:
HTTP списка и карточки не менялся). `RosterGeneratorTests` и клиентский `personCard.test.ts`
зелёные.
- `people.json` после разговора и ссоры — срез 9, не состав среза 2.
- Рядом: `PersonCardReaderShapeTests` всё ещё ждёт один публичный `Read`, а срез 11
добавил `NodeId` для портрета. Это форма среза 10, не фазы 5–9; здесь не трогалось.