fix: стабилизировать day-cycle при pinch в HA Companion (#582)

После первого движения камеры переносит фильтр контура на ограниченный размером viewport слой, сохраняя исходный статичный рендер без изменений.

Issue: #582
User-Visible: no
This commit is contained in:
Sergey Matyunin
2026-09-15 12:20:44 +03:00
parent 728c564e5f
commit 2a8b5f1dcf
58 changed files with 522 additions and 474 deletions
+6
View File
@@ -276,6 +276,12 @@ export const LOW_HEADROOM_WARNING_BYTES = 15_000;
* был 290 789 Б — 511 Б сверху, у самого края шумовой полосы; измеренный факт
* 290 805 Б под новым центром оставляет 895 Б сверху и 1 105 Б до нижней
* границы полосы.
*
* 2026-09-15, #582: после #581 потолок остаётся 291 700 без изменения общего
* бюджета. Camera-activated stage-sized SVG дневного контура входит в
* синхронный View до первого движущегося кадра; общий renderer бумажных фигур
* удержал объединённый факт на 291 058 Б — 642 Б сверху и 1 358 Б до нижней
* границы полосы.
*/
export const INITIAL_VIEW_GZIP_CEILING = 291_700;
export const INITIAL_VIEW_CEILING_BAND = 2_000;
+7 -7
View File
@@ -2613,15 +2613,15 @@ const MUTANT_DEFINITIONS = [
{
id: 'daycycle-outline-promoted-on-inner-paper',
guard: 'node demo/smoke_daycycle_layer_budget.mjs',
because: '#582: promoting the inner paper group allocates in local plan coordinates; a '
+ '4700x4200 floor then creates texture-sized overlap layers and HA Companion loses tiles',
because: '#582: if camera movement fails to demote the inner paper group, a 4700x4200 '
+ 'floor keeps texture-sized overlap layers and HA Companion loses tiles',
patches: [{
file: 'src/styles/plan.styles.ts',
find: ' @media (prefers-reduced-motion: reduce) {\n'
+ ' .hp-day-cycle-bg,\n',
replace: ' .stage.daycycle .hp-paperg { will-change: filter; }\n'
+ ' @media (prefers-reduced-motion: reduce) {\n'
+ ' .hp-day-cycle-bg,\n',
find: ' .stage.daycycle.hp-safe-daycycle-outline .hp-paperg {\n'
+ ' filter: none;\n'
+ ' will-change: auto;\n',
replace: ' .stage.daycycle.hp-safe-daycycle-outline .hp-paperg {\n'
+ ' will-change: filter;\n',
}],
},
{
+4 -3
View File
@@ -40,9 +40,10 @@ export const SMOKE_LINKS = [
'smoke_daycycle_layer_budget.mjs', 'smoke_daycycle_raster.mjs',
'smoke_live_pan_coverage.mjs', 'smoke_bg_color.mjs',
],
because: '#582: production-bundle witnesses prove that the separate day-cycle paper '
+ 'silhouette remains stage-bounded at 1 cm/point, keeps the #532 raster budget and follows '
+ 'the same #579 live viewport as the visible plan; source imports cannot expose CDP layers',
because: '#582: production-bundle witnesses prove that camera movement activates the '
+ 'stage-bounded day-cycle silhouette at 1 cm/point, keeps the #532 raster budget and '
+ 'follows the same #579 live viewport as the visible plan; source imports cannot expose '
+ 'CDP layers',
},
{
symbols: [