mirror of
https://github.com/Matysh/houseplan-card
synced 2026-09-30 19:58:50 +00:00
B3: _persistDevicePlacement sent canonicalizePosition(...) to the server and left the raw value in _layout, then recorded the fingerprint over that raw snapshot. Canonicalization is not identity — it snaps to the lattice — so 39 of 115 pixel-derived coordinates differ, and the next _reloadLayoutOnly or _adoptStructuralResponses saw its own write as a remote edit: history cleared, _layout replaced. The old _persistLayout wrote the canonical value back; the per-device path introduced by #74 lost that line. M1: the smoke that was supposed to prove AC10 assigned serverLayout = structuredClone(c._layout) right before the reload — erasing by hand the very divergence it existed to catch, so it could not fail. The fake WS already stores what went over the wire; the assignment is gone and the check now reddens on the unfixed code (verified: three checks red without the fix, including this one). Also proven, because the fix touches their neighbourhood: the echo of a DELETE keeps the history (the branch removes a key rather than replacing a value), and an in-flight write still wins the merge against a server answer holding the old position. One existing assertion was loosened deliberately: undo now restores a position that may differ from the raw one by the lattice snap (<1e-9 of the plan). That is the point of the fix — local and server agree — so the equality is stated to that precision, with the snap size pinned separately so a real drift would still fail. User-Visible: yes Issue: #397
Документация House Plan
Этот каталог — точка входа в русскоязычную документацию House Plan.
Сверено с версией v1.60.0. Продукт с тех пор ушёл вперёд (линия 1.64); при расхождении этого каталога с
docs/USER-GUIDE.ru.mdи changelog верить им. Пересверка каталога — отдельная документационная задача.
| Документ | Для кого | Что внутри |
|---|---|---|
| Полное руководство пользователя | Пользователи и администраторы Home Assistant | Установка, первая настройка, пространства, комнаты, стены, проёмы, устройства, визуальные состояния, заливки, подложка, солнце, пылесосы, киоск, обслуживание и диагностика |
| Редактор подложки и декора | Пользователи, тестировщики и разработчики | Инструменты, единое выделение и трансформации, физические размеры, магнит, Undo/Redo, поведение картинки-подложки и совместимость старых полей |
| GitHub Issues и Project v2 | Владелец, разработчики и контрибьюторы | Единственный актуальный backlog: задачи, приоритеты, решения и статусы выполнения |
Старые тематические документы в этом каталоге остаются инженерными спецификациями и историей решений. При расхождении пользовательского описания с интерфейсом текущей версии приоритет имеет новое руководство, а при расхождении с фактическим поведением — код текущей версии.
Неактуальные снимки аудитов, отклонённые проекты и одноразовые диагностические материалы собраны в архиве legacy.