mirror of
https://github.com/Matysh/houseplan-card
synced 2026-09-29 03:09:36 +00:00
The r1 diagnosis was wrong, and the measurement in the code review proved it: removing the two declarations from `static properties` left the cold start at 19 update cycles, 4 model builds and 4 config epochs, exactly the numbers of the bug. Lit's forced first-update change does mark `_serverCfg` changed, but at that moment the body and `_cfgEpochPreservedConfig` are both null, `preserveGeometry` is true and the epoch does not move. The comment above `static properties` now says that; the declaration still stays out, because two owners of one reactivity is what #500 removed. The real cause is the `await`. Before #500 everything from `_adoptStructuralResponses` to the end of the load ran in one task: the adopted bodies, `_adoptInitialSpace`, the viewport restore, `_loadOk`, and the device seeding — whose `_syncNewDevices`/`_seedHiddenDevices` write the config back — all landed in a single Lit update. #500 made the adoption an async sequence, so the caller resumes one microtask later, after Lit has already painted the adopted config; the seeding writes then arrive as a second config epoch, a second model build and a second paint of a 60-room house. `GatedAdoptionInput` gains `afterAdopt`, the mirror of `beforeAdopt`: it runs synchronously at the end of the sequence, before the promise resolves. `_loadFromServer` moves the viewport restore, `_loadOk` and the device rebuild into it — `_syncNewDevices` refuses to write before `_loadOk`, so the order inside the hook matters — and the load tail now rebuilds devices only when nothing was adopted. `_reloadConfigOnly` takes the same route. Measured with the project's own runner, 7 samples per profile, base `a44fbd37` against this tree (Chromium 152, sandbox): interaction modelReadyMs 761.3 ≤ 950.56 (base 731.2) firstStableRenderMs 2567.2 ≤ 3000 (base 2542.7) longTask.maxSingleMs 690 ≤ 921 · cache.entries.cleanFloor 100 isometric modelReadyMs 1252.9 ≤ 1499.76 (base 1249.8) firstStableRenderMs 1378 ≤ 1610.16 (base 1341.8) Boot diagnostics on both trees: 18 update cycles, 3 model builds, 3 config epochs, with the same epoch trace — the candidate is no longer distinguishable from the base. Witnesses. `config-adoption.test.mjs` queues a microtask at the start of the adoption and pins that `afterAdopt` runs before it — the probe fails the moment the hook crosses an await; `config-adoption-ownership.test.mjs` pins the wiring in the card and the hook's place in the sequence. Mutants `adoption-tail-defers-caller-hook` (defers the hook by one microtask) and `authoritative-load-seeds-devices-after-the-await` (drops the rebuild from the hook) redden them. The initial View graph grows 40 B gzip, so the #438 ceiling is recentred 300 300 → 300 400 with the usual dated note; measured 299 812 B keeps 588 B above and 1 412 B below the band. The overall 301 066 B budget and the #367 headroom debt are untouched. Issue: #520 User-Visible: no
315 lines
10 KiB
JSON
315 lines
10 KiB
JSON
{
|
|
"schema": 1,
|
|
"fingerprint": "2e6f7d70c797ae4e865b10859c77cc3380a432272a975b8f35b51234ae3cfe62",
|
|
"entry": "houseplan-card.js",
|
|
"panelEntry": "houseplan-panel.js",
|
|
"initialViewFiles": [
|
|
"houseplan-assets/houseplan-card-BMuv6THL.js",
|
|
"houseplan-card.js"
|
|
],
|
|
"initialViewGzipBytes": 299812,
|
|
"initialPanelFiles": [
|
|
"houseplan-assets/houseplan-card-BMuv6THL.js",
|
|
"houseplan-card.js",
|
|
"houseplan-panel.js"
|
|
],
|
|
"initialPanelGzipBytes": 302118,
|
|
"initialPanelOnlyFiles": [
|
|
"houseplan-panel.js"
|
|
],
|
|
"initialPanelOnlyGzipBytes": 2306,
|
|
"lazyFiles": [
|
|
"houseplan-assets/backdrop-pick-DJt73xkJ.js",
|
|
"houseplan-assets/de-CnIkrYVa.js",
|
|
"houseplan-assets/editor-CzEoJoet.js",
|
|
"houseplan-assets/fr-D1gV1f-s.js",
|
|
"houseplan-assets/furniture-plan-art.generated-XOCt_Wns.js",
|
|
"houseplan-assets/guard-8MebpCtO.js",
|
|
"houseplan-assets/houseplan-editor-runtime-BR7ukTUP.js",
|
|
"houseplan-assets/houseplan-onboarding-runtime-DKBSTd7u.js",
|
|
"houseplan-assets/hp-zigbee-topology-overlay-BRoahbu2.js",
|
|
"houseplan-assets/iso-scene-render-hhlqgOTn.js",
|
|
"houseplan-assets/live-interaction-runtime-DCcaRZ3p.js",
|
|
"houseplan-assets/pdf-export-BqxOXzDP.js",
|
|
"houseplan-assets/summary-panel-runtime-loaded-QU6oGUjk.js",
|
|
"houseplan-assets/zigbee-topology-86ml1Wbm.js",
|
|
"houseplan-assets/zigbee-topology-runtime-BcEe0VIS.js"
|
|
],
|
|
"lazyGzipBytes": 418124,
|
|
"lazyEditorFiles": [
|
|
"houseplan-assets/backdrop-pick-DJt73xkJ.js",
|
|
"houseplan-assets/editor-CzEoJoet.js",
|
|
"houseplan-assets/furniture-plan-art.generated-XOCt_Wns.js",
|
|
"houseplan-assets/guard-8MebpCtO.js",
|
|
"houseplan-assets/houseplan-editor-runtime-BR7ukTUP.js",
|
|
"houseplan-assets/zigbee-topology-86ml1Wbm.js"
|
|
],
|
|
"lazyEditorGzipBytes": 205681,
|
|
"lazyOnboardingFiles": [
|
|
"houseplan-assets/backdrop-pick-DJt73xkJ.js",
|
|
"houseplan-assets/houseplan-onboarding-runtime-DKBSTd7u.js"
|
|
],
|
|
"lazyOnboardingGzipBytes": 14183,
|
|
"lazyLocaleFiles": [
|
|
"houseplan-assets/de-CnIkrYVa.js",
|
|
"houseplan-assets/fr-D1gV1f-s.js"
|
|
],
|
|
"lazyLocaleGzipBytes": 54855,
|
|
"lazyIsometricFiles": [
|
|
"houseplan-assets/guard-8MebpCtO.js",
|
|
"houseplan-assets/iso-scene-render-hhlqgOTn.js"
|
|
],
|
|
"lazyIsometricGzipBytes": 13456,
|
|
"lazyFurnitureArtFiles": [
|
|
"houseplan-assets/furniture-plan-art.generated-XOCt_Wns.js"
|
|
],
|
|
"lazyFurnitureArtGzipBytes": 10251,
|
|
"lazyPdfFiles": [
|
|
"houseplan-assets/furniture-plan-art.generated-XOCt_Wns.js",
|
|
"houseplan-assets/pdf-export-BqxOXzDP.js"
|
|
],
|
|
"lazyPdfGzipBytes": 120367,
|
|
"files": [
|
|
{
|
|
"path": "houseplan-assets/backdrop-pick-DJt73xkJ.js",
|
|
"sha256": "e5a0f92c77993da16eba0468de5f3f4c539e7910507c9b2abdfbba295d62ae97",
|
|
"rawBytes": 21134,
|
|
"gzipBytes": 7145,
|
|
"isEntry": false,
|
|
"imports": [
|
|
"houseplan-assets/houseplan-card-BMuv6THL.js"
|
|
],
|
|
"dynamicImports": []
|
|
},
|
|
{
|
|
"path": "houseplan-assets/de-CnIkrYVa.js",
|
|
"sha256": "a3a7ba67f00c4e9bf041d6b45263a90324c7568e81f8b49bbbf3a47dbb31ae3a",
|
|
"rawBytes": 91441,
|
|
"gzipBytes": 27711,
|
|
"isEntry": false,
|
|
"imports": [],
|
|
"dynamicImports": []
|
|
},
|
|
{
|
|
"path": "houseplan-assets/editor-CzEoJoet.js",
|
|
"sha256": "ce96845e0bf4b3edc77ff7f3e60ef624c6ce7b28dd3bdef91689248938e68a82",
|
|
"rawBytes": 3832,
|
|
"gzipBytes": 1585,
|
|
"isEntry": false,
|
|
"imports": [
|
|
"houseplan-assets/houseplan-card-BMuv6THL.js"
|
|
],
|
|
"dynamicImports": []
|
|
},
|
|
{
|
|
"path": "houseplan-assets/fr-D1gV1f-s.js",
|
|
"sha256": "bbb0b285746c475a1bb29ec6f3c66d913d0af9e6e9cdfe42ce73177bef7f8c25",
|
|
"rawBytes": 93719,
|
|
"gzipBytes": 27144,
|
|
"isEntry": false,
|
|
"imports": [],
|
|
"dynamicImports": []
|
|
},
|
|
{
|
|
"path": "houseplan-assets/furniture-plan-art.generated-XOCt_Wns.js",
|
|
"sha256": "b95da605686e12dbfa3273052fa16cb09d9938e2333882841a94dd90e999d651",
|
|
"rawBytes": 33655,
|
|
"gzipBytes": 10251,
|
|
"isEntry": false,
|
|
"imports": [],
|
|
"dynamicImports": []
|
|
},
|
|
{
|
|
"path": "houseplan-assets/guard-8MebpCtO.js",
|
|
"sha256": "b269052d60c81b167dc53848c25ce8a5fe1333869313cc045e2b87b273523a77",
|
|
"rawBytes": 518,
|
|
"gzipBytes": 369,
|
|
"isEntry": false,
|
|
"imports": [
|
|
"houseplan-assets/houseplan-card-BMuv6THL.js"
|
|
],
|
|
"dynamicImports": []
|
|
},
|
|
{
|
|
"path": "houseplan-assets/houseplan-card-BMuv6THL.js",
|
|
"sha256": "7f512c2354bb41fc5a390333483dd6e4fa154ec4d92736982431e5bf44a0a096",
|
|
"rawBytes": 1078601,
|
|
"gzipBytes": 299008,
|
|
"isEntry": false,
|
|
"imports": [],
|
|
"dynamicImports": [
|
|
"houseplan-assets/de-CnIkrYVa.js",
|
|
"houseplan-assets/editor-CzEoJoet.js",
|
|
"houseplan-assets/fr-D1gV1f-s.js",
|
|
"houseplan-assets/furniture-plan-art.generated-XOCt_Wns.js",
|
|
"houseplan-assets/houseplan-editor-runtime-BR7ukTUP.js",
|
|
"houseplan-assets/houseplan-onboarding-runtime-DKBSTd7u.js",
|
|
"houseplan-assets/hp-zigbee-topology-overlay-BRoahbu2.js",
|
|
"houseplan-assets/iso-scene-render-hhlqgOTn.js",
|
|
"houseplan-assets/live-interaction-runtime-DCcaRZ3p.js",
|
|
"houseplan-assets/pdf-export-BqxOXzDP.js",
|
|
"houseplan-assets/summary-panel-runtime-loaded-QU6oGUjk.js"
|
|
]
|
|
},
|
|
{
|
|
"path": "houseplan-assets/houseplan-editor-runtime-BR7ukTUP.js",
|
|
"sha256": "50bb70879e251179dbb7203a562324da9248fc63eb4f65a917bce6202542ea18",
|
|
"rawBytes": 672160,
|
|
"gzipBytes": 178900,
|
|
"isEntry": false,
|
|
"imports": [
|
|
"houseplan-assets/backdrop-pick-DJt73xkJ.js",
|
|
"houseplan-assets/furniture-plan-art.generated-XOCt_Wns.js",
|
|
"houseplan-assets/guard-8MebpCtO.js",
|
|
"houseplan-assets/houseplan-card-BMuv6THL.js",
|
|
"houseplan-assets/zigbee-topology-86ml1Wbm.js"
|
|
],
|
|
"dynamicImports": [
|
|
"houseplan-assets/zigbee-topology-runtime-BcEe0VIS.js"
|
|
]
|
|
},
|
|
{
|
|
"path": "houseplan-assets/houseplan-onboarding-runtime-DKBSTd7u.js",
|
|
"sha256": "6f45e5b18ac7ab279e2548b7c9e70da223c8bd0564c688e35a223a529a6762b4",
|
|
"rawBytes": 28287,
|
|
"gzipBytes": 7038,
|
|
"isEntry": false,
|
|
"imports": [
|
|
"houseplan-assets/backdrop-pick-DJt73xkJ.js",
|
|
"houseplan-assets/houseplan-card-BMuv6THL.js"
|
|
],
|
|
"dynamicImports": []
|
|
},
|
|
{
|
|
"path": "houseplan-assets/hp-zigbee-topology-overlay-BRoahbu2.js",
|
|
"sha256": "b6d24c41180b61cf78235838b9a4d9cf64f7a0e94c0965837659da632c989349",
|
|
"rawBytes": 11034,
|
|
"gzipBytes": 3728,
|
|
"isEntry": false,
|
|
"imports": [
|
|
"houseplan-assets/houseplan-card-BMuv6THL.js",
|
|
"houseplan-assets/zigbee-topology-86ml1Wbm.js",
|
|
"houseplan-assets/zigbee-topology-runtime-BcEe0VIS.js"
|
|
],
|
|
"dynamicImports": []
|
|
},
|
|
{
|
|
"path": "houseplan-assets/iso-scene-render-hhlqgOTn.js",
|
|
"sha256": "3648b50e2c7db67a871a602e061cfb27c0c57d49e48fb165796b2040302b4722",
|
|
"rawBytes": 38562,
|
|
"gzipBytes": 13087,
|
|
"isEntry": false,
|
|
"imports": [
|
|
"houseplan-assets/guard-8MebpCtO.js",
|
|
"houseplan-assets/houseplan-card-BMuv6THL.js"
|
|
],
|
|
"dynamicImports": []
|
|
},
|
|
{
|
|
"path": "houseplan-assets/live-interaction-runtime-DCcaRZ3p.js",
|
|
"sha256": "74f360b102709340269d1425e162b1b3b48733ded14b3e9c96392d112e4a19fa",
|
|
"rawBytes": 5196,
|
|
"gzipBytes": 2128,
|
|
"isEntry": false,
|
|
"imports": [
|
|
"houseplan-assets/houseplan-card-BMuv6THL.js"
|
|
],
|
|
"dynamicImports": []
|
|
},
|
|
{
|
|
"path": "houseplan-assets/pdf-export-BqxOXzDP.js",
|
|
"sha256": "011bc6e1ee4182634c9f00a0063dc55a7ad38eb497381d0a2cea92153542ef76",
|
|
"rawBytes": 237254,
|
|
"gzipBytes": 110116,
|
|
"isEntry": false,
|
|
"imports": [
|
|
"houseplan-assets/furniture-plan-art.generated-XOCt_Wns.js",
|
|
"houseplan-assets/houseplan-card-BMuv6THL.js"
|
|
],
|
|
"dynamicImports": []
|
|
},
|
|
{
|
|
"path": "houseplan-assets/summary-panel-editor-CvUVaV6M.js",
|
|
"sha256": "372ebeaa2b6b6b1a36fed8d46a66d970361f431df794ba8d4f735bd3b7c6de3c",
|
|
"rawBytes": 14824,
|
|
"gzipBytes": 3402,
|
|
"isEntry": false,
|
|
"imports": [
|
|
"houseplan-assets/houseplan-card-BMuv6THL.js",
|
|
"houseplan-assets/summary-panel-runtime-loaded-QU6oGUjk.js"
|
|
],
|
|
"dynamicImports": []
|
|
},
|
|
{
|
|
"path": "houseplan-assets/summary-panel-metrics-DD7ukKTj.js",
|
|
"sha256": "a8cff52183abd5db8a15052d82d02e70755dbaf4d60d2d8b3d5afd71c1f7d75d",
|
|
"rawBytes": 2610,
|
|
"gzipBytes": 1307,
|
|
"isEntry": false,
|
|
"imports": [
|
|
"houseplan-assets/houseplan-card-BMuv6THL.js"
|
|
],
|
|
"dynamicImports": []
|
|
},
|
|
{
|
|
"path": "houseplan-assets/summary-panel-runtime-loaded-QU6oGUjk.js",
|
|
"sha256": "032a1172e860092afe2b6f17df776166d1cebcec8c4795fd4e8004b95609066a",
|
|
"rawBytes": 72272,
|
|
"gzipBytes": 19728,
|
|
"isEntry": false,
|
|
"imports": [
|
|
"houseplan-assets/houseplan-card-BMuv6THL.js"
|
|
],
|
|
"dynamicImports": [
|
|
"houseplan-assets/summary-panel-editor-CvUVaV6M.js",
|
|
"houseplan-assets/summary-panel-metrics-DD7ukKTj.js"
|
|
]
|
|
},
|
|
{
|
|
"path": "houseplan-assets/zigbee-topology-86ml1Wbm.js",
|
|
"sha256": "199b7bb041db57b49913da278212ac85c4fe9f55c25f1ed50252ab3182f6217a",
|
|
"rawBytes": 18961,
|
|
"gzipBytes": 7431,
|
|
"isEntry": false,
|
|
"imports": [
|
|
"houseplan-assets/houseplan-card-BMuv6THL.js"
|
|
],
|
|
"dynamicImports": []
|
|
},
|
|
{
|
|
"path": "houseplan-assets/zigbee-topology-runtime-BcEe0VIS.js",
|
|
"sha256": "6e650560e552e1092dd2fb4c99cf578fcfe03da4cd1b1f94e8eff498b8b19792",
|
|
"rawBytes": 3941,
|
|
"gzipBytes": 1763,
|
|
"isEntry": false,
|
|
"imports": [
|
|
"houseplan-assets/houseplan-card-BMuv6THL.js",
|
|
"houseplan-assets/zigbee-topology-86ml1Wbm.js"
|
|
],
|
|
"dynamicImports": []
|
|
},
|
|
{
|
|
"path": "houseplan-card.js",
|
|
"sha256": "52772eada719ce09fa86787e017c6f0ffa28645d391365694d81f53fbac909eb",
|
|
"rawBytes": 1205,
|
|
"gzipBytes": 804,
|
|
"isEntry": true,
|
|
"imports": [
|
|
"houseplan-assets/houseplan-card-BMuv6THL.js"
|
|
],
|
|
"dynamicImports": []
|
|
},
|
|
{
|
|
"path": "houseplan-panel.js",
|
|
"sha256": "e97a154275ce08e79a0bd8622911985749e0b1ad46e8ee7af5955a1cf2458e32",
|
|
"rawBytes": 6124,
|
|
"gzipBytes": 2306,
|
|
"isEntry": true,
|
|
"imports": [
|
|
"houseplan-card.js"
|
|
],
|
|
"dynamicImports": []
|
|
}
|
|
]
|
|
}
|