Fix layout issues in the user interface by adjusting CSS styles for better responsiveness and accessibility. Update component structure to improve maintainability and enhance user experience across different devices.
ci / server (push) Failing after 3m32s
ci / client (push) Successful in 15s

This commit is contained in:
Leonid Pershin
2026-08-18 13:21:41 +03:00
parent cc9efca891
commit d96b420133
6 changed files with 430 additions and 0 deletions
+21
View File
@@ -0,0 +1,21 @@
# Фаза 0. Убрать PixiJS
## Зависимости
Нет.
## Зачем
`pixi.js` стоит в клиенте «для вида внутри школы». Ближайший вид — DOM-менеджер, не сцена.
Держать пакет без импорта нельзя: это противоречит бюджету зависимостей в `AGENTS.md`.
## Задачи
- [ ] Удалить `pixi.js` из `src/HSchool.Client/package.json` и обновить lockfile
- [ ] Убрать обещание Pixi из `README.md` и `AGENTS.md` (клиент: Vite + TypeScript + DOM)
## Критерий готовности
- `npm --prefix src/HSchool.Client run build` проходит
- в клиентском коде нет импорта `pixi.js`
- в рабочих соглашениях больше нет формулировки «Pixi стоит на будущий вид»
+39
View File
@@ -0,0 +1,39 @@
# Фаза 1. Оболочка менеджера на экране школы
## Зависимости
- [Фаза 0](00-drop-pixi.md) — не обязательно технически, но логично закрыть первой
## Зачем
Сейчас внутри школы только часы и кнопки скорости. Дальше туда поедут списки, а не холст.
Нужен каркас панелей, чтобы следующий срез (локации, события) садился в готовые места, а не
ломал вёрстку часов.
Пока нет ответа, **что** лежит в дереве и в ленте, фаза рисует пустые панели с подписями и
сохраняет часы/паузу/скорость. Это не игра, это экран, в который игра въедет.
## Советы по укладке (не задачи, пока не закрыт дизайн)
- Выбор узла дерева на этом шаге можно держать **на клиенте**: сервер ещё не шлёт карту.
Когда появится симуляция локаций, решить отдельно, фильтр это или `OpenLocation`.
- Не слать дерево 20 раз в секунду. Часы уже едут по сокету; списки и события — когда меняются
(отдельные кадры или редкий снимок). Иначе меню-карточки повторятся внутри школы.
- Строки UI — через `t(...)`, как остальной клиент.
## Задачи
- [ ] На экране школы три области: дерево карты, общие события, выбранная локация — плюс текущие часы и управление временем
- [ ] Пока нет данных с сервера, панели показывают пустое состояние (не ломаются)
- [ ] Переключение языка обновляет подписи панелей
## Критерий готовности
- Можно открыть школу и увидеть каркас менеджера рядом с работающими часами
- Нет регрессии паузы и скоростей
- Клиентские тесты и `npm --prefix src/HSchool.Client run build` проходят
## Стоп
Не наполнять панели выдуманными учениками и комнатами. Наполнение идёт из defs и карты
([`../design/defs.md`](../design/defs.md)), когда закроются открытые вопросы там.
+15
View File
@@ -0,0 +1,15 @@
# Фазы ближайшего горизонта
Индекс. Статус: ⬜ не начата, 🔄 в работе, ✅ готова.
Дизайн игрока: [`../design/near-term.md`](../design/near-term.md).
Defs и карта: [`../design/defs.md`](../design/defs.md).
Потоки: [`../design/runtime.md`](../design/runtime.md).
| Фаза | Статус | Зачем |
| --- | --- | --- |
| [0. Убрать PixiJS](00-drop-pixi.md) | ⬜ | Зависимость была под сцену, которой не будет |
| [1. Оболочка менеджера](01-manager-shell.md) | ⬜ | Каркас экрана школы под дерево / события / локацию |
| Работник на школу (поток + свой World) | — | Ломает текущий общий цикл; делать до тяжёлой симуляции |
| Каталог def + ванильная карта | — | Загрузчик JSONC, локали мода, связность карты |
| Моды и редактор при создании | — | Список `mods/`, выбор, раскладка в POST create |