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
+53
View File
@@ -0,0 +1,53 @@
# Фаза 86. Комнаты, вещи, правила
## Зависимости
- [Фаза 85](85-wardrobe-prompts.md)
- [Фаза 37](../07-inventory/37-school-rules.md)
- [Фаза 66](../11-events/66-scene-prompt.md) (сборщик fill уже есть; не блокер прозы на RoomDef)
## Зачем
Место и fill умеют сказать кадру то же, что игрок видит в панели. Две ручки правил отбирают
новые слои, без магазинов и без «надеть с карточки».
## Задачи
- [ ] Непустой английский `prompt` у ванильных мест из [`sight.md`](../../design/16-sight/sight.md)
(библиотека, комп. класс, зал, столовая, медкабинет, кабинет директора, учительская,
секретарь, техник, меняльные, двор, холл, коридор, туалет — умывальная). `Stairwell` /
этажи / корпуса без текста молчат. `Chair` молчит
- [ ] Fill-вещи `PottedPlant`, `WallPoster`, `NoticeBoard`, `GymMat` с прозой; слоты на
соответствующих RoomDef и/или дефолтной карте
- [ ] Портрет человека в классе после 66 включает растение/плакат, если они в fill и вес прошёл
бюджет
- [ ] `DressRulePair`: поля аксессуаров (`free`/`none`) и обуви (`free`/`uniform`). Дефолт `free`.
Сейв без полей поднимается в `free`, файл сам не переписываем до записи правил
- [ ] Уместность: `none` → слой Accessory в школе — issue; `uniform` → кеды/не-school цвет обуви
в everyday — issue. PE не требует туфли. Утро/pending как у формы: с завтра
- [ ] HTTP GET/POST `dress-rules` отдаёт и принимает новые поля; неизвестный код — `400`. Вкладка
«Правила»: два комбобокса на роль рядом с формой/цветом. Речь не трогать. Строки `t(...)`
- [ ] Сокет не бампить
## Тесты, без которых фаза не закрыта
- [ ] Каталог: у `Library` и `GymHall` непустой prompt; у `Chair` пустой
- [ ] Дефолтная карта/слоты: в зале есть `GymMat` или эквивалентный слот; в классе — растение или
плакат
- [ ] GET правил новой школы — accessories/shoes `free` на обе роли
- [ ] POST `none` сегодня не снимает ремень до следующего рабочего утра; после утра на учениках
в школе нет слоя Accessory
- [ ] POST `uniform` → после утра на учениках в everyday нет `Sneakers`
- [ ] Неизвестный код оси — `400`
- [ ] Vitest: смена нового комбобокса не зовёт API до «Применить»
- [ ] Сборка сцены человека (как 66): fill с прозой попадает в prompt, молчаливый стул — нет
## Критерий готовности
- Выставить «без аксессуаров» и «форма обуви», промотать на утро — шарфов нет, туфли школьные
- «Показать промпт» ученика в классе может содержать растение или плакат
- Отфильтрованные тесты: Content, Simulation/Appropriateness, AppHost dress-rules, Vitest панели
## Стоп
Не HTTP картинки узла. Не кнопку на панели локации. Не групповое фото. Не лифт лиц.