# Фаза 31. Генератор одевает ## Зависимости - [Фаза 29](29-country.md) - [Фаза 30](30-apparel-defs.md) - [Фаза 6](06-people-generator.md) ## Зачем Люди рождаются одетыми. Гардероб детерминирован и лежит на человеке в `people.json`. ## Задачи - [ ] Экземпляр вещи на человеке: `def`, `color`, `condition` (1), место (`worn` / `bag` / `locker` / `home`), для учебника — `subject` - [ ] Генератор одевает учеников, сотрудников, родителей и соискателей от семейного сида: слои без пересечения, пол, возраст, дефолтные правила (обычная форма, без яркого на теле) - [ ] Учебники — по одному на предмет параллели ученика; в сумке пока могут лежать все, разнос «сегодняшние vs шкафчик» — в фазе 33/35 - [ ] Портфель, телефон, бутылка — с возрастом и шансом из данных, не из константы в генераторе - [ ] Навык `Hauling` (`always`); предел массы в дефе правил; на карточке несёшь/можешь. Перегруз ходьбу не трогает; в сумку сверх предела генератор не кладёт - [ ] `GET .../people/{id}` отдаёт надетое и ношу; список людей — нет - [ ] Карточка пока без вкладок: секции «Одежда» и «Ноша» в том же свитке - [ ] `people.json` пишется при создании и наборе; золотой отпечаток обновляется в этом коммите с объяснением, что изменилось - [ ] Строки через `t(...)` / локали каталога ## Тесты, без которых фаза не закрыта - [ ] Тот же сид, страна, карта и язык → те же id вещей, цвета и места - [ ] На одном слое не две вещи; платье занимает низ и верх сразу - [ ] Юбка не выдаётся мужчинам на тело; яркий верх не выдаётся на тело при дефолтных правилах - [ ] Ученик параллели с математикой имеет учебник этого предмета - [ ] Родитель и соискатель одеты - [ ] Масса в сумке ≤ предела - [ ] Старый `people.json` без инвентаря поднимается: генератор одевает при загрузке и пишет файл (как пул соискателей в фазе 11) ## Критерий готовности - Открыть карточку ученицы: слои заполнены, цвет виден, ноша с числом - Повтор create с сидом даёт ту же рубашку - `dotnet test` и `npm test` / `build` проходят ## Стоп Не считать погоду. Не изнашивать. Не переодевать по ситуации. Не заводить вкладки карточки.