# Проверка Room fill — 15.09.2026 Сверено с пользовательскими Custom color.png, Temperature.png и Lights.png, а затем с исходным кодом House Plan, commit `c22c04d6476d0d387c237b427d0b83e7c1e11f70`: - `src/logic.ts`: DEFAULT_FILL_COLORS, roomFillStyle, DEFAULT_CUSTOM_FILL. - `src/space-render.ts`: resolvedRoomFills и glowBaseShapes. - `docs/USER-GUIDE.ru.md`, раздел 13: заливки, наследование и Glow. ## Исправления Раньше в прототипе были фиксированные пастельные цвета и opacity 85% у всех режимов данных. Теперь `room-fill.js` повторяет выбор цвета и непрозрачности оригинала; функция принимает палитру отдельно от настроек пространства. | Режим | Поведение | | --- | --- | | Custom | Фиксированный цвет и opacity. Смена данных датчиков его не меняет. Reset снимает локальный цвет и показывает DEFAULT_CUSTOM_FILL: #607D8B / 18%. | | Zigbee | Средний LQI комнаты: линейное смешивание цвета и opacity от low при ≤40 до high при ≥180. Нет LQI — нет заливки данных. | | Lights | Хотя бы один источник включён → light_on; все выключены → light_off; источников нет → light_none (по умолчанию opacity 0). | | Temperature | Ниже min → cold; min ≤ температура ≤ max → comfort; выше max → hot. Нет температуры — нет заливки данных. | При отсутствии видимой заливки (включая Custom с opacity 0) включённый Glow добавляет базовое затемнение `glow_base`. При видимой заливке дополнительного затемнения нет. Световое пятно появляется только при включённом Glow и наличии включённого источника. Солнечный свет независим. Температурные границы по умолчанию в исходнике — 20–25 °C. Уже сохранённые границы прототипа не перезаписываются. Исходный согласованный Custom Ground Floor (#EDEDED / 100%) сохранён. ## Что можно установить по скриншотам - Серый фон в Custom не является обязательным цветом режима: его задаёт пользователь; при прозрачной заливке тот же серый вид может давать Glow. - Голубая Kitchen & Living в Temperature соответствует холодному состоянию относительно настроенного диапазона. Цвет также можно переопределить в общей палитре. - Off в Lights выбирает отдельный цвет выключенных источников; отсутствие источников является другим состоянием. У комнаты может быть собственный режим заливки. Точную общую палитру, температурные границы, локальные переопределения комнат и значение Glow нельзя восстановить из растровых скриншотов. Прототип использует стандартную палитру исходника, поэтому оттенки могут отличаться от конкретной конфигурации пользователя. При интеграции необходимо передавать результат `fillColorsOf(settings)` и вычислять данные комнаты существующими функциями продукта. ## Данные демо и проверка В верхней панели Sample data выбираются Typical room, Lights off, Cold room, Hot room, Weak Zigbee, Strong Zigbee и No room data. Меняются одновременно данные заливки, значения комнатной карточки, LQI устройства и наличие светового пятна. Эти примеры не сохраняются в настройках и не делают форму изменённой. Контрол виден только у Space settings и при видимом правом Preview. Проверки без зависимостей: ```powershell node room-fill.test.mjs ``` Дополнительная сверка с локальным исходником: ```powershell node room-fill.test.mjs ../houseplan-dev-source-review/src/logic.ts ``` Вторая команда извлекает чистую функцию оригинала и сравнивает 1008 сочетаний: 4 режима, 7 LQI, 3 состояния света, 6 температур, 2 палитры. Проверка custom использует уже валидные цвета, как поля input type=color прототипа. Это проверка выбора заливки, а не сбора HA-данных или полного рендера плана.