diff --git a/docs/specs/086-settings-help-content-party1.md b/docs/specs/086-settings-help-content-party1.md index 39222939..53c75397 100644 --- a/docs/specs/086-settings-help-content-party1.md +++ b/docs/specs/086-settings-help-content-party1.md @@ -1,9 +1,11 @@ # Issue #86 — подсказки к настройкам, партия 1 - **Issue:** https://github.com/Matysh/houseplan-card/issues/86 -- **Статус документа:** готово к будущей реализации; issue остаётся на `S3-spec` +- **Статус документа:** актуализировано 2026-08-30 по `origin/dev`; кандидат на ревью ТЗ - **Приоритет:** P2 -- **Тип:** polish/docs/tech-debt, обычный трек +- **Тип:** polish/docs/tech-debt, полный трек: нарушен критерий light-track + «одна поверхность» — затронуты общие настройки, пространство, маркер и каталог + устройств - **Пользовательское изменение:** да - **Зависимость:** механизм `hp-help` из #68 уже выпущен @@ -34,14 +36,15 @@ issue после проверки механики и текстов перво Обязательные settings/affordances: 1. масштаб пространства (`cell_cm`); -2. общий радиус Glow; существующий персональный радиус устройства проверяется; +2. общий радиус Glow; существующий персональный радиус устройства только + проверяется на отсутствие дублирования; 3. режим заливки пространства в его актуальной post-#56 модели; 4. роль источника света Auto/Always/Never — существующий пилот уточняется; 5. «Управляет другими источниками света»; 6. общий и локальный север; 7. общий и локальный режим фона; -8. инструмент «Граница»/виртуальная граница; -9. «Показать все устройства» в Device editor. +8. стиль стен нулевой толщины — актуальная замена удалённых виртуальных границ; +9. «Показывать скрытые на плане» в каталоге редактора устройств. Каждая новая подсказка использует существующую `_help('literal.help')`, пару `.help` + `.help.aria`, floating/overlay lifecycle и accessibility contract #68. @@ -56,27 +59,28 @@ issue после проверки механики и текстов перво - изменение поведения самих настроек; - редакторский onboarding tour или постоянно открытая справка. -## 6. Канонические тексты RU/EN +## 6. Канонический смысл RU/EN Тексты ниже являются acceptance contract. Допустима только редакторская правка, не меняющая смысл, длину более двух предложений или терминологию User Guide. | Ключ | RU `.help` | EN `.help` | | --- | --- | --- | -| `space.cell_cm.help` | Связывает сетку с реальными размерами: от значения зависят длины и площади, толщина стен, размеры проёмов и радиус свечения; изменение после разметки меняет масштаб всего пространства. | Links the grid to real dimensions: lengths, areas, wall thickness, opening sizes and glow radius depend on it; changing it after drawing rescales the whole space. | +| `space.cell_cm.help` | Связывает сетку с реальными размерами: от значения зависят длины и площади, толщина стен, размеры проёмов и радиус свечения. Изменение после разметки меняет расчётные размеры всего пространства, но не двигает его точки на плане. | Links the grid to real dimensions: lengths, areas, wall thickness, opening sizes and glow radius depend on it. Changing it after drawing changes the calculated dimensions of the whole space without moving its points on the plan. | | `gs.glow_radius.help` | Задаёт общий радиус светового пятна в метрах или футах; персональный радиус устройства заменяет это значение. | Sets the default glow radius in metres or feet; a device-specific radius overrides it. | | `space.fill_mode.help` | «Свой цвет» задаёт оформление, а «Свет», «Температура» и «LQI» используют текущие данные Home Assistant; Glow включается отдельно. | “Custom colour” is styling, while “Light”, “Temperature” and “LQI” use current Home Assistant data; Glow is enabled separately. | | `marker.light_role.help` | «Авто» использует фактическую роль привязанного устройства, «Всегда» принудительно создаёт собственный источник, а «Никогда» исключает его; связанные лампы выше остаются независимыми. | “Auto” uses the bound device's resolved role, “Always” forces its own source and “Never” excludes it; linked lights above remain independent. | -| `marker.controls.help` | Перечисленные источники переключаются вместе с этим маркером, но световые пятна остаются у их собственных маркеров — этот маркер сам светиться не начинает. | The listed sources toggle with this marker, but their glow stays at their own markers; this marker does not become a light source. | +| `marker.controls.help` | При действии «Переключить состояние» перечисленные источники переключаются вместе с этим маркером. Их световые пятна остаются у собственных маркеров, а эта связь сама по себе не делает управляющий маркер источником света. | With the “Toggle state” action, the listed sources toggle together with this marker. Their glow stays at their own markers, and the link alone does not turn the controlling marker into a light source. | | `gs.north.help` | Угол отсчитывается по часовой стрелке от верхней вертикали плана; север нужен для оконных лучей, а не для фона «Следует за Солнцем». | The angle is measured clockwise from the plan's upward vertical; north is required for window rays, not for the “Follows the Sun” background. | | `space.north.help` | Переопределяет общий север для этого пространства; угол отсчитывается по часовой стрелке от верхней вертикали плана и используется оконными лучами. | Overrides general north for this space; the angle is measured clockwise from the plan's upward vertical and is used by window rays. | | `gs.bg_mode.help` | «Следует за Солнцем» использует `sun.sun`, а при недоступности — локальные часы браузера; статичный режим всегда показывает выбранный цвет. | “Follows the Sun” uses `sun.sun`, falling back to the browser's local clock; Static always shows the selected colour. | | `space.bg_mode.help` | Выберите наследование общего фона либо переопределите это пространство статичным цветом или режимом «Следует за Солнцем». | Inherit the general background or override this space with a static colour or “Follows the Sun”. | -| `plan.boundary.help` | Виртуальная граница означает отсутствие стены: свет и заливка проходят между комнатами, а отдельные контуры комнат сохраняются. | A virtual boundary means there is no wall: light and fill pass between the rooms while their separate room outlines remain. | -| `devbar.show_all.help` | Временно показывает скрытые и деактивированные устройства только в редакторе устройств; фильтры и сохранённая видимость не меняются. | Temporarily shows hidden and disabled devices only in the Device editor; filters and saved visibility are unchanged. | +| `space.zero_wall_style.help` | Пунктирные стены нулевой толщины пропускают Glow и солнечные лучи, сплошные блокируют их как барьер нулевой площади. Выбор меняет все такие стены пространства, даже когда их линии скрыты в просмотре. | Dashed zero-thickness walls pass Glow and sun rays, while solid ones block them as zero-area barriers. The choice affects every such wall in the space even when its line is hidden in View. | +| `device_inbox.show_hidden.help` | Временно показывает на плане скрытые и деактивированные маркеры служебными призраками только в редакторе устройств. Сохранённая видимость устройств не меняется. | Temporarily shows hidden and disabled markers as editor-only ghosts on the plan. Saved device visibility does not change. | -Для каждого ключа добавляется цельная локализованная `.help.aria` в форме -«Подсказка: …» / `Help: …`, называющая настройку, а не повторяющая весь tooltip. +Для каждого ключа добавляется цельная локализованная `.help.aria`, называющая +настройку, а не повторяющая весь tooltip. Таблица фиксирует смысл RU/EN; DE/FR +передают тот же смысл естественным языком и проходят тот же parity-контракт. ## 7. Уже поставленные пилоты #68 @@ -85,17 +89,18 @@ issue после проверки механики и текстов перво - device radius не получает второй trigger; проверяется его единица и inheritance; - текст light role заменяется каноническим из §6, потому что он обязан объяснять динамический Auto/Always/Never contract; -- их `.aria` keys сохраняют текущие имена и остаются непустыми в обеих локалях; +- их `.aria` keys сохраняют текущие имена и остаются непустыми во всех четырёх + локалях; - smoke #68 продолжает проходить без второго tooltip на том же control. ## 8. Размещение triggers - Dialog field: trigger стоит рядом с label/legend, но не внутри `