Merge phase 31 dress generator.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
Leonid Pershin
2026-08-20 03:27:06 +03:00
co-authored by Cursor
44 changed files with 8884 additions and 1306 deletions
+16 -16
View File
@@ -12,30 +12,30 @@
## Задачи
- [ ] Экземпляр вещи на человеке: `def`, `color`, `condition` (1), место (`worn` / `bag` /
- [x] Экземпляр вещи на человеке: `def`, `color`, `condition` (1), место (`worn` / `bag` /
`locker` / `home`), для учебника — `subject`
- [ ] Генератор одевает учеников, сотрудников, родителей и соискателей от семейного сида:
- [x] Генератор одевает учеников, сотрудников, родителей и соискателей от семейного сида:
слои без пересечения, пол, возраст, дефолтные правила (обычная форма, без яркого на теле)
- [ ] Учебники — по одному на предмет параллели ученика; в сумке пока могут лежать все, разнос
- [x] Учебники — по одному на предмет параллели ученика; в сумке пока могут лежать все, разнос
«сегодняшние vs шкафчик» — в фазе 33/35
- [ ] Портфель, телефон, бутылка — с возрастом и шансом из данных, не из константы в генераторе
- [ ] Навык `Hauling` (`always`); предел массы в дефе правил; на карточке несёшь/можешь.
- [x] Портфель, телефон, бутылка — с возрастом и шансом из данных, не из константы в генераторе
- [x] Навык `Hauling` (`always`); предел массы в дефе правил; на карточке несёшь/можешь.
Перегруз ходьбу не трогает; в сумку сверх предела генератор не кладёт
- [ ] `GET .../people/{id}` отдаёт надетое и ношу; список людей — нет
- [ ] Карточка пока без вкладок: секции «Одежда» и «Ноша» в том же свитке
- [ ] `people.json` пишется при создании и наборе; золотой отпечаток обновляется в этом коммите
- [x] `GET .../people/{id}` отдаёт надетое и ношу; список людей — нет
- [x] Карточка пока без вкладок: секции «Одежда» и «Ноша» в том же свитке
- [x] `people.json` пишется при создании и наборе; золотой отпечаток обновляется в этом коммите
с объяснением, что изменилось
- [ ] Строки через `t(...)` / локали каталога
- [x] Строки через `t(...)` / локали каталога
## Тесты, без которых фаза не закрыта
- [ ] Тот же сид, страна, карта и язык → те же id вещей, цвета и места
- [ ] На одном слое не две вещи; платье занимает низ и верх сразу
- [ ] Юбка не выдаётся мужчинам на тело; яркий верх не выдаётся на тело при дефолтных правилах
- [ ] Ученик параллели с математикой имеет учебник этого предмета
- [ ] Родитель и соискатель одеты
- [ ] Масса в сумке ≤ предела
- [ ] Старый `people.json` без инвентаря поднимается: генератор одевает при загрузке и пишет
- [x] Тот же сид, страна, карта и язык → те же id вещей, цвета и места
- [x] На одном слое не две вещи; платье занимает низ и верх сразу
- [x] Юбка не выдаётся мужчинам на тело; яркий верх не выдаётся на тело при дефолтных правилах
- [x] Ученик параллели с математикой имеет учебник этого предмета
- [x] Родитель и соискатель одеты
- [x] Масса в сумке ≤ предела
- [x] Старый `people.json` без инвентаря поднимается: генератор одевает при загрузке и пишет
файл (как пул соискателей в фазе 11)
## Критерий готовности
+1 -1
View File
@@ -129,7 +129,7 @@
| --- | --- | --- |
| [29. Страна](29-country.md) | ✅ | `CountryDef`, create выбирает страну, климат-пресет от сида |
| [30. Слои и палитра](30-apparel-defs.md) | ✅ | Поля `ThingDef`, `ColorDef`, ванильная одежда и ноша |
| [31. Генератор одевает](31-dress-generator.md) | 🔄 | Гардероб на человеке, ноша-число, `people.json` |
| [31. Генератор одевает](31-dress-generator.md) | | Гардероб на человеке, ноша-число, `people.json` |
29 и 30 независимы; 31 стоит на обеих.