mirror of
https://github.com/Matysh/houseplan-card
synced 2026-09-29 03:09:36 +00:00
docs: #44 spec revision 4 per SPEC-REVIEW-44-r2
User-Visible: no Issue: #44
This commit is contained in:
@@ -3,14 +3,14 @@
|
||||
- Issue: https://github.com/Matysh/houseplan-card/issues/44
|
||||
- Приоритет: P2, tech-debt; полный трек (discovery/UI/settings/i18n/tests —
|
||||
решение аналитики 2026-08-15)
|
||||
- Ревизия: 3 (2026-08-30) — по SPEC-REVIEW-44-r1 (H1, H2); policy v1 принята
|
||||
- Ревизия: 4 (2026-08-30) — по SPEC-REVIEW-44-r2 (M1 + Low); policy v1 принята
|
||||
владельцем, конкретизация под инбокс v1.69
|
||||
- Связано: device inbox #29, field registry/манифест #33 (паспорта
|
||||
`allow-extra` обоих ключей уже выданы), персист-паттерн #377
|
||||
|
||||
## Сценарий
|
||||
|
||||
Хозяин плана открывает «Устройства» и на вкладке «Доступные» видит новый
|
||||
Хозяин плана открывает «Устройства» и на вкладке «Доступны» видит новый
|
||||
раскрываемый блок «Фильтры обнаружения». Там два честных элемента: тумблер
|
||||
«Объединять светильники комнаты в группу» (включён по умолчанию — как продукт
|
||||
и вёл себя всегда) и список «Исключённые интеграции» с рекомендованным
|
||||
@@ -46,7 +46,7 @@ discovery `devices.ts:1491`).
|
||||
|
||||
### 1. Блок «Фильтры обнаружения» в инбоксе
|
||||
|
||||
- Раскрываемая секция внизу вкладки «Доступные» диалога «Устройства»
|
||||
- Раскрываемая секция внизу вкладки «Доступны» диалога «Устройства»
|
||||
(editor-runtime; холодный View не задет — весь UI в runtime, класс #357).
|
||||
- **Тумблер группировки**: отражает `settings.group_lights` (unset→вкл).
|
||||
Выключение НЕ удаляет существующие маркеры (в т.ч. group-маркеры) — меняет
|
||||
@@ -167,8 +167,9 @@ issue требует видимости и policy, не пере-схемиза
|
||||
- Пересчёт превью на большом registry — переиспользуется кэшируемый
|
||||
buildDevices; расчёт по явному действию (открытие секции/изменение), не
|
||||
на каждый тик.
|
||||
- Реason-вкладка «Скрытые» получает новый класс записей — объём ограничен
|
||||
существующим механизмом вкладки; смок проверяет отсутствие дублей.
|
||||
- Текст причины обогащается плейсхолдером на уже существующей вкладке
|
||||
«Доступны» — новых классов записей не появляется; смок проверяет
|
||||
отсутствие дублей.
|
||||
- Гонка вкладок — штатный conflict #340.
|
||||
- Перевод roomClimateMap на резолвер (H2) меняет климат ТОЛЬКО при заданном
|
||||
пользователем ключе — default-путь передаёт тот же продуктовый список
|
||||
@@ -193,9 +194,10 @@ issue требует видимости и policy, не пере-схемиза
|
||||
|
||||
## Принятые предположения
|
||||
|
||||
- Размещение — вкладка «Доступные» (фильтры определяют её содержимое);
|
||||
- Размещение — вкладка «Доступны» (фильтры определяют её содержимое);
|
||||
если ревью ТЗ предпочтёт отдельную вкладку/шестерёнку — правится без
|
||||
смены механики.
|
||||
- `[]` (пустой список) — валидное значение «ничего не исключать», отличное
|
||||
от отсутствия ключа; так уже работает код (`list ? new Set(list) : EXCLUDED_DOMAINS`).
|
||||
- Причина показывается на «Скрытых», НЕ в отдельной новой вкладке.
|
||||
- Причина остаётся на «Доступны», где уже живёт (#29); ни переноса
|
||||
категории, ни новой вкладки.
|
||||
|
||||
Reference in New Issue
Block a user