Commit Graph
2534 Commits
Author SHA1 Message Date
claude[bot] 03aaad3e2b docs: review document for #588
Issue: #588
User-Visible: no
2026-09-18 08:54:38 +00:00
claude[bot] eaaba7ab42 docs: review document for #588
Issue: #588
User-Visible: no
2026-09-18 08:44:10 +00:00
claude[bot] 5b7add94d1 docs: review document for #588
Issue: #588
User-Visible: no
2026-09-18 08:29:07 +00:00
Claude a6185e295d Prepare v1.77.0-beta.1
Package the reviewed furniture footprint fix with synchronized release metadata; the golden-manifest platform, composite CI proof, strict screenshot-freshness switch and stable Full Performance base ride along internally.

Release: v1.77.0-beta.1
Issue: #571
Issue: #573
Issue: #584
Issue: #586
Issue: #587
User-Visible: yes
2026-09-18 09:32:55 +03:00
claude[bot] 0de14ead71 docs: review document for #571
Проверка (CI) / Классификация изменённых файлов (push) Successful in 18s
Проверка (CI) / Мутанты по диффу (1/6): затронутые свидетели краснеют (push) Skipped
Проверка (CI) / Мутанты по диффу (4/6): затронутые свидетели краснеют (push) Skipped
Проверка (CI) / Мутанты по диффу (5/6): затронутые свидетели краснеют (push) Skipped
Проверка (CI) / Мутанты по диффу (6/6): затронутые свидетели краснеют (push) Skipped
Проверка (CI) / Мутанты по диффу (2/6): затронутые свидетели краснеют (push) Skipped
Проверка (CI) / Мутанты по диффу (3/6): затронутые свидетели краснеют (push) Skipped
Проверка (CI) / Предполёт: документация, провенанс, процесс (push) Failing after 31s
Проверка (CI) / HACS: валидация репозитория (push) Failing after 22s
Проверка (CI) / Hassfest: манифест интеграции (push) Failing after 22s
Проверка (CI) / Переиспользование: это дерево уже проверено (push) Successful in 43s
Проверка (CI) / Геометрия: TS/Python parity исполнена (push) Successful in 2m39s
Проверка (CI) / Бэкенд: pytest в Home Assistant (push) Failing after 5m47s
Проверка (CI) / Фронтенд: типы, юниты, мутанты, синхрон бандла (push) Failing after 7m38s
Проверка (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 16s
Issue: #571
User-Visible: no
2026-09-17 20:59:57 +00:00
Codex f77bdaf52e docs: переснять индекс скриншотов после правки run.mjs (#571)
Разовая плата за провенанс: `demo/golden/run.mjs` входит в корпус отпечатка
исходников, поэтому правка объявила индекс скриншотов документации устаревшим.
Снято workflow «Скриншоты документации» (прогон 35270230061, ref — ветка
задачи). Все одиннадцать кадров совпали с закоммиченными **байт-в-байт**:
принят только отпечаток, картинки не менялись — сбор провенанса ничего не
рисует.

`check-docs --strict` зелёный.

Issue: #571
User-Visible: no
2026-09-17 23:23:37 +03:00
claude[bot] df9031b1ba docs: review document for #573
Issue: #573
User-Visible: no
2026-09-17 19:40:37 +00:00
Claude 2ea1e5e62a ci: reviewed run судится только release-потребителем (#573, ревью r1 M1)
`loadGithubProofContext` спрашивал объявленный `Baseline-Reviewed` run для
любого потребителя, а `evaluateCiProof` судил его при `reviewedRun: null` —
merge и review начинали зависеть от доступности старого run по чужой причине.
Теперь запрос делается только с `withReviewedRun` (release-gate передаёт его
вместе с ожиданиями), а проверка стоит внутри `if (expected)` — рядом со
сверкой evidence, где ей и место. Тест: без ожиданий merge/review green при
reviewedRun undefined/null/пустом; фейковый fetch доказывает, что запроса нет.

Issue: #573
User-Visible: no
2026-09-17 22:26:19 +03:00
claude[bot] da156dd10b docs: review document for #573
Issue: #573
User-Visible: no
2026-09-17 19:17:34 +00:00
Claude 47f36e571c ci: proof различает продуктовое дерево и overlay эталонов (#573)
Приёмка эталонов на beta.3 (`ad4000f9`) стоила второго полного Validate —
22 минуты, из них 17–22 на шард мутантов. Причина одна: корпус отпечатка
(`source-fingerprint.mjs`) называет `demo/golden` строкой-каталогом, а
замыкание входов раскрывало каталог во все текстовые файлы под ним, включая
`baselines-index.json`. Индекс становился входом smoke, performance_smoke и
каждого гарда через `serve.mjs`: на реальной паре C→B ключи smoke/perf были
DIFFERENT, отпечатки 181 из 183 браузерных свидетелей менялись, журнал их не
пропускал.

- `check-inputs.mjs`: `BASELINE_OVERLAY` — раскрытие каталога не выдаёт
  overlay; явный корень golden и явная ссылка на файл — как были. На паре
  C→B: ключи smoke/perf/parity/backend same, golden DIFFERENT; отпечатки
  743 из 744 равны; план мутантов B с журналом C — 0–1 на шард вместо 38–44
- `ci-proof.mjs`: составное evidence — product tree без overlay, overlay
  (tree, sha256 индекса, run из `Baseline-Reviewed`), content-ключи всех
  реюзных job (исполненных тоже); `evaluateCiProof({expected, reviewedRun})`
  сверяет с локальным расчётом, fail-closed на ключ, tree, индекс, reviewed
  run, маркер с чужим ключом; proof без evidence при ожиданиях — stale
- `release-gate.mjs` / `release-prerelease.mjs`: ожидания считаются на
  checkout кандидата (`candidateExpectations`), чужой checkout — notice
- мутанты: `baseline-overlay-leaks-into-every-key`,
  `proof-trusts-evidence-it-could-verify`,
  `reused-marker-key-unchecked-against-candidate`,
  `product-tree-identity-counts-baselines`; перенацелен
  `ci-proof-ignores-run-attempt`
- docs: TESTING (правило overlay), DEVELOPMENT (evidence в release proof),
  STATUS

Issue: #573
User-Visible: no
2026-09-17 22:00:15 +03:00
claude[bot] 06bf9b6921 docs: review document for #584
Проверка (CI) / Классификация изменённых файлов (push) Successful in 20s
Проверка (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 34s
Проверка (CI) / HACS: валидация репозитория (push) Failing after 19s
Проверка (CI) / Hassfest: манифест интеграции (push) Failing after 27s
Проверка (CI) / Переиспользование: это дерево уже проверено (push) Failing after 44s
Проверка (CI) / Геометрия: TS/Python parity исполнена (push) Skipped
Проверка (CI) / Бэкенд: pytest в Home Assistant (push) Skipped
Проверка (CI) / Фронтенд: типы, юниты, мутанты, синхрон бандла (push) Failing after 6m17s
Проверка (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 15s
Issue: #584
User-Visible: no
2026-09-16 21:19:57 +00:00
claude[bot] 62d86e0f83 docs: review document for #584
Issue: #584
User-Visible: no
2026-09-16 21:12:40 +00:00
Codex 9bf41ec305 test: принять эталоны мебели и индекс скриншотов (#584)
Девять golden-кадров приняты с полного линуксового артефакта Validate (прогон
35144164510, `full=true` на материале задачи); остальные 163 сохранены без
изменений, свидетелей среды 107.

Каждый разошедшийся кадр просмотрен глазами и объяснён:

- шесть мебельных (`furniture-variants-*`, `furniture-placement-preview-light`,
  `furniture-plan-art-dark`, `furniture-transform-*`) — предметы занимают
  заявленный бокс целиком. Там же видна вторая правка: у значка «Журнальный
  стол, круглый» четыре ножки встали по местам внутри круга, а раньше две
  болтались у нижнего края — ровно тот механизм смещения деталей, который
  назван в шапке issue;
- два декоративных (`decor-over-opaque-hover-light`, `decor-over-glow-base-dark`)
  — в сцене стоит диван, его контур дорос до границ бокса; форма, цвет и
  положение прежние;
- `isometric-stage3-overlays-dark` — та же мебель в скрытом 2.5D-виде.

Посторонних изменений нет: расхождение 0,16–1,48 % пикселей кадра и целиком
внутри силуэтов мебели.

Индекс скриншотов документации переснят там же (прогон 35144241294): все
одиннадцать кадров совпали с закоммиченными байт-в-байт, принят только
отпечаток — мебель ни в один кадр документации не попадает.

Трейлер `Release:` называет ближайшую бету линейки по образцу #577 и #580;
если номер линейки окажется другим, он правится при подготовке кандидата.

Issue: #584
User-Visible: no
Release: v1.77.0-beta.1
Baseline-Reviewed: https://github.com/Matysh/houseplan-card/actions/runs/35144164510
2026-09-16 23:11:44 +03:00
Codex ef3bc6d133 fix: габарит мебели равен заявленным размерам (#584)
Указанные ширина и глубина теперь совпадают с видимым габаритом предмета.
Раньше рисунок занимал внутри своего бокса около 88 % стороны, поэтому
«Кухонный напольный модуль» 60 × 60 выглядел меньше «Посудомоечной машины»
60 × 60 примерно на 14 % по стороне и на 30 % по площади: цифры совпадали,
картинка врала.

Пак `fix-584-1` от дизайнера (issue, комментарий от 16.09) проверен исполнением
своей метрикой, а не его отчётом: границы считаются аналитически по той же
математике, что у продакшен-экспорта в PDF. Все 44 плановых SVG заполняют
`viewBox` с худшим отклонением 0.000000 при допуске ТЗ 0,1; `pack.json` и 33
иконки меню побайтно прежние. Для сравнения, прежний набор в `dev` давал 65
нарушений того же контракта.

Что сделано в коде:

- `scripts/svg-path-bounds.mjs` — границы рисунка по настоящим экстремумам
  кривых (дуги приводятся к кубикам). Контрольные точки в габарит не входят:
  иначе «заполняет бокс» проверялось бы по выпуклой оболочке и поля проходили
  бы мимо. Генератор — `.mjs` и обязан работать без сборки TypeScript, поэтому
  разбор здесь свой; тест сверяет его с `parseSvgPath` продакшена на всей
  библиотеке, чтобы реализации не разъехались молча.
- `scripts/furniture-path-join.mjs` — склейка нескольких `<path>` с
  канонизацией только начального `moveto`. Приём подсказан патчем в поставке
  дизайнера; реализация и свидетели свои. Прежний `paths.join(' ')` продолжал
  координаты предыдущего пути: замер показал, что у иконок меню `stairs` и `tv`
  части рисунка уезжали за `viewBox` 110 × 110 — до 119. Теперь склейка
  побайтно воспроизводит «каждый путь из своего нуля».
- генератор проверяет плановый символ по контракту: один путь, подконтуры с
  абсолютной `M`, рисунок заполняет `viewBox` (допуск 0,1).
- `src/furniture.ts` — legacy `plant` растянут от центра в 1/0.96. Это
  единственный из двенадцати retained-примитивов с полями (0.02…0.98 unit box);
  форма прежняя, габарит стал заявленным.

Свидетели: `test/furniture-visual-bounds.test.mjs` (AC1–AC3, AC5 и сверка двух
реализаций границ) и `test/furniture-path-join.test.mjs` (AC4, включая реальные
`stairs`/`tv`). У AC1 есть положительный контроль: та же функция обязана видеть
поля на геометрии из шапки issue — утверждение «полей нет» стоит ровно столько,
сколько стоит измерение. Мутанты `furniture-symbol-may-keep-inner-padding` и
`furniture-paths-joined-without-reset` возвращают прежнее поведение и краснеют;
прогнаны лично через `mutation-gate --id=`.

Миграции пользовательских данных нет: координаты, размеры, поворот и
зеркалирование сохраняются.

npm test 2743/2742/0 fail, typecheck чистый, furniture:check зелёный.

Issue: #584
User-Visible: yes
2026-09-16 23:02:11 +03:00
claude[bot] e0b16c76d7 docs: review document for #584
Проверка (CI) / Классификация изменённых файлов (push) Successful in 27s
Проверка (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 46s
Проверка (CI) / Переиспользование: это дерево уже проверено (push) Successful in 1m17s
Проверка (CI) / HACS: валидация репозитория (push) Failing after 20s
Проверка (CI) / Hassfest: манифест интеграции (push) Failing after 17s
Проверка (CI) / Геометрия: TS/Python parity исполнена (push) Successful in 3m24s
Проверка (CI) / Бэкенд: pytest в Home Assistant (push) Failing after 8m20s
Проверка (CI) / Фронтенд: типы, юниты, мутанты, синхрон бандла (push) Failing after 11m18s
Проверка (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 16s
Issue: #584
User-Visible: no
2026-09-16 19:50:17 +00:00
claude[bot] 1c0ed73133 docs: review document for #584
Issue: #584
User-Visible: no
2026-09-16 19:42:43 +00:00
claude[bot] 7c5fd32a08 docs: review document for #586
Issue: #586
User-Visible: no
2026-09-16 19:23:02 +00:00
Codex 21923c344d docs: пересняты и приняты кадры документации (#586)
Долг, который копился ровно потому, что гейт свежести не включался. Последняя
приёмка (`1734b077`) была отпечаток-онли — `acceptance.lastWriteWasFingerprintOnly:
true`, — а сами картинки лежат с `15e0efe3`. С тех пор индекс разошёлся с
`src/**` и на кандидате обязан был краснеть, но краснеть ему было нечем.

Снято workflow «Скриншоты документации» (прогон 35137580137, `ref=dev`,
Chromium 151.0.7922.34, oxipng 10.2.0) — теми же, что и закоммиченный набор.
Семь кадров совпали с закоммиченными байт-в-байт: это и есть доказательство
среды по #401, порог свидетелей 2.

Разошлись четыре, и все четыре — подпиксельная кайма, а не содержимое:

| кадр | отличий всего | из них >10 | maxΔ |
|---|---|---|---|
| view-desktop | 177 (0,02 %) | 0 | 10 |
| view-touch | 83 (0,03 %) | 2 | 17 |
| room-card | 85 (0,17 %) | 0 | 10 |
| device-info | 137 (0,02 %) | 0 | 5 |

Посмотрел глазами при шестикратном увеличении: у `room-card` меняется свечение
красной подписи «35» на пару единиц канала, у `view-touch` — сглаживание
зелёного значка; геометрия, палитра, подписи и композиция те же.

Отдельно проверил, что это не шум съёмки: перезапустил тот же прогон вторым
заходом и сравнил артефакты — **все одиннадцать кадров совпали байт-в-байт**.
Харнесс детерминирован, значит расхождение принесено кодом, а не раннером, и
объявлять его декларацией — правильно, а не удобно.

`check-docs --strict` зелёный.

Issue: #586
User-Visible: no
2026-09-16 22:06:17 +03:00
claude[bot] 303c0843e7 docs: review document for #587
Issue: #587
User-Visible: no
2026-09-16 18:50:14 +00:00
Codex ca74a5c2ee Release v1.76.0
Promotion-only на вершине v1.76.0-beta.5: семь источников версии, снимки
собранного бандла и релизные метаданные. Продуктовый код в этом коммите не
двигается.

Линейка агрегируется от стабильной v1.75.0. Пользователю: щипковое
масштабирование в приложении Home Assistant больше не рвёт картинку — на
больших планах с фоном «Следует за Солнцем» пропали фиксированные белые
провалы (#582), план перестал переключаться между режимами композитинга
посреди жеста (#579), а щипок, начатый на значке устройства, не запускает его
действие и не открывает два окна сразу (#578, #563). Появился выбор источника
солнечных лучей — от внутренних или внешних углов окна (#577). «Как у
пространства» снова возвращает комнате цвет пространства и лечит застрявшие
(#581). Близко стоящие значки не перехватывают нажатие друг у друга, а
клавиатурный фокус получает ту же подсказку, что и мышь (#564, #565). План,
изменённый в другом браузере, не откатывается (#543), и при перетаскивании у
края не появляется пустая полоса (#544). Мельче: #561, #554, #545, #580.
Внутреннее в линейке: #583, #547, #556, #560, #566, #567, #568, #569.

Из тела исключён #580: этот дефект жил только внутри бета-линейки — режим
внешних углов окна (#577) не выходил ни в одном стабильном релизе, поэтому
пользователю он «исправлением» не является. В ченджлоге он остаётся.

Записано, а не замолчано: индекс свежести скриншотов документации устарел с
коммита 699ab471, а гейт Validate, который обязан был это поймать, лишь
предупреждает — режим выбирается сравнением с многострочным выводом CLI
(#586). Одиннадцать кадров документации от той правки измениться не могли: ни
одна из сцен не рисует скрытый 2.5D-вид, а отпечаток считается по всему
`src/**`. Пересъёмка требует Chromium, которого в этой песочнице нет.

npm test 2720/2719/1 fail (только bundle-tree до этого коммита), typecheck
чистый, контракт релиза зелёный на всех семи источниках, тело проходит #328
(`release:notes --verify`), check-docs зелёный кроме отпечатка скриншотов.

Issue: #582
User-Visible: yes
Release: v1.76.0
2026-09-16 15:34:35 +03:00
Codex c4cd1f6af6 Кандидат v1.76.0-beta.5 после починки перфоманса
Трейлер `Release:` просит CI прогнать тяжёлые гейты — смоки, golden и полное
сравнение производительности — на этом SHA: кандидат 1734b077 был задержан
собственным гейтом производительности изометрии, регрессия из #583 починена
коммитом выше по §11.4 (та же задача, без повторного ревью, команда и её
результат записаны в issue).

Issue: #583
User-Visible: no
Release: v1.76.0-beta.5
2026-09-16 13:58:51 +03:00
Claude 1734b077af Prepare v1.76.0-beta.5
Package the reviewed sun-ray occlusion, room-colour inheritance and HA Companion day-cycle compositor fixes with synchronized release metadata; the hidden 2.5D refinement rides along internally.

Release: v1.76.0-beta.5
Issue: #580
Issue: #581
Issue: #582
Issue: #583
User-Visible: yes
2026-09-16 10:25:10 +03:00
claude[bot] 632e3969f5 docs: review document for #583
Проверка (CI) / Смоки в браузере (шард 1 из 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 46s
Проверка (CI) / Классификация изменённых файлов (push) Successful in 40s
Проверка (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) / Переиспользование: это дерево уже проверено (push) Failing after 1m7s
Проверка (CI) / Смоки в браузере (шард 2 из 3) (push) Skipped
Проверка (CI) / Доказательство выполненных проверок (push) Failing after 24s
Issue: #583
User-Visible: no
2026-09-16 07:08:33 +00:00
claude[bot] 8ae551167c docs: review document for #583
Issue: #583
User-Visible: no
2026-09-16 06:01:12 +00:00
Sergey Matyunin 5cae93501c fix: refine hidden 2.5D presentation (#583)
Issue: #583
User-Visible: no
2026-09-16 02:57:47 +03:00
claude[bot] ec2b3f3274 docs: review document for #583
Issue: #583
User-Visible: no
2026-09-15 18:18:06 +00:00
claude[bot] 5867ee02b6 docs: review document for #582
Проверка (CI) / Мутанты по диффу (4/6): затронутые свидетели краснеют (push) Skipped
Проверка (CI) / Мутанты по диффу (5/6): затронутые свидетели краснеют (push) Skipped
Проверка (CI) / Мутанты по диффу (6/6): затронутые свидетели краснеют (push) Skipped
Проверка (CI) / HACS: валидация репозитория (push) Failing after 46s
Проверка (CI) / Hassfest: манифест интеграции (push) Failing after 59s
Проверка (CI) / Предполёт: документация, провенанс, процесс (push) Failing after 1m34s
Проверка (CI) / Переиспользование: это дерево уже проверено (push) Successful in 1m22s
Проверка (CI) / Геометрия: TS/Python parity исполнена (push) Successful in 3m28s
Проверка (CI) / Фронтенд: типы, юниты, мутанты, синхрон бандла (push) Failing after 9m8s
Проверка (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) / Бэкенд: pytest в Home Assistant (push) Failing after 6m3s
Проверка (CI) / Доказательство выполненных проверок (push) Failing after 16s
Проверка (CI) / Классификация изменённых файлов (push) Successful in 33s
Проверка (CI) / Мутанты по диффу (1/6): затронутые свидетели краснеют (push) Skipped
Проверка (CI) / Мутанты по диффу (2/6): затронутые свидетели краснеют (push) Skipped
Проверка (CI) / Мутанты по диффу (3/6): затронутые свидетели краснеют (push) Skipped
Issue: #582
User-Visible: no
2026-09-15 11:10:06 +00:00
Sergey Matyunin 54dc836dee fix: закрыть compositor-пути day-cycle (#582)
Issue: #582
User-Visible: no
2026-09-15 13:41:51 +03:00
claude[bot] a0a108cf13 docs: review document for #582
Issue: #582
User-Visible: no
2026-09-15 10:25:24 +00:00
Sergey Matyunin 226f323073 test: стабилизировать raster-свидетель day-cycle (#582)
Issue: #582
User-Visible: no
2026-09-15 12:43:15 +03:00
Sergey Matyunin 2a8b5f1dcf fix: стабилизировать day-cycle при pinch в HA Companion (#582)
После первого движения камеры переносит фильтр контура на ограниченный размером viewport слой, сохраняя исходный статичный рендер без изменений.

Issue: #582
User-Visible: no
2026-09-15 12:20:44 +03:00
claude[bot]andSergey Matyunin 728c564e5f docs: review document for #582
Issue: #582
User-Visible: no
2026-09-15 12:17:27 +03:00
Sergey Matyunin a68e4c6b80 fix: ограничить дневной контур размером экрана (#582)
Issue: #582
User-Visible: yes
2026-09-15 12:17:27 +03:00
claude[bot]andSergey Matyunin 292618cad0 docs: review document for #582
Issue: #582
User-Visible: no
2026-09-15 12:14:41 +03:00
claude[bot] 4208ca81fe docs: review document for #581
Issue: #581
User-Visible: no
2026-09-15 07:27:31 +00:00
Claude 2bec03e6fa fix: «Как у пространства» забывает свой цвет комнаты (#581)
Режим заливки комнаты и её цвет — два поля конфига под одним переключателем.
«Как у пространства» снимало только режим; цвет оставался и продолжал
применяться, потому что `roomCustomFillOf` отдавал цвет комнаты независимо от
того, чей режим `custom` действует. Так возникало безымянное состояние «режим
наследую, цвет свой» — Cabinet на даче.

Теперь цвет комнаты участвует в раскраске только вместе с её собственным
`fill_mode: 'custom'` (одна функция — все поверхности: карточка, space-card,
PDF, черновик диалога). Диалог загружает цвет в черновик только при своём
режиме, обнуляет его при уходе с «Свой цвет» и показывает строку цвета только
под этим радио; сохранение пишет `custom_fill` только с `fill_mode: 'custom'`,
иначе удаляет — включая сироту от прежнего редактора. Чтение конфиг не
переписывает: застрявшие комнаты выздоравливают обновлением.

- `test/logic.test.mjs`: AC1 — сирота и любой чужой режим → цвет пространства
- `demo/smoke_room_settings.mjs` шаг 7: свой цвет → «Как у пространства» →
  ни режима, ни цвета, во View цвет пространства; сирота открывается как
  наследование, сохранение её удаляет (проверено красным на базе: 9 фактов)
- `demo/smoke_space_settings.mjs`: override с собственным режимом + сирота
- `demo/golden/harness.mjs`: `roomCustomFill` ставит комнате её режим —
  кадры `lighting-custom-glow-*` не меняются
- мутант `room-orphan-colour-wins-again`
- docs: ARCHITECTURE (#56), CONFIG-COMPATIBILITY, USER-GUIDE ru/en, TESTING;
  отпечаток скриншотов принят попиксельно (11 кадров)

Issue: #581
User-Visible: yes
2026-09-15 09:48:37 +03:00
claude[bot] bae6afaae7 docs: review document for #580
Issue: #580
User-Visible: no
2026-09-15 06:16:08 +00:00
claude[bot]andSergey Matyunin c044e9ea38 docs: review document for #580
Issue: #580
User-Visible: no
2026-09-15 09:05:58 +03:00
Sergey Matyunin d2c7e6f701 fix: учитывать откосы для внешних солнечных лучей (#580)
Issue: #580
User-Visible: yes
2026-09-15 09:05:58 +03:00
claude[bot]andSergey Matyunin 2b98a70fa9 docs: review document for #580
Issue: #580
User-Visible: no
2026-09-15 09:05:58 +03:00
claude[bot]andSergey Matyunin 8f4ce99cb6 docs: review document for #580
Issue: #580
User-Visible: no
2026-09-15 09:05:58 +03:00
claude[bot] e54ff33ca1 docs: review document for #581
Issue: #581
User-Visible: no
2026-09-15 05:58:40 +00:00
Sergey Matyunin d37b2c9f8a Prepare v1.76.0-beta.4
Проверка (CI) / Классификация изменённых файлов (push) Successful in 25s
Проверка (CI) / Предполёт: документация, провенанс, процесс (push) Failing after 44s
Проверка (CI) / HACS: валидация репозитория (push) Failing after 22s
Проверка (CI) / Hassfest: манифест интеграции (push) Failing after 20s
Проверка (CI) / Переиспользование: это дерево уже проверено (push) Successful in 39s
Проверка (CI) / Мутанты по диффу (3/6): затронутые свидетели краснеют (push) Failing after 2m3s
Проверка (CI) / Мутанты по диффу (2/6): затронутые свидетели краснеют (push) Failing after 2m7s
Проверка (CI) / Мутанты по диффу (4/6): затронутые свидетели краснеют (push) Failing after 3m31s
Проверка (CI) / Мутанты по диффу (5/6): затронутые свидетели краснеют (push) Failing after 1m39s
Проверка (CI) / Мутанты по диффу (6/6): затронутые свидетели краснеют (push) Failing after 1m37s
Проверка (CI) / Геометрия: TS/Python parity исполнена (push) Successful in 2m32s
Проверка (CI) / Мутанты по диффу (1/6): затронутые свидетели краснеют (push) Failing after 10m11s
Проверка (CI) / Бэкенд: pytest в Home Assistant (push) Failing after 7m10s
Проверка (CI) / Golden-кадры против принятых эталонов (push) Skipped
Проверка (CI) / Перф-смок: бюджет времени кадра (push) Skipped
Проверка (CI) / Доказательство выполненных проверок (push) Failing after 15s
Проверка (CI) / Фронтенд: типы, юниты, мутанты, синхрон бандла (push) Failing after 9m6s
Проверка (CI) / Смоки в браузере (шард 1 из 3) (push) Skipped
Проверка (CI) / Смоки в браузере (шард 2 из 3) (push) Skipped
Проверка (CI) / Смоки в браузере (шард 3 из 3) (push) Skipped
Проверка (CI) / Смоки: все шарды зелёные (push) Skipped
Package the reviewed sunlight-origin option and Home Assistant touch-pinch fixes with synchronized release metadata.

Release: v1.76.0-beta.4
Issue: #577
Issue: #578
Issue: #579
User-Visible: yes
2026-09-15 01:58:45 +03:00
claude[bot] 3e191a1c80 docs: review document for #577
Issue: #577
User-Visible: no
2026-09-14 22:54:36 +00:00
Sergey Matyunin 0d1df78f5d test: применять внешний луч как глобальную настройку (#577)
Issue: #577
User-Visible: no
2026-09-15 00:58:06 +03:00
Sergey Matyunin a0e5fb1b3b test: закрепить внешний луч на толстой стене (#577)
Issue: #577
User-Visible: no
2026-09-15 00:47:40 +03:00
claude[bot] 7cc9b4b589 docs: review document for #577
Issue: #577
User-Visible: no
2026-09-14 21:42:40 +00:00
Sergey Matyunin 6f6a85a116 fix: типизировать настройку граней окна (#577)
Issue: #577
User-Visible: no
2026-09-15 00:17:41 +03:00
Sergey Matyunin db4b397e2e feat: выбор граней окон для солнечных лучей (#577)
Issue: #577
User-Visible: yes
2026-09-15 00:16:35 +03:00
claude[bot] 949422fe91 docs: review document for #577
Issue: #577
User-Visible: no
2026-09-14 20:44:11 +00:00