# Фаза 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 сверх того, что уже есть.