44 lines
2.7 KiB
Markdown
44 lines
2.7 KiB
Markdown
# Фаза 30. Слои и палитра
|
||
|
||
## Зависимости
|
||
|
||
- [Фаза 3](../01-shell/03-defs-map.md)
|
||
|
||
## Зачем
|
||
|
||
Каталог умеет описать одежду и ношу, не путая их с партой. Никто ещё ничего не носит.
|
||
|
||
## Задачи
|
||
|
||
- [x] Поля `ThingDef`: `layers`, `portable`, `mass`, `insulation`, `formality`, `age`, `sex`,
|
||
`colors`, `skirtLength`, `pe`. Пустые `layers` — прежняя мебель, карта не ломается
|
||
- [x] Слои — известный набор в коде (`Underwear` … `Accessory`), как роли. Неизвестный слой —
|
||
ошибка загрузки
|
||
- [x] `ColorDef`: id и теги (`neutral`, `bright`, `school`). Ссылка вещи на неизвестный цвет —
|
||
ошибка
|
||
- [x] Вещь с несколькими `layers` допустима (платье). Пересечение слоёв у двух надетых сразу
|
||
валидатор не проверяет — это состояние человека, не каталога
|
||
- [x] Ваниль по [`inventory.md`](../../design/07-inventory/inventory.md): бельё, носки, низы, верх,
|
||
свитер, куртка/пальто/шуба, обувь, шапка, аксессуары, платье, форма физкультуры,
|
||
портфель, учебник, телефон, бутылка
|
||
- [x] Палитра цветов и локали ru/en на все новые def
|
||
- [x] Учебник — один `ThingDef` без зашитого предмета; предмет живёт на экземпляре в фазе 31
|
||
- [x] Мебель на карте по-прежнему без `layers`; редактор не предлагает надеть стул
|
||
|
||
## Тесты, без которых фаза не закрыта
|
||
|
||
- [x] `Chair` без новых полей грузится как раньше
|
||
- [x] Платье с `layers: ["Bottom", "Top"]` проходит; неизвестный слой — ошибка
|
||
- [x] Футболка ссылается на `Red`; отсутствие `Red` в палитре — ошибка
|
||
- [x] Тест полноты локалей зелёный на новый набор
|
||
- [x] Ванильная карта и каталог предметов (мебель) не изменились по вместимости
|
||
|
||
## Критерий готовности
|
||
|
||
- Каталог `core` грузится, школы создаются, люди голые
|
||
- `dotnet test` проходит
|
||
|
||
## Стоп
|
||
|
||
Не генерировать экземпляры. Не трогать карточку и create сверх того, что уже есть.
|