docs: preserve hidden device ghost mode

Issue: #29
User-Visible: no
This commit is contained in:
Matysh
2026-08-27 23:17:52 +00:00
committed by claude[bot]
parent ff9ac33149
commit e04cf7e573
+36 -11
View File
@@ -217,9 +217,14 @@ Raw binding и диагностические детали допускаютс
- Кнопки **«Добавить»** и **«Скрытые и деактивированные»** заменяются одной
кнопкой **«Устройства»** с иконкой списка/устройств.
- **«Правила иконок»** остаётся отдельной кнопкой.
- Скрытые markers больше не рисуются поверх плана постоянным локальным режимом:
доступ к ним даёт каталог. Это устраняет состояние панели, неочевидное после
возврата в редактор.
- Существующий локальный режим показа скрытых и HA-disabled markers призраками
на плане сохраняется, включая их реальную позицию, выбор, настройку и
перетаскивание. Его переключатель переносится с основной панели внутрь
каталога; это не persisted-настройка и не меняет `marker.hidden`.
- После закрытия каталога выбранный локальный режим действует до выхода из
редактора устройств, как сегодня. При повторном входе в редактор он выключен;
кнопка **«Устройства»** показывает активное состояние, чтобы режим не был
скрыт от пользователя.
### 10.2 Диалог
@@ -235,7 +240,10 @@ Raw binding и диагностические детали допускаютс
- **Скрытые**;
- **Доступны снова**;
4. дополнительный фильтр **«Новые»** для «На плане»;
5. **«Показывать сущности»** для «Доступны».
5. **«Показывать сущности»** для «Доступны»;
6. локальный switch **«Показывать скрытые на плане»**. Он доступен во всех
вкладках, включает существующий ghost-render скрытых и HA-disabled markers и
ничего не сохраняет в config/layout сам по себе.
Строка содержит:
@@ -262,9 +270,9 @@ snapshot, затем применяется progressive rendering. Первые
| Категория/статус | Primary | Дополнительные действия |
|---|---|---|
| На плане, реально отображается | **Найти на плане** | Настроить, Скрыть |
| На плане, временно не отображается из-за HA status | **Настроить** | Открыть в HA, Удалить через существующий dialog |
| Скрытые, active | **Показать** | Настроить |
| Скрытые, HA-disabled | **Настроить** | Открыть в HA; «Показать» disabled с объяснением |
| На плане, временно не отображается из-за HA status | **Настроить** | Найти призрак при включённом ghost-режиме; Открыть в HA; Удалить через существующий dialog |
| Скрытые, active | **Показать** | Найти призрак при включённом ghost-режиме; Настроить |
| Скрытые, HA-disabled | **Настроить** | Найти призрак при включённом ghost-режиме; Открыть в HA; «Показать» disabled с объяснением |
| Доступны | **Добавить** | Скрыть из списка |
| Доступны снова | **Добавить заново** | — |
@@ -280,7 +288,10 @@ Hide/Show — обратимые одиночные действия без по
Find:
- доступен только если marker реально отрисовывается;
- доступен для обычного marker, если тот реально отрисовывается, и для
hidden/HA-disabled marker, если включён локальный ghost-режим; в противном
случае действие disabled и объясняет, что сначала надо включить
**«Показывать скрытые на плане»**;
- переключает пространство при необходимости;
- закрывает каталог;
- перемещает viewport так, чтобы marker оказался внутри безопасной центральной
@@ -373,6 +384,11 @@ new ids и UI entity filter.
- всех reason/status из §9;
- unavailable action hints, refresh/conflict toast и accessibility labels.
Существующий `marker.hide_tip` в обоих языках обновляется: вместо удаляемой
кнопки **«Скрытые и деактивированные»** он направляет в каталог
**«Устройства»**. Перед реализацией выполняется поиск остальных ссылок на старые
названия кнопок; пользовательские строки не должны вести к отсутствующему UI.
Имена integration/model/binding не переводятся. Формулировки интерфейса
синхронизируются с RU/EN user guide.
@@ -382,7 +398,8 @@ new ids и UI entity filter.
В Device editor вместо двух кнопок Add/Show hidden отображается одна кнопка
«Устройства»; она открывает каталог с четырьмя категориями, поиском и
счётчиками. «Правила иконок» остаётся доступной.
счётчиками. Локальный ghost-toggle доступен внутри каталога, а его активность
видна на кнопке «Устройства». «Правила иконок» остаётся доступной.
### AC2 — детерминированная классификация (unit)
@@ -401,7 +418,8 @@ device-parent tombstone + live entity child, synthetic light group и candidate
### AC4 — lifecycle и HA status независимы (unit)
`hidden:true + ha_disabled` остаётся в «Скрытые» с двумя объяснениями;
`hidden:false + ha_disabled` остаётся в «На плане», но Show/Find недоступны.
`hidden:false + ha_disabled` остаётся в «На плане»: Show недоступен, а Find
доступен только для призрака при включённом ghost-режиме.
Limited registry не создаёт ложный disabled/orphaned/readd.
### AC5 — exact binding и повторное добавление (unit + smoke)
@@ -416,6 +434,11 @@ Find, Edit, Hide, Show, Add, Hide from list и Re-add дают результа
Cancel из Add/Re-add не меняет данные; Delete остаётся подтверждаемым действием
существующего dialog.
Переключатель ghost-режима внутри каталога воспроизводит текущий локальный показ
hidden и HA-disabled markers: после закрытия каталога их можно найти, выбрать,
настроить и перетащить без изменения `marker.hidden`; выход из редактора
сбрасывает режим.
### AC7 — read-only открытие (unit + smoke)
Snapshot config, layout и обе revisions до/после открытия, поиска, tab switch,
@@ -456,7 +479,8 @@ LQI/climate или opening references.
- `demo/smoke_device_inbox.mjs` — реальный dialog, read-only assertions,
row actions, return state, late registry refresh;
- адаптация `demo/smoke_binding_picker.mjs` и `demo/smoke_hidden_flag.mjs` без
потери существующих проверок;
потери существующих проверок: `smoke_hidden_flag` включает ghost-режим через
каталог и по-прежнему проверяет позицию, клик/настройку и drag скрытого marker;
- golden: desktop RU/EN, light/dark; narrow RU с длинными причинами;
- `node scripts/smoke-select.mjs --base origin/dev --head HEAD` определяет
дополнительный набор перед код-ревью.
@@ -498,6 +522,7 @@ npm run golden:verify
| Историческая причина скрытия выдумывается | Generic `automatic_hidden` fallback |
| Большой registry блокирует dialog | O(N) snapshot + progressive rendering |
| Возврат из nested flow теряет контекст | Локальный `returnToInbox` snapshot; AC8 |
| Перенос ghost-toggle делает активный режим незаметным после закрытия каталога | Активное состояние кнопки «Устройства» и сброс при выходе из редактора; AC6 |
| #29 поглощает redesign фильтров | #44 явно вне скоупа |
## 19. Откат