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