Files
houseplan-card/custom_components/houseplan/frontend/houseplan-assets.json
T
Codex 5afdb644c7 Смена пространства выбрасывает слой, а не сверяет его поэлементно
#525 увёл оба списка сцены с `map()` на `repeat(items, (item) => item.id, …)`,
чтобы Lit не переиспользовал узлы по позиции и не проигрывал анимацию двери,
которой не было. Правка верная, но на плане с двумя сотнями маркеров она
оказалась дорогой ровно там, где пользы не приносит: при смене пространства
ключи не пересекаются вовсе, и `repeat` строит две карты ключей и обходит оба
списка, чтобы затем всё равно выбросить всё и создать заново.

Бисект по медиане `switchCycleMs` на `large-house`: 871,2 перед #525 → 953,5
после. На раннере эти 80 мс распадаются на шесть-девять дополнительных длинных
задач, и `longTask.countP95` вышел за порог стабильного гейта.

Теперь оба списка рендерятся как `keyed(space.id, repeat(…))`. Внешний ключ
делает смену пространства: поддерево выбрасывается целиком, дифа нет. Внутренний
остаётся, потому что состав списков едет и внутри пространства — у маркеров от
призраков редактора и живого синка, у проёмов от записи с нерешённым хостом,
которая живёт только в режиме plan, — а переходы на `.device-shell-frame`,
`.op-leaf` и `.op-arc` никуда не делись.

Замер после правки: `switchCycleMs` 889,1 против 936,0 на `main` и 871,2 до
#525. Потолок карточки поднят на одну строку — на `import { keyed }`;
переносить нечего, сам рендер не вырос ни на символ.

Issue: #534
User-Visible: yes
2026-09-11 22:30:11 +03:00

315 lines
10 KiB
JSON

