mirror of
https://github.com/Matysh/houseplan-card
synced 2026-09-29 03:09:36 +00:00
Перезапись `viewBox` — это не сдвиг, а инвалидация растеризации всей сцены. Кадр жеста делал её каждый раз: в профиле владельца (Firefox 155, 144 Гц) кадр доезжал до экрана 200 мс, а драйвер пропускал 124–144 тика в секунду с пометкой «ждём краску». Теперь `paintLiveViewport` держит якорь — кадр, чей `viewBox` записан в DOM, и момент записи. Кадр жеста двигает узлы сцены тем же проективным преобразованием, которым уже двигались HTML-слои, а `viewBox` переписывается по бюджету: 100 мс либо 15 % сдвига/масштаба. Ни атрибут, ни стиль не пишутся, если строка не изменилась. Issue: #531 User-Visible: yes