Files
h-school/docs/phases/01-shell/reviewed.md
T

2.9 KiB
Raw Blame History

Журнал ревью

Сводка: ../reviewed.md. Индекс среза: README.md.

Срез 1. Оболочка и карта

  • Фазы: 04
  • Проверен на: 418a4ea, 2026-08-20
  • Пути: src/HSchool.Client, src/HSchool.Protocol, src/HSchool.Content, src/HSchool.Server/Game, src/HSchool.Server/Api/ModEndpoints.cs, src/HSchool.Server/Api/SchoolEndpoints.cs, src/HSchool.Server/Net, tests/HSchool.Content.Tests, tests/HSchool.Protocol.Tests, tests/HSchool.AppHost.Tests/SchoolApiTests.cs, tests/HSchool.AppHost.Tests/GameSocketTests.cs
  • Итог: обещания фаз 0–4 целы; дописаны 3 теста; протокол v7 в трёх местах

Что подтверждено:

  • PixiJS нет; дерево карты, пять секций локации, клиентский фильтр, localize(). Оболочка — вкладки Карта/Люди, не три панели; отказ от ленты событий записан в фазе 1 и в design/near-term.md.
  • SchoolWorkerLongRunning, свой World, аккумулятор с потолком 5. Супервизор таблицу держит и World не трогает. Сейв на create/shutdown/SaveIntervalSeconds; ReloadFromDisk_RestoresAPausedClock, PausingOneSchool_DoesNotStopAnother.
  • Восемь тестов каталога/карты в HSchool.Content.Tests. Ванильная раскладка валидна. Пропавшая папка мода не стартует школу и файл не трогает.
  • GET /api/mods, каталог, create с картой и модами, снимок при OpenSchool. core в диалоге создания нельзя снять. Кодек, protocol.ts и docs/protocol.md описывают один MapSnapshot.
  • modal.ts резолвит промис явно; .dialog--screenheight: fit-content; DefaultStartDate UTC; MapSnapshotSize от сообщения; outbox DropOldest; WaitToReadAsync переносится между итерациями; меню патчит card.update.
  • Родной язык — HTTP/JSON без бампа протокола. Старый сейв без поля берёт первый язык набора, не бросает кубик (ReloadWithoutASavedPick_TakesTheFirstLanguageInsteadOfRolling).

Дописано:

  • SchoolApiTests.Catalog_WithAnUnknownMod_IsRejected
  • SchoolApiTests.ModId_ThatEscapesTheModsFolder_IsRejectedOnBothEndpoints
  • SkillGrantTests.ReloadWithoutASavedPick_TakesTheFirstLanguageInsteadOfRolling

Исправлено:

  • Два поля speedIndex в клиентском School (api.ts) — артефакт мержа фазы 26; vitest не ловил, npm run build падал с TS2300.