fix(editors): свидетель карточек отдельным смоком, два списка в сегменты

Закрывает находки код-ревью r1 по #598.

M1 — неприкосновенный смок восстановлен. `demo/smoke_tap_run.mjs` вернулся
побайтово к версии `origin/dev`: он один из девяти `.srcrow`-смоков, которые
ТЗ объявило неизменяемыми, и правка в нём обесценивала собственное
доказательство AC2/AC3. Проверки карточек переехали в новый
`demo/smoke_settings_dialog_cards.mjs` — отдельного свидетеля ТЗ не запрещало.

M2 — сегментированный переключатель сделан там, где он обещан и уместен:
`space-bg-mode` и `space-zero-wall-style` переведены из `<select>` в
`segmented`. Остальные выборы в трёх диалогах остаются списками осознанно:
привязка маркера, роль света и режим свечения уже `role="radiogroup"`
(`.markerradios`), позиция значения закреплена смоком
`smoke_device_preview_parity`, списки сущностей и тем длинные. Сокращение
объявлено в ТЗ и в обоих changelog.

M3 — мутант `state-callout-hidden-under-help` патчит теперь оба состояния:
`marker.run_target_gone` и `gs.sun_missing`; гард — новый смок.

Заодно: `ensureFormKitStyles(this.host)` не вызывался ни в одном из трёх
диалогов — стили набора приезжали только из диалога комнаты, и без него
сегменты имели высоту 14 px вместо 44. Нашёл новый смок проверкой
`bgSegmentTargetIsBigEnough`.

Гейты: typecheck, test (2788 pass), build, bundle:sync, три смока,
mutation-gate --check, оба мутанта задачи.

Issue: #598
User-Visible: yes
This commit is contained in:
Claude
2026-09-19 19:17:20 +03:00
parent ad294b9992
commit bd6da53f04
50 changed files with 657 additions and 604 deletions
+4 -1
View File
@@ -7,7 +7,10 @@
mixed with rows and paragraphs in General, and no grouping at all across the
760-line Device form. Explanations that sat as paragraphs between fields now
open from a «?» next to their own heading or row. The plan background choice
became a segmented control instead of a dropdown. Values, units, field order
became a segmented control, and so did the background and zero-wall style in
Space: three short lists whose options are now visible at once instead of
hiding behind a dropdown. The remaining dropdowns in these dialogs are long
or list entities and stay dropdowns. Values, units, field order
and every action are unchanged; warnings about broken settings — a missing
`sun.sun` entity, or a tap target that disappeared — stay visible instead of
hiding under «?»
+6 -2
View File
@@ -13,8 +13,12 @@
столбцы: в «Общих» девять подписей вперемешку с рядами и абзацами, в
«Устройстве» вообще ни одного деления на 760 строк формы. Пояснения, которые
лежали абзацами между полями, теперь открываются кнопкой «?» у своего
заголовка или строки. Выбор фона плана стал переключателем вместо
выпадающего списка. Значения, единицы, порядок полей и все действия прежние;
заголовка или строки. Три выбора из коротких списков — фон плана в «Общих»,
фон и вид нулевой стены в «Пространстве» — стали сегментированными
переключателями вместо выпадающих списков: варианты видны сразу, попадание
пальцем не требует раскрытия. Остальные списки в этих диалогах длинные или
перечисляют сущности и остались списками. Значения, единицы, порядок полей и
все действия прежние;
предупреждения о сломанных настройках — что нет сущности `sun.sun` или что
выбранная цель нажатия исчезла — остались на виду, а не уехали под «?»
([#598](https://github.com/Matysh/houseplan-card/issues/598)).