Files
houseplan-card/docs/design/600-settings-dialogs/README.md
T
Claude c3e64dc60a feat(dialogs): финал #600 — мёртвые стили, парные кадры, документация, потолки
Завершение четырёх серий по референсу docs/design/600-settings-dialogs/:

- из eager-листов dialogs.styles.ts и chrome.styles.ts сняты стили прежней
  разметки диалогов (.bindsel/.bindharow/.entcheck, .ctrlchip*, .markerhelp*,
  .helpfieldlabel, .markerradios, .markerlightdisabled, .markerbadgetechnical,
  .markerglowvalue, .fileupload, .descin, .pdfedit/.pdftag, .gsrow,
  .ripple-*row, .radaradditional, .togglehint, футеры marker/room) — 5,8 КБ
  исходника; с разметки сняты уже пустые классы;
- «Additional actions» карточки Details — подзаголовок и строка действий
  набора, без раскрывашки (radar-section.ts, только additional-placement);
- Q3 уточнён по кадру: hp-device-preview стоит без обёртки — у него свой
  заголовок «Display preview · Now», второй над ним удваивался; пустое
  состояние — блок на тинте;
- §6.1: «?» у комнаты стоит у поля Home Assistant area, а не у заголовка
  Basics; подписи сегмента заливки — None · Zigbee · Lights · Temperature ·
  Custom (два коротких ключа room.fill_seg_*), источники — «Average of the
  room’s sensors / Specific device or entity», режим свечения — «Colour and
  brightness» (тексты прежних ключей укорочены под сегменты);
- подпись поля с «?» и без стоят на одной линии в сетке (min-height 32 по
  кнопке hp-help); иконка внутри подсказки — inline;
- парные кадры: demo/capture_design_pairs_600.mjs снимает четыре диалога в
  двух темах на 560 в состояниях макетов → docs/design/…/pairs/ (8 PNG,
  палитра 256, ~0,5 МБ); ACCEPTANCE.md — статус по диалогам, расхождения с
  референсом по каждому со ссылкой на пункт SPEC и принятые адаптации (шапка
  hp-dialog по §3, тумблеры набора по К7, секции радара/пылесоса по §7.2);
- changelog EN/RU («Не выпущено»), USER-GUIDE ru/en: раздел «Как устроены
  диалоги настроек», таблица настроек пространства по новым карточкам,
  диалог комнаты, диалог устройства, ссылка «Как у пространства»;
- бюджет: стартовый граф 289 853 — потолок 291 600 → 290 900 (снятые стили);
  ленивый редакторский 243 149 — итоговый потолок 243 900 с разбором по
  сериям в bundle-budget.mjs.

Golden: 11 сцен диалогов (device-dialog-*, room-temperature-dialog-*,
toggle-entity-dialog-*, device-help-popover-light-ru,
general-color-popover-desktop-en, settings-help-zoom-200-*,
device-ripple-color-popover-mobile-ru, space-room-color-popover-desktop-ru)
прогнаны диагностически (capture, HP_ALLOW_FOREIGN_CAPTURE, только
artifacts/): харнесс проходит все пути без исключений, кадры «different» —
эталоны переснимаются на Linux CI / машине владельца по #455.
Скриншоты документации (06-device-editor, 06-device-display-preview и др.)
устарели по отпечатку — пересъёмка перед кандидатом беты (#479).

Гейты: typecheck, build, bundle:sync (три копии байт в байт), npm test
2793 pass по четырём частям, mutation-gate --check, check-inputs --coverage,
фокусные смоки четырёх форм и смоки диалога устройства.

Issue: #600
User-Visible: yes
2026-09-20 13:01:07 +03:00

4.9 KiB

#600 designer reference — settings dialogs

Issue: https://github.com/Matysh/houseplan-card/issues/600 Оригинальное предложение и обсуждение: #591.

Происхождение

Файлы этой папки — содержимое архива houseplan-settings-design-2026-09-18.zip, приложенного к #591 18.09.2026.

SHA-256  06f07fc212947ee9da1a39aaab2d14cbd41154cc9effe39bc48e1c2e1517255b

Отпечаток сверен побайтово с вложением #591 20.09.2026. Он здесь не как след разрешения, а как метка версии: если материалы обновятся, будет видно, из какой редакции собрана папка.

Автор — @singlmolt-prog, дизайнер JustBusiness, сотрудник владельца репозитория. Материал принадлежит команде владельца и лежит под лицензией репозитория на общих основаниях (подтверждено владельцем 20.09.2026 в #600).

Что здесь лежит

Путь Что это
SPEC.md ТЗ автора на четыре диалога в структуре PROCESS.md §7.1: визуальная система §3.1, состав каждой карточки §4–§7, i18n §8, AC §11
IMPLEMENTATION-GUIDE.md где что в src/, порядок работ, маппинг контрол → ключ состояния, ветки, которых прототип не показывает
OPEN-POINTS.md десять мест, где прототип задевает поведение; решения владельца по каждому — в #600
field-maps/FIELD-MAP-space.md карта полей Space settings: прототип → SpaceDialogState → ключ i18n → контрол
ARCHIVE-README.md README автора из архива, как есть
ISSUE-FORM.md текст, из которого заведён #591
reference/ свёрстанный прототип всех четырёх форм
screenshots/ четыре формы целиком, 560 px, 2×, состояние по умолчанию
pairs/ кадры продукта для парного сравнения: четыре диалога × светлая и тёмная тема, 560 px; снимаются node demo/capture_design_pairs_600.mjs (см. ACCEPTANCE.md)

Как открыть прототип

cd docs/design/600-settings-dialogs/reference
node serve.mjs        # http://127.0.0.1:8135/

file:// не работает: прототип собран на ES-модулях. Переключатель «Form» в верхней панели показывает четыре формы. Данные форм лежат в localStorage браузера; для чистого состояния открывать в приватном окне.

Windows-лаунчеры START.cmd и START.ps1 из архива в репозиторий не переносились — они ничего не добавляют к строке выше.

Границы

  • Это дизайн-референс, а не продуктовый код. JS прототипа не переносится: localStorage, демонстрационные пространства, устройства и списки остаются здесь. reference/room-fill.test.mjs — проверка автора на семантику заливок, CI её не запускает.
  • В бандл отсюда не попадает ничего. Проверяется bundle-tree.
  • Приоритет при расхождении (SPEC.md §2): ТЗ в теле #600 > действующие контракты House Plan (данные, безопасность, доступность, hp-dialog, touch) > визуал и взаимодействия прототипа > детали реализации прототипа.
  • Два решения владельца расходятся со SPEC.md автора и имеют приоритет над ним: образцы карточки комнаты остаются (Q2), поле цвета получает новую раскладку, но прежний контрол hp-color-opacity без нативного пикера (Q5).

Приёмка

ACCEPTANCE.md — парные кадры «референс / продукт» по каждому диалогу (screenshots/ против pairs/), расхождения с основанием и перечень принятых адаптаций. Документ не заменяет код-ревью на S7.