Let the catalog describe clothes and carryables on ThingDef without dressing anyone.

Empty layers keep furniture on the map; a known layer set and ColorDef palette reject unknown ids at load.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
Leonid Pershin
2026-08-20 02:47:23 +03:00
co-authored by Cursor
parent 450495f666
commit abcf67eaab
16 changed files with 716 additions and 15 deletions
+13 -13
View File
@@ -10,28 +10,28 @@
## Задачи
- [ ] Поля `ThingDef`: `layers`, `portable`, `mass`, `insulation`, `formality`, `age`, `sex`,
- [x] Поля `ThingDef`: `layers`, `portable`, `mass`, `insulation`, `formality`, `age`, `sex`,
`colors`, `skirtLength`, `pe`. Пустые `layers` — прежняя мебель, карта не ломается
- [ ] Слои — известный набор в коде (`Underwear``Accessory`), как роли. Неизвестный слой —
- [x] Слои — известный набор в коде (`Underwear``Accessory`), как роли. Неизвестный слой —
ошибка загрузки
- [ ] `ColorDef`: id и теги (`neutral`, `bright`, `school`). Ссылка вещи на неизвестный цвет —
- [x] `ColorDef`: id и теги (`neutral`, `bright`, `school`). Ссылка вещи на неизвестный цвет —
ошибка
- [ ] Вещь с несколькими `layers` допустима (платье). Пересечение слоёв у двух надетых сразу
- [x] Вещь с несколькими `layers` допустима (платье). Пересечение слоёв у двух надетых сразу
валидатор не проверяет — это состояние человека, не каталога
- [ ] Ваниль по [`../design/inventory.md`](../design/inventory.md): бельё, носки, низы, верх,
- [x] Ваниль по [`../design/inventory.md`](../design/inventory.md): бельё, носки, низы, верх,
свитер, куртка/пальто/шуба, обувь, шапка, аксессуары, платье, форма физкультуры,
портфель, учебник, телефон, бутылка
- [ ] Палитра цветов и локали ru/en на все новые def
- [ ] Учебник — один `ThingDef` без зашитого предмета; предмет живёт на экземпляре в фазе 31
- [ ] Мебель на карте по-прежнему без `layers`; редактор не предлагает надеть стул
- [x] Палитра цветов и локали ru/en на все новые def
- [x] Учебник — один `ThingDef` без зашитого предмета; предмет живёт на экземпляре в фазе 31
- [x] Мебель на карте по-прежнему без `layers`; редактор не предлагает надеть стул
## Тесты, без которых фаза не закрыта
- [ ] `Chair` без новых полей грузится как раньше
- [ ] Платье с `layers: ["Bottom", "Top"]` проходит; неизвестный слой — ошибка
- [ ] Футболка ссылается на `Red`; отсутствие `Red` в палитре — ошибка
- [ ] Тест полноты локалей зелёный на новый набор
- [ ] Ванильная карта и каталог предметов (мебель) не изменились по вместимости
- [x] `Chair` без новых полей грузится как раньше
- [x] Платье с `layers: ["Bottom", "Top"]` проходит; неизвестный слой — ошибка
- [x] Футболка ссылается на `Red`; отсутствие `Red` в палитре — ошибка
- [x] Тест полноты локалей зелёный на новый набор
- [x] Ванильная карта и каталог предметов (мебель) не изменились по вместимости
## Критерий готовности