Merge phase 30 apparel defs.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
Leonid Pershin
2026-08-20 02:54:21 +03:00
co-authored by Cursor
17 changed files with 717 additions and 16 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] Ванильная карта и каталог предметов (мебель) не изменились по вместимости
## Критерий готовности
+1 -1
View File
@@ -128,7 +128,7 @@
| Фаза | Статус | Зачем |
| --- | --- | --- |
| [29. Страна](29-country.md) | 🔄 | `CountryDef`, create выбирает страну, климат-пресет от сида |
| [30. Слои и палитра](30-apparel-defs.md) | 🔄 | Поля `ThingDef`, `ColorDef`, ванильная одежда и ноша |
| [30. Слои и палитра](30-apparel-defs.md) | | Поля `ThingDef`, `ColorDef`, ванильная одежда и ноша |
| [31. Генератор одевает](31-dress-generator.md) | ⬜ | Гардероб на человеке, ноша-число, `people.json` |
29 и 30 независимы; 31 стоит на обеих.