diff --git a/docs/specs/493-summary-panel-hardening.md b/docs/specs/493-summary-panel-hardening.md new file mode 100644 index 00000000..19ebcb9d --- /dev/null +++ b/docs/specs/493-summary-panel-hardening.md @@ -0,0 +1,481 @@ +# #493 — Ограниченный picker и надёжный lifecycle сводной панели + +Issue: [#493](https://github.com/Matysh/houseplan-card/issues/493). +Связанные задачи: [#437](https://github.com/Matysh/houseplan-card/issues/437), +[#490](https://github.com/Matysh/houseplan-card/issues/490). +Ветка: `issue/493-summary-panel-hardening`; база спецификации: +`dev@71aeb860`. +Редакция: 2026-09-09. Полный трек, P2/bug. +Канонический статус — метка issue, не заголовок этого документа. + +## 1. Сценарий + +Администратор дома открывает настройки сводной панели в карточке House Plan, +где уже может быть до 200 показателей и тысячи доступных HA-сущностей. Он +выбирает источник показателя, меняет локальный размер значков/текста, повторно +открывает или пересоздаёт карточку, оптимизирует/копирует/импортирует план. +Домочадец либо пользователь киоска меняет только локальный показ и размеры. +На телефоне любой доступный ему вариант формы должен помещаться в экран. + +Это продолжение утверждённого исключения #437 из `docs/SCOPE.md`: надёжный +read-only overview (J1) и сохранение настройки дома при его изменении (J6), а +не расширение House Plan до произвольного dashboard framework. + +## 2. Что человек увидит до и после + +**До:** большая форма может на секунды зависать, потому что полный список +сущностей повторяется в каждой строке; повторный `setConfig` визуально сбрасывает +сохранённые размеры; после ухода со страницы или смены пользователя может +остаться старый черновик; на узком русском интерфейсе проценты и действия +обрезаются; Optimize имеет отличающийся серверный контракт сохранения панели. + +**После:** у каждой строки остаётся понятный выбор источника, но открыт и +отрисован только один ограниченный поисковый список; локальные размеры не +скачут; новая сессия/пользователь/набор прав не наследует чужой диалог; форма +полностью доступна на узком экране; все штатные способы изменения плана +сохраняют либо явно заменяют панель по одной документированной матрице. + +## 3. Проблема и подтверждённые причины + +Аудит и повторное чтение текущего `dev` подтверждают пять независимых пробелов: + +1. `summary-panel-editor.ts` сортирует весь `hass.states` при каждом render и + создаёт полный набор `