40 lines
2.9 KiB
Markdown
40 lines
2.9 KiB
Markdown
# Фаза 10. Предметы и мебель
|
|
|
|
## Зависимости
|
|
|
|
- [Фаза 5](05-people-defs.md)
|
|
- [Фаза 7](07-people-in-school.md)
|
|
|
|
## Зачем
|
|
|
|
Каталог учится описывать предметы, кабинет перестаёт быть таблицей слотов, а должность учителя
|
|
становится одной на всех. Людей это ещё не двигает: школа собирается как прежде.
|
|
|
|
## Задачи
|
|
|
|
- [x] `SubjectDef` в `HSchool.Content`: развиваемые навыки с долями, диапазон параллелей;
|
|
ссылка на неизвестный навык — ошибка загрузки
|
|
- [x] Ванильные предметы в `core`: начальные классы (1–4, всё понемногу) и предметники по
|
|
существующим навыкам, включая физкультуру
|
|
- [x] `PositionDef PETeacher` упраздняется; `Classroom`, `ComputerLab` и `GymHall` больше не
|
|
открывают учительскую должность
|
|
- [x] Кабинет-`Homeroom` описывается числом мест, а не таблицей именованных слотов; вместимость
|
|
по-прежнему считается по мебели
|
|
- [x] Слоты остаются у столовой, медкабинета, кабинета директора и библиотеки
|
|
- [x] Редактор карты показывает у кабинета одно поле «мест», у прочих комнат — прежние слоты
|
|
- [x] Ванильная карта переписана под новую форму, вместимость параллелей не изменилась
|
|
- [x] `GET /api/catalog` отдаёт предметы — они понадобятся форме назначения
|
|
- [x] Стартовая дата по умолчанию — суббота 31 марта 2012
|
|
- [x] Снимок карты и `docs/protocol.md` правятся в том же коммите, если меняется раскладка узла
|
|
|
|
## Критерий готовности
|
|
|
|
- Каталог `core` грузится, предметы проходят валидацию, тест на полноту локалей зелёный
|
|
- Школа на ванильной карте даёт те же одиннадцать классов и ту же вместимость, что и до фазы
|
|
- Редактор карты не показывает у кабинета ни доски, ни стула учителя
|
|
- `dotnet test` и клиентские `npm test` / `build` проходят
|
|
|
|
## Стоп
|
|
|
|
Не трогать наём. Генератор пока закрывает должности сам — школа опустеет в следующей фазе.
|