3.9 KiB
3.9 KiB
Фаза 87. Субъект кадра
Зависимости
Зачем
Кабинет и футболка — не человек в URL портрета. Появляется HTTP субъекта «узел» и «вещь»,
PNG на диске, kind scene/thing без лифта живых пресетов.
Задачи
GET/POST.../schools/{id}/nodes/{nodeId}/imageи.../image/prompt. Ключ узла — id карты. PNG:saves/{id}.images/node.{safeId}.pngGET/POST.../schools/{id}/things/{defName}/image(querycolor) и.../image/prompt. PNG:saves/{id}.images/thing.{def}.{color\|none}.png. Нет instance id- Сборка узла: Room/Territory prompt + fill с текстом + погода, если улица. Без внешности и
одежды человека. При ненулевой занятости узла — не больше одного общего фрагмента из
SimulationOptions, не имена - Сборка вещи:
promptdef + цвет + износ, если смотрим надетое (износ в промпте; ключ файла без износа). Молчаливый def — не Swarm - Пустой вклад —
400cannot-generate. Нет узла/def —404. Swarm как портрет (503/502/504) - Гость: тот же успех, что
POST .../people/.../portrait, не403 - В шаблоне
swarmui.jsonу пресетов shot kindsceneиthing. Живая школа без них не переписывается; fallback строки вSimulationOptions protocol.md— маршруты и коды, тем же коммитом. Сокет не бампить.PortraitKindчеловека не расширять значениемscene
Тесты, без которых фаза не закрыта
- GET картинки узла до POST —
404image-missing(или согласованный код в protocol.md) - POST класса: prompt содержит место/fill, не «teenage girl» / возраст карточки
- POST узла без вклада (этаж/лестница без prompt) —
400, Swarm не звали - POST
Chair—400cannot-generate - POST
TShirt?color=White— prompt английский про футболку, без субъекта-человека - Гость POST узла — не
403(тот же класс исхода, что портрет; хост с фикстурой Swarm или тот же skip-контракт, что у портрета) - Живой
portraitSettingsбез kindsceneгенерирует узел через fallback и не перезаписывает сейв пресета - Occupancy > 0 добавляет не больше одного общего фрагмента; имён людей в prompt нет
- Сокет Version не меняется
Критерий готовности
- curl/хостовый тест: POST кабинета → PNG на диске; GET отдаёт image/png
- «Показать промпт» узла доступен HTTP, даже если кнопки в UI ещё нет
- Отфильтрованные тесты: AppHost (маршруты), сборщик на сервере; не весь раствор
Стоп
Не кнопки в DOM. Не автоген всем узлам. Не ControlNet. Не бамп сокета. Не групповые лица.