Commit Graph
3578 Commits
Author SHA1 Message Date
Sergey Matyunin 142340ee1c Release v1.78.0-beta.3 candidate
Issue: #616
Issue: #626
Issue: #628
Issue: #638
Issue: #647
Issue: #648
Issue: #649
Issue: #650
User-Visible: yes
Release: v1.78.0-beta.3
2026-09-25 22:03:17 +03:00
claude[bot] 0e8e87303e docs: review document for #649
Проверка (CI) / Классификация изменённых файлов (push) Successful in 22s
Проверка (CI) / Мутанты по диффу (1/6): затронутые свидетели краснеют (push) Skipped
Проверка (CI) / Мутанты по диффу (2/6): затронутые свидетели краснеют (push) Skipped
Проверка (CI) / Мутанты по диффу (3/6): затронутые свидетели краснеют (push) Skipped
Проверка (CI) / Мутанты по диффу (4/6): затронутые свидетели краснеют (push) Skipped
Проверка (CI) / Мутанты по диффу (5/6): затронутые свидетели краснеют (push) Skipped
Проверка (CI) / Мутанты по диффу (6/6): затронутые свидетели краснеют (push) Skipped
Проверка (CI) / Предполёт: документация, провенанс, процесс (push) Failing after 48s
Проверка (CI) / HACS: валидация репозитория (push) Failing after 23s
Проверка (CI) / Hassfest: манифест интеграции (push) Failing after 24s
Проверка (CI) / Переиспользование: это дерево уже проверено (push) Successful in 46s
Проверка (CI) / Геометрия: TS/Python parity исполнена (push) Failing after 34s
Проверка (CI) / Бэкенд: pytest в Home Assistant (push) Failing after 44s
Проверка (CI) / Фронтенд: типы, юниты, мутанты, синхрон бандла (push) Failing after 8m29s
Проверка (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) / Доказательство выполненных проверок (push) Failing after 19s
Issue: #649
User-Visible: no
2026-09-25 16:51:38 +00:00
Claude 106fdc096d fix(2.5D): prove the sun beam is cut by bodies; review r1 lows (#649)
CODE-REVIEW-649-r1 M1: the 2.5D beam's cut by physical bodies (AC7) had no
witness. Unit: a column in the beam leaves the floor between window and
column lit and shades it behind the column; smoke: a Solid partition across
the south beam removes floor from the rendered wash. Mutants: occluders
extruded toward the sun, occluders ignored, card drops occluders.

Lows: L1 stale alpha wording (DEVELOPMENT, ARCHITECTURE, card comment,
benchmark); L3 dark-theme state edges computed per theme; L4 Alert beats a
plain Hover and a plain Selected; L5 a virtual marker has no dashed ring;
L6 tiles and shadows stay without walls (show_borders off).

Issue: #649
User-Visible: no
2026-09-25 18:55:28 +03:00
claude[bot]andClaude e1f1c7d908 docs: review document for #649
Issue: #649
User-Visible: no
2026-09-25 18:55:27 +03:00
Claude 2ed050311b test(mutants): stage3-w12 guard follows the renamed #649 contract test
The guard pattern "Labs iso is presentation-only" matched no test after #649
renamed it, so node --test ran the file with zero subtests and the mutant
survived (Validate 36151140394, shard 3/6). Point it at the test that still
asserts params.getAll('hp_alpha').

Issue: #649
User-Visible: no
2026-09-25 18:55:15 +03:00
Claude e5ab4659f6 feat: 2.5D stage 6 — public setting, raised tiles, soft sun, theme-free walls (#649)
- settings.volumetric_view (General settings › Display, third switch) replaces
  the alpha entry, the header projection toggle and the phone-menu item; one
  rule for card, sidebar page and kiosk; editors stay Flat; backend accepts
  only a boolean, support package copies it.
- Raised tiles in 2.5D View: no ring, rounded body min(0.275 D, 0.3 h), edge
  0.1 D with the lab filters, ×1.12 size also in layout/collision, lift
  0.075 D, one floor-shadow layer under all markers (theme × floor table),
  frames hugging tile and edge (Alert > Focus > Selected > Hover), forced
  colours without edge and shadow (src/iso-tiles.ts, styles/iso-tiles).
- Soft sun wash instead of projected Flat wedges (src/iso-sun.ts): same gates
  and windows as sun_rays, length from elevation, parallelogram along the sun,
  tone and streaks by floor lightness, sill line.
- Walls take the user's wall colour (top opaque, sides × .77/.68/.60); theme
  rules for walls/openings/labels removed; furniture uses the Flat stroke rule.
- Smokes smoke_iso_tiles/iso_sun/iso_theme_walls/volumetric_setting, 16 new
  mutants, acceptance scenes STAGE6_ACCEPTANCE_SCENARIOS (golden with their
  Linux CI baselines), ACCEPTANCE.md side by side.

Issue: #649
User-Visible: yes
2026-09-25 18:55:14 +03:00
claude[bot] 11a8b623a2 docs: review document for #650
Issue: #650
User-Visible: no
2026-09-25 15:51:12 +00:00
Claude 43459bcbe0 ci(mutants): an unmatched --test-name-pattern is setup-failure, not survived (#650)
A name-filtered `node --test` that matches no test exits 0 and TAP reports
only the file itself. The clean run took that for a healthy witness and the
mutant run for `survived`, although no assertion ran either time — as in
Validate 36151140394 on #649, where a renamed test left a guard pattern empty.

- mutation-guard-outcome: nodeTestSelection/executedTestNames/
  emptyTestSelection; a green oracle with a name filter and zero executed
  named tests is `setup-failure` (clean run: «FAIL чистая подготовка»,
  diff mode: attributed like any setup failure, #568).
- mutation-gate --check: staticTestSelectionProblems — every pattern must
  match a literal test(/it(/describe( name in the guard's files; files with
  ${…} names only warn. POSIX quoting keeps \( inside "…".
- Registry today: 349 unique name-filtered commands run on dev, all execute
  ≥ 1 test; --check: 0 errors, 3 warnings (dynamic names).
- Tests: 6 new in test/mutation-guard-outcome.test.mjs (incl. the installed
  node's real TAP and a registry-wide static check); 3 mutants.
- Docs: TESTING.md pointer, testing-notes/infrastructure.md section.

Issue: #650
User-Visible: no
2026-09-25 18:31:17 +03:00
claude[bot] a55f564498 docs: review document for #648
Issue: #648
User-Visible: no
2026-09-25 13:33:26 +00:00
claude[bot] 4168b1cfce docs(reviews): индекс после сдвига каталога (#648)
Issue: #648
User-Visible: no
2026-09-25 13:11:44 +00:00
Sergey Matyuninandclaude[bot] 8f13325c52 test: проверять минимум Sections на RU и DE (#648)
Issue: #648
User-Visible: no
2026-09-25 13:11:44 +00:00
claude[bot] 180239f44c docs: review document for #648
Issue: #648
User-Visible: no
2026-09-25 13:11:44 +00:00
Sergey Matyuninandclaude[bot] b9fe916662 test: детерминировать transition-smoke Sections (#648)
Issue: #648
User-Visible: no
2026-09-25 13:11:44 +00:00
Sergey Matyuninandclaude[bot] dc0a5ccc5a test: ловить viewport-регрессии Sections (#648)
Issue: #648
User-Visible: no
2026-09-25 13:11:44 +00:00
Sergey Matyuninandclaude[bot] 2452c51d00 feat: вертикальный resize карточки в Sections (#648)
Issue: #648
User-Visible: yes
2026-09-25 13:11:44 +00:00
claude[bot] 230813b355 docs: review document for #648
Issue: #648
User-Visible: no
2026-09-25 13:11:44 +00:00
claude[bot] 7372e977b8 docs: review document for #649
Issue: #649
User-Visible: no
2026-09-25 12:48:25 +00:00
claude[bot] f68878cc44 docs: review document for #649
Issue: #649
User-Visible: no
2026-09-25 12:34:36 +00:00
claude[bot] b7079ead80 docs: review document for #616
Issue: #616
User-Visible: no
2026-09-25 11:49:20 +00:00
Claude 255330b9bc Шапка на телефоне: одна строка — вкладки, масштаб и шестерёнка с меню остального (#616)
На окне не шире 480 px шапка карточки и страницы бокового меню занимает одну
строку ≤ 56 px: вкладки пространств (без шестерёнок и «+», прокрутка вбок,
текущая вкладка докручивается в видимую область), масштаб, одна шестерёнка
«Действия и настройки» и у админа слот крестика #647. Заголовок скрыт.

Меню шестерёнки (src/header-menu.ts): редакторы, настройки и добавление
пространства, общие настройки, PDF, помощь, сводная панель и объёмный вид
(alpha) — в фиксированном порядке и с теми же условиями и действиями, что у
прежних кнопок. Пункт закрывает меню; Escape возвращает фокус на шестерёнку;
касание вне меню поглощается прозрачной подложкой. На > 480 px шапка прежняя,
в киоске меню нет.

- три кнопки шапки вынесены в renderHeaderActions — шапка карточки не растёт;
- сводная панель отдаёт свои пункты методом menuItems();
- i18n: title.header_menu (en/ru/de/fr);
- потолок initial View 291 000 → 292 600 (замер 291 635), база bundleBytes;
- смок smoke_mobile_view_header, юнит header-menu, 10 мутантов; смоки
  support_feedback, gear_tabs, modes, toolbar_stable_width переведены на
  меню на ≤ 480 px; подпись вкладки в span.tabtitle без pointer-events;
- USER-GUIDE.ru, UX-MODES, TOUCH-SUPPORT, STYLING-HOOKS, data-hp-contract,
  оба changelog.

Issue: #616
User-Visible: yes
2026-09-25 14:22:36 +03:00
claude[bot] dc6018ed5a docs: review document for #626
Issue: #626
User-Visible: no
2026-09-25 11:20:33 +00:00
Sergey Matyunin b80193f726 test: restore default upload ACL coverage
Issue: #626
User-Visible: no
2026-09-25 14:09:07 +03:00
claude[bot] b6bae3dba6 docs: review document for #626
Issue: #626
User-Visible: no
2026-09-25 11:07:49 +00:00
Sergey Matyuninandclaude[bot] 552504b834 fix: preserve administrator write access
Issue: #626
User-Visible: yes
2026-09-25 10:47:27 +00:00
Sergey Matyuninandclaude[bot] e6987459a5 fix: respect Home Assistant read-only ACL
Issue: #626
User-Visible: yes
2026-09-25 10:47:27 +00:00
claude[bot] 2529052749 docs: review document for #626
Issue: #626
User-Visible: no
2026-09-25 10:47:27 +00:00
claude[bot] d5df838976 docs: review document for #616
Issue: #616
User-Visible: no
2026-09-25 10:28:49 +00:00
claude[bot] e095c710f9 docs: review document for #628
Issue: #628
User-Visible: no
2026-09-25 10:21:04 +00:00
claude[bot] a32744255f docs(reviews): индекс после сдвига каталога (#628)
Issue: #628
User-Visible: no
2026-09-25 10:13:17 +00:00
Sergey Matyuninandclaude[bot] 054a713977 docs: preserve workstation section hierarchy
Keep the critical file-sync subsection under Local Windows workstation and place the repository-maintenance section after it, as requested by review r1.

Issue: #628
User-Visible: no
2026-09-25 10:13:17 +00:00
claude[bot] f86bc34dd5 docs: review document for #628
Issue: #628
User-Visible: no
2026-09-25 10:13:17 +00:00
Sergey Matyuninandclaude[bot] 774b7c7e04 docs: record repository GC baseline
Owner-selected option 1 only: document the one-time Windows clone GC, its before/after measurements, and the 2026-10-25 growth checkpoint. No LFS, tracked-bundle removal, or history rewrite.

Issue: #628
User-Visible: no
2026-09-25 10:13:17 +00:00
claude[bot] e52afe6349 docs: review document for #638
Issue: #638
User-Visible: no
2026-09-25 10:10:39 +00:00
Claude 0ba81a994b Процесс: независимое ревью линии перед стабильным релизом, не блокирующее выпуск (#638)
PROCESS.md §11.5: перед стабильным релизом — одно ревью поверхностей всей
линии бет «с нуля», без ТЗ и документов раундов, по SCOPE и USER-GUIDE.

- scripts/release-review.mjs: вход линии — прошлый стабильный тег, issue по
  трейлерам в схеме RELEASE-MEMBERSHIP.json, продуктовые файлы; бриф промпта.
- .github/workflows/release-review.yml (workflow_dispatch, исполняется с dev):
  prepare → model_review (модель без прав на запись, github_token #556) →
  publish (docs/reviews/RELEASE-REVIEW-vX.Y.Z.md в dev токеном процесса,
  индекс тем же коммитом, review-doc-guard). Повтор на тот же тег не тратит
  модель, если документ уже в dev.
- release.yml: job independent-review ставит ревью в очередь сразу после
  candidate, continue-on-error; ни один job выпуска от него не зависит
  (решение владельца 2026-09-25).
- REVIEWER.md, AGENTS.md, DEVELOPMENT.md; тесты и четыре мутанта.

Issue: #638
User-Visible: no
2026-09-25 12:53:14 +03:00
claude[bot] d35a52a3f1 docs: review document for #647
Проверка (CI) / Предполёт: документация, провенанс, процесс (push) Failing after 13m31s
Проверка (CI) / Классификация изменённых файлов (push) Failing after 14m40s
Проверка (CI) / Переиспользование: это дерево уже проверено (push) Skipped
Проверка (CI) / HACS: валидация репозитория (push) Skipped
Проверка (CI) / Hassfest: манифест интеграции (push) Skipped
Проверка (CI) / Мутанты по диффу (1/6): затронутые свидетели краснеют (push) Skipped
Проверка (CI) / Мутанты по диффу (2/6): затронутые свидетели краснеют (push) Skipped
Проверка (CI) / Мутанты по диффу (3/6): затронутые свидетели краснеют (push) Skipped
Проверка (CI) / Мутанты по диффу (4/6): затронутые свидетели краснеют (push) Skipped
Проверка (CI) / Мутанты по диффу (5/6): затронутые свидетели краснеют (push) Skipped
Проверка (CI) / Мутанты по диффу (6/6): затронутые свидетели краснеют (push) Skipped
Проверка (CI) / Фронтенд: типы, юниты, мутанты, синхрон бандла (push) Skipped
Проверка (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) Skipped
Проверка (CI) / Бэкенд: pytest в Home Assistant (push) Skipped
Проверка (CI) / Доказательство выполненных проверок (push) Failing after 1m38s
Issue: #647
User-Visible: no
2026-09-25 08:57:28 +00:00
Claudeandclaude[bot] f0ba7c5da9 Основная панель: без счётчика устройств, × редактора в своём слоте — ширина шапки не меняется (#647)
Счётчик «N устр.» и ключ count.devices удалены вместе с правилом
`.head .count` (скрывало счётчик на ≤1100 px). Крестик закрытия редактора
вынесен из активной кнопки режима в отдельный слот `.editor-close-slot`
сразу после группы кнопок режимов: 24 × 24 px (--hp-editor-close-size),
одинаковый в редакторе и вне его; вне редактора слот пуст, aria-hidden,
без фокуса и pointer-events. Кликабельная зона × — весь слот (≥24×24, #195),
глиф 13 px; × виден на любой ширине, где видны кнопки режимов.

Смок smoke_toolbar_stable_width (1400/1000/768/390 px, en/ru): ширина
шапки и отступы кнопок стабильны во всех переходах, × виден, попадание
в край зоны закрывает редактор, нет нового overflow. smoke_editor_tabs,
smoke_edge_cases, smoke_hidden_flag переведены на слот/список устройств.
6 мутантов. docs: UX-MODES.md, STYLING-HOOKS.md, data-hp-contract.json.

Issue: #647
User-Visible: yes
2026-09-25 08:35:57 +00:00
Sergey Matyunin 632d6a2f8e chore(golden): accept beta.2 visual changes
Accepted exactly the five reviewed Linux CI scenes for device batch selection and transparent color tiles.

Release: v1.78.0-beta.2
Baseline-Reviewed: https://github.com/Matysh/houseplan-card/actions/runs/36111677966
Issue: #615
Issue: #618
User-Visible: no
v1.78.0-beta.2
2026-09-25 11:23:47 +03:00
claude[bot] 27d78801d0 docs: review document for #647
Issue: #647
User-Visible: no
2026-09-25 08:10:38 +00:00
Sergey Matyunin 02b374f504 Release v1.78.0-beta.2 candidate
Issue: #615
Issue: #617
Issue: #618
Issue: #620
Issue: #622
Issue: #623
Issue: #627
Issue: #629
Issue: #630
Issue: #631
Issue: #632
Issue: #633
Issue: #634
Issue: #642
Issue: #643
Issue: #645
Issue: #646
User-Visible: yes
2026-09-25 11:07:14 +03:00
claude[bot] 1ba4c23a58 docs: review document for #647
Issue: #647
User-Visible: no
2026-09-25 08:01:04 +00:00
claude[bot] b4d6effbca docs: review document for #645
Проверка (CI) / Предполёт: документация, провенанс, процесс (push) Failing after 6m52s
Проверка (CI) / Классификация изменённых файлов (push) Successful in 4m54s
Проверка (CI) / Hassfest: манифест интеграции (push) Skipped
Проверка (CI) / HACS: валидация репозитория (push) Skipped
Проверка (CI) / Мутанты по диффу (1/6): затронутые свидетели краснеют (push) Skipped
Проверка (CI) / Мутанты по диффу (2/6): затронутые свидетели краснеют (push) Skipped
Проверка (CI) / Мутанты по диффу (3/6): затронутые свидетели краснеют (push) Skipped
Проверка (CI) / Мутанты по диффу (4/6): затронутые свидетели краснеют (push) Skipped
Проверка (CI) / Мутанты по диффу (5/6): затронутые свидетели краснеют (push) Skipped
Проверка (CI) / Мутанты по диффу (6/6): затронутые свидетели краснеют (push) Skipped
Проверка (CI) / Фронтенд: типы, юниты, мутанты, синхрон бандла (push) Skipped
Проверка (CI) / Переиспользование: это дерево уже проверено (push) Failing after 15m33s
Проверка (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) Skipped
Проверка (CI) / Бэкенд: pytest в Home Assistant (push) Skipped
Проверка (CI) / Доказательство выполненных проверок (push) Failing after 1m56s
Issue: #645
User-Visible: no
2026-09-25 07:47:56 +00:00
Sergey Matyunin f293c6e9dc fix(editor): сохранять позицию кнопки при отмене Resize (#645)
Транзитная геометрия Resize теперь только вычисляет центр для текущего кадра и не удаляет сессионную позицию. Окончательная геометрия по-прежнему очищает точку, если она действительно вышла за комнату.

Issue: #645
User-Visible: yes
2026-09-25 10:15:34 +03:00
claude[bot] 449438fb20 docs: review document for #645
Issue: #645
User-Visible: no
2026-09-25 06:23:57 +00:00
Sergey Matyunin a8437e69e5 fix(ci): атомарно печатать отчёт private-writes (#645)
Linux CI при параллельном npm test мог потерять последнюю отдельную запись
stdout после длинной таблицы --count. Формируем отчёт целиком и пишем его
одним вызовом, чтобы итоговая строка всегда доходила до unit-теста.

Issue: #645
User-Visible: no
2026-09-25 08:58:05 +03:00
Sergey Matyunin 23e55d4929 test(resize): различать актуальный центр кнопки #645
Issue: #645
User-Visible: no
2026-09-25 08:40:41 +03:00
Sergey Matyunin 0a95a1cd65 test(editor): использовать публичный фасад в smoke #645
Issue: #645
User-Visible: no
2026-09-25 08:36:21 +03:00
Sergey Matyunin 62d0f50593 feat(editor): перетаскивание кнопки настроек комнаты (#645)
Кнопка сохраняет положение в пределах комнаты только на время сессии редактора,
корректно отменяется при pinch/cancel и учитывается подписями Resize.

Issue: #645
User-Visible: yes
2026-09-25 08:33:07 +03:00
claude[bot]andSergey Matyunin 27ba3f2ee0 docs: review document for #645
Issue: #645
User-Visible: no
2026-09-25 08:06:14 +03:00
claude[bot]andSergey Matyunin 15e047949e docs: review document for #645
Issue: #645
User-Visible: no
2026-09-25 08:06:13 +03:00
claude[bot] 744b4a8398 docs: review document for #629
Проверка (CI) / Классификация изменённых файлов (push) Failing after 13m41s
Проверка (CI) / Переиспользование: это дерево уже проверено (push) Skipped
Проверка (CI) / HACS: валидация репозитория (push) Skipped
Проверка (CI) / Hassfest: манифест интеграции (push) Skipped
Проверка (CI) / Мутанты по диффу (1/6): затронутые свидетели краснеют (push) Skipped
Проверка (CI) / Мутанты по диффу (2/6): затронутые свидетели краснеют (push) Skipped
Проверка (CI) / Мутанты по диффу (3/6): затронутые свидетели краснеют (push) Skipped
Проверка (CI) / Мутанты по диффу (4/6): затронутые свидетели краснеют (push) Skipped
Проверка (CI) / Мутанты по диффу (5/6): затронутые свидетели краснеют (push) Skipped
Проверка (CI) / Мутанты по диффу (6/6): затронутые свидетели краснеют (push) Skipped
Проверка (CI) / Фронтенд: типы, юниты, мутанты, синхрон бандла (push) Skipped
Проверка (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) Skipped
Проверка (CI) / Бэкенд: pytest в Home Assistant (push) Skipped
Проверка (CI) / Предполёт: документация, провенанс, процесс (push) Failing after 21m16s
Проверка (CI) / Доказательство выполненных проверок (push) Failing after 1m23s
Issue: #629
User-Visible: no
2026-09-25 01:43:46 +00:00