Register slice 16 sight: inspect images and a denser linked catalog.
ci / server (push) Failing after 3m43s
ci / client (push) Successful in 22s

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
Leonid Pershin
2026-08-21 20:46:33 +03:00
co-authored by Cursor
parent bcc3f1333c
commit 02156e4491
8 changed files with 461 additions and 0 deletions
+44
View File
@@ -0,0 +1,44 @@
# Фаза 88. Кнопка на панели
## Зависимости
- [Фаза 87](87-image-subject.md)
- [Фаза 86](86-rooms-rules.md)
## Зачем
То, что уже открыто глазом, получает ту же кнопку, что портрет: узел, одежда, fill. Гость
смотрит и рисует.
## Задачи
- [ ] Панель выбранной локации: «создать картинку» и «показать промпт», если узел может дать
непустой вклад (как 87). Нет вклада — кнопок нет. Открытие дерева не генерирует
- [ ] Строка одежды и ноши на карточке: кнопка, если у def есть `prompt`. Цвет из строки уходит
query. Износ в промпт кладёт сервер
- [ ] Строка предмета в секции «предметы» локации: то же для fill с прозой; молчаливый стул —
без кнопки
- [ ] Успех показывает PNG (как карточка человека). Ошибки Swarm — тот же текст, что портрет
- [ ] Гость видит и жмёт. Notice `generateImage` не менять (хозяин, человек)
- [ ] Строки через `t(...)`, обе локали. Сокет не бампить
## Тесты, без которых фаза не закрыта
- [ ] Vitest: у узла Classroom кнопка есть; у узла без prompt (лестница/этаж) — нет
- [ ] Vitest: у строки TShirt кнопка есть; у Chair в предметах — нет
- [ ] Vitest: гость не лишает кнопку disabled так, как notice
- [ ] Клиент зовёт POST узла/вещи, не `.../people/.../portrait?kind=scene`
- [ ] «Показать промпт» показывает тело GET `.../prompt`, не выдуманную строку на клиенте
- [ ] Открытие панели / вкладки одежды не вызывает POST
## Критерий готовности
- Клик по кабинету на дереве → панель → картинка класса
- Клик по белой футболке на карточке → PNG вещи
- Гость на чужой школе может то же
- `npm test` по затронутым `ui/*.test.ts` (tsc+vitest клиента, не весь раствор)
## Стоп
Не автоген утра. Не иконка на каждом ряду дерева. Не LLM. Не бумажная кукла. Не картинка
журнала и часов.