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