fix: address render performance review

Issue: #451
User-Visible: no
This commit is contained in:
Sergey Matyunin
2026-09-04 23:45:57 +03:00
parent f8b3445dc3
commit cb68492c99
41 changed files with 6985 additions and 6600 deletions
+8 -1
View File
@@ -108,8 +108,15 @@ export const LOW_HEADROOM_WARNING_BYTES = 15_000;
* после реализации он занимает 295 743 Б gzip. Запас до потолка — 1 257 Б,
* до нижней границы полосы — 743 Б, то есть обе стороны остаются дальше
* наблюдаемого шума. Общий бюджет 300 000 Б и долг #367 не меняются.
*
* 2026-09-04, #451: потолок поднят 297 000 → 298 000. Терминальная доставка
* последнего HA-снимка и явное управление кадром редактора принадлежат
* основному View: без них пропущенный полный render оставлял бы устаревшее
* состояние после pan/resize. После исправления initial-граф занимает
* 296 717 Б gzip: 1 283 Б сверху и 717 Б до нижней границы полосы. Общий
* бюджет 300 000 Б не меняется; долг ленивого выноса #367 остаётся видимым.
*/
export const INITIAL_VIEW_GZIP_CEILING = 297_000;
export const INITIAL_VIEW_GZIP_CEILING = 298_000;
export const INITIAL_VIEW_CEILING_BAND = 2_000;
/**
+11
View File
@@ -105,6 +105,17 @@ function relocateEditorPatch(patch, cardSource, editorSource) {
// `find` обязан встречаться в файле ровно один раз: патч, который ложится «куда
// попало», проверяет не то, что объявлен проверять. Это контролирует --check.
const MUTANT_DEFINITIONS = [
{
id: 'render-invalidation-renders-irrelevant-ha',
guard: 'node demo/smoke_render_invalidation.mjs',
because: 'an irrelevant HA state row must still enter lifecycle intake without scheduling '
+ 'a full Lit render; the production smoke owns this card/runtime wiring (#451)',
patches: [{
file: 'src/houseplan-card.ts',
find: ' if (!render) return;',
replace: ' if (false && !render) return;',
}],
},
{
id: 'draft-delete-drops-the-promise',
guard: 'node demo/smoke_free_walls.mjs',