# Ближайший горизонт: что видит игрок Это не текущее состояние кода, а договорённости на ближайшее планирование. Как устроено сейчас — в [`architecture.md`](../architecture.md). ## Решение: не PixiJS, а менеджер на DOM Внутри школы нет 2D-сцены, камеры и спрайтов. Интерфейс ближе к менеджеру, чем к классическому QSP: не «полотно текста + список действий», а панели. Ориентир по экрану школы (после часов и паузы, которые уже есть): - **Карта** — дерево локаций (tree view). - **Общие события** — то, что происходит в школе целиком, не привязано к выбранному узлу. - **Выбранная локация** — что происходит именно там. Картинок локаций и портретов в этом горизонте нет; позже можно добавить, не ломая панели. Анимация пока только переходы панелей/списков и живые цифры (часы, счётчики). Графики — когда появятся числа, которые ими стоит показывать, не раньше. Клиент остаётся plain DOM + CSS. `pixi.js` для этого не нужен и в этом горизонте его стоит убрать из зависимостей. Симуляция по-прежнему на сервере: ученики и комнаты могут существовать как данные в Arch ECS, даже если клиент рисует строки списка, а не человечков. Типы комнат, предметов и действий описываются **defs** (JSONC), конкретная школа — **картой-инстансом**. Подробности: [`defs.md`](defs.md). Дерево в UI — это территория → здания → этажи → помещения. ## Что уже зафиксировано | Тема | Решение | | --- | --- | | Вид внутри школы | Менеджер: дерево + общие события + содержимое локации | | Рендер | DOM, не WebGL/Pixi | | Картинки | Нет в этом горизонте | | Анимация | Переходы и живые цифры | | Часы, пауза, скорость | Остаются; это не отменяется панелями | | Логика игры | Только сервер; клиент шлёт намерения и рисует то, что сказали | | Данные игры | Defs (типы) + карта (инстанс), см. [`defs.md`](defs.md) | | Дерево карты | Территория → здание → этаж → помещение; рёбра проходов — граф инстанса | | Редактор карты | Только при создании школы | | Моды | Папки на сервере, выбор в диалоге создания | | Поток школы | Цель: один поток и один ECS world на школу, см. [`runtime.md`](runtime.md) | ## Ещё не решено Эти вопросы закрывают игровой срез. Карту и моды больше не блокируют. 1. Что такое «общее событие»: лог за смену, только текущие процессы, или новости («урок начался»)? 2. Что видно на выбранной локации сначала: предметы (в т.ч. пусто), заготовки действий, вакансии? 3. Выбор узла в дереве — только фильтр на клиенте или намерение на сервер? Открытые вопросы по core-моду, двору и коллизиям имён — в конце [`defs.md`](defs.md). ## Заведомо не сейчас - Портреты, арт локаций, схема этажа в пикселях. - Управление персонажем от первого/третьего лица. - Победа/кампания, пока нет даже наблюдаемого мира.