Update design documentation to clarify the structure and relationships of game elements. Enhance the definitions of TerritoryDef, BuildingDef, and FloorDef, and introduce new concepts like Patch for modifying definitions. Revise the near-term design to outline the UI structure and interactions, ensuring a clear framework for future development phases.
ci / server (push) Failing after 3m37s
ci / client (push) Successful in 16s

This commit is contained in:
Leonid Pershin
2026-08-18 13:41:35 +03:00
parent d96b420133
commit bc9a33e67f
9 changed files with 337 additions and 105 deletions
+12 -23
View File
@@ -2,38 +2,27 @@
## Зависимости
- [Фаза 0](00-drop-pixi.md) — не обязательно технически, но логично закрыть первой
- [Фаза 0](00-drop-pixi.md) — логично закрыть первой
## Зачем
Сейчас внутри школы только часы и кнопки скорости. Дальше туда поедут списки, а не холст.
Нужен каркас панелей, чтобы следующий срез (локации, события) садился в готовые места, а не
ломал вёрстку часов.
Пока нет ответа, **что** лежит в дереве и в ленте, фаза рисует пустые панели с подписями и
сохраняет часы/паузу/скорость. Это не игра, это экран, в который игра въедет.
## Советы по укладке (не задачи, пока не закрыт дизайн)
- Выбор узла дерева на этом шаге можно держать **на клиенте**: сервер ещё не шлёт карту.
Когда появится симуляция локаций, решить отдельно, фильтр это или `OpenLocation`.
- Не слать дерево 20 раз в секунду. Часы уже едут по сокету; списки и события — когда меняются
(отдельные кадры или редкий снимок). Иначе меню-карточки повторятся внутри школы.
- Строки UI — через `t(...)`, как остальной клиент.
Сейчас внутри школы только часы. Нужны места под дерево, события и локацию — с теми секциями,
которые уже закрыты в срезе, даже если списки пустые.
## Задачи
- [ ] На экране школы три области: дерево карты, общие события, выбранная локация — плюс текущие часы и управление временем
- [ ] Пока нет данных с сервера, панели показывают пустое состояние (не ломаются)
- [ ] Переключение языка обновляет подписи панелей
- [ ] Три области: дерево карты, общие события, выбранная локация — плюс часы и скорость
- [ ] События: заголовок и пустое состояние, без выдуманных записей
- [ ] Локация: секции имя, предметы, персонажи, действия на месте, должности — пустые, не ломаются
- [ ] Клик по дереву переключает панель локации на клиенте (пока узлы-заглушки или пустое дерево)
- [ ] Переключение языка обновляет подписи панелей и пустых состояний (`t(...)`)
## Критерий готовности
- Можно открыть школу и увидеть каркас менеджера рядом с работающими часами
- Нет регрессии паузы и скоростей
- Клиентские тесты и `npm --prefix src/HSchool.Client run build` проходят
- Школу можно открыть, часы и пауза работают как раньше
- Видны пустые панели среза
- `npm --prefix src/HSchool.Client test` и `run build` проходят
## Стоп
Не наполнять панели выдуманными учениками и комнатами. Наполнение идёт из defs и карты
([`../design/defs.md`](../design/defs.md)), когда закроются открытые вопросы там.
Не наполнять персонажами и событиями. Данные — с фазы 4.