Prepare v1.77.0-beta.2
Проверка (CI) / Классификация изменённых файлов (push) Successful in 34s
Проверка (CI) / HACS: валидация репозитория (push) Failing after 25s
Проверка (CI) / Предполёт: документация, провенанс, процесс (push) Failing after 1m11s
Проверка (CI) / Hassfest: манифест интеграции (push) Failing after 1m14s
Проверка (CI) / Переиспользование: это дерево уже проверено (push) Successful in 1m39s
Проверка (CI) / Мутанты по диффу (2/6): затронутые свидетели краснеют (push) Failing after 5m38s
Проверка (CI) / Мутанты по диффу (4/6): затронутые свидетели краснеют (push) Failing after 31s
Проверка (CI) / Мутанты по диффу (6/6): затронутые свидетели краснеют (push) Failing after 1s
Проверка (CI) / Фронтенд: типы, юниты, мутанты, синхрон бандла (push) Failing after 1s
Проверка (CI) / Смоки в браузере (шард 1 из 3) (push) Skipped
Проверка (CI) / Смоки в браузере (шард 2 из 3) (push) Skipped
Проверка (CI) / Смоки в браузере (шард 3 из 3) (push) Skipped
Проверка (CI) / Смоки: все шарды зелёные (push) Skipped
Проверка (CI) / Golden-кадры против принятых эталонов (push) Skipped
Проверка (CI) / Перф-смок: бюджет времени кадра (push) Skipped
Проверка (CI) / Геометрия: TS/Python parity исполнена (push) Failing after 1s
Проверка (CI) / Бэкенд: pytest в Home Assistant (push) Failing after 2s
Проверка (CI) / Мутанты по диффу (5/6): затронутые свидетели краснеют (push) Failing after 59s
Проверка (CI) / Мутанты по диффу (1/6): затронутые свидетели краснеют (push) Failing after 6m55s
Проверка (CI) / Мутанты по диффу (3/6): затронутые свидетели краснеют (push) Failing after 7m17s
Проверка (CI) / Доказательство выполненных проверок (push) Failing after 31s

Package the reviewed settings-dialog redesign, furniture pack and
value-plus-static-icon mode. Hidden 2.5D refinement and process/tooling fixes
ride along internally.

