Files
h-school/docs/phases/06-foundation/23-example-pack.md
T

2.4 KiB
Raw Blame History

Фаза 23. Настоящий пример мода

Зависимости

  • Фаза 22 — пример должен нести удостоверение, как все

Зачем

Дорога от папки на диске до школы не проверена ни разу: в mods/ лежит только core, а last-wins и патчи живут в тестах на документах в памяти. Один маленький настоящий пак делает весь путь проверяемым — и заодно служит образцом для мод-автора.

Задачи

  • Пак mods/example рядом с core: pack.jsonc, свои локали, пара черт, набор имён, патч чужого def и одна комната
  • Пак нарочно скучный: он образец и фикстура, а не контент. Ванильную игру он не меняет, пока не выбран
  • Пак едет в вывод сборки тестов теми же правилами, что и core
  • Короткий README.md внутри пака: что где лежит и как добавить своё
  • Ориентир в docs/design/01-shell/defs.md показывает на него как на образец

Тесты, без которых фаза не закрыта

  • GET /api/catalog?mods=example отдаёт типы и подписи пака поверх core
  • Школа создаётся с паком и поднимается с ним после перезапуска
  • Патч пака виден в каталоге школы, а без пака его нет
  • Одинаковый defName в core и в паке — побеждает пак, в логе предупреждение
  • Карта пака проходит валидацию и годится для создания школы

Критерий готовности

  • Создать школу с включённым паком и увидеть его содержимое внутри школы
  • Снять пак — школа создаётся прежней
  • dotnet test проходит

Стоп

Не превращать пример в контент-пак: чем он меньше, тем дольше проживёт.