Prepare v1.74.0-beta.3

Seven version sources move together to 1.74.0-beta.3; the changelog
sections in both languages close over what has landed since beta.2, the
release notes carry the two shipped bullets on each side with the grouped
small-fixes bullet last, and STATUS says what this beta is.

What the user gets: dragging the plan is smooth again — a gesture frame
now moves what is already drawn by a composited transform, and the scene
re-rasterizes on a budget (100 ms, or a 15 % shift) instead of on every
frame, which on the owner's 144 Hz Firefox cost 200 ms per frame with the
refresh driver skipping 124-144 ticks a second waiting for paint (#531);
and the printed plan is about a third larger, because the in-plan
dimension labels shrank by a quarter and the separate column of external
dimensions is gone, so the drawing keeps a whole scale step (#530).

The speed verdict for #531 is deliberately not claimed here: headless
Firefox and Chromium hold 60 fps on both the old and the new path, so it
is owed by a profile from the owner's machine on the same pan.

`npm test` 2528/0/1 skip, release contract green on all seven sources,
bundle 287 238 B gzip inside the ceiling, docs strict green.

The `Release:` trailer is what asks CI for the heavy gates — smokes,
golden and the full performance comparison — on this exact SHA (#479).

Issue: #531
User-Visible: yes
Release: v1.74.0-beta.3
This commit is contained in:
Codex
2026-09-11 15:06:32 +03:00
parent 0d63529e90
commit 45d44608a1
56 changed files with 381 additions and 379 deletions
+2
View File
@@ -2,6 +2,8 @@
## Unreleased
## v1.74.0-beta.3 — 2026-09-11
- The printed plan is about a third larger: in-plan labels are a quarter
smaller and the separate list of internal dimensions is gone — the numbers
now sit on the drawing itself. Short dimensions that do not fit inside a room
+2
View File
@@ -8,6 +8,8 @@
## Не выпущено
## v1.74.0-beta.3 — 2026-09-11
- Печатный план стал крупнее примерно на треть: подписи размеров внутри плана
уменьшены на четверть, а столбец вынесенных размеров сбоку убран — числа
теперь стоят на самом чертеже. Короткие размеры, которым не хватает места
+7 -9
View File
@@ -1,20 +1,18 @@
<!-- release: v1.74.0-beta.2 -->
<!-- release: v1.74.0-beta.3 -->
## Основное
- План, доставшийся от времён «комнат без стен», снова редактируется: наследие снимается при первом сохранении, а не запирает план наглухо ([#529](https://github.com/Matysh/houseplan-card/issues/529)).
- План снова плавный в Firefox: тень маркера больше не перезапускает анимацию у всех значков разом ([#524](https://github.com/Matysh/houseplan-card/issues/524)).
- Карточка скачивается на 12,8 КБ меньше при холодном старте ([#526](https://github.com/Matysh/houseplan-card/issues/526)).
- Перетаскивание плана снова плавное: кадр жеста сдвигает уже нарисованное вместо того, чтобы рисовать весь план заново ([#531](https://github.com/Matysh/houseplan-card/issues/531)).
- Печатный план стал крупнее примерно на треть: размеры встали на сам чертёж, а столбец выносов сбоку убран ([#530](https://github.com/Matysh/houseplan-card/issues/530)).
- Мелкие исправления и улучшения.
## Highlights
- A plan left over from the era of “rooms without walls” can be edited again: the leftover is cleaned up on the first save instead of locking the plan completely ([#529](https://github.com/Matysh/houseplan-card/issues/529)).
- The plan is smooth again in Firefox: a marker's shadow no longer restarts an animation on every marker at once ([#524](https://github.com/Matysh/houseplan-card/issues/524)).
- The card downloads 12.8 KB less on a cold start ([#526](https://github.com/Matysh/houseplan-card/issues/526)).
- Dragging the plan around is smooth again: a gesture frame moves what is already drawn instead of redrawing the whole plan ([#531](https://github.com/Matysh/houseplan-card/issues/531)).
- The printed plan is about a third larger: the dimensions now sit on the drawing itself and the separate column beside it is gone ([#530](https://github.com/Matysh/houseplan-card/issues/530)).
- Small fixes and improvements.
Сообщество / Community: [Telegram](https://t.me/ha_houseplan)
[Полный список изменений на русском](https://github.com/Matysh/houseplan-card/blob/v1.74.0-beta.2/docs/CHANGELOG.ru.md)
· [Full changelog in English](https://github.com/Matysh/houseplan-card/blob/v1.74.0-beta.2/docs/CHANGELOG.md)
[Полный список изменений на русском](https://github.com/Matysh/houseplan-card/blob/v1.74.0-beta.3/docs/CHANGELOG.ru.md)
· [Full changelog in English](https://github.com/Matysh/houseplan-card/blob/v1.74.0-beta.3/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-10)
## Snapshot (2026-09-11)
| Item | State |
|---|---|
| Version | **v1.74.0-beta.2** everywhere (manifest, const.py, package.json, CARD_VERSION in the card and the editor runtime) |
| Current local cycle | v1.74.0-beta.2 continues the line after the stable v1.73.0. User-visible in this beta: a plan left over from the era of rooms without walls can be edited again — the leftover is cleaned up on the first save instead of refusing every change, sending the user to an Optimize that cannot help and blocking the export as well (#529, reported by a user in #527); the plan is smooth again in Firefox, where a marker shadow sized in container units restarted a non-composited animation on every marker at once and cost 9.4 frames per second (#524); switching between spaces no longer replays a neighbouring door's leaf movement or a marker's shadow (#525); and the card downloads 12.8 KB less on a cold start because the stylesheet minifier had never actually run (#526). Internal: the space-switch witness now judges node identity rather than a transition that #524 removed (#528), and the review gate charges a round only for what the round changed — witnesses are judged by their anchor's neighbourhood, an empty shard plan costs no environment, and the matrix is six shards (#518). Everything from v1.74.0-beta.1 stays in the line. Publication requires green Validate on the exact candidate SHA; `main` stays at v1.73.0. |
| Version | **v1.74.0-beta.3** everywhere (manifest, const.py, package.json, CARD_VERSION in the card and the editor runtime) |
| Current local cycle | v1.74.0-beta.3 continues the line after the stable v1.73.0. User-visible in this beta: dragging the plan is smooth again — a gesture frame now moves what is already drawn by a composited transform and the scene re-rasterizes on a budget (100 ms, or a 15 % shift) instead of on every frame, which on the owner’s 144 Hz Firefox cost 200 ms per frame with the refresh driver skipping 124-144 ticks a second waiting for paint (#531); and the printed plan is about a third larger, because the in-plan dimension labels shrank by a quarter and the separate column of external dimensions is gone, so the drawing keeps a whole scale step (#530). Everything from v1.74.0-beta.2 stays in the line: #529, #524, #525, #526, plus internal #528 and #518. The speed verdict for #531 is deliberately NOT claimed by the sandbox — headless Firefox and Chromium hold 60 fps on both the old and the new path; it is owed by a Firefox profile from the owner’s machine on the same pan. Publication requires green Validate on the exact candidate SHA; `main` stays at v1.73.0. |
| 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. The same hidden `iso` view uses the fixed 4° camera, raised/tethered device-room-lock overlays, deeper openings and bounded theme materials; #471 removes the overlay plates from paint while retaining their safety geometry. 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 3 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 GitHub Release uses `prerelease=false`. 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) |