{
"schema": 1,
"fingerprint": "b3e08d50a47faaba7562dc080f267ca13de845113735892a9115a6cdd991392a",
"entry": "houseplan-card.js",
"panelEntry": "houseplan-panel.js",
"initialViewFiles": [
"houseplan-assets/houseplan-card-bOJWMeFY.js",
"houseplan-card.js"
],
"initialViewGzipBytes": 287302,
"initialPanelFiles": [
"houseplan-assets/houseplan-card-bOJWMeFY.js",
"houseplan-card.js",
"houseplan-panel.js"
],
"initialPanelGzipBytes": 289606,
"initialPanelOnlyFiles": [
"houseplan-panel.js"
],
"initialPanelOnlyGzipBytes": 2304,
"lazyFiles": [
"houseplan-assets/backdrop-pick-BVE5pvXV.js",
"houseplan-assets/de-Cl_N0-YX.js",
"houseplan-assets/editor-DAm0GfXr.js",
"houseplan-assets/fr-D490TXwk.js",
"houseplan-assets/furniture-plan-art.generated-d7Er55Or.js",
"houseplan-assets/guard-zx2aaPuf.js",
"houseplan-assets/houseplan-editor-runtime-B0CHFoUQ.js",
"houseplan-assets/houseplan-onboarding-runtime-Dts4ebgR.js",
"houseplan-assets/hp-zigbee-topology-overlay-xOc6gz5D.js",
"houseplan-assets/iso-scene-render-B6PFBRuR.js",
"houseplan-assets/live-interaction-runtime-uOonwwaS.js",
"houseplan-assets/pdf-export-CYH2TEQI.js",
"houseplan-assets/summary-panel-runtime-loaded-cFcfVYdb.js",
"houseplan-assets/zigbee-topology-70mzkKN3.js",
"houseplan-assets/zigbee-topology-runtime-CE0rjXi5.js"
],
"lazyGzipBytes": 417421,
"lazyEditorFiles": [
"houseplan-assets/backdrop-pick-BVE5pvXV.js",
"houseplan-assets/editor-DAm0GfXr.js",
"houseplan-assets/furniture-plan-art.generated-d7Er55Or.js",
"houseplan-assets/guard-zx2aaPuf.js",
"houseplan-assets/houseplan-editor-runtime-B0CHFoUQ.js",
"houseplan-assets/zigbee-topology-70mzkKN3.js"
],
"lazyEditorGzipBytes": 204997,
"lazyOnboardingFiles": [
"houseplan-assets/backdrop-pick-BVE5pvXV.js",
"houseplan-assets/houseplan-onboarding-runtime-Dts4ebgR.js"
],
"lazyOnboardingGzipBytes": 13918,
"lazyLocaleFiles": [
"houseplan-assets/de-Cl_N0-YX.js",
"houseplan-assets/fr-D490TXwk.js"
],
"lazyLocaleGzipBytes": 54821,
"lazyIsometricFiles": [
"houseplan-assets/guard-zx2aaPuf.js",
"houseplan-assets/iso-scene-render-B6PFBRuR.js"
],
"lazyIsometricGzipBytes": 13456,
"lazyFurnitureArtFiles": [
"houseplan-assets/furniture-plan-art.generated-d7Er55Or.js"
],
"lazyFurnitureArtGzipBytes": 10251,
"lazyPdfFiles": [
"houseplan-assets/furniture-plan-art.generated-d7Er55Or.js",
"houseplan-assets/pdf-export-CYH2TEQI.js"
],
"lazyPdfGzipBytes": 120123,
"files": [
{
"path": "houseplan-assets/backdrop-pick-BVE5pvXV.js",
"sha256": "04f4f6ebe74df3384c918202679b3ff9380729b553ff798dafe33ba5231eaaa4",
"rawBytes": 19956,
"gzipBytes": 6880,
"isEntry": false,
"imports": [
"houseplan-assets/houseplan-card-bOJWMeFY.js"
],
"dynamicImports": []
},
{
"path": "houseplan-assets/de-Cl_N0-YX.js",
"sha256": "2ea60918c00765be8acb766982dcc9b58715271c62f2eef3dabc07218dd70f64",
"rawBytes": 91402,
"gzipBytes": 27695,
"isEntry": false,
"imports": [],
"dynamicImports": []
},
{
"path": "houseplan-assets/editor-DAm0GfXr.js",
"sha256": "2524ee570c6d20502ae83cbacddc596882d293b27f7943ae59521c7b1923e796",
"rawBytes": 3832,
"gzipBytes": 1586,
"isEntry": false,
"imports": [
"houseplan-assets/houseplan-card-bOJWMeFY.js"
],
"dynamicImports": []
},
{
"path": "houseplan-assets/fr-D490TXwk.js",
"sha256": "8ff8d7ac1efd3359263752a7e11a26b3c34bc12ae874108c684a07ea2ff9590f",
"rawBytes": 93667,
"gzipBytes": 27126,
"isEntry": false,
"imports": [],
"dynamicImports": []
},
{
"path": "houseplan-assets/furniture-plan-art.generated-d7Er55Or.js",
"sha256": "016eabf8c967f1a22d567a35f83102a80b9d14ce864162308bb833855e440c40",
"rawBytes": 33655,
"gzipBytes": 10251,
"isEntry": false,
"imports": [],
"dynamicImports": []
},
{
"path": "houseplan-assets/guard-zx2aaPuf.js",
"sha256": "3455ec5c4d0ea4b31e517eb4aa029de858d0078fc6e59d49737612224440a98f",
"rawBytes": 518,
"gzipBytes": 371,
"isEntry": false,
"imports": [
"houseplan-assets/houseplan-card-bOJWMeFY.js"
],
"dynamicImports": []
},
{
"path": "houseplan-assets/houseplan-card-bOJWMeFY.js",
"sha256": "69a22d0bc488c22923dcc434d2e77fa2d9f12eb75a37c4b388507de7a4d9ce9d",
"rawBytes": 1021194,
"gzipBytes": 286498,
"isEntry": false,
"imports": [],
"dynamicImports": [
"houseplan-assets/de-Cl_N0-YX.js",
"houseplan-assets/editor-DAm0GfXr.js",
"houseplan-assets/fr-D490TXwk.js",
"houseplan-assets/furniture-plan-art.generated-d7Er55Or.js",
"houseplan-assets/houseplan-editor-runtime-B0CHFoUQ.js",
"houseplan-assets/houseplan-onboarding-runtime-Dts4ebgR.js",
"houseplan-assets/hp-zigbee-topology-overlay-xOc6gz5D.js",
"houseplan-assets/iso-scene-render-B6PFBRuR.js",
"houseplan-assets/live-interaction-runtime-uOonwwaS.js",
"houseplan-assets/pdf-export-CYH2TEQI.js",
"houseplan-assets/summary-panel-runtime-loaded-cFcfVYdb.js"
]
},
{
"path": "houseplan-assets/houseplan-editor-runtime-B0CHFoUQ.js",
"sha256": "7433aa76bf0dd431661b9ca16546c81599493662392375ea421940a13e6c865f",
"rawBytes": 668813,
"gzipBytes": 178479,
"isEntry": false,
"imports": [
"houseplan-assets/backdrop-pick-BVE5pvXV.js",
"houseplan-assets/furniture-plan-art.generated-d7Er55Or.js",
"houseplan-assets/guard-zx2aaPuf.js",
"houseplan-assets/houseplan-card-bOJWMeFY.js",
"houseplan-assets/zigbee-topology-70mzkKN3.js"
],
"dynamicImports": [
"houseplan-assets/zigbee-topology-runtime-CE0rjXi5.js"
]
},
{
"path": "houseplan-assets/houseplan-onboarding-runtime-Dts4ebgR.js",
"sha256": "66085f37bd788c2f5e2d50d580655e93325a6b707b003500b953fdf815b926d8",
"rawBytes": 28287,
"gzipBytes": 7038,
"isEntry": false,
"imports": [
"houseplan-assets/backdrop-pick-BVE5pvXV.js",
"houseplan-assets/houseplan-card-bOJWMeFY.js"
],
"dynamicImports": []
},
{
"path": "houseplan-assets/hp-zigbee-topology-overlay-xOc6gz5D.js",
"sha256": "c1007a28222b185c910284669d96f6dc941a2d7606b3194086f8c4fb29cdfd6f",
"rawBytes": 10756,
"gzipBytes": 3683,
"isEntry": false,
"imports": [
"houseplan-assets/houseplan-card-bOJWMeFY.js",
"houseplan-assets/zigbee-topology-70mzkKN3.js",
"houseplan-assets/zigbee-topology-runtime-CE0rjXi5.js"
],
"dynamicImports": []
},
{
"path": "houseplan-assets/iso-scene-render-B6PFBRuR.js",
"sha256": "aa5903e34a2fd82469d195a19e4288c07b29d20130a9f99ed649903c2c6d6353",
"rawBytes": 38562,
"gzipBytes": 13085,
"isEntry": false,
"imports": [
"houseplan-assets/guard-zx2aaPuf.js",
"houseplan-assets/houseplan-card-bOJWMeFY.js"
],
"dynamicImports": []
},
{
"path": "houseplan-assets/live-interaction-runtime-uOonwwaS.js",
"sha256": "b26b6e1cadb17533b49d7d824cccc4a649def8557953e632b8075fa2da358594",
"rawBytes": 6032,
"gzipBytes": 2433,
"isEntry": false,
"imports": [
"houseplan-assets/houseplan-card-bOJWMeFY.js"
],
"dynamicImports": []
},
{
"path": "houseplan-assets/pdf-export-CYH2TEQI.js",
"sha256": "1bf1783f9f3f80b37d38b5000a831860334f1a4cb1aacb58dc172b6c9f25f65b",
"rawBytes": 236244,
"gzipBytes": 109872,
"isEntry": false,
"imports": [
"houseplan-assets/furniture-plan-art.generated-d7Er55Or.js",
"houseplan-assets/houseplan-card-bOJWMeFY.js"
],
"dynamicImports": []
},
{
"path": "houseplan-assets/summary-panel-editor-TASGFcvs.js",
"sha256": "9e4e2bd331c2f5fdfb6cc6719f09795c5556d712fd961e2cd18d561f2dfee7e2",
"rawBytes": 14824,
"gzipBytes": 3401,
"isEntry": false,
"imports": [
"houseplan-assets/houseplan-card-bOJWMeFY.js",
"houseplan-assets/summary-panel-runtime-loaded-cFcfVYdb.js"
],
"dynamicImports": []
},
{
"path": "houseplan-assets/summary-panel-metrics-bIh_Q9NB.js",
"sha256": "e50c875e83ee220fc99121b013f04f3417b8c1412d2d08265b94f4d2e3c74f57",
"rawBytes": 2610,
"gzipBytes": 1308,
"isEntry": false,
"imports": [
"houseplan-assets/houseplan-card-bOJWMeFY.js"
],
"dynamicImports": []
},
{
"path": "houseplan-assets/summary-panel-runtime-loaded-cFcfVYdb.js",
"sha256": "78d50efb02e10eaeb8a5c4d299e98f298606d1d95a419e6bfdfdf8dc37ff36a9",
"rawBytes": 72272,
"gzipBytes": 19727,
"isEntry": false,
"imports": [
"houseplan-assets/houseplan-card-bOJWMeFY.js"
],
"dynamicImports": [
"houseplan-assets/summary-panel-editor-TASGFcvs.js",
"houseplan-assets/summary-panel-metrics-bIh_Q9NB.js"
]
},
{
"path": "houseplan-assets/zigbee-topology-70mzkKN3.js",
"sha256": "789d0ec02c2b0133838b379975944bb2730ee6c4679c9262000861d8457535a5",
"rawBytes": 18961,
"gzipBytes": 7430,
"isEntry": false,
"imports": [
"houseplan-assets/houseplan-card-bOJWMeFY.js"
],
"dynamicImports": []
},
{
"path": "houseplan-assets/zigbee-topology-runtime-CE0rjXi5.js",
"sha256": "04c8c7571c42d0659a412b4d560d3dbc504209631591f58ab7c86afd3580fedf",
"rawBytes": 3941,
"gzipBytes": 1765,
"isEntry": false,
"imports": [
"houseplan-assets/houseplan-card-bOJWMeFY.js",
"houseplan-assets/zigbee-topology-70mzkKN3.js"
],
"dynamicImports": []
},
{
"path": "houseplan-card.js",
"sha256": "6bf9432b3ce24211e3771939aca869d04bf03e4412c118129b3559d9561d6923",
"rawBytes": 1205,
"gzipBytes": 804,
"isEntry": true,
"imports": [
"houseplan-assets/houseplan-card-bOJWMeFY.js"
],
"dynamicImports": []
},
{
"path": "houseplan-panel.js",
"sha256": "fbdee8bf86166bcbca6e899b1ffb00f840eda83bb4a7edb66390bd08982c5a7b",
"rawBytes": 6124,
"gzipBytes": 2304,
"isEntry": true,
"imports": [
"houseplan-card.js"
],
"dynamicImports": []
}
]
}