Review slice 7A phases 29-31: fix strings duplicate, journal
This commit is contained in:
@@ -257,3 +257,55 @@
|
|||||||
- `Dump_ReturnsPeopleNodesAndTimetable` принимает `NodeId is not null || Needs.Count > 0`.
|
- `Dump_ReturnsPeopleNodesAndTimetable` принимает `NodeId is not null || Needs.Count > 0`.
|
||||||
Нужды есть у всех, так что узлы на кампусе не проверяются. Усиливать до явки — срез 5.
|
Нужды есть у всех, так что узлы на кампусе не проверяются. Усиливать до явки — срез 5.
|
||||||
- Срез 7 (одежда) в работе: не писать в журнал как закрытый.
|
- Срез 7 (одежда) в работе: не писать в журнал как закрытый.
|
||||||
|
|
||||||
|
## Срез 7. Этап A — данные и гардероб
|
||||||
|
|
||||||
|
- **Фазы:** 29–31
|
||||||
|
- **Проверен на:** `73a2937`, 2026-08-20
|
||||||
|
- **Пути:** `src/HSchool.Content/{CountryDef,ApparelDefs,CatalogLoader}.cs`,
|
||||||
|
`src/HSchool.People/{DressGenerator,CountryClimate,RosterJson}.cs`,
|
||||||
|
`src/HSchool.Server/{Game/SchoolStore.cs,Api/{ModEndpoints,SchoolEndpoints}.cs,Api/PeopleModels.cs}`,
|
||||||
|
`src/HSchool.Client/src/ui/{createSchoolDialog.ts,personCard.ts}`,
|
||||||
|
`tests/HSchool.Content.Tests/{CountryDefTests,ApparelDefTests,VanillaCoreTests}.cs`,
|
||||||
|
`tests/HSchool.People.Tests/{DressGeneratorTests,GoldenRosterTests}.cs`,
|
||||||
|
`tests/HSchool.AppHost.Tests/{SchoolApiTests,InventoryApiTests,GoldenSaveTests,ServiceabilityTests}.cs`,
|
||||||
|
`src/HSchool.Client/src/ui/createSchoolDialog.test.ts`
|
||||||
|
- **Итог:** все 17 тестов из списков фаз на месте; исправлен дубликат `peopleTabOverview` в
|
||||||
|
`strings.ts` (ломал `npm run build`); одно замечание рядом про вкладки карточки
|
||||||
|
|
||||||
|
Что подтверждено:
|
||||||
|
|
||||||
|
- **29:** `CountryDef`/`ClimatePresetDef`; `namesets/` убран; ваниль `Russia` с двумя пресетами;
|
||||||
|
каталог отдаёт `countries`; create принимает `countryId`, `unknown-country` на чужую страну;
|
||||||
|
пресет от сида (`CreateSchool_WithTheSameSeed_GetsTheSameClimatePreset`); `nameSetId: Slavic`
|
||||||
|
поднимается через `UpgradeOlderSave` (`GoldenSaveTests`, `legacy-no-native/`); формат без
|
||||||
|
страны не стартует (`ServiceabilityTests`); диалог — страны и языки (`createSchoolDialog.test.ts`);
|
||||||
|
золотой ростер обновлён (`GoldenRosterTests`).
|
||||||
|
- **30:** поля `ThingDef`/`ColorDef`, слои как роли, мебель без `layers`; ванильная палитра и
|
||||||
|
одежда в `VanillaCoreTests`; локали ru/en (`EveryVanillaLabel_ExistsInBothLocales`); учебник
|
||||||
|
один def без `subject` на def.
|
||||||
|
- **31:** `InventoryItem` с `def`/`color`/`condition`/`location`/`subject`; `DressGenerator`
|
||||||
|
детерминирован (`DressGeneratorTests`, `InventoryApiTests.SameSeed_YieldsTheSameShirt`); слои
|
||||||
|
без пересечения, платье на два слоя; пол/яркость/учебник/родители/соискатели/масса/Hauling;
|
||||||
|
карточка отдаёт worn+carried, список — нет (`InventoryApiTests`); старый `people.json` без
|
||||||
|
items одевается на reload (`PeopleJsonWithoutInventory_IsDressedOnReloadAndRewritten`);
|
||||||
|
`HSchool.People`/`HSchool.Content` без ASP.NET; протокол не тронут.
|
||||||
|
|
||||||
|
Дописано:
|
||||||
|
|
||||||
|
- (нет новых тестов — списки фаз закрыты существующими)
|
||||||
|
|
||||||
|
Исправлено:
|
||||||
|
|
||||||
|
- Дубликат ключа `peopleTabOverview` в `strings.ts` (ru/en): vitest не ловит TS2300/TS1117,
|
||||||
|
`npm run build` падал; ключ перенесён, `peopleTabPortrait` рядом с остальными вкладками.
|
||||||
|
- Повтор `using HSchool.Content` в `SchoolStore.cs` (CS0105).
|
||||||
|
|
||||||
|
Замечено рядом (фазы 32–37, не правилось):
|
||||||
|
|
||||||
|
- Карточка уже с вкладками (`personCard.ts`, фаза 31 обещала один свиток — позже по
|
||||||
|
`design/inventory.md`); портрет/SwarmUI-строки в `strings.ts` — не этап A.
|
||||||
|
- `ResolveClimatePreset` в `SchoolWorker` при reload без сохранённого пресета берёт первый
|
||||||
|
пресет страны (`schoolSeed: 0`, `rollIfOmitted: false`) — по дизайну для legacy; create
|
||||||
|
кидает пресет из `GameLoopService` до spawn.
|
||||||
|
- Погода, тепло, уместность, журнал дня — срез 7B–C у соседнего ревьюера.
|
||||||
|
|||||||
@@ -140,6 +140,7 @@ const ru = {
|
|||||||
peopleTabApparel: 'Одежда',
|
peopleTabApparel: 'Одежда',
|
||||||
peopleTabCarry: 'Ноша',
|
peopleTabCarry: 'Ноша',
|
||||||
peopleTabNow: 'Сейчас',
|
peopleTabNow: 'Сейчас',
|
||||||
|
peopleTabPortrait: 'Портрет',
|
||||||
peopleAtHome: 'дома',
|
peopleAtHome: 'дома',
|
||||||
peopleApparelFit: 'Уместность: {value}',
|
peopleApparelFit: 'Уместность: {value}',
|
||||||
peopleLockerYes: 'Есть шкафчик',
|
peopleLockerYes: 'Есть шкафчик',
|
||||||
@@ -152,8 +153,6 @@ const ru = {
|
|||||||
peopleLogEvent: 'Событие',
|
peopleLogEvent: 'Событие',
|
||||||
peopleLogEmpty: 'Сегодня записей нет.',
|
peopleLogEmpty: 'Сегодня записей нет.',
|
||||||
|
|
||||||
peopleTabOverview: 'Обзор',
|
|
||||||
peopleTabPortrait: 'Портрет',
|
|
||||||
peoplePortraitAvatar: 'Аватар',
|
peoplePortraitAvatar: 'Аватар',
|
||||||
peoplePortraitFull: 'В полный рост',
|
peoplePortraitFull: 'В полный рост',
|
||||||
peoplePortraitCustom: 'Свой промпт',
|
peoplePortraitCustom: 'Свой промпт',
|
||||||
@@ -406,6 +405,7 @@ const en: Messages = {
|
|||||||
peopleTabApparel: 'Clothes',
|
peopleTabApparel: 'Clothes',
|
||||||
peopleTabCarry: 'Carried',
|
peopleTabCarry: 'Carried',
|
||||||
peopleTabNow: 'Now',
|
peopleTabNow: 'Now',
|
||||||
|
peopleTabPortrait: 'Portrait',
|
||||||
peopleAtHome: 'home',
|
peopleAtHome: 'home',
|
||||||
peopleApparelFit: 'Fit: {value}',
|
peopleApparelFit: 'Fit: {value}',
|
||||||
peopleLockerYes: 'Has a locker',
|
peopleLockerYes: 'Has a locker',
|
||||||
@@ -418,8 +418,6 @@ const en: Messages = {
|
|||||||
peopleLogEvent: 'Event',
|
peopleLogEvent: 'Event',
|
||||||
peopleLogEmpty: 'Nothing logged today.',
|
peopleLogEmpty: 'Nothing logged today.',
|
||||||
|
|
||||||
peopleTabOverview: 'Overview',
|
|
||||||
peopleTabPortrait: 'Portrait',
|
|
||||||
peoplePortraitAvatar: 'Avatar',
|
peoplePortraitAvatar: 'Avatar',
|
||||||
peoplePortraitFull: 'Full body',
|
peoplePortraitFull: 'Full body',
|
||||||
peoplePortraitCustom: 'Custom prompt',
|
peoplePortraitCustom: 'Custom prompt',
|
||||||
|
|||||||
@@ -1,6 +1,5 @@
|
|||||||
using System.Text.Json;
|
using System.Text.Json;
|
||||||
using HSchool.Content;
|
using HSchool.Content;
|
||||||
using HSchool.Content;
|
|
||||||
using HSchool.People;
|
using HSchool.People;
|
||||||
using HSchool.Schedule;
|
using HSchool.Schedule;
|
||||||
using HSchool.Simulation;
|
using HSchool.Simulation;
|
||||||
|
|||||||
Reference in New Issue
Block a user