Files
houseplan-card/dist/houseplan-assets.json
T
Claudeandclaude[bot] 9edef041a9 fix: openings and markers keep their identity across a space switch (#525)
Lit reuses list nodes by position. The opening list and the device markers had
no keys, so on a space switch the leaf that held a slot kept its DOM node and
only changed values — and `.op-leaf` (transform) and `.op-arc`
(stroke-dashoffset) carry a 0.6 s transition, so the browser animated a door
that never moved: the new floor's leaf drove in from the previous floor's
opening angle. Measured on two spaces with a door in the same place and
opposite contact states: the node is reused, transform goes
`rotate(-90deg) → rotate(0deg)`, dash offset `0 → 125.66`, both transitions
`running`. The marker shell adds two more with its `box-shadow`.

Both lists are now rendered through `repeat(…, (item) => item.id, …)`, the
same lesson `glow-scene.ts` already learned for the Glow spots. The trap is
written where it starts — above the two transitions in `plan.styles.ts` —
because that is the file someone edits when adding the next animated property.
`houseplan-card.ts` is at its line ceiling, and the note would have cost the
budget a dozen lines for nothing: the swap itself is line-for-line.

The witness walks the shadow tree per element. `document.getAnimations()` is
empty here EVEN ON THE BROKEN CODE — the card lives in a shadow root and the
document-level call does not reach into it, and the issue proposed exactly
that call. The smoke also builds its own fixture: the demo home has no
openings at all, so two doors in two spaces are prepared in the smoke, and it
asserts the other half of the contract as well — a real contact change inside
one space still animates the leaf.

On `origin/dev` the smoke fails on five facts, naming the offenders:
`op-arc:stroke-dashoffset`, `op-leaf:transform`, `device-shell-frame:box-shadow`
twice. Mutants `openings-rendered-without-keys` and
`device-markers-rendered-without-keys` put each `map` back.

Perf, 7 samples against `19e421b3`: spaceSwitchMs 524.8 (limit 769.35, base
512.9), switchCycleMs 1293.9 (1696.28, 1256.5), firstStableRenderMs 2533.8
(3000, 2529.2), modelReadyMs 732.7 (944.97, 726.9), longTask.maxSingleMs 663
(910, 660) — `benchmark:compare` green in full.

The initial View graph grows 241 B gzip: `repeat` enters it for the first
time. The #438 ceiling is recentred 300 400 → 300 700 with the usual dated
note; measured 300 059 B keeps 641 B above and 1 359 B below the band. The
301 066 B budget is untouched, but only 366 B now separate the ceiling from
it — the #367 headroom debt has stopped being theoretical.

Issue: #525
User-Visible: yes
2026-09-11 01:42:46 +00:00

315 lines
10 KiB
JSON

{
"schema": 1,
"fingerprint": "7d8c26b95986499fd35534164d8e2bc2e897f0fbe9d846bccffa49f45116a618",
"entry": "houseplan-card.js",
"panelEntry": "houseplan-panel.js",
"initialViewFiles": [
"houseplan-assets/houseplan-card-DkiI2BOK.js",
"houseplan-card.js"
],
"initialViewGzipBytes": 300059,
"initialPanelFiles": [
"houseplan-assets/houseplan-card-DkiI2BOK.js",
"houseplan-card.js",
"houseplan-panel.js"
],
"initialPanelGzipBytes": 302365,
"initialPanelOnlyFiles": [
"houseplan-panel.js"
],
"initialPanelOnlyGzipBytes": 2306,
"lazyFiles": [
"houseplan-assets/backdrop-pick-BvtFVd_V.js",
"houseplan-assets/de-HksnN-9C.js",
"houseplan-assets/editor-CSFqqHwT.js",
"houseplan-assets/fr-lBEFwYGK.js",
"houseplan-assets/furniture-plan-art.generated-B3wZVvff.js",
"houseplan-assets/guard-Bdo2w6Sq.js",
"houseplan-assets/houseplan-editor-runtime-uP6vjZmA.js",
"houseplan-assets/houseplan-onboarding-runtime-BdClDAcS.js",
"houseplan-assets/hp-zigbee-topology-overlay-DRpau2VG.js",
"houseplan-assets/iso-scene-render-RhSO-S9j.js",
"houseplan-assets/live-interaction-runtime-C_klxsXE.js",
"houseplan-assets/pdf-export-CsCJxU0E.js",
"houseplan-assets/summary-panel-runtime-loaded-DQS834xA.js",
"houseplan-assets/zigbee-topology-LI-FVdpo.js",
"houseplan-assets/zigbee-topology-runtime-DTi-kj9C.js"
],
"lazyGzipBytes": 418179,
"lazyEditorFiles": [
"houseplan-assets/backdrop-pick-BvtFVd_V.js",
"houseplan-assets/editor-CSFqqHwT.js",
"houseplan-assets/furniture-plan-art.generated-B3wZVvff.js",
"houseplan-assets/guard-Bdo2w6Sq.js",
"houseplan-assets/houseplan-editor-runtime-uP6vjZmA.js",
"houseplan-assets/zigbee-topology-LI-FVdpo.js"
],
"lazyEditorGzipBytes": 205726,
"lazyOnboardingFiles": [
"houseplan-assets/backdrop-pick-BvtFVd_V.js",
"houseplan-assets/houseplan-onboarding-runtime-BdClDAcS.js"
],
"lazyOnboardingGzipBytes": 14187,
"lazyLocaleFiles": [
"houseplan-assets/de-HksnN-9C.js",
"houseplan-assets/fr-lBEFwYGK.js"
],
"lazyLocaleGzipBytes": 54854,
"lazyIsometricFiles": [
"houseplan-assets/guard-Bdo2w6Sq.js",
"houseplan-assets/iso-scene-render-RhSO-S9j.js"
],
"lazyIsometricGzipBytes": 13460,
"lazyFurnitureArtFiles": [
"houseplan-assets/furniture-plan-art.generated-B3wZVvff.js"
],
"lazyFurnitureArtGzipBytes": 10255,
"lazyPdfFiles": [
"houseplan-assets/furniture-plan-art.generated-B3wZVvff.js",
"houseplan-assets/pdf-export-CsCJxU0E.js"
],
"lazyPdfGzipBytes": 120372,
"files": [
{
"path": "houseplan-assets/backdrop-pick-BvtFVd_V.js",
"sha256": "e76da9cb2c5c8a32b2798c6f8785819bd7ff6ee624987feb8ff2c89522f87fef",
"rawBytes": 21134,
"gzipBytes": 7148,
"isEntry": false,
"imports": [
"houseplan-assets/houseplan-card-DkiI2BOK.js"
],
"dynamicImports": []
},
{
"path": "houseplan-assets/de-HksnN-9C.js",
"sha256": "3a1ada3b04ef3eb7e9c6856c700d589e90e962a6753087b59f89b481c68a9499",
"rawBytes": 91441,
"gzipBytes": 27710,
"isEntry": false,
"imports": [],
"dynamicImports": []
},
{
"path": "houseplan-assets/editor-CSFqqHwT.js",
"sha256": "a5adebb3a438356deb0e5a35fa218bcb4ab6a8be23d6e535b6cd350170775926",
"rawBytes": 3832,
"gzipBytes": 1585,
"isEntry": false,
"imports": [
"houseplan-assets/houseplan-card-DkiI2BOK.js"
],
"dynamicImports": []
},
{
"path": "houseplan-assets/fr-lBEFwYGK.js",
"sha256": "de104eb96b8e4fbb2895ab861300878eb3f27dc616e4737bc2e9e818286c9d88",
"rawBytes": 93719,
"gzipBytes": 27144,
"isEntry": false,
"imports": [],
"dynamicImports": []
},
{
"path": "houseplan-assets/furniture-plan-art.generated-B3wZVvff.js",
"sha256": "9b63fd1d6479a45b433b323468a56b46ab0e0e3d2a5bfb82b6349d475e59eee8",
"rawBytes": 33655,
"gzipBytes": 10255,
"isEntry": false,
"imports": [],
"dynamicImports": []
},
{
"path": "houseplan-assets/guard-Bdo2w6Sq.js",
"sha256": "b98da3eb22fde2449b43c37851d7e2cbbcb14103b20b7c6b417fa4bab2502416",
"rawBytes": 518,
"gzipBytes": 371,
"isEntry": false,
"imports": [
"houseplan-assets/houseplan-card-DkiI2BOK.js"
],
"dynamicImports": []
},
{
"path": "houseplan-assets/houseplan-card-DkiI2BOK.js",
"sha256": "e7bdf9f5d1b699c27b57f25c369b137eceae0cf6f3ec7f2d364ef6c2bd552887",
"rawBytes": 1079369,
"gzipBytes": 299254,
"isEntry": false,
"imports": [],
"dynamicImports": [
"houseplan-assets/de-HksnN-9C.js",
"houseplan-assets/editor-CSFqqHwT.js",
"houseplan-assets/fr-lBEFwYGK.js",
"houseplan-assets/furniture-plan-art.generated-B3wZVvff.js",
"houseplan-assets/houseplan-editor-runtime-uP6vjZmA.js",
"houseplan-assets/houseplan-onboarding-runtime-BdClDAcS.js",
"houseplan-assets/hp-zigbee-topology-overlay-DRpau2VG.js",
"houseplan-assets/iso-scene-render-RhSO-S9j.js",
"houseplan-assets/live-interaction-runtime-C_klxsXE.js",
"houseplan-assets/pdf-export-CsCJxU0E.js",
"houseplan-assets/summary-panel-runtime-loaded-DQS834xA.js"
]
},
{
"path": "houseplan-assets/houseplan-editor-runtime-uP6vjZmA.js",
"sha256": "00be6a1cdb443cd875e736984baf86b77e63d96474ec72d4d66bf2baa9f1a2ba",
"rawBytes": 672339,
"gzipBytes": 178936,
"isEntry": false,
"imports": [
"houseplan-assets/backdrop-pick-BvtFVd_V.js",
"houseplan-assets/furniture-plan-art.generated-B3wZVvff.js",
"houseplan-assets/guard-Bdo2w6Sq.js",
"houseplan-assets/houseplan-card-DkiI2BOK.js",
"houseplan-assets/zigbee-topology-LI-FVdpo.js"
],
"dynamicImports": [
"houseplan-assets/zigbee-topology-runtime-DTi-kj9C.js"
]
},
{
"path": "houseplan-assets/houseplan-onboarding-runtime-BdClDAcS.js",
"sha256": "f81b58bde08ff74bab903803cc709e18449900dc91a3f64106db737bbabd55e3",
"rawBytes": 28287,
"gzipBytes": 7039,
"isEntry": false,
"imports": [
"houseplan-assets/backdrop-pick-BvtFVd_V.js",
"houseplan-assets/houseplan-card-DkiI2BOK.js"
],
"dynamicImports": []
},
{
"path": "houseplan-assets/hp-zigbee-topology-overlay-DRpau2VG.js",
"sha256": "968345cc4eaaf6cc46accbdc30b4fff83e3fc40a5a7b7a0f611229f0e53ec6b9",
"rawBytes": 11034,
"gzipBytes": 3731,
"isEntry": false,
"imports": [
"houseplan-assets/houseplan-card-DkiI2BOK.js",
"houseplan-assets/zigbee-topology-LI-FVdpo.js",
"houseplan-assets/zigbee-topology-runtime-DTi-kj9C.js"
],
"dynamicImports": []
},
{
"path": "houseplan-assets/iso-scene-render-RhSO-S9j.js",
"sha256": "b5c630c05c0c2648c96006ab51cf271ae2ca585742df4bd9ad456ce9dac86646",
"rawBytes": 38562,
"gzipBytes": 13089,
"isEntry": false,
"imports": [
"houseplan-assets/guard-Bdo2w6Sq.js",
"houseplan-assets/houseplan-card-DkiI2BOK.js"
],
"dynamicImports": []
},
{
"path": "houseplan-assets/live-interaction-runtime-C_klxsXE.js",
"sha256": "319a2a94cf85acd20b27522ae71b81e25ee1f2d69f1688256c5eeed4dddec3d5",
"rawBytes": 5196,
"gzipBytes": 2129,
"isEntry": false,
"imports": [
"houseplan-assets/houseplan-card-DkiI2BOK.js"
],
"dynamicImports": []
},
{
"path": "houseplan-assets/pdf-export-CsCJxU0E.js",
"sha256": "eccac69e0d54ceeff8fceb8db69a0f20f5339443cb7961f8916f9a850bb1ae6c",
"rawBytes": 237254,
"gzipBytes": 110117,
"isEntry": false,
"imports": [
"houseplan-assets/furniture-plan-art.generated-B3wZVvff.js",
"houseplan-assets/houseplan-card-DkiI2BOK.js"
],
"dynamicImports": []
},
{
"path": "houseplan-assets/summary-panel-editor-BC_vG9Hn.js",
"sha256": "5c7fd338b94152ae5e1194f07c6353863a9e22c4f2e99424f5795484da989a64",
"rawBytes": 14824,
"gzipBytes": 3401,
"isEntry": false,
"imports": [
"houseplan-assets/houseplan-card-DkiI2BOK.js",
"houseplan-assets/summary-panel-runtime-loaded-DQS834xA.js"
],
"dynamicImports": []
},
{
"path": "houseplan-assets/summary-panel-metrics-C2M32Xkf.js",
"sha256": "bca21f0d66af64c7c1ef501a8cd38e04e2a74ee7196e004f6f60397d9e9a72f1",
"rawBytes": 2610,
"gzipBytes": 1308,
"isEntry": false,
"imports": [
"houseplan-assets/houseplan-card-DkiI2BOK.js"
],
"dynamicImports": []
},
{
"path": "houseplan-assets/summary-panel-runtime-loaded-DQS834xA.js",
"sha256": "54c791fdd19e77c24ac142794c4207345eaec03d2ab15dfdf3b991afa32bb812",
"rawBytes": 72272,
"gzipBytes": 19729,
"isEntry": false,
"imports": [
"houseplan-assets/houseplan-card-DkiI2BOK.js"
],
"dynamicImports": [
"houseplan-assets/summary-panel-editor-BC_vG9Hn.js",
"houseplan-assets/summary-panel-metrics-C2M32Xkf.js"
]
},
{
"path": "houseplan-assets/zigbee-topology-LI-FVdpo.js",
"sha256": "d01ec49d20c5f3dc028a59107f1f9060634ab93d6d112e03a7c2b85792159440",
"rawBytes": 18961,
"gzipBytes": 7431,
"isEntry": false,
"imports": [
"houseplan-assets/houseplan-card-DkiI2BOK.js"
],
"dynamicImports": []
},
{
"path": "houseplan-assets/zigbee-topology-runtime-DTi-kj9C.js",
"sha256": "3a0fad7d479bbeb161434e498a3c8ac7f88da62ef37c173b66f95057098bcc97",
"rawBytes": 3941,
"gzipBytes": 1765,
"isEntry": false,
"imports": [
"houseplan-assets/houseplan-card-DkiI2BOK.js",
"houseplan-assets/zigbee-topology-LI-FVdpo.js"
],
"dynamicImports": []
},
{
"path": "houseplan-card.js",
"sha256": "21da7b3390ea9d4992e33bf4d6fdf684145b53f407e253a599e70a459585298d",
"rawBytes": 1205,
"gzipBytes": 805,
"isEntry": true,
"imports": [
"houseplan-assets/houseplan-card-DkiI2BOK.js"
],
"dynamicImports": []
},
{
"path": "houseplan-panel.js",
"sha256": "a664721695cf5c85903eea440d05a295cb6d6d2cd1e3669fd5c65c9752534492",
"rawBytes": 6124,
"gzipBytes": 2306,
"isEntry": true,
"imports": [
"houseplan-card.js"
],
"dynamicImports": []
}
]
}