Remove off-queue.md and add new design documentation files including README.md, defs.md, near-term.md, projects.md, runtime.md, people.md, staffing.md, and schedule.md to outline the structure and agreements for the game's design phases.

This commit is contained in:
Leonid Pershin
2026-08-20 12:26:13 +03:00
parent 12cc36b4dd
commit a37a5eb82d
101 changed files with 1015 additions and 921 deletions
@@ -0,0 +1,35 @@
# Фаза 7. Люди в школе
## Зависимости
- [Фаза 6](06-people-generator.md)
- [Фаза 2](../01-shell/02-school-worker.md)
## Зачем
Школа создаётся с людьми, они живут в её `World` и переживают перезапуск сервера. Экран пока
не меняется — это фаза про данные.
## Задачи
- [x] Ванильная карта дорабатывается до одиннадцати кабинетов; подписи кабинетов становятся
номерами помещений («204»), а не именами классов
- [x] Компоненты Arch под слои человека; сущности собираются из записей генератора
- [x] Класс как сущность: параллель, литера, закреплённый кабинет
- [x] Нужды тикают вместе со школой — механика есть, скорость в `core` нулевая
- [x] `saves/{id}.people.json`: сид, люди, семьи, классы. Пишется **только** при изменении
состава, не по таймеру; `saves/{id}.json` остаётся маленьким и частым
- [x] Загрузка ростера при старте школы; ростер, не сходящийся с картой, оставляет школу
незапущенной и файл нетронутым — как сейчас с картой
- [x] Воркер публикует неизменяемый снимок ростера, как публикует `SchoolState`
## Критерий готовности
- Создать школу — все ученические места и должности заняты
- Перезапустить сервер — те же люди с теми же именами и характеристиками
- Файл ростера не переписывается каждые тридцать секунд
- `dotnet test` проходит
## Стоп
Ни панели, ни фильтров, ни HTTP списка людей. Никакого поведения: люди существуют и стоят.