Release: v1.77.0-beta.2
Issue: #576
Issue: #585
Issue: #588
Issue: #589
Issue: #592
Issue: #593
Issue: #594
Issue: #595
Issue: #596
Issue: #597
Issue: #598
User-Visible: yes
This commit is contained in:
Claude
2026-09-20 03:35:39 +03:00
parent 81e0328489
commit 6cee9504b4
53 changed files with 341 additions and 332 deletions
+2
View File
@@ -2,6 +2,8 @@
## Unreleased
## v1.77.0-beta.2 — 2026-09-20
- Three settings dialogs — General settings, Space and Device on the plan — are
now grouped into titled cards. They used to be flat columns: nine captions
mixed with rows and paragraphs in General, and no grouping at all across the
+2
View File
@@ -8,6 +8,8 @@
## Не выпущено
## v1.77.0-beta.2 — 2026-09-20
- Три диалога настроек — «Общие настройки», «Пространство» и «Устройство на
плане» — собраны в карточки-группы с заголовками. Раньше это были плоские
столбцы: в «Общих» девять подписей вперемешку с рядами и абзацами, в
+9 -5
View File
@@ -1,16 +1,20 @@
<!-- release: v1.77.0-beta.1 -->
<!-- release: v1.77.0-beta.2 -->
## Основное
- Предметы мебели с одинаковыми размерами теперь выглядят одинаково: заявленные ширина и глубина совпадают с видимым габаритом на плане, а значки «Лестница» и «Телевизор» в меню больше не выходят за свои границы ([#584](https://github.com/Matysh/houseplan-card/issues/584)).
- Четыре основных диалога настроек стали проще для просмотра: связанные поля собраны в карточки, пояснения открываются по «?», а короткие варианты видны сразу в сегментированных переключателях ([#594](https://github.com/Matysh/houseplan-card/issues/594), [#598](https://github.com/Matysh/houseplan-card/issues/598)).
- Библиотека мебели полностью перерисована в едином стиле и расширена до 60 видов сверху; добавлены компьютер, вытяжка, духовка и кактус ([#593](https://github.com/Matysh/houseplan-card/issues/593)).
- У устройств появился режим «Значение + статичный значок»: значение остаётся видимым, а цвет иконки не меняется от состояния ([#588](https://github.com/Matysh/houseplan-card/issues/588)).
- Мелкие исправления и улучшения.
## Highlights
- Furniture pieces with equal sizes now look equal: the declared width and depth match the visible footprint on the plan, and the “Stairs” and “TV” icons in the menu no longer spill outside their bounds ([#584](https://github.com/Matysh/houseplan-card/issues/584)).
- The four main settings dialogs are easier to scan: related fields are grouped into cards, explanations open from “?”, and short choices are immediately visible as segmented controls ([#594](https://github.com/Matysh/houseplan-card/issues/594), [#598](https://github.com/Matysh/houseplan-card/issues/598)).
- The furniture library was fully redrawn in one style and expanded to 60 top views, adding a computer, cooker hood, oven and cactus ([#593](https://github.com/Matysh/houseplan-card/issues/593)).
- Devices gained a “Value + static icon” mode: the value stays visible while the icon colour no longer changes with state ([#588](https://github.com/Matysh/houseplan-card/issues/588)).
- Small fixes and improvements.
Сообщество / Community: [Telegram](https://t.me/ha_houseplan)
[Полный список изменений на русском](https://github.com/Matysh/houseplan-card/blob/v1.77.0-beta.1/docs/CHANGELOG.ru.md)
· [Full changelog in English](https://github.com/Matysh/houseplan-card/blob/v1.77.0-beta.1/docs/CHANGELOG.md)
[Полный список изменений на русском](https://github.com/Matysh/houseplan-card/blob/v1.77.0-beta.2/docs/CHANGELOG.ru.md)
· [Full changelog in English](https://github.com/Matysh/houseplan-card/blob/v1.77.0-beta.2/docs/CHANGELOG.md)
+3 -3
View File
@@ -17,12 +17,12 @@ change must pass through a published beta/RC before stable. Stable release
commits are promotion-only (versions, generated bundles and release/changelog
metadata). Only an explicit owner-approved emergency hotfix may skip this gate.
## Snapshot (2026-09-19)
## Snapshot (2026-09-20)
| Item | State |
|---|---|
| Version | **v1.77.0-beta.1** everywhere (manifest, const.py, package.json, package-lock in both places, CARD_VERSION in the card and the editor runtime) |
| Current local cycle | **Beta v1.77.0-beta.1 candidate** — prepared from the exact integrated `dev` tree; `main` stays on v1.76.0. One user-visible fix: furniture pieces with equal declared sizes now have equal footprints on the plan and the “Stairs”/“TV” menu icons stay inside their bounds (#584). Internal in the line: the golden manifest records the capture platform rather than the acceptance one (#571); the CI proof separates the product tree from the accepted golden overlay and release consumers recompute it, so a baseline-only commit after a golden-red candidate reuses smoke, performance smoke, parity and backend and skips caught witnesses (#573); the candidate-only strict screenshot-freshness mode actually engages (#586); the stable Full Performance base is the previous stable tag instead of the `main` tip (#587). In implementation: #585 replaces the hidden 2.5D overlay's lossy 4 px lattice with iterative critical-boundary events, restores the dense Room 2.5 marker pair and returns both full isometric profiles to their ordinary performance allowances; the reviewed Linux golden (`86dffbc7`, run `35470468142`) and exact-SHA Full Performance (`35477092908`) evidence are green. |
| Version | **v1.77.0-beta.2** everywhere (manifest, const.py, package.json, package-lock in both places, CARD_VERSION in the card and the editor runtime) |
| Current local cycle | **Beta v1.77.0-beta.2 candidate** — prepared from the exact integrated `dev` tree; `main` stays on v1.76.0. User-visible: all four main settings dialogs use the shared card-based form language (#594, #598), the furniture pack is replaced with 60 designer top-view symbols (#593), and devices gain the “Value + static icon” display mode (#588). Hidden experimental work remains unannounced: #585 replaces the 2.5D overlay's lossy lattice with critical-boundary search. Internal in the candidate: dialog extraction and shared panel styles (#592, #597), corrected rejected-feature documentation (#589), verified pinned owner toolchains (#576), and fixes to reviewed-run and merge-candidate process gates (#595, #596). |
| Hidden Alpha Stage | #89 Stage 1 ships in v1.63.0-beta.1, #122 Stage 2 in v1.64.0 and #160 Stage 3 in v1.73.0-beta.1; #570 adds the Stage 4 designer handoff and #583 refines it on `dev`: only the building ambient shadow remains, door/gate volumes pivot on the selected host face without strokes, and devices/lock badges receive deterministic mutual collision correction while room labels remain passive below them. The same hidden `iso` view uses a fixed 0°/20° camera and scale-aware wall height 84, low screen-facing device/room/lock overlays without tethers or ground dots, neutral full-height window frames with blue glass, and bounded theme materials. Since #448 the experiment is enabled only through the single indefinite browser-local `hp_alpha` gate; it is not expiring and has no per-stage key. Flat remains default; editors, `houseplan-space-card`, floor effects, stored coordinates and HA actions remain unchanged. Stage 4 stays internal and is absent from public changelog/user documentation. |
| Workflow | Superseded 2026-08-12: the pre-1.62 rule of "local edits without tests or commits" is **dead** — since release 1.62 every product change follows `PROCESS.md` (issue in `S5-ready`+, branch `issue/<NN>-slug`, trailers on every commit, review pipeline; `AGENTS.md` is the summary). Release mechanics below remain current. A requested pre-release gets a production build plus the smallest targeted unit/smoke set covering the changed surfaces, one tested `dev` commit/tag and a GitHub Release with `prerelease=true`; `main` stays untouched. The complete local frontend/backend/smoke gate runs only before a stable release, after which `main` is fast-forwarded to the exact tested `dev` SHA and the stable release is produced by `release.yml` (`workflow_dispatch` on `main` with the tag) — the only publisher of installable assets since #540: gates on the exact SHA (Validate, Full Performance, E2E on the candidate commit), one build, `houseplan.zip` archived from the committed tree, `SHA256SUMS`, draft → publish → read-back verification; a release published by hand in the GitHub form is turned back into a draft and walked through the same path, and a re-dispatch on a public tag is a repair that adds only missing assets. Release bodies are short and bilingual (Russian first); every bullet links its GitHub issue (#NN) so the #328 rules stay machine-checkable. A STABLE body aggregates the changelog since the PREVIOUS STABLE release (never since the last beta): features/fixes described across the line's beta changelogs must appear, while bugs that were introduced and fixed strictly inside the beta line (never shipped in any stable) are excluded — draft with `npm run release:notes -- <tag>`, curate by hand, then `npm run release:notes -- <tag> --verify` must pass. `Мелкие исправления и улучшения` / `Small fixes and improvements` is allowed only when the range really contains user-visible work not itemised in the body; a single-issue hotfix ships without it (the verifier enforces this). Every body ends with separate links to the Russian and English changelogs. Open or partially delivered issues are never presented as shipped. Telegram announcements are sent only for stable releases; beta and RC publication is silent. `docs/RELEASE-NOTES.md` is the current canonical body instance; `npm run release:prerelease -- <tag> --issues=… --yes` is the primary local publication path and the manual `Publish prerelease` workflow is its GitHub-only equivalent once present on `main`. Nothing is copied to the home instance by hand |
| GitHub | https://github.com/Matysh/houseplan-card — [Issues](https://github.com/Matysh/houseplan-card/issues) are the canonical task records; their labels carry priority and workflow status (`PROCESS.md` §9). GitHub Projects is no longer used. `main` carries stable releases; pre-release tags may point directly at `dev`. Work lands on `dev` and is merged into `main` for a stable release, so `dev` is normally equal to or ahead of `main`, never behind. Push via SSH key `ha_jb` (remote git@github.com:…); API releases via the fine-grained PAT in `~/.git-credentials` (Contents R/W, issued 2026-07-23) |
+2 -1
View File
@@ -138,6 +138,7 @@
],
"witnesses": 8,
"floor": 2,
"lastWriteWasFingerprintOnly": true
"lastWriteWasFingerprintOnly": true,
"identicalPixels": true
}
}