40 lines
2.7 KiB
Markdown
40 lines
2.7 KiB
Markdown
# Фаза 1. Оболочка менеджера на экране школы
|
|
|
|
## Зависимости
|
|
|
|
- [Фаза 0](00-drop-pixi.md) — не обязательно технически, но логично закрыть первой
|
|
|
|
## Зачем
|
|
|
|
Сейчас внутри школы только часы и кнопки скорости. Дальше туда поедут списки, а не холст.
|
|
Нужен каркас панелей, чтобы следующий срез (локации, события) садился в готовые места, а не
|
|
ломал вёрстку часов.
|
|
|
|
Пока нет ответа, **что** лежит в дереве и в ленте, фаза рисует пустые панели с подписями и
|
|
сохраняет часы/паузу/скорость. Это не игра, это экран, в который игра въедет.
|
|
|
|
## Советы по укладке (не задачи, пока не закрыт дизайн)
|
|
|
|
- Выбор узла дерева на этом шаге можно держать **на клиенте**: сервер ещё не шлёт карту.
|
|
Когда появится симуляция локаций, решить отдельно, фильтр это или `OpenLocation`.
|
|
- Не слать дерево 20 раз в секунду. Часы уже едут по сокету; списки и события — когда меняются
|
|
(отдельные кадры или редкий снимок). Иначе меню-карточки повторятся внутри школы.
|
|
- Строки UI — через `t(...)`, как остальной клиент.
|
|
|
|
## Задачи
|
|
|
|
- [ ] На экране школы три области: дерево карты, общие события, выбранная локация — плюс текущие часы и управление временем
|
|
- [ ] Пока нет данных с сервера, панели показывают пустое состояние (не ломаются)
|
|
- [ ] Переключение языка обновляет подписи панелей
|
|
|
|
## Критерий готовности
|
|
|
|
- Можно открыть школу и увидеть каркас менеджера рядом с работающими часами
|
|
- Нет регрессии паузы и скоростей
|
|
- Клиентские тесты и `npm --prefix src/HSchool.Client run build` проходят
|
|
|
|
## Стоп
|
|
|
|
Не наполнять панели выдуманными учениками и комнатами. Наполнение идёт из defs и карты
|
|
([`../design/defs.md`](../design/defs.md)), когда закроются открытые вопросы там.
|