Commit Graph
3027 Commits
Author SHA1 Message Date
claude[bot] 044f09a6a5 docs(reviews): индекс после сдвига каталога (#744)
Проверка (CI) / Предполёт: документация, провенанс, процесс (push) Canceled after 0s
Проверка (CI) / Классификация изменённых файлов (push) Canceled after 0s
Проверка (CI) / Переиспользование: это дерево уже проверено (push) Canceled after 0s
Проверка (CI) / HACS: валидация репозитория (push) Canceled after 0s
Проверка (CI) / Hassfest: манифест интеграции (push) Canceled after 0s
Проверка (CI) / Мутанты по диффу (1/6): затронутые свидетели краснеют (push) Canceled after 0s
Проверка (CI) / Мутанты по диффу (2/6): затронутые свидетели краснеют (push) Canceled after 0s
Проверка (CI) / Мутанты по диффу (3/6): затронутые свидетели краснеют (push) Canceled after 0s
Проверка (CI) / Мутанты по диффу (4/6): затронутые свидетели краснеют (push) Canceled after 0s
Проверка (CI) / Мутанты по диффу (5/6): затронутые свидетели краснеют (push) Canceled after 0s
Проверка (CI) / Мутанты по диффу (6/6): затронутые свидетели краснеют (push) Canceled after 0s
Проверка (CI) / Фронтенд: типы, юниты, мутанты, синхрон бандла (push) Canceled after 0s
Проверка (CI) / Бандл головы dev для стенда (push) Canceled after 0s
Проверка (CI) / Смоки в браузере (шард 1 из 3) (push) Canceled after 0s
Проверка (CI) / Смоки в браузере (шард 2 из 3) (push) Canceled after 0s
Проверка (CI) / Смоки в браузере (шард 3 из 3) (push) Canceled after 0s
Проверка (CI) / Смоки: все шарды зелёные (push) Canceled after 0s
Проверка (CI) / Golden-кадры против принятых эталонов (push) Canceled after 0s
Проверка (CI) / Перф-смок: бюджет времени кадра (push) Canceled after 0s
Проверка (CI) / Геометрия: TS/Python parity исполнена (push) Canceled after 0s
Проверка (CI) / Бэкенд: pytest в Home Assistant (push) Canceled after 0s
Проверка (CI) / Доказательство выполненных проверок (push) Canceled after 0s
Issue: #744
User-Visible: no
2026-10-01 23:05:23 +00:00
claude[bot] 92b89d9b80 docs: review document for #744
Issue: #744
User-Visible: no
2026-10-01 23:05:20 +00:00
Claude 7bbab4b61a docs(reviews): индекс после сдвига каталога (#744)
Issue: #744
User-Visible: no
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_018qZfe7YS4rqEMKoVeS3GKd
2026-10-02 00:56:24 +03:00
claude[bot]andClaude 9882046b86 docs: review document for #744
Issue: #744
User-Visible: no
2026-10-02 00:56:09 +03:00
claude[bot]andClaude 3d68a2fe23 docs(reviews): индекс после сдвига каталога (#744)
Issue: #744
User-Visible: no
2026-10-02 00:56:09 +03:00
claude[bot]andClaude 2d7a1c9788 docs: review document for #744
Issue: #744
User-Visible: no
2026-10-02 00:56:04 +03:00
claude[bot]andClaude bb9aaefe2a docs: review document for #744
Issue: #744
User-Visible: no
2026-10-02 00:56:04 +03:00
Claude f5b20e07f6 perf(floor): key the floor-geometry caches by the floor's content (#744)
The physical bodies, the wall union pool, the inner room contours and the
clean floor carried the global config epoch in their keys. Every edit of
any floor bumps it, so after one edit every other floor was cold again:
in large-house the first visit to an untouched floor rebuilt its wall
union and paid ~0.7 s flat / ~0.65 s 2.5D instead of ~40-55 ms.

A floor's geometry reads only its own config record (spaceModels) and
constants, so the key is now a content fingerprint of that record
(src/floor-geometry-key.ts), remembered per epoch and per record object.
The geometry also reads the current floor's config next to the model it
is given; when those records differ the key covers both. The live resize
preview is its own record, so preview frames get their own key; the
editor runtime seeds the pool and re-keys the bodies through the same
reader. The stairs editor no longer clears the clean floors of every
floor: the stairs are part of the floor's record.

The #735 switch-cycle guard now also sees the union pool and the inner
contours (optional members of the large-house card contract, so an older
comparison bundle reads 0). smoke_floor_geometry_cache proves the warm other floor and the
invalidation against an independent card (multi-floor push with shared
walls, a stair, a resize preview and its cancel); two mutants guard it.

Issue: #744
User-Visible: yes
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_018qZfe7YS4rqEMKoVeS3GKd
2026-10-02 00:56:04 +03:00
claude[bot] c4cb0649ae docs(reviews): индекс после сдвига каталога (#762)
Issue: #762
User-Visible: no
2026-10-01 21:00:48 +00:00
claude[bot] baf0136d9a docs: review document for #762
Issue: #762
User-Visible: no
2026-10-01 21:00:48 +00:00
Matyshandclaude[bot] 6149bcf866 refactor: keep room warm-draft construction in the lazy editor (#762)
Issue: #762
User-Visible: no
2026-10-01 21:00:48 +00:00
Matyshandclaude[bot] e2d38d4e16 test: await warm navigation request before checking its authority (#762)
Issue: #762
User-Visible: no
2026-10-01 21:00:48 +00:00
Matyshandclaude[bot] f2936813af fix: keep warm editor adoption subordinate to user navigation (#762)
Issue: #762
User-Visible: yes
2026-10-01 21:00:48 +00:00
claude[bot] a05458b6f3 docs: review document for #662
Issue: #662
User-Visible: no
2026-10-01 20:52:49 +00:00
claude[bot] 5021c48446 docs: review document for #662
Issue: #662
User-Visible: no
2026-10-01 20:33:15 +00:00
claude[bot] 8a3bf71ef1 docs(reviews): индекс после сдвига каталога (#740)
Проверка (CI) / Предполёт: документация, провенанс, процесс (push) Canceled after 0s
Проверка (CI) / Классификация изменённых файлов (push) Canceled after 0s
Проверка (CI) / Переиспользование: это дерево уже проверено (push) Canceled after 0s
Проверка (CI) / HACS: валидация репозитория (push) Canceled after 0s
Проверка (CI) / Hassfest: манифест интеграции (push) Canceled after 0s
Проверка (CI) / Мутанты по диффу (1/6): затронутые свидетели краснеют (push) Canceled after 0s
Проверка (CI) / Мутанты по диффу (2/6): затронутые свидетели краснеют (push) Canceled after 0s
Проверка (CI) / Мутанты по диффу (3/6): затронутые свидетели краснеют (push) Canceled after 0s
Проверка (CI) / Мутанты по диффу (4/6): затронутые свидетели краснеют (push) Canceled after 0s
Проверка (CI) / Мутанты по диффу (5/6): затронутые свидетели краснеют (push) Canceled after 0s
Проверка (CI) / Мутанты по диффу (6/6): затронутые свидетели краснеют (push) Canceled after 0s
Проверка (CI) / Фронтенд: типы, юниты, мутанты, синхрон бандла (push) Canceled after 0s
Проверка (CI) / Бандл головы dev для стенда (push) Canceled after 0s
Проверка (CI) / Смоки в браузере (шард 1 из 3) (push) Canceled after 0s
Проверка (CI) / Смоки в браузере (шард 2 из 3) (push) Canceled after 0s
Проверка (CI) / Смоки в браузере (шард 3 из 3) (push) Canceled after 0s
Проверка (CI) / Смоки: все шарды зелёные (push) Canceled after 0s
Проверка (CI) / Golden-кадры против принятых эталонов (push) Canceled after 0s
Проверка (CI) / Перф-смок: бюджет времени кадра (push) Canceled after 0s
Проверка (CI) / Геометрия: TS/Python parity исполнена (push) Canceled after 0s
Проверка (CI) / Бэкенд: pytest в Home Assistant (push) Canceled after 0s
Проверка (CI) / Доказательство выполненных проверок (push) Canceled after 0s
Issue: #740
User-Visible: no
2026-10-01 18:38:03 +00:00
claude[bot] 97d40ea710 docs: review document for #740
Issue: #740
User-Visible: no
2026-10-01 18:38:00 +00:00
claude[bot] 8e4f417f51 docs: review document for #740
Issue: #740
User-Visible: no
2026-10-01 18:27:53 +00:00
Claudeandclaude[bot] b8f662cdf1 docs(screenshots): source fingerprint for #740 on the current dev — all frames pixel-identical
Validate on the conveyor's rebase eb439e81 failed preflight: the branch
changes visual sources (stairs), so the screenshot check is strict on it,
and the fingerprint was stale against the moved dev (#739, #742, #759).
The branch is rebased onto b84465e5 (inventory counts merged with #742:
lifecycle 89, total 204/200) and `docs:accept --identical` re-captured
all 11 frames: pixel-identical, only the source fingerprint moves.

Issue: #740
User-Visible: no
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_018qZfe7YS4rqEMKoVeS3GKd
2026-10-01 18:27:53 +00:00
Claudeandclaude[bot] d709ea110d perf(stairs): draw all treads of a stair as one path (#740)
A floor with stairs pays for them on every switch to it: the stair layer
is emptied on other floors, so Lit recreates every symbol on each return
and the browser lays out and paints it again. With 250 stairs (the
large-house fixture, the per-floor limit) that was 2,875 SVG elements and
about 40 ms per entry locally; each stair carried 3-7 separate tread lines
with four bound coordinates each.

The treads of one stair are now a single <path class="hp-stair-tread">
with one `M a L b` subpath per tread, in geometry order and with the
numbers the lines carried. Treads of one stair never overlap (straight:
parallel, >= 20 cm apart; spiral: inner ends >= 6.7 cm apart at the
3.6 cm stroke), so the path paints the same pixels at any opacity. The
outline points and the tread data are built once per cached geometry
object (cachedStairMarkup, weak keys), not on every render. The View and
plan-editor layers share the strings; outline, hit polygon, trapezoid,
arrow, attributes and handlers are unchanged. Floor 1 of the fixture
drops from 4,210 to 2,960 elements.

Witnesses: the unit test for the path data and its cache, and the
smoke_stairs markup checks in View and in the plan editor, are red on
dev. The stairs-view-tread-lines mutant restores the View lines.

Issue: #740
User-Visible: no
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_018qZfe7YS4rqEMKoVeS3GKd
2026-10-01 18:27:53 +00:00
claude[bot] 9f695d8a5d docs: review document for #762
Issue: #762
User-Visible: no
2026-10-01 17:53:24 +00:00
claude[bot] 0606a3664a docs(reviews): индекс после сдвига каталога (#748)
Issue: #748
User-Visible: no
2026-10-01 16:49:55 +00:00
claude[bot] ae3db2bacd docs: review document for #748
Issue: #748
User-Visible: no
2026-10-01 16:49:55 +00:00
Claudeandclaude[bot] c9bf16dec3 docs(reviews): индекс после сдвига каталога (#748)
Issue: #748
User-Visible: no
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_018qZfe7YS4rqEMKoVeS3GKd
2026-10-01 16:49:55 +00:00
claude[bot] 94bd932153 docs: review document for #748
Issue: #748
User-Visible: no
2026-10-01 16:49:55 +00:00
claude[bot] 134a7029b4 docs: review document for #748
Issue: #748
User-Visible: no
2026-10-01 16:49:55 +00:00
Claudeandclaude[bot] cf7a9cc4fc fix(process): reconcile canon and hints with the pipeline after #707–#730 (#748)
Five places still described the pipeline as it was before code that is
already in dev:

- the S3 hint of the task packet told the author to push the branch, while
  the spec lives in the issue body (§2.3, #517) and nothing is pushed
  before S5 (§11.8);
- process-gate printed «FAIL п.9 Gates: light» for a trailer nobody writes
  or reads, while §10.2 item 9 is the unimplemented release:prerelease
  verdict check. The check is removed; a contract test ties every RULES key
  to an implemented item of §10.2 and every finding number to a RULES key;
- §10.4 item 4 demanded a heredoc in run:, while #723/#730 and their tests
  demand the opposite: commit messages echo line by line into a file,
  comment and summary texts come from code;
- the ship merge comment, AUTHOR.md, REVIEWER.md and AGENTS.md named only
  the pre-beta document, though since #727 the night reads ship code first;
- the nightly publication committed «docs: ship review for nightly …
  перед бетой» with the beta step's Issue: #696. It now has its own
  subject (the document name), body and Issue: #727; the beta message is
  unchanged.

The browser-guard inventory note still said growth above 200 fails
mutation-gate --check; since #699 it is a guideline and --check warns. Its
counts now match the inventory: 205, lifecycle 90.

Issue: #748
User-Visible: no
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_018qZfe7YS4rqEMKoVeS3GKd
2026-10-01 16:49:55 +00:00
claude[bot] 146da62b0d docs(reviews): индекс после сдвига каталога (#775)
Issue: #775
User-Visible: no
2026-10-01 16:44:29 +00:00
claude[bot] cdfc6e59dc docs: review document for #775
Issue: #775
User-Visible: no
2026-10-01 16:44:28 +00:00
claude[bot] dd86bf955a docs(reviews): индекс после сдвига каталога (#772)
Issue: #772
User-Visible: no
2026-10-01 16:20:19 +00:00
claude[bot] 97f38ecaae docs: review document for #772
Issue: #772
User-Visible: no
2026-10-01 16:20:14 +00:00
Matysh 50b163c60c fix(ci): close smoke selection and persisted-type risk blind spots
Issue: #772
User-Visible: no
2026-10-01 19:05:09 +03:00
claude[bot] 1f15ee143e docs(reviews): индекс после сдвига каталога (#743)
Issue: #743
User-Visible: no
2026-10-01 15:41:48 +00:00
claude[bot] 0d989b79e2 docs(reviews): индекс после сдвига каталога (#743)
Issue: #743
User-Visible: no
2026-10-01 15:41:48 +00:00
claude[bot] a6076e585e docs: review document for #743
Issue: #743
User-Visible: no
2026-10-01 15:41:48 +00:00
claude[bot] a2578e6f14 docs: review document for #743
Issue: #743
User-Visible: no
2026-10-01 15:41:48 +00:00
claude[bot] 134e3e79da docs(reviews): индекс после сдвига каталога (#749)
Issue: #749
User-Visible: no
2026-10-01 15:35:16 +00:00
claude[bot] 30508e1a5c docs: review document for #749
Issue: #749
User-Visible: no
2026-10-01 15:35:16 +00:00
claude[bot] 3c58ad1e73 docs(reviews): индекс после сдвига каталога (#749)
Issue: #749
User-Visible: no
2026-10-01 15:35:16 +00:00
claude[bot] f4ec9d995b docs: review document for #749
Issue: #749
User-Visible: no
2026-10-01 15:35:16 +00:00
claude[bot] 5c0fe8e79f docs(reviews): индекс после сдвига каталога (#752)
Issue: #752
User-Visible: no
2026-10-01 15:34:54 +00:00
claude[bot] bf0bc1f4a6 docs: review document for #752
Issue: #752
User-Visible: no
2026-10-01 15:34:50 +00:00
claude[bot]andClaude 04084581c0 docs(reviews): индекс после сдвига каталога (#752)
Issue: #752
User-Visible: no
2026-10-01 18:21:52 +03:00
claude[bot]andClaude 341c9fcfce docs: review document for #752
Issue: #752
User-Visible: no
2026-10-01 18:21:31 +03:00
claude[bot] 14ea266112 docs(reviews): индекс после сдвига каталога (#746)
Issue: #746
User-Visible: no
2026-10-01 14:55:10 +00:00
claude[bot] 255677556f docs: review document for #746
Issue: #746
User-Visible: no
2026-10-01 14:55:10 +00:00
Claudeandclaude[bot] 953f15b967 fix(plan): write every room state's transparency as colour plus opacity (#746)
`.room { transition: 0.12s }` interpolates a room's colour and its
fill-opacity / stroke-opacity independently, and the visible opacity is their
product. The states without a fill kept their alpha in the colour with the
default opacity 1 (.overlay transparent, .yard rgba 0.14, .outlined rgba
0.06 / 0.55, .picked rgba 0.25), while .styled writes an opaque colour plus
fill-opacity: var(--room-fill-op). On a change between the two on the same
node one half rose while the other fell, and mid-way the room was darker than
at either end. Opening the space settings on a floor with no fill (the dialog
shows "no fill" as its own colour at alpha 0) flashed every room grey for
~0.1 s, 0 -> 0.241 -> 0; cancelling the dialog after a preview, entering and
leaving the plan editor briefly darkened the fill (0.18 -> 0.317 -> 0.06).

Every .room state now writes an opaque colour plus *-opacity, and
transparent only together with a zero opacity. The transition itself,
.styled and the --room-* variables are unchanged; the space card takes the
same styles. The resting paint is the same: the witness records each state's
colour and visible opacity as dev drew them, and screenshots of seven resting
states (View without fill, with fill and borders, plan editor, room picked for
a merge, yard with and without borders, yard in the plan editor) are
pixel-identical to dev outside the plan editor's tool hint, whose text shifts
by a sub-pixel between runs on dev too.

Witness: new demo/smoke_room_fill_transitions.mjs, deterministic. A
MutationObserver pauses the room's transitions at their first frame right
after Lit commits, and the smoke seeks them through 0..120 ms in 15 ms steps.
Red on dev: fill overshoot 0.241 / 0.125 / 0.137 / 0.134 on the four paths,
stroke 0.241 / 0.242 on the first two. A real colour change of the same room
still runs a fill transition (catches `transition: none`).

A card-mod rule that sets only `fill` on an unfilled room now meets
fill-opacity 0; CHANGELOG and STYLING-HOOKS say to set the opacity with the
colour (the values are generated, STYLING-HOOKS §3.3).

Issue: #746
User-Visible: yes
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_018qZfe7YS4rqEMKoVeS3GKd
2026-10-01 14:55:10 +00:00
claude[bot] c86e4bdd31 docs(reviews): индекс после сдвига каталога (#761)
Issue: #761
User-Visible: no
2026-10-01 14:35:55 +00:00
claude[bot] 24ea768609 docs(reviews): индекс после сдвига каталога (#761)
Issue: #761
User-Visible: no
2026-10-01 14:35:55 +00:00
claude[bot] 30dcc5b2cb docs: review document for #761
Issue: #761
User-Visible: no
2026-10-01 14:35:55 +00:00