Files
h-school/docs/phases/04-create-editor.md
T

35 lines
2.4 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Фаза 4. Моды и редактор в create
## Зависимости
- [Фаза 1](01-manager-shell.md)
- [Фаза 3](03-defs-map.md)
## Зачем
Игрок выбирает моды, правит или стирает дефолтную карту, создаёт школу. Внутри школы дерево и
панель локации читают снимок, не заглушки.
## Задачи
- [x] `GET` списка модов: `core` как обязательный, остальные папки `mods/`
- [x] `GET` каталога с `?lang=ru|en` (типы + локали) для `core` + выбранных id
- [x] Hello несёт тот же locale; снимок карты при OpenSchool на этом языке
- [x] `POST /api/schools` принимает доп. моды и раскладку; сервер всегда подставляет `core` первым и валидирует
- [x] В диалоге создания: чекбоксы модов (`core` нельзя снять), редактор дерева/связей/слотов или сброс к дефолту
- [x] При `OpenSchool` — один снимок карты (дерево + локации: имя, предметы, пустые персонажи и действия на месте, должности). Не на каждый клик, не 20 Гц
- [x] Клиент фильтрует выбранный узел; часы как сейчас
- [x] Протокол/HTTP описать в `docs/protocol.md` в том же коммите, что кодек
- [x] Тесты API: create с картой, отказ на дырявый граф, открытие отдаёт снимок
## Критерий готовности
- Создать школу с ванильной картой и с упрощённой своей
- Открыть: дерево кликается, локация показывает имя/предметы/должности, персонажи и действия на месте пустые, события пустые
- Перезапуск сервера поднимает эту школу с той же раскладкой
- `dotnet test` и клиентский `npm test` / `build` проходят
## Стоп
Не приказы «сесть». Не лента событий. Не `OpenLocation` на сервер.