Update design documentation for inventory and climate phases, clarify staffing test results, and add new presence test for hiring and assigning a teacher during lessons.
ci / server (push) Failing after 3m41s
ci / client (push) Successful in 16s

This commit is contained in:
Leonid Pershin
2026-08-20 02:34:16 +03:00
parent bdb1253fdb
commit 450495f666
15 changed files with 1033 additions and 8 deletions
+43
View File
@@ -0,0 +1,43 @@
# Фаза 30. Слои и палитра
## Зависимости
- [Фаза 3](03-defs-map.md)
## Зачем
Каталог умеет описать одежду и ношу, не путая их с партой. Никто ещё ничего не носит.
## Задачи
- [ ] Поля `ThingDef`: `layers`, `portable`, `mass`, `insulation`, `formality`, `age`, `sex`,
`colors`, `skirtLength`, `pe`. Пустые `layers` — прежняя мебель, карта не ломается
- [ ] Слои — известный набор в коде (`Underwear``Accessory`), как роли. Неизвестный слой —
ошибка загрузки
- [ ] `ColorDef`: id и теги (`neutral`, `bright`, `school`). Ссылка вещи на неизвестный цвет —
ошибка
- [ ] Вещь с несколькими `layers` допустима (платье). Пересечение слоёв у двух надетых сразу
валидатор не проверяет — это состояние человека, не каталога
- [ ] Ваниль по [`../design/inventory.md`](../design/inventory.md): бельё, носки, низы, верх,
свитер, куртка/пальто/шуба, обувь, шапка, аксессуары, платье, форма физкультуры,
портфель, учебник, телефон, бутылка
- [ ] Палитра цветов и локали ru/en на все новые def
- [ ] Учебник — один `ThingDef` без зашитого предмета; предмет живёт на экземпляре в фазе 31
- [ ] Мебель на карте по-прежнему без `layers`; редактор не предлагает надеть стул
## Тесты, без которых фаза не закрыта
- [ ] `Chair` без новых полей грузится как раньше
- [ ] Платье с `layers: ["Bottom", "Top"]` проходит; неизвестный слой — ошибка
- [ ] Футболка ссылается на `Red`; отсутствие `Red` в палитре — ошибка
- [ ] Тест полноты локалей зелёный на новый набор
- [ ] Ванильная карта и каталог предметов (мебель) не изменились по вместимости
## Критерий готовности
- Каталог `core` грузится, школы создаются, люди голые
- `dotnet test` проходит
## Стоп
Не генерировать экземпляры. Не трогать карточку и create сверх того, что уже есть.