Files
houseplan-card/docs/design/600-settings-dialogs/OPEN-POINTS.md
T
Claude 94c9d8addf docs: положить дизайн-референс диалогов настроек в репозиторий (#600)
AC0 задачи: пока референс лежит вложением в issue, ревью сравнивает продукт с
макетом «на глаз», и ровно это дало выпущенный в 1.77.0-beta.2 ложный паритет —
карточки снаружи, старая разметка внутри.

Содержимое архива `houseplan-settings-design-2026-09-18.zip`
(SHA-256 06f07fc212947ee9da1a39aaab2d14cbd41154cc9effe39bc48e1c2e1517255b,
сверен побайтово с вложением #591) разложено по образцу #505:

- `SPEC.md`, `IMPLEMENTATION-GUIDE.md`, `OPEN-POINTS.md`, карта полей Space —
  с этого коммита часть ТЗ: расхождение называется ссылкой на пункт документа;
- `reference/` — свёрстанный прототип четырёх форм;
- `screenshots/` — четыре формы целиком, 560 px, 2x;
- `README.md` — происхождение, отпечаток, границы использования;
- `ACCEPTANCE.md` — место для парных кадров «референс / продукт» по AC1.

Автор — сотрудник владельца (подтверждено 20.09 в #600), внешний грант не нужен.

Windows-лаунчеры `START.cmd` и `START.ps1` не переносились: `node serve.mjs`
делает то же самое. `room-fill.test.mjs` перенесён как документ намерения, CI
его не запускает — под `docs/**` не попадает ни один тестовый glob.

В бандл отсюда не попадает ничего; `repo-hygiene` и полный набор зелёные
(2793 pass).

Issue: #600
User-Visible: no
2026-09-20 09:07:53 +03:00

36 lines
7.3 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Открытые точки для реализующей сессии Claude
Это не вопросы владельцу репозитория. Это места, где прототип задевает не только разметку, и где реализующая сессия Claude должна **уточнить у JB в чате**, когда дойдёт до соответствующего диалога, а не решать сама и не спрашивать в issue. Каждый пункт: что неясно · что изменится от ответа · вариант по умолчанию, который предлагается JB. Пока ответа нет, держится текущее поведение продукта, а визуал адаптируется. Главное правило неизменно: меняем только UI форм, код продукта глобально не трогаем.
---
**Q1. Save только при изменениях и подтверждение при закрытии.** Сейчас Save активен всегда (кроме пустого имени / невалидных полей), а X, Cancel и Escape закрывают диалог без вопроса. Прототип делает Save неактивным без изменений, показывает «Unsaved changes» и спрашивает Keep editing / Discard changes. Это новое поведение, а не только разметка.
Предлагаемый вариант: принять для всех четырёх диалогов; dirty считается сравнением черновика с исходным снимком в памяти, ничего не сохраняется. Если нет, оставляем текущую логику Save и закрытия, футер только перерисовывается.
**Q2. Образцы карточки комнаты.** В Space settings (под слайдером размера шрифта) и в Room settings (внизу) сейчас есть образец карточки `_renderCardPreview`. В прототипе его нет.
Предлагаемый вариант: убрать оба образца. Если оставить, они встают в конец соответствующей карточки Font sizes / Room cards в стиле Display preview.
**Q3. Display preview в диалоге устройства.** Прототип показывает упрощённый блок (макет маркера + четыре факта). В продукте `hp-device-preview` богаче: Now / Example, демонстрация активности, Source details, примечание о масштабе.
Предлагаемый вариант: оставить `hp-device-preview` целиком, только обернуть в блок на тинте; ничего не урезать.
**Q4. Room: «As the space» тумблером.** Сейчас это первый пункт из шести радио. В прототипе тумблер «As the space», при выключении сегмент из пяти режимов. Значение то же (`_roomFill` = '' или режим), но при выключении тумблера нужно какое-то стартовое значение сегмента.
Предлагаемый вариант: стартовое значение = эффективный режим пространства (если у пространства Custom, выбирается Custom), пользователь меняет дальше. Альтернатива: один сегмент из шести с первым пунктом «As the space».
**Q5. Поле цвета с системным пикером.** Прототип заменяет `hp-color-opacity` (панель HSB со слайдерами и OK) на inline-плашку с `<input type="color">`, hex и числом прозрачности. В компаньоне HA на iOS/Android это нативный лист ОС; в старых WebView может деградировать до текста (предусмотрен fallback hex-поле).
Предлагаемый вариант: новое поле только в четырёх диалогах настроек; редактор декора, summary и радар остаются на `hp-color-opacity`. Если нативный пикер неприемлем, то же inline-поле, но клик по свотчу открывает существующую панель `hp-color-opacity`.
**Q6. Переименования подписей.** Прототип меняет тексты существующих ключей: `space.show_lqi` → «Zigbee signal next to devices», `space.show_names` без «(drag to move)», `room.area_label` без «(unassigned)», `marker.name_label` → «Name» (пояснение «Shown on the plan» уходит в подсказку), «Hide the decorative layer / Hide openings» → «Decorative layer / Doors, windows & gates» с логикой «включено = видно» только в UI. Заголовки карточек новые.
Предлагаемый вариант: принять; ключи `hide_decor` / `hide_openings` в конфиге не меняются. Переводы de/fr для новых и изменённых строк пишет исполнитель, владелец проверяет.
**Q7. Ширина диалогов 560 px.** Сейчас `wide` = 500 px (в реальном HA `--ha-dialog-width-md`). Прототип рассчитан на 560.
Предлагаемый вариант: scoped-переменная 560 для четырёх `data-kind`, generic `wide` не трогается; проверка на настоящем `ha-dialog` по методике #505.
**Q8. Мелкие условные скрытия в диалоге устройства.** Прототип прячет «Ask for confirmation» при действии «Do nothing» и переносит чекбокс «Show entities» внутрь панели выбора.
Предлагаемый вариант: принять оба (значения ключей не меняются). Если нет, тумблер показывается всегда, чекбокс остаётся рядом с сегментом.
**Q9. Один issue или четыре.** Все четыре диалога на одной библиотеке примитивов; можно вести одним issue с четырьмя коммит-сериями или разбить на umbrella + 4 дочерних.
Предлагаемый вариант: один issue, порядок реализации Space → General → Room → Device, каждый диалог отдельным PR/коммит-серией с собственными парными скриншотами.
**Q10. Место референса в репозитории.** По образцу #505: `docs/design/<NN>-settings-dialogs/reference/` + `README.md` с SHA-256 и `ACCEPTANCE.md`.
Предлагаемый вариант: так и сделать; в бандл ничего из референса не попадает.