Files
h-school/docs/phases/04-schedule/reviewed.md
T

2.7 KiB
Raw Blame History

Журнал ревью

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

Срез 4. Расписание

  • Фазы: 1417
  • Проверен на: bdb1253, 2026-08-20
  • Пути: src/HSchool.Schedule, src/HSchool.Content (каркас дня, каникулы, SubjectDef.room), src/HSchool.Simulation/SchoolTimetables.cs, src/HSchool.Server/Api/TimetableEndpoints.cs, src/HSchool.Server/Game/SchoolWorker.cs (пин, перестроение), src/HSchool.Client/src/ui/timetableGrid.ts, src/HSchool.Client/src/ui/gameScreen.ts, tests/HSchool.Schedule.Tests, tests/HSchool.Content.Tests/CalendarTests.cs, tests/HSchool.Content.Tests/LunchBreakTests.cs, tests/HSchool.AppHost.Tests/TimetableApiTests.cs, src/HSchool.Client/src/ui/timetableGrid.test.ts
  • Итог: обещания фаз 14–17 целы; дописан тест на коды отказа пина; две строки дизайна помечены как отменённые срезом 5

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

  • Календарь: суббота, каникулы и ночь — «вне учебного дня»; 10:20 вторника — третий урок; шестидневка; зима через 1 января. Физкультура в спортзале. Обеденные смены в каркасе дня (младшие после 3-го, старшие после 4-го).
  • Планировщик: четыре запрета, класс не влезает в меньший кабинет, без Arch/ASP.NET/DateTime.Now.
  • Перестроение только при PeopleChanged + TimetableDirty, не по тику. GET /timetable читает снимок, пин — TaskCompletionSource. Reload_RestoresLockedLessons.
  • Сетка, закрепление, тексты отказа (pin-rejected / no-teacher / unknown-lesson), скобки в дереве из присутствия, личное расписание в карточке. Всё через t(...).
  • Занятость узла в протоколе v7 живёт в кадре Presence, не в снимке карты — фаза 19.

Дописано:

  • TimetableApiTests.PinAndUnpinRefusals_CarryTheDocumentedCodesno-teacher, unknown-class, unknown-subject, unknown-room, unknown-lesson, invalid-query.

Исправлено:

  • В ../../design/04-schedule/schedule.md «панель локации из расписания» и «люди находятся по расписанию» помечены как отменённые срезом 5.