mirror of
https://github.com/Matysh/houseplan-card
synced 2026-10-03 21:28:59 +00:00
Prepare v1.74.0-beta.2
Seven version sources move together to 1.74.0-beta.2; the changelog sections in both languages close over what has landed since beta.1, the release notes carry four bullets on each side with the grouped small-fixes bullet last, and STATUS says what this beta is. What the user gets: a plan left over from the era of rooms without walls can be edited again — the leftover is cleaned up on the first save instead of refusing every change, pointing at an Optimize that cannot help and blocking the export too (#529, reported in #527); the plan is smooth again in Firefox, where a marker shadow sized in container units restarted a non-composited animation on all markers at once and cost 9.4 frames per second (#524); switching spaces no longer replays a neighbouring door or marker (#525); and the card downloads 12.8 KB less on a cold start, because the stylesheet minifier had never actually run (#526). Internal in the same line: the space-switch witness judges node identity instead of a transition that #524 removed (#528), and the review gate charges a round only for what the round changed (#518). `npm test` 2520/0/1 skip, `pytest tests_backend` 467 passed, release contract green on all seven sources, bundle 287 286 B gzip inside the ceiling, docs strict green. The `Release:` trailer is what asks CI for the heavy gates — smokes, golden and the full performance comparison — on this exact SHA (#479). Issue: #529 User-Visible: yes Release: v1.74.0-beta.2
This commit is contained in:
@@ -57,7 +57,7 @@ SCHEDULED_GRACE_S = 30 * 24 * 3600
|
||||
FILES_DIR = "houseplan/files"
|
||||
ASSETS_DIR = "houseplan/assets"
|
||||
CONF_ADMIN_ONLY = "admin_only"
|
||||
VERSION = "1.74.0-beta.1"
|
||||
VERSION = "1.74.0-beta.2"
|
||||
DECOR_ASSETS_API_VERSION = 1
|
||||
SUMMARY_PANEL_API_VERSION = 1
|
||||
|
||||
|
||||
@@ -1,309 +1,309 @@
|
||||
{
|
||||
"schema": 1,
|
||||
"fingerprint": "6f12d9312dc39371e05ac6b5778215b61b18f6d249a4ae38b50c3945393f253b",
|
||||
"fingerprint": "b47c3e03a9479551812b6a9233e3795cc51fb519726920a5969b4c9233f92370",
|
||||
"entry": "houseplan-card.js",
|
||||
"panelEntry": "houseplan-panel.js",
|
||||
"initialViewFiles": [
|
||||
"houseplan-assets/houseplan-card-CIDOTv_g.js",
|
||||
"houseplan-assets/houseplan-card-YE40fvv1.js",
|
||||
"houseplan-card.js"
|
||||
],
|
||||
"initialViewGzipBytes": 287290,
|
||||
"initialViewGzipBytes": 287286,
|
||||
"initialPanelFiles": [
|
||||
"houseplan-assets/houseplan-card-CIDOTv_g.js",
|
||||
"houseplan-assets/houseplan-card-YE40fvv1.js",
|
||||
"houseplan-card.js",
|
||||
"houseplan-panel.js"
|
||||
],
|
||||
"initialPanelGzipBytes": 289596,
|
||||
"initialPanelGzipBytes": 289591,
|
||||
"initialPanelOnlyFiles": [
|
||||
"houseplan-panel.js"
|
||||
],
|
||||
"initialPanelOnlyGzipBytes": 2306,
|
||||
"initialPanelOnlyGzipBytes": 2305,
|
||||
"lazyFiles": [
|
||||
"houseplan-assets/backdrop-pick-BRUWvEWp.js",
|
||||
"houseplan-assets/de-BxUEBivN.js",
|
||||
"houseplan-assets/editor-B9rzkaVq.js",
|
||||
"houseplan-assets/fr-CFczhXuL.js",
|
||||
"houseplan-assets/furniture-plan-art.generated-C1hUGE0m.js",
|
||||
"houseplan-assets/guard-mBr5nP05.js",
|
||||
"houseplan-assets/houseplan-editor-runtime-Du3pkfx9.js",
|
||||
"houseplan-assets/houseplan-onboarding-runtime-Ces0QxL_.js",
|
||||
"houseplan-assets/hp-zigbee-topology-overlay-BJSCpp8R.js",
|
||||
"houseplan-assets/iso-scene-render-DsUgBekm.js",
|
||||
"houseplan-assets/live-interaction-runtime-xaQDMprZ.js",
|
||||
"houseplan-assets/pdf-export-DSGaEcEn.js",
|
||||
"houseplan-assets/summary-panel-runtime-loaded-BOLxK6VT.js",
|
||||
"houseplan-assets/zigbee-topology-DBPd-Wk3.js",
|
||||
"houseplan-assets/zigbee-topology-runtime-3AKpF54Q.js"
|
||||
"houseplan-assets/backdrop-pick-Ckp0PBXt.js",
|
||||
"houseplan-assets/de-CnYAlOUu.js",
|
||||
"houseplan-assets/editor-CKnGJ6qy.js",
|
||||
"houseplan-assets/fr-DekBkhqC.js",
|
||||
"houseplan-assets/furniture-plan-art.generated-DWczm8-2.js",
|
||||
"houseplan-assets/guard-BoWMUZ7o.js",
|
||||
"houseplan-assets/houseplan-editor-runtime-CPpqpKvW.js",
|
||||
"houseplan-assets/houseplan-onboarding-runtime-BIx15-gw.js",
|
||||
"houseplan-assets/hp-zigbee-topology-overlay-N-ZFSZfG.js",
|
||||
"houseplan-assets/iso-scene-render-DGlrwMHW.js",
|
||||
"houseplan-assets/live-interaction-runtime-D0PZDT7G.js",
|
||||
"houseplan-assets/pdf-export-Dr1KIZgo.js",
|
||||
"houseplan-assets/summary-panel-runtime-loaded-BBEDkGjk.js",
|
||||
"houseplan-assets/zigbee-topology-DhleVwin.js",
|
||||
"houseplan-assets/zigbee-topology-runtime-bVchrMyY.js"
|
||||
],
|
||||
"lazyGzipBytes": 417368,
|
||||
"lazyGzipBytes": 417337,
|
||||
"lazyEditorFiles": [
|
||||
"houseplan-assets/backdrop-pick-BRUWvEWp.js",
|
||||
"houseplan-assets/editor-B9rzkaVq.js",
|
||||
"houseplan-assets/furniture-plan-art.generated-C1hUGE0m.js",
|
||||
"houseplan-assets/guard-mBr5nP05.js",
|
||||
"houseplan-assets/houseplan-editor-runtime-Du3pkfx9.js",
|
||||
"houseplan-assets/zigbee-topology-DBPd-Wk3.js"
|
||||
"houseplan-assets/backdrop-pick-Ckp0PBXt.js",
|
||||
"houseplan-assets/editor-CKnGJ6qy.js",
|
||||
"houseplan-assets/furniture-plan-art.generated-DWczm8-2.js",
|
||||
"houseplan-assets/guard-BoWMUZ7o.js",
|
||||
"houseplan-assets/houseplan-editor-runtime-CPpqpKvW.js",
|
||||
"houseplan-assets/zigbee-topology-DhleVwin.js"
|
||||
],
|
||||
"lazyEditorGzipBytes": 205004,
|
||||
"lazyEditorGzipBytes": 204994,
|
||||
"lazyOnboardingFiles": [
|
||||
"houseplan-assets/backdrop-pick-BRUWvEWp.js",
|
||||
"houseplan-assets/houseplan-onboarding-runtime-Ces0QxL_.js"
|
||||
"houseplan-assets/backdrop-pick-Ckp0PBXt.js",
|
||||
"houseplan-assets/houseplan-onboarding-runtime-BIx15-gw.js"
|
||||
],
|
||||
"lazyOnboardingGzipBytes": 13920,
|
||||
"lazyOnboardingGzipBytes": 13914,
|
||||
"lazyLocaleFiles": [
|
||||
"houseplan-assets/de-BxUEBivN.js",
|
||||
"houseplan-assets/fr-CFczhXuL.js"
|
||||
"houseplan-assets/de-CnYAlOUu.js",
|
||||
"houseplan-assets/fr-DekBkhqC.js"
|
||||
],
|
||||
"lazyLocaleGzipBytes": 54861,
|
||||
"lazyLocaleGzipBytes": 54852,
|
||||
"lazyIsometricFiles": [
|
||||
"houseplan-assets/guard-mBr5nP05.js",
|
||||
"houseplan-assets/iso-scene-render-DsUgBekm.js"
|
||||
"houseplan-assets/guard-BoWMUZ7o.js",
|
||||
"houseplan-assets/iso-scene-render-DGlrwMHW.js"
|
||||
],
|
||||
"lazyIsometricGzipBytes": 13458,
|
||||
"lazyFurnitureArtFiles": [
|
||||
"houseplan-assets/furniture-plan-art.generated-C1hUGE0m.js"
|
||||
"houseplan-assets/furniture-plan-art.generated-DWczm8-2.js"
|
||||
],
|
||||
"lazyFurnitureArtGzipBytes": 10251,
|
||||
"lazyFurnitureArtGzipBytes": 10247,
|
||||
"lazyPdfFiles": [
|
||||
"houseplan-assets/furniture-plan-art.generated-C1hUGE0m.js",
|
||||
"houseplan-assets/pdf-export-DSGaEcEn.js"
|
||||
"houseplan-assets/furniture-plan-art.generated-DWczm8-2.js",
|
||||
"houseplan-assets/pdf-export-Dr1KIZgo.js"
|
||||
],
|
||||
"lazyPdfGzipBytes": 120322,
|
||||
"lazyPdfGzipBytes": 120314,
|
||||
"files": [
|
||||
{
|
||||
"path": "houseplan-assets/backdrop-pick-BRUWvEWp.js",
|
||||
"sha256": "8de776f58ea7e4105c15b05c5190d1558839bad20038de87642cbbb34f9dde4d",
|
||||
"path": "houseplan-assets/backdrop-pick-Ckp0PBXt.js",
|
||||
"sha256": "b1a9233561db70f6399c08a2e6a391afa6980c89c961e8d2f9982a375c4a4749",
|
||||
"rawBytes": 19956,
|
||||
"gzipBytes": 6881,
|
||||
"gzipBytes": 6877,
|
||||
"isEntry": false,
|
||||
"imports": [
|
||||
"houseplan-assets/houseplan-card-CIDOTv_g.js"
|
||||
"houseplan-assets/houseplan-card-YE40fvv1.js"
|
||||
],
|
||||
"dynamicImports": []
|
||||
},
|
||||
{
|
||||
"path": "houseplan-assets/de-BxUEBivN.js",
|
||||
"sha256": "2cee61782d1f4c7d0bea1adf1efebb4f4cb06b73037df9cd233cba143c37cfe4",
|
||||
"path": "houseplan-assets/de-CnYAlOUu.js",
|
||||
"sha256": "685f3edc7c69a9f047c8472cad2742e48227b7f1212fae3b0a479139f9025f52",
|
||||
"rawBytes": 91441,
|
||||
"gzipBytes": 27714,
|
||||
"gzipBytes": 27711,
|
||||
"isEntry": false,
|
||||
"imports": [],
|
||||
"dynamicImports": []
|
||||
},
|
||||
{
|
||||
"path": "houseplan-assets/editor-B9rzkaVq.js",
|
||||
"sha256": "212d0334fa8acea91e3e3561adce91b36f01a033629c805895e66e3b02453187",
|
||||
"path": "houseplan-assets/editor-CKnGJ6qy.js",
|
||||
"sha256": "6335c4ff1d16aaab3cbf37d38047df98f8ba8a4bfaf05ed65bd6e3302225948e",
|
||||
"rawBytes": 3832,
|
||||
"gzipBytes": 1585,
|
||||
"gzipBytes": 1584,
|
||||
"isEntry": false,
|
||||
"imports": [
|
||||
"houseplan-assets/houseplan-card-CIDOTv_g.js"
|
||||
"houseplan-assets/houseplan-card-YE40fvv1.js"
|
||||
],
|
||||
"dynamicImports": []
|
||||
},
|
||||
{
|
||||
"path": "houseplan-assets/fr-CFczhXuL.js",
|
||||
"sha256": "afc60a170f8a8eaa84cd8d2942819434d99cdab01b425e4b2c9ecc7154d899e4",
|
||||
"path": "houseplan-assets/fr-DekBkhqC.js",
|
||||
"sha256": "d181c40de4b3c024c5b115c68fed72201158d61d76aa8433f7d2a48046a74fab",
|
||||
"rawBytes": 93719,
|
||||
"gzipBytes": 27147,
|
||||
"gzipBytes": 27141,
|
||||
"isEntry": false,
|
||||
"imports": [],
|
||||
"dynamicImports": []
|
||||
},
|
||||
{
|
||||
"path": "houseplan-assets/furniture-plan-art.generated-C1hUGE0m.js",
|
||||
"sha256": "25da37599322efaff1b41da64a1eb84d44b06cdec0ce29ce509129465c856952",
|
||||
"path": "houseplan-assets/furniture-plan-art.generated-DWczm8-2.js",
|
||||
"sha256": "d28de97f41aef1723b16776bd70c6e544ea8fb7e450f4312a5e3c1e0b76d9549",
|
||||
"rawBytes": 33655,
|
||||
"gzipBytes": 10251,
|
||||
"gzipBytes": 10247,
|
||||
"isEntry": false,
|
||||
"imports": [],
|
||||
"dynamicImports": []
|
||||
},
|
||||
{
|
||||
"path": "houseplan-assets/guard-mBr5nP05.js",
|
||||
"sha256": "f5f3a934b0f911485a24c552ac1784198fdcc5753d8481235df586b7662a7690",
|
||||
"path": "houseplan-assets/guard-BoWMUZ7o.js",
|
||||
"sha256": "8c235d61f8a60a7c61755803dce89ee19ecca88f71f1050478b81eb7d3583c2c",
|
||||
"rawBytes": 518,
|
||||
"gzipBytes": 370,
|
||||
"isEntry": false,
|
||||
"imports": [
|
||||
"houseplan-assets/houseplan-card-CIDOTv_g.js"
|
||||
"houseplan-assets/houseplan-card-YE40fvv1.js"
|
||||
],
|
||||
"dynamicImports": []
|
||||
},
|
||||
{
|
||||
"path": "houseplan-assets/houseplan-card-CIDOTv_g.js",
|
||||
"sha256": "4320e574cb8eb77af7df6d77391296d799bad2e65866e4f8d119fd2591e0ff16",
|
||||
"path": "houseplan-assets/houseplan-card-YE40fvv1.js",
|
||||
"sha256": "89d4ca76ea7489c16f2e3998e9f5d0bed7231798c6c2053dd4bbec923149900c",
|
||||
"rawBytes": 1021115,
|
||||
"gzipBytes": 286485,
|
||||
"gzipBytes": 286482,
|
||||
"isEntry": false,
|
||||
"imports": [],
|
||||
"dynamicImports": [
|
||||
"houseplan-assets/de-BxUEBivN.js",
|
||||
"houseplan-assets/editor-B9rzkaVq.js",
|
||||
"houseplan-assets/fr-CFczhXuL.js",
|
||||
"houseplan-assets/furniture-plan-art.generated-C1hUGE0m.js",
|
||||
"houseplan-assets/houseplan-editor-runtime-Du3pkfx9.js",
|
||||
"houseplan-assets/houseplan-onboarding-runtime-Ces0QxL_.js",
|
||||
"houseplan-assets/hp-zigbee-topology-overlay-BJSCpp8R.js",
|
||||
"houseplan-assets/iso-scene-render-DsUgBekm.js",
|
||||
"houseplan-assets/live-interaction-runtime-xaQDMprZ.js",
|
||||
"houseplan-assets/pdf-export-DSGaEcEn.js",
|
||||
"houseplan-assets/summary-panel-runtime-loaded-BOLxK6VT.js"
|
||||
"houseplan-assets/de-CnYAlOUu.js",
|
||||
"houseplan-assets/editor-CKnGJ6qy.js",
|
||||
"houseplan-assets/fr-DekBkhqC.js",
|
||||
"houseplan-assets/furniture-plan-art.generated-DWczm8-2.js",
|
||||
"houseplan-assets/houseplan-editor-runtime-CPpqpKvW.js",
|
||||
"houseplan-assets/houseplan-onboarding-runtime-BIx15-gw.js",
|
||||
"houseplan-assets/hp-zigbee-topology-overlay-N-ZFSZfG.js",
|
||||
"houseplan-assets/iso-scene-render-DGlrwMHW.js",
|
||||
"houseplan-assets/live-interaction-runtime-D0PZDT7G.js",
|
||||
"houseplan-assets/pdf-export-Dr1KIZgo.js",
|
||||
"houseplan-assets/summary-panel-runtime-loaded-BBEDkGjk.js"
|
||||
]
|
||||
},
|
||||
{
|
||||
"path": "houseplan-assets/houseplan-editor-runtime-Du3pkfx9.js",
|
||||
"sha256": "273cb39a8852824e564a8280b911f2167309f0f0c5e77f8f35f74b309d4241be",
|
||||
"path": "houseplan-assets/houseplan-editor-runtime-CPpqpKvW.js",
|
||||
"sha256": "aaf5ada4dd6cae4a5a877beaec32c3165d41ac3597ff4a1e35f518a75bdf3971",
|
||||
"rawBytes": 668820,
|
||||
"gzipBytes": 178489,
|
||||
"gzipBytes": 178485,
|
||||
"isEntry": false,
|
||||
"imports": [
|
||||
"houseplan-assets/backdrop-pick-BRUWvEWp.js",
|
||||
"houseplan-assets/furniture-plan-art.generated-C1hUGE0m.js",
|
||||
"houseplan-assets/guard-mBr5nP05.js",
|
||||
"houseplan-assets/houseplan-card-CIDOTv_g.js",
|
||||
"houseplan-assets/zigbee-topology-DBPd-Wk3.js"
|
||||
"houseplan-assets/backdrop-pick-Ckp0PBXt.js",
|
||||
"houseplan-assets/furniture-plan-art.generated-DWczm8-2.js",
|
||||
"houseplan-assets/guard-BoWMUZ7o.js",
|
||||
"houseplan-assets/houseplan-card-YE40fvv1.js",
|
||||
"houseplan-assets/zigbee-topology-DhleVwin.js"
|
||||
],
|
||||
"dynamicImports": [
|
||||
"houseplan-assets/zigbee-topology-runtime-3AKpF54Q.js"
|
||||
"houseplan-assets/zigbee-topology-runtime-bVchrMyY.js"
|
||||
]
|
||||
},
|
||||
{
|
||||
"path": "houseplan-assets/houseplan-onboarding-runtime-Ces0QxL_.js",
|
||||
"sha256": "657f3180d774307654c43c6e82c14fe85d4b620f51e1d41b910225f85564f257",
|
||||
"path": "houseplan-assets/houseplan-onboarding-runtime-BIx15-gw.js",
|
||||
"sha256": "16ca98715f00e0c4662e24be4f59e7791a3f4c00c0ba59354a3d21e3d5f64b8b",
|
||||
"rawBytes": 28287,
|
||||
"gzipBytes": 7039,
|
||||
"gzipBytes": 7037,
|
||||
"isEntry": false,
|
||||
"imports": [
|
||||
"houseplan-assets/backdrop-pick-BRUWvEWp.js",
|
||||
"houseplan-assets/houseplan-card-CIDOTv_g.js"
|
||||
"houseplan-assets/backdrop-pick-Ckp0PBXt.js",
|
||||
"houseplan-assets/houseplan-card-YE40fvv1.js"
|
||||
],
|
||||
"dynamicImports": []
|
||||
},
|
||||
{
|
||||
"path": "houseplan-assets/hp-zigbee-topology-overlay-BJSCpp8R.js",
|
||||
"sha256": "ad4910a792d03bd35f981d161daca31aafa354d6487df0f370fd97727f37ca3e",
|
||||
"path": "houseplan-assets/hp-zigbee-topology-overlay-N-ZFSZfG.js",
|
||||
"sha256": "705c06c803cadc056973c1b08a96412df9ecc3fe697db4aa3c509a827b19603c",
|
||||
"rawBytes": 10756,
|
||||
"gzipBytes": 3682,
|
||||
"gzipBytes": 3680,
|
||||
"isEntry": false,
|
||||
"imports": [
|
||||
"houseplan-assets/houseplan-card-CIDOTv_g.js",
|
||||
"houseplan-assets/zigbee-topology-DBPd-Wk3.js",
|
||||
"houseplan-assets/zigbee-topology-runtime-3AKpF54Q.js"
|
||||
"houseplan-assets/houseplan-card-YE40fvv1.js",
|
||||
"houseplan-assets/zigbee-topology-DhleVwin.js",
|
||||
"houseplan-assets/zigbee-topology-runtime-bVchrMyY.js"
|
||||
],
|
||||
"dynamicImports": []
|
||||
},
|
||||
{
|
||||
"path": "houseplan-assets/iso-scene-render-DsUgBekm.js",
|
||||
"sha256": "dcda23458d1ad2625f455061aa719e82d6a70cb7b2bdf3982ce010f44ff75c45",
|
||||
"path": "houseplan-assets/iso-scene-render-DGlrwMHW.js",
|
||||
"sha256": "beb35b52723c808284409243cbab0d632237e417c46e2004ff8d24a0799425d4",
|
||||
"rawBytes": 38562,
|
||||
"gzipBytes": 13088,
|
||||
"isEntry": false,
|
||||
"imports": [
|
||||
"houseplan-assets/guard-mBr5nP05.js",
|
||||
"houseplan-assets/houseplan-card-CIDOTv_g.js"
|
||||
"houseplan-assets/guard-BoWMUZ7o.js",
|
||||
"houseplan-assets/houseplan-card-YE40fvv1.js"
|
||||
],
|
||||
"dynamicImports": []
|
||||
},
|
||||
{
|
||||
"path": "houseplan-assets/live-interaction-runtime-xaQDMprZ.js",
|
||||
"sha256": "8b39b9b85dd604d82e90cb1c5c92d80a8961a245166b6538800499b8d933abe4",
|
||||
"path": "houseplan-assets/live-interaction-runtime-D0PZDT7G.js",
|
||||
"sha256": "cafdf2fd4e2e89d856e6ec63dfed48bb0249beade2aa02e945a1b1b26d395c9f",
|
||||
"rawBytes": 5196,
|
||||
"gzipBytes": 2130,
|
||||
"gzipBytes": 2128,
|
||||
"isEntry": false,
|
||||
"imports": [
|
||||
"houseplan-assets/houseplan-card-CIDOTv_g.js"
|
||||
"houseplan-assets/houseplan-card-YE40fvv1.js"
|
||||
],
|
||||
"dynamicImports": []
|
||||
},
|
||||
{
|
||||
"path": "houseplan-assets/pdf-export-DSGaEcEn.js",
|
||||
"sha256": "a007568958b74904996d157f0812f8b1afe1ae079e7d06247c7d0694546737b6",
|
||||
"path": "houseplan-assets/pdf-export-Dr1KIZgo.js",
|
||||
"sha256": "bc24430312d0d50c76ff98d640824b292f75af4975897fa2bae629f5ff3d9a0c",
|
||||
"rawBytes": 236841,
|
||||
"gzipBytes": 110071,
|
||||
"gzipBytes": 110067,
|
||||
"isEntry": false,
|
||||
"imports": [
|
||||
"houseplan-assets/furniture-plan-art.generated-C1hUGE0m.js",
|
||||
"houseplan-assets/houseplan-card-CIDOTv_g.js"
|
||||
"houseplan-assets/furniture-plan-art.generated-DWczm8-2.js",
|
||||
"houseplan-assets/houseplan-card-YE40fvv1.js"
|
||||
],
|
||||
"dynamicImports": []
|
||||
},
|
||||
{
|
||||
"path": "houseplan-assets/summary-panel-editor-r-d4RFjx.js",
|
||||
"sha256": "a82f1f7a41075aae9c2e1c7668d6ac8c3613a104de480a3d776a3be71cb0cb86",
|
||||
"path": "houseplan-assets/summary-panel-editor-DmZWqUNj.js",
|
||||
"sha256": "d5d61589700ea081e17abc1012844554559824bb71354107d33c7a3b13b783ea",
|
||||
"rawBytes": 14824,
|
||||
"gzipBytes": 3404,
|
||||
"gzipBytes": 3401,
|
||||
"isEntry": false,
|
||||
"imports": [
|
||||
"houseplan-assets/houseplan-card-CIDOTv_g.js",
|
||||
"houseplan-assets/summary-panel-runtime-loaded-BOLxK6VT.js"
|
||||
"houseplan-assets/houseplan-card-YE40fvv1.js",
|
||||
"houseplan-assets/summary-panel-runtime-loaded-BBEDkGjk.js"
|
||||
],
|
||||
"dynamicImports": []
|
||||
},
|
||||
{
|
||||
"path": "houseplan-assets/summary-panel-metrics-bFft1lTY.js",
|
||||
"sha256": "43b49a28813e83b6dadddf3b514ebb8978e5460db5d8b39970e2932f5d7ff12d",
|
||||
"path": "houseplan-assets/summary-panel-metrics-CvLZwEaV.js",
|
||||
"sha256": "6bd34a1d64a276b98a517bee18a257e198eb37fcf37825d0d996d2f61633ed25",
|
||||
"rawBytes": 2610,
|
||||
"gzipBytes": 1308,
|
||||
"gzipBytes": 1307,
|
||||
"isEntry": false,
|
||||
"imports": [
|
||||
"houseplan-assets/houseplan-card-CIDOTv_g.js"
|
||||
"houseplan-assets/houseplan-card-YE40fvv1.js"
|
||||
],
|
||||
"dynamicImports": []
|
||||
},
|
||||
{
|
||||
"path": "houseplan-assets/summary-panel-runtime-loaded-BOLxK6VT.js",
|
||||
"sha256": "abaad9bab1ebd5b807b03ae4b194e4f5eb9f3599b46acc68768dba2287529406",
|
||||
"path": "houseplan-assets/summary-panel-runtime-loaded-BBEDkGjk.js",
|
||||
"sha256": "4111782c8085e0fcaf30af0a2737b961ae5a1438911257c74864e45f1161a596",
|
||||
"rawBytes": 72272,
|
||||
"gzipBytes": 19728,
|
||||
"gzipBytes": 19729,
|
||||
"isEntry": false,
|
||||
"imports": [
|
||||
"houseplan-assets/houseplan-card-CIDOTv_g.js"
|
||||
"houseplan-assets/houseplan-card-YE40fvv1.js"
|
||||
],
|
||||
"dynamicImports": [
|
||||
"houseplan-assets/summary-panel-editor-r-d4RFjx.js",
|
||||
"houseplan-assets/summary-panel-metrics-bFft1lTY.js"
|
||||
"houseplan-assets/summary-panel-editor-DmZWqUNj.js",
|
||||
"houseplan-assets/summary-panel-metrics-CvLZwEaV.js"
|
||||
]
|
||||
},
|
||||
{
|
||||
"path": "houseplan-assets/zigbee-topology-DBPd-Wk3.js",
|
||||
"sha256": "9e96d73d7d8e63f4650c7afef29b4f4430d605661005506371d21c55161d95ed",
|
||||
"path": "houseplan-assets/zigbee-topology-DhleVwin.js",
|
||||
"sha256": "617b14dcb28fa2185d49bf8d4abd51d0d236f1b577a04433262524f503a6c7af",
|
||||
"rawBytes": 18961,
|
||||
"gzipBytes": 7428,
|
||||
"gzipBytes": 7431,
|
||||
"isEntry": false,
|
||||
"imports": [
|
||||
"houseplan-assets/houseplan-card-CIDOTv_g.js"
|
||||
"houseplan-assets/houseplan-card-YE40fvv1.js"
|
||||
],
|
||||
"dynamicImports": []
|
||||
},
|
||||
{
|
||||
"path": "houseplan-assets/zigbee-topology-runtime-3AKpF54Q.js",
|
||||
"sha256": "efd707aafb4b4f94e78d73285be5728242a6e512a7e69f74fc9b6ba9e5648217",
|
||||
"path": "houseplan-assets/zigbee-topology-runtime-bVchrMyY.js",
|
||||
"sha256": "9727aad6aca6b1159a1b370307d710e04ada6c8800e0d808e4553dff845709cd",
|
||||
"rawBytes": 3941,
|
||||
"gzipBytes": 1765,
|
||||
"gzipBytes": 1762,
|
||||
"isEntry": false,
|
||||
"imports": [
|
||||
"houseplan-assets/houseplan-card-CIDOTv_g.js",
|
||||
"houseplan-assets/zigbee-topology-DBPd-Wk3.js"
|
||||
"houseplan-assets/houseplan-card-YE40fvv1.js",
|
||||
"houseplan-assets/zigbee-topology-DhleVwin.js"
|
||||
],
|
||||
"dynamicImports": []
|
||||
},
|
||||
{
|
||||
"path": "houseplan-card.js",
|
||||
"sha256": "fbbcbfa3eccc6d12727efb29427dacd3c6b0c7a814cbb256f0dd1af5c81d7818",
|
||||
"sha256": "dff0b2054b275eb9d9e82b84c35046f6c389fb3c7b2d7e4ef3d72d31db0d8185",
|
||||
"rawBytes": 1205,
|
||||
"gzipBytes": 805,
|
||||
"gzipBytes": 804,
|
||||
"isEntry": true,
|
||||
"imports": [
|
||||
"houseplan-assets/houseplan-card-CIDOTv_g.js"
|
||||
"houseplan-assets/houseplan-card-YE40fvv1.js"
|
||||
],
|
||||
"dynamicImports": []
|
||||
},
|
||||
{
|
||||
"path": "houseplan-panel.js",
|
||||
"sha256": "64088cfe9815b5f067f12a15448276286561cfc083d59c06d00d07f1a51a17e3",
|
||||
"sha256": "24b396cbddac1463f3b733db803911389ae87ea4b5a2d5cb7c840aeff18649ae",
|
||||
"rawBytes": 6124,
|
||||
"gzipBytes": 2306,
|
||||
"gzipBytes": 2305,
|
||||
"isEntry": true,
|
||||
"imports": [
|
||||
"houseplan-card.js"
|
||||
|
||||
+6
-6
File diff suppressed because one or more lines are too long
+1
-1
File diff suppressed because one or more lines are too long
+3
-3
@@ -1,14 +1,14 @@
|
||||
globalThis.__HOUSEPLAN_BUILD_FINGERPRINT__="6f12d9312dc39371e05ac6b5778215b61b18f6d249a4ae38b50c3945393f253b";import{m as e,l as o,t,e3 as s,A as a,e4 as i,e5 as l,e6 as n,dU as r,b as c}from"./houseplan-card-CIDOTv_g.js";class h extends e{constructor(){super(...arguments),this._spaces=null,this._spacesLoading=!1,this._spacesAuthoritative=!1}setConfig(e){this._config=e}async _loadSpaces(){if(!this._spaces&&!this._spacesLoading&&this.hass){this._spacesLoading=!0;try{const e=await this.hass.callWS({type:"houseplan/config/get"});this._spaces=(e?.config?.spaces||[]).map(e=>({value:e.id,label:e.title||e.id})),this._spacesAuthoritative=!0}catch{this._spaces=[],this._spacesAuthoritative=!1}finally{this._spacesLoading=!1}}}get _lang(){return o(this.hass,this._config?.language)}get _floorToken(){const e=this._config?.floor;return"number"==typeof e?`__houseplan_yaml_floor_index__:${String(e)}`:null}get _formData(){const e={...this._config},o=this._floorToken;return o?e.floor=o:Object.prototype.hasOwnProperty.call(e,"floor")||(e.floor=""),e}get _schema(){const e=this._spaces||[],o=this._lang,a=[{value:"",label:t(o,"editor.floor_none")}],i=this._floorToken;i&&a.push({value:i,label:t(o,"editor.floor_index",{index:String(this._config?.floor)})});const l="string"==typeof this._config?.floor?this._config.floor:"";l&&!e.some(e=>e.value===l)&&a.push({value:l,label:l}),a.push(...e);const n="string"==typeof this._config?.default_floor?this._config.default_floor:"",r=[...e];return n&&!e.some(e=>e.value===n)&&r.unshift({value:n,label:n}),[{name:"title",selector:{text:{}}},{name:"floor",selector:{select:{mode:"dropdown",options:a}}},e.length?{name:"default_floor",selector:{select:{mode:"dropdown",options:r}}}:{name:"default_floor",selector:{text:{}}},{name:"language",selector:{select:{mode:"dropdown",options:s(t(o,"editor.lang_auto"),this._config?.language)}}},{name:"icon_size",selector:{number:{min:1,max:6,step:.1,mode:"box"}}},{name:"show_temperature",selector:{boolean:{}}},{name:"live_states",selector:{boolean:{}}},{name:"show_signal",selector:{boolean:{}}},{name:"kiosk",selector:{boolean:{}}},{name:"cycle",selector:{number:{min:0,max:3600,step:5,mode:"box"}}}]}render(){if(!this.hass||!this._config)return a;const e=i(this,l,o(this.hass,this._config.language));if("cold"===e)return n();if("warm"===e)return r;this._loadSpaces();const s=this._lang,h={title:t(s,"editor.title"),floor:t(s,"editor.floor"),default_floor:t(s,"editor.default_floor"),language:t(s,"editor.language"),icon_size:t(s,"editor.icon_size"),show_temperature:t(s,"editor.show_temperature"),live_states:t(s,"editor.live_states"),show_signal:t(s,"editor.show_signal"),kiosk:t(s,"editor.kiosk"),cycle:t(s,"editor.cycle")},f=this._schema,_=function(e,o,t){if(!t||null===o)return null;const s="string"==typeof e?.default_floor?e.default_floor:"";return!s||o.some(e=>e.value===s)?null:s}(this._config,this._spaces,this._spacesAuthoritative),d=e=>c`<ha-form
|
||||
globalThis.__HOUSEPLAN_BUILD_FINGERPRINT__="b47c3e03a9479551812b6a9233e3795cc51fb519726920a5969b4c9233f92370";import{m as e,l as o,t,e3 as s,A as a,e4 as i,e5 as l,e6 as n,dU as r,b as c}from"./houseplan-card-YE40fvv1.js";class h extends e{constructor(){super(...arguments),this._spaces=null,this._spacesLoading=!1,this._spacesAuthoritative=!1}setConfig(e){this._config=e}async _loadSpaces(){if(!this._spaces&&!this._spacesLoading&&this.hass){this._spacesLoading=!0;try{const e=await this.hass.callWS({type:"houseplan/config/get"});this._spaces=(e?.config?.spaces||[]).map(e=>({value:e.id,label:e.title||e.id})),this._spacesAuthoritative=!0}catch{this._spaces=[],this._spacesAuthoritative=!1}finally{this._spacesLoading=!1}}}get _lang(){return o(this.hass,this._config?.language)}get _floorToken(){const e=this._config?.floor;return"number"==typeof e?`__houseplan_yaml_floor_index__:${String(e)}`:null}get _formData(){const e={...this._config},o=this._floorToken;return o?e.floor=o:Object.prototype.hasOwnProperty.call(e,"floor")||(e.floor=""),e}get _schema(){const e=this._spaces||[],o=this._lang,a=[{value:"",label:t(o,"editor.floor_none")}],i=this._floorToken;i&&a.push({value:i,label:t(o,"editor.floor_index",{index:String(this._config?.floor)})});const l="string"==typeof this._config?.floor?this._config.floor:"";l&&!e.some(e=>e.value===l)&&a.push({value:l,label:l}),a.push(...e);const n="string"==typeof this._config?.default_floor?this._config.default_floor:"",r=[...e];return n&&!e.some(e=>e.value===n)&&r.unshift({value:n,label:n}),[{name:"title",selector:{text:{}}},{name:"floor",selector:{select:{mode:"dropdown",options:a}}},e.length?{name:"default_floor",selector:{select:{mode:"dropdown",options:r}}}:{name:"default_floor",selector:{text:{}}},{name:"language",selector:{select:{mode:"dropdown",options:s(t(o,"editor.lang_auto"),this._config?.language)}}},{name:"icon_size",selector:{number:{min:1,max:6,step:.1,mode:"box"}}},{name:"show_temperature",selector:{boolean:{}}},{name:"live_states",selector:{boolean:{}}},{name:"show_signal",selector:{boolean:{}}},{name:"kiosk",selector:{boolean:{}}},{name:"cycle",selector:{number:{min:0,max:3600,step:5,mode:"box"}}}]}render(){if(!this.hass||!this._config)return a;const e=i(this,l,o(this.hass,this._config.language));if("cold"===e)return n();if("warm"===e)return r;this._loadSpaces();const s=this._lang,h={title:t(s,"editor.title"),floor:t(s,"editor.floor"),default_floor:t(s,"editor.default_floor"),language:t(s,"editor.language"),icon_size:t(s,"editor.icon_size"),show_temperature:t(s,"editor.show_temperature"),live_states:t(s,"editor.live_states"),show_signal:t(s,"editor.show_signal"),kiosk:t(s,"editor.kiosk"),cycle:t(s,"editor.cycle")},f=this._schema,_=function(e,o,t){if(!t||null===o)return null;const s="string"==typeof e?.default_floor?e.default_floor:"";return!s||o.some(e=>e.value===s)?null:s}(this._config,this._spaces,this._spacesAuthoritative),u=e=>c`<ha-form
|
||||
.hass=${this.hass}
|
||||
.data=${this._formData}
|
||||
.schema=${e}
|
||||
.computeLabel=${e=>h[e.name]||e.name}
|
||||
@value-changed=${this._valueChanged}
|
||||
></ha-form>`;return c`
|
||||
${d(f.slice(0,3))}
|
||||
${u(f.slice(0,3))}
|
||||
${_?c`<div class="default-floor-error" role="alert"
|
||||
style="color:var(--error-color,#db4437);margin:-4px 0 12px;overflow-wrap:anywhere">
|
||||
${t(s,"editor.default_floor_missing",{id:_})}
|
||||
</div>`:a}
|
||||
${d(f.slice(3))}
|
||||
${u(f.slice(3))}
|
||||
`}_valueChanged(e){const o={...this._config,...e.detail.value};""===o.floor?delete o.floor:o.floor===this._floorToken&&(o.floor=this._config?.floor);const t=new Event("config-changed",{bubbles:!0,composed:!0});t.detail={config:o},this.dispatchEvent(t)}}h.properties={hass:{attribute:!1},_config:{state:!0},_spaces:{state:!0}},customElements.get("houseplan-card-editor")||customElements.define("houseplan-card-editor",h);
|
||||
+1
-1
File diff suppressed because one or more lines are too long
+1
-1
File diff suppressed because one or more lines are too long
+1
-1
@@ -1 +1 @@
|
||||
globalThis.__HOUSEPLAN_BUILD_FINGERPRINT__="6f12d9312dc39371e05ac6b5778215b61b18f6d249a4ae38b50c3945393f253b";import{dS as r,dT as t,dU as s}from"./houseplan-card-CIDOTv_g.js";const e={},a=r(class extends t{constructor(){super(...arguments),this.ot=e}render(r,t){return t()}update(r,[t,e]){if(Array.isArray(t)){if(Array.isArray(this.ot)&&this.ot.length===t.length&&t.every((r,t)=>r===this.ot[t]))return s}else if(this.ot===t)return s;return this.ot=Array.isArray(t)?Array.from(t):t,this.render(t,e)}});export{a as i};
|
||||
globalThis.__HOUSEPLAN_BUILD_FINGERPRINT__="b47c3e03a9479551812b6a9233e3795cc51fb519726920a5969b4c9233f92370";import{dS as r,dT as t,dU as s}from"./houseplan-card-YE40fvv1.js";const e={},a=r(class extends t{constructor(){super(...arguments),this.ot=e}render(r,t){return t()}update(r,[t,e]){if(Array.isArray(t)){if(Array.isArray(this.ot)&&this.ot.length===t.length&&t.every((r,t)=>r===this.ot[t]))return s}else if(this.ot===t)return s;return this.ot=Array.isArray(t)?Array.from(t):t,this.render(t,e)}});export{a as i};
|
||||
+5
-5
File diff suppressed because one or more lines are too long
+3
-3
File diff suppressed because one or more lines are too long
+1
-1
@@ -1,4 +1,4 @@
|
||||
globalThis.__HOUSEPLAN_BUILD_FINGERPRINT__="6f12d9312dc39371e05ac6b5778215b61b18f6d249a4ae38b50c3945393f253b";import{l as t,b0 as s,A as e,t as a,b as o,cj as l,ck as i,cl as h,cm as c,aZ as n,cn as r,cs as p,co as d,cp as _,cq as u,cr as g,ct as m,cu as b,dp as $,dq as v,dr as f,aY as y,a_ as w,ds as D}from"./houseplan-card-CIDOTv_g.js";import{c as k,e as S,r as C,a as M}from"./backdrop-pick-BRUWvEWp.js";const F=1e3,x=t=>{if(!t.trim())return null;const s=Number(t.replace(",","."));return Number.isFinite(s)?s:null},T="6f12d9312dc39371e05ac6b5778215b61b18f6d249a4ae38b50c3945393f253b";class L{constructor(t){this.host=t,this._toggleServerPlans=async()=>{const t=this.host._spaceDialog;if(t)if(t.pickSaved)this.host._spaceDialog={...t,pickSaved:!1};else{this.host._spaceDialog={...t,pickSaved:!0,savedBusy:!0};try{const t=await this.host.hass.callWS({type:"houseplan/plans/list"}),s=this.host._spaceDialog;s&&(this.host._spaceDialog={...s,saved:t?.plans||[],savedBusy:!1})}catch(t){const s=this.host._spaceDialog;s&&(this.host._spaceDialog={...s,saved:[],savedBusy:!1}),this.host._showToast(this.host._t("toast.plans_list_failed",{err:this.host._errText(t)}))}}}}_help(l){const i=`${l}.aria`,h=t(this.host.hass,this.host._config?.language);return s(h,l)&&s(h,i)?o`<hp-help data-help-key=${l}
|
||||
globalThis.__HOUSEPLAN_BUILD_FINGERPRINT__="b47c3e03a9479551812b6a9233e3795cc51fb519726920a5969b4c9233f92370";import{l as t,b0 as s,A as e,t as a,b as o,cj as l,ck as i,cl as h,cm as c,aZ as n,cn as r,cs as p,co as d,cp as _,cq as u,cr as g,ct as m,cu as b,dp as $,dq as v,dr as f,aY as y,a_ as w,ds as D}from"./houseplan-card-YE40fvv1.js";import{c as k,e as S,r as C,a as M}from"./backdrop-pick-Ckp0PBXt.js";const F=1e3,x=t=>{if(!t.trim())return null;const s=Number(t.replace(",","."));return Number.isFinite(s)?s:null},T="b47c3e03a9479551812b6a9233e3795cc51fb519726920a5969b4c9233f92370";class L{constructor(t){this.host=t,this._toggleServerPlans=async()=>{const t=this.host._spaceDialog;if(t)if(t.pickSaved)this.host._spaceDialog={...t,pickSaved:!1};else{this.host._spaceDialog={...t,pickSaved:!0,savedBusy:!0};try{const t=await this.host.hass.callWS({type:"houseplan/plans/list"}),s=this.host._spaceDialog;s&&(this.host._spaceDialog={...s,saved:t?.plans||[],savedBusy:!1})}catch(t){const s=this.host._spaceDialog;s&&(this.host._spaceDialog={...s,saved:[],savedBusy:!1}),this.host._showToast(this.host._t("toast.plans_list_failed",{err:this.host._errText(t)}))}}}}_help(l){const i=`${l}.aria`,h=t(this.host.hass,this.host._config?.language);return s(h,l)&&s(h,i)?o`<hp-help data-help-key=${l}
|
||||
.text=${a(h,l)} .ariaLabel=${a(h,i)}></hp-help>`:e}_openSpaceDialog(t,s){if(!this.host._serverStorage||!this.host._serverCfg)return void this.host._showToast(this.host._t("toast.integration_missing"));if("edit"===t){const e=this.host._serverCfg.spaces.find(t=>t.id===s);if(!e)return;const a=l(e),o=e.settings?.custom_fill&&"object"==typeof e.settings.custom_fill?i(e.settings.custom_fill):null,p="none"===a.fill?{...o||h,a:0}:o;return void(this.host._spaceDialog={mode:t,spaceId:s,title:e.title,planUrl:e.plan_url||null,planFile:null,source:e.plan_url?"file":"draw",showBorders:a.showBorders,showNames:a.showNames,zeroWallStyle:r(e),displayTouched:!0,hideDecor:a.hideDecor,hideOpenings:a.hideOpenings,roomColor:a.color,roomOpacity:a.opacity,fillMode:"none"===a.fill?"custom":a.fill,customFill:p,glowEnabled:a.glow,bgColor:a.bgColor,bgMode:"static"===e.settings?.bg_mode||"daynight"===e.settings?.bg_mode?e.settings.bg_mode:null,northDeg:n({},e.settings),sunRays:"boolean"==typeof e.settings?.sun_rays?e.settings.sun_rays:null,tempMin:a.tempMin,tempMax:a.tempMax,showLqi:a.showLqi??this.host._config?.show_signal??!0,cardFontScale:a.cardFontScale,labelTemp:a.labelTemp,labelHum:a.labelHum,labelLqi:a.labelLqi,labelLight:a.labelLight,cellCm:Number(e.cell_cm)>0?Number(e.cell_cm):5,cellCmInput:c(Number(e.cell_cm)>0?Number(e.cell_cm):5,this.host._imperial),cellCmTouched:!1,busy:!1})}const e=p(this.host._imperial);this.host._spaceDialog={mode:t,title:"",planUrl:null,planFile:null,...m(),hideDecor:!1,hideOpenings:!1,zeroWallStyle:"dashed",roomColor:g,roomOpacity:u,fillMode:"custom",customFill:{...h,a:0},glowEnabled:!0,bgColor:null,bgMode:"daynight",northDeg:null,sunRays:null,tempMin:_,tempMax:d,showLqi:this.host._config?.show_signal??!0,cardFontScale:1,labelTemp:!1,labelHum:!1,labelLqi:!1,labelLight:!1,cellCm:e,cellCmInput:c(e,this.host._imperial),cellCmTouched:!1,busy:!1}}async _pickPlanFile(t){const s=t.target,e=s.files?.[0];if(!e||!this.host._spaceDialog)return;s.value="";const a=await k(e);if("reject"===a.kind)return void this.host._showToast(this.host._t("toast.plan_formats"));if("guard"===a.kind)return void(this.host._backdropGuard=a.state);const o=await S(e,a.ext,e.name);this.host._spaceDialog&&(this.host._spaceDialog={...this.host._spaceDialog,planFile:o})}_renderBackdropGuard(){return C(this.host,t=>{this.host._spaceDialog&&(this.host._spaceDialog={...this.host._spaceDialog,planFile:t})},()=>{this.host._backdropGuard=null},this.host.hass)??e}_useServerPlan(t){const s=this.host._spaceDialog;s&&(this.host._spaceDialog={...s,planUrl:t,planFile:null,pickSaved:!1,savedAspect:void 0},this.host._aspectJob=this._readPlanAspect(t))}async _readPlanAspect(t){for(let s=0;s<40;s++){const s=this.host._display(t);if(s){const e=await new Promise(t=>{const e=new Image;e.onload=()=>t(e.naturalWidth&&e.naturalHeight?e.naturalWidth/e.naturalHeight:0),e.onerror=()=>t(0),e.src=s}),a=this.host._spaceDialog;return a&&a.planUrl===t&&Number.isFinite(e)&&e>0?(this.host._spaceDialog={...a,savedAspect:e},e):0}if(await new Promise(t=>setTimeout(t,150)),this.host._spaceDialog?.planUrl!==t)return 0}return 0}async _deleteServerPlan(t){const s=this.host._spaceDialog,e=s?.saved?.find(s=>s.name===t);if(!s||!e||e.used_by.length||e.url===s.planUrl)return;const a=await this.host._confirmDanger({key:"delete-plan",kind:"destructive",title:this.host._t("confirm.delete_plan_title"),message:this.host._t("confirm.delete_plan_body"),objectName:t,confirmLabel:this.host._t("btn.delete"),cancelLabel:this.host._t("btn.cancel")}),o=this.host._spaceDialog,l=o?.saved?.find(s=>s.name===t);if(a&&o&&l&&l.url===e.url&&l.modified===e.modified&&!l.used_by.length&&l.url!==o.planUrl)try{await this.host.hass.callWS({type:"houseplan/plans/delete",name:t});const s=this.host._spaceDialog;s?.saved&&(this.host._spaceDialog={...s,saved:s.saved.filter(s=>s.name!==t)})}catch(t){this.host._showToast(this.host._t("toast.plan_delete_failed",{err:this.host._errText(t)}))}}_renderServerPlans(t){if(t.savedBusy)return o`<div class="savedplans muted">${this.host._t("space.loading")}</div>`;const s=t.saved||[];if(!s.length)return o`<div class="savedplans muted">${this.host._t("space.no_saved")}</div>`;return o`<div class="savedplans">
|
||||
${s.map(s=>{return o`
|
||||
<div class="savedplan ${s.url===t.planUrl?"cur":""}">
|
||||
+1
-1
File diff suppressed because one or more lines are too long
+1
-1
File diff suppressed because one or more lines are too long
+1
-1
File diff suppressed because one or more lines are too long
+2
-2
File diff suppressed because one or more lines are too long
+1
-1
@@ -1,4 +1,4 @@
|
||||
globalThis.__HOUSEPLAN_BUILD_FINGERPRINT__="6f12d9312dc39371e05ac6b5778215b61b18f6d249a4ae38b50c3945393f253b";import{b as a,A as e}from"./houseplan-card-CIDOTv_g.js";import{s,n as t,a as l,m as r,b as o,c as i,d as u}from"./summary-panel-runtime-loaded-BOLxK6VT.js";const m=m=>{const{host:c,dialog:d,problems:n,t:b}=m,y=n.find(a=>"error"===a.kind),$=d.localShow!==d.baseLocalShow||!d.localOnly&&!s(t(d.draft),d.base),p=$&&!d.busy&&!y,v=a=>n.find(e=>e.path===a),h=a=>a?b(`summary.problem.${a.code}`):"",k=()=>m.close(),g=a`<label class="summary-switch" for="summary-local-show">
|
||||
globalThis.__HOUSEPLAN_BUILD_FINGERPRINT__="b47c3e03a9479551812b6a9233e3795cc51fb519726920a5969b4c9233f92370";import{b as a,A as e}from"./houseplan-card-YE40fvv1.js";import{s,n as t,a as l,m as r,b as o,c as i,d as u}from"./summary-panel-runtime-loaded-BBEDkGjk.js";const m=m=>{const{host:c,dialog:d,problems:n,t:b}=m,y=n.find(a=>"error"===a.kind),$=d.localShow!==d.baseLocalShow||!d.localOnly&&!s(t(d.draft),d.base),p=$&&!d.busy&&!y,v=a=>n.find(e=>e.path===a),h=a=>a?b(`summary.problem.${a.code}`):"",k=()=>m.close(),g=a`<label class="summary-switch" for="summary-local-show">
|
||||
<span class="summary-switch-caption"><strong>${b("summary.show_local")}</strong>
|
||||
<small id="summary-local-show-hint">${b("summary.show_local_hint")}</small></span>
|
||||
<input id="summary-local-show" data-summary-local-show type="checkbox"
|
||||
+1
-1
@@ -1 +1 @@
|
||||
globalThis.__HOUSEPLAN_BUILD_FINGERPRINT__="6f12d9312dc39371e05ac6b5778215b61b18f6d249a4ae38b50c3945393f253b";import{e9 as e,L as t,a2 as n,J as i,an as o,N as r,bo as s,bn as a,a1 as c,a0 as l,ax as u,ea as d,eb as f,bq as m,ec as g}from"./houseplan-card-CIDOTv_g.js";function v(e){if(!e.registry.authoritative)return null;const t=new Set,n=u(e.markers);for(const i of Object.values(e.registry.devices||{}))i?.id&&"service"!==i.entry_type&&!n.devices.has(i.id)&&i.area_id&&e.areaToSpace[i.area_id]&&t.add(i.id);for(const i of e.markers||[]){if(i.removed||"virtual"===i.binding)continue;const o=String(i.binding||"").indexOf(":");if(o<1)continue;const r=i.binding.slice(0,o),s=i.binding.slice(o+1),a="device"===r?e.registry.devices?.[s]:null,c="entity"===r?e.registry.entities?.[s]:null,l="device"===r?s:c?.device_id,u="device"===r?a?.area_id:c?.area_id||l&&e.registry.devices?.[l]?.area_id,d="string"==typeof i.room_id&&i.room_id.length>0&&null===i.area?"":i.area||u||"",f=d&&e.areaToSpace[d]||i.space||e.firstSpaceId;l&&e.registry.devices?.[l]&&e.spaceIds.has(f)&&(!n.devices.has(l)||"entity"===r&&n.liveEntities.has(s))&&t.add(l)}return t}function y(e,t){return e?.length?t?.length?g(e,t):e:t}function _(e,t){const n=c(e.rooms,t.walls,t.openCuts,[],i,t.cellCm,o,r);return{roomGeom:"ok"===n.status||"degraded-extra"===n.status?n.roomGeom:void 0,multiWallNodes:l(e.rooms,t.walls,t.openCuts,i,t.cellCm,o,r)}}function*b(c,l,u=_){try{let d=0;for(const f of l){const l=c.spaces.find(e=>String(e?.id)===f.id);if(!l)continue;const m=e(l,f),g=u(f,m);let v=null;for(const e of f.rooms){if(!e.id)continue;const a=t(e);if(!a)continue;const c=n(f.rooms,e.id,m.walls,m.openCuts,i,m.cellCm,o,r,g.roomGeom,g.multiWallNodes)||a;v=y(v,s(c,m.physicalBodies)),yield}const _=m.cellCm/o;d+=a(v)*_*_/1e4}return d}catch{return null}}function h(e,t,n=_){const i=b(e,t,n);let o=i.next();for(;!o.done;)o=i.next();return o.value}function p(e,t,n,i){if("system"!==e.type)return null;if("device_count"===e.key)return null===t.deviceCount?null:String(t.deviceCount);if("total_area"===e.key)return null===t.areaM2?null:m(t.areaM2,"mi"===n?.config?.unit_system?.length);try{return new Intl.DateTimeFormat(i||void 0,{dateStyle:"short",timeStyle:"short",timeZone:n?.config?.time_zone||void 0}).format(t.now)}catch{return t.now.toLocaleString()}}function S(e,t){const n=e?.states?.[t];if(!n)return null;const i=d(e,t);return i?f(i,String(n.attributes?.unit_of_measurement||"")):null}export{b as cleanFloorAreaSteps,v as representedHaDeviceIds,_ as spaceWallGeometry,S as summaryEntityValue,p as summarySystemValue,h as totalCleanFloorAreaM2};
|
||||
globalThis.__HOUSEPLAN_BUILD_FINGERPRINT__="b47c3e03a9479551812b6a9233e3795cc51fb519726920a5969b4c9233f92370";import{e9 as e,L as t,a2 as n,J as i,an as o,N as r,bo as s,bn as a,a1 as c,a0 as l,ax as u,ea as d,eb as f,bq as m,ec as g}from"./houseplan-card-YE40fvv1.js";function v(e){if(!e.registry.authoritative)return null;const t=new Set,n=u(e.markers);for(const i of Object.values(e.registry.devices||{}))i?.id&&"service"!==i.entry_type&&!n.devices.has(i.id)&&i.area_id&&e.areaToSpace[i.area_id]&&t.add(i.id);for(const i of e.markers||[]){if(i.removed||"virtual"===i.binding)continue;const o=String(i.binding||"").indexOf(":");if(o<1)continue;const r=i.binding.slice(0,o),s=i.binding.slice(o+1),a="device"===r?e.registry.devices?.[s]:null,c="entity"===r?e.registry.entities?.[s]:null,l="device"===r?s:c?.device_id,u="device"===r?a?.area_id:c?.area_id||l&&e.registry.devices?.[l]?.area_id,d="string"==typeof i.room_id&&i.room_id.length>0&&null===i.area?"":i.area||u||"",f=d&&e.areaToSpace[d]||i.space||e.firstSpaceId;l&&e.registry.devices?.[l]&&e.spaceIds.has(f)&&(!n.devices.has(l)||"entity"===r&&n.liveEntities.has(s))&&t.add(l)}return t}function y(e,t){return e?.length?t?.length?g(e,t):e:t}function _(e,t){const n=c(e.rooms,t.walls,t.openCuts,[],i,t.cellCm,o,r);return{roomGeom:"ok"===n.status||"degraded-extra"===n.status?n.roomGeom:void 0,multiWallNodes:l(e.rooms,t.walls,t.openCuts,i,t.cellCm,o,r)}}function*h(c,l,u=_){try{let d=0;for(const f of l){const l=c.spaces.find(e=>String(e?.id)===f.id);if(!l)continue;const m=e(l,f),g=u(f,m);let v=null;for(const e of f.rooms){if(!e.id)continue;const a=t(e);if(!a)continue;const c=n(f.rooms,e.id,m.walls,m.openCuts,i,m.cellCm,o,r,g.roomGeom,g.multiWallNodes)||a;v=y(v,s(c,m.physicalBodies)),yield}const _=m.cellCm/o;d+=a(v)*_*_/1e4}return d}catch{return null}}function p(e,t,n=_){const i=h(e,t,n);let o=i.next();for(;!o.done;)o=i.next();return o.value}function b(e,t,n,i){if("system"!==e.type)return null;if("device_count"===e.key)return null===t.deviceCount?null:String(t.deviceCount);if("total_area"===e.key)return null===t.areaM2?null:m(t.areaM2,"mi"===n?.config?.unit_system?.length);try{return new Intl.DateTimeFormat(i||void 0,{dateStyle:"short",timeStyle:"short",timeZone:n?.config?.time_zone||void 0}).format(t.now)}catch{return t.now.toLocaleString()}}function S(e,t){const n=e?.states?.[t];if(!n)return null;const i=d(e,t);return i?f(i,String(n.attributes?.unit_of_measurement||"")):null}export{h as cleanFloorAreaSteps,v as representedHaDeviceIds,_ as spaceWallGeometry,S as summaryEntityValue,b as summarySystemValue,p as totalCleanFloorAreaM2};
|
||||
+2
-2
File diff suppressed because one or more lines are too long
+1
-1
File diff suppressed because one or more lines are too long
+1
-1
@@ -1 +1 @@
|
||||
globalThis.__HOUSEPLAN_BUILD_FINGERPRINT__="6f12d9312dc39371e05ac6b5778215b61b18f6d249a4ae38b50c3945393f253b";import{n as t,b as n}from"./zigbee-topology-DBPd-Wk3.js";import{B as e}from"./houseplan-card-CIDOTv_g.js";const o=new WeakMap;function i(t){const n=function(t){const n=t?.connection||t;return!n||"object"!=typeof n&&"function"!=typeof n?null:n}(t);if(!n)return null;let e=o.get(n);return e||(e={revision:0,topologies:[],states:{},listeners:new Set,inflight:new Map},o.set(n,e)),e}function r(t,n,e){t.states={...t.states,[n]:e},function(t){t.revision++;for(const n of t.listeners)n()}(t)}function s(t){const n=t?.code;if("permission"===n||"unsupported"===n||"timeout"===n||"invalid_topic"===n||"invalid_payload"===n)return n;const e=String(t?.message||"").toLowerCase();return e.includes("unauthor")||e.includes("permission")?"permission":e.includes("unknown_command")||e.includes("not found")?"unsupported":"provider"}function a(t){return Object.assign(new Error(t),{code:t})}function c(t,n,e){const o=t.inflight.get(n);if(o)return o;r(t,n,{phase:"loading"});const i=e().then(n=>{if(!n.nodes.length&&n.warnings.some(t=>"invalid_payload"===t.code))throw a("invalid_payload");!function(t,n){t.topologies=[...t.topologies.filter(t=>!(t.provider===n.provider&&t.instanceId===n.instanceId)),n],r(t,"zha"===n.provider?"zha":`z2m:${n.instanceId}`,{phase:"ready",obtainedAt:n.obtainedAt,partial:n.warnings.length>0})}(t,n)}).catch(e=>{r(t,n,{phase:"error",error:s(e)})}).finally(()=>t.inflight.delete(n));return t.inflight.set(n,i),i}function l(t){const n=i(t);return n?{revision:n.revision,topologies:n.topologies,states:n.states}:{revision:0,topologies:[],states:{}}}function u(t,n){const e=i(t);return e?(e.listeners.add(n),()=>e.listeners.delete(n)):()=>{}}function p(t){if(!0!==t?.user?.is_admin)throw a("permission")}function f(n){const e=i(n);return e?c(e,"zha",async()=>{if(p(n),"function"!=typeof n?.callWS)throw a("unsupported");return t(await n.callWS({type:"zha/devices"}))}):Promise.resolve()}function d(t){return null!==t&&"object"==typeof t?t:null}function h(t){const n=d(t),e=n?.payload??t;if("string"!=typeof e)return e;try{return JSON.parse(e)}catch{return null}}async function g(t,n){let e;try{return await Promise.race([t,new Promise((t,o)=>{e=globalThis.setTimeout(()=>o(a("timeout")),Math.max(1,n))})])}finally{void 0!==e&&globalThis.clearTimeout(e)}}function m(t,o,r=15e4){const s=i(t);if(!s)return Promise.resolve();const l=e(o);return c(s,`z2m:${l||String(o)}`,async()=>{if(p(t),!l)throw a("invalid_topic");const e=t.connection,o=e?.subscribeMessage;if("function"!=typeof o||"function"!=typeof t?.callService)throw a("unsupported");const i=function(){const t=globalThis.crypto;return"function"==typeof t?.randomUUID?`houseplan-${t.randomUUID()}`:`houseplan-${Date.now().toString(36)}-${Math.random().toString(36).slice(2)}`}(),s=Date.now()+Math.max(1,r);let c=!1,u=null,f=null,m=null;const y=new Promise(t=>{u=t}),w=new Promise((t,n)=>{f=t,m=n}),b=[];try{const r=await o.call(e,t=>{!0===d(t)?.retain&&h(t)&&u?.()},{type:"mqtt/subscribe",topic:`${l}/bridge/info`});"function"==typeof r&&b.push(r);const p=await o.call(e,t=>{if(!0===d(t)?.retain)return;const n=h(t);null!==n?n&&function(t){const n=d(t),e=n?.transaction??d(n?.data)?.transaction;return"string"==typeof e||"number"==typeof e?String(e):null}(n)===i&&f?.(n):c&&m?.(a("invalid_payload"))},{type:"mqtt/subscribe",topic:`${l}/bridge/response/networkmap`});"function"==typeof p&&b.push(p),await g(y,Math.min(4e3,Math.max(1,s-Date.now()))),c=!0,await t.callService("mqtt","publish",{topic:`${l}/bridge/request/networkmap`,payload:JSON.stringify({type:"raw",routes:!1,transaction:i}),qos:0,retain:!1});const v=await g(w,s-Date.now()),_=d(v)?.status;if(_&&"ok"!==_)throw a("provider");return n(v,l)}finally{for(const t of b)try{t()}catch{}}})}export{f as readZhaTopology,m as refreshZ2mTopology,u as subscribeZigbeeTopology,l as zigbeeTopologyRuntimeSnapshot};
|
||||
globalThis.__HOUSEPLAN_BUILD_FINGERPRINT__="b47c3e03a9479551812b6a9233e3795cc51fb519726920a5969b4c9233f92370";import{n as t,b as n}from"./zigbee-topology-DhleVwin.js";import{B as e}from"./houseplan-card-YE40fvv1.js";const o=new WeakMap;function i(t){const n=function(t){const n=t?.connection||t;return!n||"object"!=typeof n&&"function"!=typeof n?null:n}(t);if(!n)return null;let e=o.get(n);return e||(e={revision:0,topologies:[],states:{},listeners:new Set,inflight:new Map},o.set(n,e)),e}function r(t,n,e){t.states={...t.states,[n]:e},function(t){t.revision++;for(const n of t.listeners)n()}(t)}function s(t){const n=t?.code;if("permission"===n||"unsupported"===n||"timeout"===n||"invalid_topic"===n||"invalid_payload"===n)return n;const e=String(t?.message||"").toLowerCase();return e.includes("unauthor")||e.includes("permission")?"permission":e.includes("unknown_command")||e.includes("not found")?"unsupported":"provider"}function a(t){return Object.assign(new Error(t),{code:t})}function c(t,n,e){const o=t.inflight.get(n);if(o)return o;r(t,n,{phase:"loading"});const i=e().then(n=>{if(!n.nodes.length&&n.warnings.some(t=>"invalid_payload"===t.code))throw a("invalid_payload");!function(t,n){t.topologies=[...t.topologies.filter(t=>!(t.provider===n.provider&&t.instanceId===n.instanceId)),n],r(t,"zha"===n.provider?"zha":`z2m:${n.instanceId}`,{phase:"ready",obtainedAt:n.obtainedAt,partial:n.warnings.length>0})}(t,n)}).catch(e=>{r(t,n,{phase:"error",error:s(e)})}).finally(()=>t.inflight.delete(n));return t.inflight.set(n,i),i}function l(t){const n=i(t);return n?{revision:n.revision,topologies:n.topologies,states:n.states}:{revision:0,topologies:[],states:{}}}function u(t,n){const e=i(t);return e?(e.listeners.add(n),()=>e.listeners.delete(n)):()=>{}}function p(t){if(!0!==t?.user?.is_admin)throw a("permission")}function f(n){const e=i(n);return e?c(e,"zha",async()=>{if(p(n),"function"!=typeof n?.callWS)throw a("unsupported");return t(await n.callWS({type:"zha/devices"}))}):Promise.resolve()}function d(t){return null!==t&&"object"==typeof t?t:null}function h(t){const n=d(t),e=n?.payload??t;if("string"!=typeof e)return e;try{return JSON.parse(e)}catch{return null}}async function g(t,n){let e;try{return await Promise.race([t,new Promise((t,o)=>{e=globalThis.setTimeout(()=>o(a("timeout")),Math.max(1,n))})])}finally{void 0!==e&&globalThis.clearTimeout(e)}}function m(t,o,r=15e4){const s=i(t);if(!s)return Promise.resolve();const l=e(o);return c(s,`z2m:${l||String(o)}`,async()=>{if(p(t),!l)throw a("invalid_topic");const e=t.connection,o=e?.subscribeMessage;if("function"!=typeof o||"function"!=typeof t?.callService)throw a("unsupported");const i=function(){const t=globalThis.crypto;return"function"==typeof t?.randomUUID?`houseplan-${t.randomUUID()}`:`houseplan-${Date.now().toString(36)}-${Math.random().toString(36).slice(2)}`}(),s=Date.now()+Math.max(1,r);let c=!1,u=null,f=null,m=null;const y=new Promise(t=>{u=t}),w=new Promise((t,n)=>{f=t,m=n}),b=[];try{const r=await o.call(e,t=>{!0===d(t)?.retain&&h(t)&&u?.()},{type:"mqtt/subscribe",topic:`${l}/bridge/info`});"function"==typeof r&&b.push(r);const p=await o.call(e,t=>{if(!0===d(t)?.retain)return;const n=h(t);null!==n?n&&function(t){const n=d(t),e=n?.transaction??d(n?.data)?.transaction;return"string"==typeof e||"number"==typeof e?String(e):null}(n)===i&&f?.(n):c&&m?.(a("invalid_payload"))},{type:"mqtt/subscribe",topic:`${l}/bridge/response/networkmap`});"function"==typeof p&&b.push(p),await g(y,Math.min(4e3,Math.max(1,s-Date.now()))),c=!0,await t.callService("mqtt","publish",{topic:`${l}/bridge/request/networkmap`,payload:JSON.stringify({type:"raw",routes:!1,transaction:i}),qos:0,retain:!1});const v=await g(w,s-Date.now()),_=d(v)?.status;if(_&&"ok"!==_)throw a("provider");return n(v,l)}finally{for(const t of b)try{t()}catch{}}})}export{f as readZhaTopology,m as refreshZ2mTopology,u as subscribeZigbeeTopology,l as zigbeeTopologyRuntimeSnapshot};
|
||||
@@ -1 +1 @@
|
||||
globalThis.__HOUSEPLAN_BUILD_FINGERPRINT__="6f12d9312dc39371e05ac6b5778215b61b18f6d249a4ae38b50c3945393f253b";try{await import("./houseplan-assets/houseplan-card-CIDOTv_g.js")}catch(e){if(!customElements.get("houseplan-card")){const l=String(navigator.language||"en").toLowerCase();const m=l.startsWith("ru")?"House Plan обновился — перезагрузите страницу (Ctrl+F5).":l.startsWith("de")?"House Plan wurde aktualisiert — bitte laden Sie die Seite neu (Strg+F5).":l.startsWith("fr")?"House Plan a été mis à jour — veuillez recharger la page (Ctrl+F5).":"House Plan was updated — please reload the page (Ctrl+F5).";customElements.define("houseplan-card",class extends HTMLElement{setConfig(){}getCardSize(){return 1}connectedCallback(){this.style.cssText="display:block;box-sizing:border-box;padding:16px;border:1px solid var(--divider-color,#e0e0e0);border-radius:var(--ha-card-border-radius,12px);background:var(--card-background-color,#fff);color:var(--primary-text-color,#212121);font:14px/1.4 var(--paper-font-body1_-_font-family,sans-serif)";this.textContent=m}})}console.error("[houseplan] stale houseplan-card.js: the implementation chunk is unavailable",e)}
|
||||
globalThis.__HOUSEPLAN_BUILD_FINGERPRINT__="b47c3e03a9479551812b6a9233e3795cc51fb519726920a5969b4c9233f92370";try{await import("./houseplan-assets/houseplan-card-YE40fvv1.js")}catch(e){if(!customElements.get("houseplan-card")){const l=String(navigator.language||"en").toLowerCase();const m=l.startsWith("ru")?"House Plan обновился — перезагрузите страницу (Ctrl+F5).":l.startsWith("de")?"House Plan wurde aktualisiert — bitte laden Sie die Seite neu (Strg+F5).":l.startsWith("fr")?"House Plan a été mis à jour — veuillez recharger la page (Ctrl+F5).":"House Plan was updated — please reload the page (Ctrl+F5).";customElements.define("houseplan-card",class extends HTMLElement{setConfig(){}getCardSize(){return 1}connectedCallback(){this.style.cssText="display:block;box-sizing:border-box;padding:16px;border:1px solid var(--divider-color,#e0e0e0);border-radius:var(--ha-card-border-radius,12px);background:var(--card-background-color,#fff);color:var(--primary-text-color,#212121);font:14px/1.4 var(--paper-font-body1_-_font-family,sans-serif)";this.textContent=m}})}console.error("[houseplan] stale houseplan-card.js: the implementation chunk is unavailable",e)}
|
||||
|
||||
File diff suppressed because one or more lines are too long
@@ -20,5 +20,5 @@
|
||||
"issue_tracker": "https://github.com/Matysh/houseplan-card/issues",
|
||||
"requirements": [],
|
||||
"single_config_entry": true,
|
||||
"version": "1.74.0-beta.1"
|
||||
"version": "1.74.0-beta.2"
|
||||
}
|
||||
|
||||
Vendored
+138
-138
@@ -1,309 +1,309 @@
|
||||
{
|
||||
"schema": 1,
|
||||
"fingerprint": "6f12d9312dc39371e05ac6b5778215b61b18f6d249a4ae38b50c3945393f253b",
|
||||
"fingerprint": "b47c3e03a9479551812b6a9233e3795cc51fb519726920a5969b4c9233f92370",
|
||||
"entry": "houseplan-card.js",
|
||||
"panelEntry": "houseplan-panel.js",
|
||||
"initialViewFiles": [
|
||||
"houseplan-assets/houseplan-card-CIDOTv_g.js",
|
||||
"houseplan-assets/houseplan-card-YE40fvv1.js",
|
||||
"houseplan-card.js"
|
||||
],
|
||||
"initialViewGzipBytes": 287290,
|
||||
"initialViewGzipBytes": 287286,
|
||||
"initialPanelFiles": [
|
||||
"houseplan-assets/houseplan-card-CIDOTv_g.js",
|
||||
"houseplan-assets/houseplan-card-YE40fvv1.js",
|
||||
"houseplan-card.js",
|
||||
"houseplan-panel.js"
|
||||
],
|
||||
"initialPanelGzipBytes": 289596,
|
||||
"initialPanelGzipBytes": 289591,
|
||||
"initialPanelOnlyFiles": [
|
||||
"houseplan-panel.js"
|
||||
],
|
||||
"initialPanelOnlyGzipBytes": 2306,
|
||||
"initialPanelOnlyGzipBytes": 2305,
|
||||
"lazyFiles": [
|
||||
"houseplan-assets/backdrop-pick-BRUWvEWp.js",
|
||||
"houseplan-assets/de-BxUEBivN.js",
|
||||
"houseplan-assets/editor-B9rzkaVq.js",
|
||||
"houseplan-assets/fr-CFczhXuL.js",
|
||||
"houseplan-assets/furniture-plan-art.generated-C1hUGE0m.js",
|
||||
"houseplan-assets/guard-mBr5nP05.js",
|
||||
"houseplan-assets/houseplan-editor-runtime-Du3pkfx9.js",
|
||||
"houseplan-assets/houseplan-onboarding-runtime-Ces0QxL_.js",
|
||||
"houseplan-assets/hp-zigbee-topology-overlay-BJSCpp8R.js",
|
||||
"houseplan-assets/iso-scene-render-DsUgBekm.js",
|
||||
"houseplan-assets/live-interaction-runtime-xaQDMprZ.js",
|
||||
"houseplan-assets/pdf-export-DSGaEcEn.js",
|
||||
"houseplan-assets/summary-panel-runtime-loaded-BOLxK6VT.js",
|
||||
"houseplan-assets/zigbee-topology-DBPd-Wk3.js",
|
||||
"houseplan-assets/zigbee-topology-runtime-3AKpF54Q.js"
|
||||
"houseplan-assets/backdrop-pick-Ckp0PBXt.js",
|
||||
"houseplan-assets/de-CnYAlOUu.js",
|
||||
"houseplan-assets/editor-CKnGJ6qy.js",
|
||||
"houseplan-assets/fr-DekBkhqC.js",
|
||||
"houseplan-assets/furniture-plan-art.generated-DWczm8-2.js",
|
||||
"houseplan-assets/guard-BoWMUZ7o.js",
|
||||
"houseplan-assets/houseplan-editor-runtime-CPpqpKvW.js",
|
||||
"houseplan-assets/houseplan-onboarding-runtime-BIx15-gw.js",
|
||||
"houseplan-assets/hp-zigbee-topology-overlay-N-ZFSZfG.js",
|
||||
"houseplan-assets/iso-scene-render-DGlrwMHW.js",
|
||||
"houseplan-assets/live-interaction-runtime-D0PZDT7G.js",
|
||||
"houseplan-assets/pdf-export-Dr1KIZgo.js",
|
||||
"houseplan-assets/summary-panel-runtime-loaded-BBEDkGjk.js",
|
||||
"houseplan-assets/zigbee-topology-DhleVwin.js",
|
||||
"houseplan-assets/zigbee-topology-runtime-bVchrMyY.js"
|
||||
],
|
||||
"lazyGzipBytes": 417368,
|
||||
"lazyGzipBytes": 417337,
|
||||
"lazyEditorFiles": [
|
||||
"houseplan-assets/backdrop-pick-BRUWvEWp.js",
|
||||
"houseplan-assets/editor-B9rzkaVq.js",
|
||||
"houseplan-assets/furniture-plan-art.generated-C1hUGE0m.js",
|
||||
"houseplan-assets/guard-mBr5nP05.js",
|
||||
"houseplan-assets/houseplan-editor-runtime-Du3pkfx9.js",
|
||||
"houseplan-assets/zigbee-topology-DBPd-Wk3.js"
|
||||
"houseplan-assets/backdrop-pick-Ckp0PBXt.js",
|
||||
"houseplan-assets/editor-CKnGJ6qy.js",
|
||||
"houseplan-assets/furniture-plan-art.generated-DWczm8-2.js",
|
||||
"houseplan-assets/guard-BoWMUZ7o.js",
|
||||
"houseplan-assets/houseplan-editor-runtime-CPpqpKvW.js",
|
||||
"houseplan-assets/zigbee-topology-DhleVwin.js"
|
||||
],
|
||||
"lazyEditorGzipBytes": 205004,
|
||||
"lazyEditorGzipBytes": 204994,
|
||||
"lazyOnboardingFiles": [
|
||||
"houseplan-assets/backdrop-pick-BRUWvEWp.js",
|
||||
"houseplan-assets/houseplan-onboarding-runtime-Ces0QxL_.js"
|
||||
"houseplan-assets/backdrop-pick-Ckp0PBXt.js",
|
||||
"houseplan-assets/houseplan-onboarding-runtime-BIx15-gw.js"
|
||||
],
|
||||
"lazyOnboardingGzipBytes": 13920,
|
||||
"lazyOnboardingGzipBytes": 13914,
|
||||
"lazyLocaleFiles": [
|
||||
"houseplan-assets/de-BxUEBivN.js",
|
||||
"houseplan-assets/fr-CFczhXuL.js"
|
||||
"houseplan-assets/de-CnYAlOUu.js",
|
||||
"houseplan-assets/fr-DekBkhqC.js"
|
||||
],
|
||||
"lazyLocaleGzipBytes": 54861,
|
||||
"lazyLocaleGzipBytes": 54852,
|
||||
"lazyIsometricFiles": [
|
||||
"houseplan-assets/guard-mBr5nP05.js",
|
||||
"houseplan-assets/iso-scene-render-DsUgBekm.js"
|
||||
"houseplan-assets/guard-BoWMUZ7o.js",
|
||||
"houseplan-assets/iso-scene-render-DGlrwMHW.js"
|
||||
],
|
||||
"lazyIsometricGzipBytes": 13458,
|
||||
"lazyFurnitureArtFiles": [
|
||||
"houseplan-assets/furniture-plan-art.generated-C1hUGE0m.js"
|
||||
"houseplan-assets/furniture-plan-art.generated-DWczm8-2.js"
|
||||
],
|
||||
"lazyFurnitureArtGzipBytes": 10251,
|
||||
"lazyFurnitureArtGzipBytes": 10247,
|
||||
"lazyPdfFiles": [
|
||||
"houseplan-assets/furniture-plan-art.generated-C1hUGE0m.js",
|
||||
"houseplan-assets/pdf-export-DSGaEcEn.js"
|
||||
"houseplan-assets/furniture-plan-art.generated-DWczm8-2.js",
|
||||
"houseplan-assets/pdf-export-Dr1KIZgo.js"
|
||||
],
|
||||
"lazyPdfGzipBytes": 120322,
|
||||
"lazyPdfGzipBytes": 120314,
|
||||
"files": [
|
||||
{
|
||||
"path": "houseplan-assets/backdrop-pick-BRUWvEWp.js",
|
||||
"sha256": "8de776f58ea7e4105c15b05c5190d1558839bad20038de87642cbbb34f9dde4d",
|
||||
"path": "houseplan-assets/backdrop-pick-Ckp0PBXt.js",
|
||||
"sha256": "b1a9233561db70f6399c08a2e6a391afa6980c89c961e8d2f9982a375c4a4749",
|
||||
"rawBytes": 19956,
|
||||
"gzipBytes": 6881,
|
||||
"gzipBytes": 6877,
|
||||
"isEntry": false,
|
||||
"imports": [
|
||||
"houseplan-assets/houseplan-card-CIDOTv_g.js"
|
||||
"houseplan-assets/houseplan-card-YE40fvv1.js"
|
||||
],
|
||||
"dynamicImports": []
|
||||
},
|
||||
{
|
||||
"path": "houseplan-assets/de-BxUEBivN.js",
|
||||
"sha256": "2cee61782d1f4c7d0bea1adf1efebb4f4cb06b73037df9cd233cba143c37cfe4",
|
||||
"path": "houseplan-assets/de-CnYAlOUu.js",
|
||||
"sha256": "685f3edc7c69a9f047c8472cad2742e48227b7f1212fae3b0a479139f9025f52",
|
||||
"rawBytes": 91441,
|
||||
"gzipBytes": 27714,
|
||||
"gzipBytes": 27711,
|
||||
"isEntry": false,
|
||||
"imports": [],
|
||||
"dynamicImports": []
|
||||
},
|
||||
{
|
||||
"path": "houseplan-assets/editor-B9rzkaVq.js",
|
||||
"sha256": "212d0334fa8acea91e3e3561adce91b36f01a033629c805895e66e3b02453187",
|
||||
"path": "houseplan-assets/editor-CKnGJ6qy.js",
|
||||
"sha256": "6335c4ff1d16aaab3cbf37d38047df98f8ba8a4bfaf05ed65bd6e3302225948e",
|
||||
"rawBytes": 3832,
|
||||
"gzipBytes": 1585,
|
||||
"gzipBytes": 1584,
|
||||
"isEntry": false,
|
||||
"imports": [
|
||||
"houseplan-assets/houseplan-card-CIDOTv_g.js"
|
||||
"houseplan-assets/houseplan-card-YE40fvv1.js"
|
||||
],
|
||||
"dynamicImports": []
|
||||
},
|
||||
{
|
||||
"path": "houseplan-assets/fr-CFczhXuL.js",
|
||||
"sha256": "afc60a170f8a8eaa84cd8d2942819434d99cdab01b425e4b2c9ecc7154d899e4",
|
||||
"path": "houseplan-assets/fr-DekBkhqC.js",
|
||||
"sha256": "d181c40de4b3c024c5b115c68fed72201158d61d76aa8433f7d2a48046a74fab",
|
||||
"rawBytes": 93719,
|
||||
"gzipBytes": 27147,
|
||||
"gzipBytes": 27141,
|
||||
"isEntry": false,
|
||||
"imports": [],
|
||||
"dynamicImports": []
|
||||
},
|
||||
{
|
||||
"path": "houseplan-assets/furniture-plan-art.generated-C1hUGE0m.js",
|
||||
"sha256": "25da37599322efaff1b41da64a1eb84d44b06cdec0ce29ce509129465c856952",
|
||||
"path": "houseplan-assets/furniture-plan-art.generated-DWczm8-2.js",
|
||||
"sha256": "d28de97f41aef1723b16776bd70c6e544ea8fb7e450f4312a5e3c1e0b76d9549",
|
||||
"rawBytes": 33655,
|
||||
"gzipBytes": 10251,
|
||||
"gzipBytes": 10247,
|
||||
"isEntry": false,
|
||||
"imports": [],
|
||||
"dynamicImports": []
|
||||
},
|
||||
{
|
||||
"path": "houseplan-assets/guard-mBr5nP05.js",
|
||||
"sha256": "f5f3a934b0f911485a24c552ac1784198fdcc5753d8481235df586b7662a7690",
|
||||
"path": "houseplan-assets/guard-BoWMUZ7o.js",
|
||||
"sha256": "8c235d61f8a60a7c61755803dce89ee19ecca88f71f1050478b81eb7d3583c2c",
|
||||
"rawBytes": 518,
|
||||
"gzipBytes": 370,
|
||||
"isEntry": false,
|
||||
"imports": [
|
||||
"houseplan-assets/houseplan-card-CIDOTv_g.js"
|
||||
"houseplan-assets/houseplan-card-YE40fvv1.js"
|
||||
],
|
||||
"dynamicImports": []
|
||||
},
|
||||
{
|
||||
"path": "houseplan-assets/houseplan-card-CIDOTv_g.js",
|
||||
"sha256": "4320e574cb8eb77af7df6d77391296d799bad2e65866e4f8d119fd2591e0ff16",
|
||||
"path": "houseplan-assets/houseplan-card-YE40fvv1.js",
|
||||
"sha256": "89d4ca76ea7489c16f2e3998e9f5d0bed7231798c6c2053dd4bbec923149900c",
|
||||
"rawBytes": 1021115,
|
||||
"gzipBytes": 286485,
|
||||
"gzipBytes": 286482,
|
||||
"isEntry": false,
|
||||
"imports": [],
|
||||
"dynamicImports": [
|
||||
"houseplan-assets/de-BxUEBivN.js",
|
||||
"houseplan-assets/editor-B9rzkaVq.js",
|
||||
"houseplan-assets/fr-CFczhXuL.js",
|
||||
"houseplan-assets/furniture-plan-art.generated-C1hUGE0m.js",
|
||||
"houseplan-assets/houseplan-editor-runtime-Du3pkfx9.js",
|
||||
"houseplan-assets/houseplan-onboarding-runtime-Ces0QxL_.js",
|
||||
"houseplan-assets/hp-zigbee-topology-overlay-BJSCpp8R.js",
|
||||
"houseplan-assets/iso-scene-render-DsUgBekm.js",
|
||||
"houseplan-assets/live-interaction-runtime-xaQDMprZ.js",
|
||||
"houseplan-assets/pdf-export-DSGaEcEn.js",
|
||||
"houseplan-assets/summary-panel-runtime-loaded-BOLxK6VT.js"
|
||||
"houseplan-assets/de-CnYAlOUu.js",
|
||||
"houseplan-assets/editor-CKnGJ6qy.js",
|
||||
"houseplan-assets/fr-DekBkhqC.js",
|
||||
"houseplan-assets/furniture-plan-art.generated-DWczm8-2.js",
|
||||
"houseplan-assets/houseplan-editor-runtime-CPpqpKvW.js",
|
||||
"houseplan-assets/houseplan-onboarding-runtime-BIx15-gw.js",
|
||||
"houseplan-assets/hp-zigbee-topology-overlay-N-ZFSZfG.js",
|
||||
"houseplan-assets/iso-scene-render-DGlrwMHW.js",
|
||||
"houseplan-assets/live-interaction-runtime-D0PZDT7G.js",
|
||||
"houseplan-assets/pdf-export-Dr1KIZgo.js",
|
||||
"houseplan-assets/summary-panel-runtime-loaded-BBEDkGjk.js"
|
||||
]
|
||||
},
|
||||
{
|
||||
"path": "houseplan-assets/houseplan-editor-runtime-Du3pkfx9.js",
|
||||
"sha256": "273cb39a8852824e564a8280b911f2167309f0f0c5e77f8f35f74b309d4241be",
|
||||
"path": "houseplan-assets/houseplan-editor-runtime-CPpqpKvW.js",
|
||||
"sha256": "aaf5ada4dd6cae4a5a877beaec32c3165d41ac3597ff4a1e35f518a75bdf3971",
|
||||
"rawBytes": 668820,
|
||||
"gzipBytes": 178489,
|
||||
"gzipBytes": 178485,
|
||||
"isEntry": false,
|
||||
"imports": [
|
||||
"houseplan-assets/backdrop-pick-BRUWvEWp.js",
|
||||
"houseplan-assets/furniture-plan-art.generated-C1hUGE0m.js",
|
||||
"houseplan-assets/guard-mBr5nP05.js",
|
||||
"houseplan-assets/houseplan-card-CIDOTv_g.js",
|
||||
"houseplan-assets/zigbee-topology-DBPd-Wk3.js"
|
||||
"houseplan-assets/backdrop-pick-Ckp0PBXt.js",
|
||||
"houseplan-assets/furniture-plan-art.generated-DWczm8-2.js",
|
||||
"houseplan-assets/guard-BoWMUZ7o.js",
|
||||
"houseplan-assets/houseplan-card-YE40fvv1.js",
|
||||
"houseplan-assets/zigbee-topology-DhleVwin.js"
|
||||
],
|
||||
"dynamicImports": [
|
||||
"houseplan-assets/zigbee-topology-runtime-3AKpF54Q.js"
|
||||
"houseplan-assets/zigbee-topology-runtime-bVchrMyY.js"
|
||||
]
|
||||
},
|
||||
{
|
||||
"path": "houseplan-assets/houseplan-onboarding-runtime-Ces0QxL_.js",
|
||||
"sha256": "657f3180d774307654c43c6e82c14fe85d4b620f51e1d41b910225f85564f257",
|
||||
"path": "houseplan-assets/houseplan-onboarding-runtime-BIx15-gw.js",
|
||||
"sha256": "16ca98715f00e0c4662e24be4f59e7791a3f4c00c0ba59354a3d21e3d5f64b8b",
|
||||
"rawBytes": 28287,
|
||||
"gzipBytes": 7039,
|
||||
"gzipBytes": 7037,
|
||||
"isEntry": false,
|
||||
"imports": [
|
||||
"houseplan-assets/backdrop-pick-BRUWvEWp.js",
|
||||
"houseplan-assets/houseplan-card-CIDOTv_g.js"
|
||||
"houseplan-assets/backdrop-pick-Ckp0PBXt.js",
|
||||
"houseplan-assets/houseplan-card-YE40fvv1.js"
|
||||
],
|
||||
"dynamicImports": []
|
||||
},
|
||||
{
|
||||
"path": "houseplan-assets/hp-zigbee-topology-overlay-BJSCpp8R.js",
|
||||
"sha256": "ad4910a792d03bd35f981d161daca31aafa354d6487df0f370fd97727f37ca3e",
|
||||
"path": "houseplan-assets/hp-zigbee-topology-overlay-N-ZFSZfG.js",
|
||||
"sha256": "705c06c803cadc056973c1b08a96412df9ecc3fe697db4aa3c509a827b19603c",
|
||||
"rawBytes": 10756,
|
||||
"gzipBytes": 3682,
|
||||
"gzipBytes": 3680,
|
||||
"isEntry": false,
|
||||
"imports": [
|
||||
"houseplan-assets/houseplan-card-CIDOTv_g.js",
|
||||
"houseplan-assets/zigbee-topology-DBPd-Wk3.js",
|
||||
"houseplan-assets/zigbee-topology-runtime-3AKpF54Q.js"
|
||||
"houseplan-assets/houseplan-card-YE40fvv1.js",
|
||||
"houseplan-assets/zigbee-topology-DhleVwin.js",
|
||||
"houseplan-assets/zigbee-topology-runtime-bVchrMyY.js"
|
||||
],
|
||||
"dynamicImports": []
|
||||
},
|
||||
{
|
||||
"path": "houseplan-assets/iso-scene-render-DsUgBekm.js",
|
||||
"sha256": "dcda23458d1ad2625f455061aa719e82d6a70cb7b2bdf3982ce010f44ff75c45",
|
||||
"path": "houseplan-assets/iso-scene-render-DGlrwMHW.js",
|
||||
"sha256": "beb35b52723c808284409243cbab0d632237e417c46e2004ff8d24a0799425d4",
|
||||
"rawBytes": 38562,
|
||||
"gzipBytes": 13088,
|
||||
"isEntry": false,
|
||||
"imports": [
|
||||
"houseplan-assets/guard-mBr5nP05.js",
|
||||
"houseplan-assets/houseplan-card-CIDOTv_g.js"
|
||||
"houseplan-assets/guard-BoWMUZ7o.js",
|
||||
"houseplan-assets/houseplan-card-YE40fvv1.js"
|
||||
],
|
||||
"dynamicImports": []
|
||||
},
|
||||
{
|
||||
"path": "houseplan-assets/live-interaction-runtime-xaQDMprZ.js",
|
||||
"sha256": "8b39b9b85dd604d82e90cb1c5c92d80a8961a245166b6538800499b8d933abe4",
|
||||
"path": "houseplan-assets/live-interaction-runtime-D0PZDT7G.js",
|
||||
"sha256": "cafdf2fd4e2e89d856e6ec63dfed48bb0249beade2aa02e945a1b1b26d395c9f",
|
||||
"rawBytes": 5196,
|
||||
"gzipBytes": 2130,
|
||||
"gzipBytes": 2128,
|
||||
"isEntry": false,
|
||||
"imports": [
|
||||
"houseplan-assets/houseplan-card-CIDOTv_g.js"
|
||||
"houseplan-assets/houseplan-card-YE40fvv1.js"
|
||||
],
|
||||
"dynamicImports": []
|
||||
},
|
||||
{
|
||||
"path": "houseplan-assets/pdf-export-DSGaEcEn.js",
|
||||
"sha256": "a007568958b74904996d157f0812f8b1afe1ae079e7d06247c7d0694546737b6",
|
||||
"path": "houseplan-assets/pdf-export-Dr1KIZgo.js",
|
||||
"sha256": "bc24430312d0d50c76ff98d640824b292f75af4975897fa2bae629f5ff3d9a0c",
|
||||
"rawBytes": 236841,
|
||||
"gzipBytes": 110071,
|
||||
"gzipBytes": 110067,
|
||||
"isEntry": false,
|
||||
"imports": [
|
||||
"houseplan-assets/furniture-plan-art.generated-C1hUGE0m.js",
|
||||
"houseplan-assets/houseplan-card-CIDOTv_g.js"
|
||||
"houseplan-assets/furniture-plan-art.generated-DWczm8-2.js",
|
||||
"houseplan-assets/houseplan-card-YE40fvv1.js"
|
||||
],
|
||||
"dynamicImports": []
|
||||
},
|
||||
{
|
||||
"path": "houseplan-assets/summary-panel-editor-r-d4RFjx.js",
|
||||
"sha256": "a82f1f7a41075aae9c2e1c7668d6ac8c3613a104de480a3d776a3be71cb0cb86",
|
||||
"path": "houseplan-assets/summary-panel-editor-DmZWqUNj.js",
|
||||
"sha256": "d5d61589700ea081e17abc1012844554559824bb71354107d33c7a3b13b783ea",
|
||||
"rawBytes": 14824,
|
||||
"gzipBytes": 3404,
|
||||
"gzipBytes": 3401,
|
||||
"isEntry": false,
|
||||
"imports": [
|
||||
"houseplan-assets/houseplan-card-CIDOTv_g.js",
|
||||
"houseplan-assets/summary-panel-runtime-loaded-BOLxK6VT.js"
|
||||
"houseplan-assets/houseplan-card-YE40fvv1.js",
|
||||
"houseplan-assets/summary-panel-runtime-loaded-BBEDkGjk.js"
|
||||
],
|
||||
"dynamicImports": []
|
||||
},
|
||||
{
|
||||
"path": "houseplan-assets/summary-panel-metrics-bFft1lTY.js",
|
||||
"sha256": "43b49a28813e83b6dadddf3b514ebb8978e5460db5d8b39970e2932f5d7ff12d",
|
||||
"path": "houseplan-assets/summary-panel-metrics-CvLZwEaV.js",
|
||||
"sha256": "6bd34a1d64a276b98a517bee18a257e198eb37fcf37825d0d996d2f61633ed25",
|
||||
"rawBytes": 2610,
|
||||
"gzipBytes": 1308,
|
||||
"gzipBytes": 1307,
|
||||
"isEntry": false,
|
||||
"imports": [
|
||||
"houseplan-assets/houseplan-card-CIDOTv_g.js"
|
||||
"houseplan-assets/houseplan-card-YE40fvv1.js"
|
||||
],
|
||||
"dynamicImports": []
|
||||
},
|
||||
{
|
||||
"path": "houseplan-assets/summary-panel-runtime-loaded-BOLxK6VT.js",
|
||||
"sha256": "abaad9bab1ebd5b807b03ae4b194e4f5eb9f3599b46acc68768dba2287529406",
|
||||
"path": "houseplan-assets/summary-panel-runtime-loaded-BBEDkGjk.js",
|
||||
"sha256": "4111782c8085e0fcaf30af0a2737b961ae5a1438911257c74864e45f1161a596",
|
||||
"rawBytes": 72272,
|
||||
"gzipBytes": 19728,
|
||||
"gzipBytes": 19729,
|
||||
"isEntry": false,
|
||||
"imports": [
|
||||
"houseplan-assets/houseplan-card-CIDOTv_g.js"
|
||||
"houseplan-assets/houseplan-card-YE40fvv1.js"
|
||||
],
|
||||
"dynamicImports": [
|
||||
"houseplan-assets/summary-panel-editor-r-d4RFjx.js",
|
||||
"houseplan-assets/summary-panel-metrics-bFft1lTY.js"
|
||||
"houseplan-assets/summary-panel-editor-DmZWqUNj.js",
|
||||
"houseplan-assets/summary-panel-metrics-CvLZwEaV.js"
|
||||
]
|
||||
},
|
||||
{
|
||||
"path": "houseplan-assets/zigbee-topology-DBPd-Wk3.js",
|
||||
"sha256": "9e96d73d7d8e63f4650c7afef29b4f4430d605661005506371d21c55161d95ed",
|
||||
"path": "houseplan-assets/zigbee-topology-DhleVwin.js",
|
||||
"sha256": "617b14dcb28fa2185d49bf8d4abd51d0d236f1b577a04433262524f503a6c7af",
|
||||
"rawBytes": 18961,
|
||||
"gzipBytes": 7428,
|
||||
"gzipBytes": 7431,
|
||||
"isEntry": false,
|
||||
"imports": [
|
||||
"houseplan-assets/houseplan-card-CIDOTv_g.js"
|
||||
"houseplan-assets/houseplan-card-YE40fvv1.js"
|
||||
],
|
||||
"dynamicImports": []
|
||||
},
|
||||
{
|
||||
"path": "houseplan-assets/zigbee-topology-runtime-3AKpF54Q.js",
|
||||
"sha256": "efd707aafb4b4f94e78d73285be5728242a6e512a7e69f74fc9b6ba9e5648217",
|
||||
"path": "houseplan-assets/zigbee-topology-runtime-bVchrMyY.js",
|
||||
"sha256": "9727aad6aca6b1159a1b370307d710e04ada6c8800e0d808e4553dff845709cd",
|
||||
"rawBytes": 3941,
|
||||
"gzipBytes": 1765,
|
||||
"gzipBytes": 1762,
|
||||
"isEntry": false,
|
||||
"imports": [
|
||||
"houseplan-assets/houseplan-card-CIDOTv_g.js",
|
||||
"houseplan-assets/zigbee-topology-DBPd-Wk3.js"
|
||||
"houseplan-assets/houseplan-card-YE40fvv1.js",
|
||||
"houseplan-assets/zigbee-topology-DhleVwin.js"
|
||||
],
|
||||
"dynamicImports": []
|
||||
},
|
||||
{
|
||||
"path": "houseplan-card.js",
|
||||
"sha256": "fbbcbfa3eccc6d12727efb29427dacd3c6b0c7a814cbb256f0dd1af5c81d7818",
|
||||
"sha256": "dff0b2054b275eb9d9e82b84c35046f6c389fb3c7b2d7e4ef3d72d31db0d8185",
|
||||
"rawBytes": 1205,
|
||||
"gzipBytes": 805,
|
||||
"gzipBytes": 804,
|
||||
"isEntry": true,
|
||||
"imports": [
|
||||
"houseplan-assets/houseplan-card-CIDOTv_g.js"
|
||||
"houseplan-assets/houseplan-card-YE40fvv1.js"
|
||||
],
|
||||
"dynamicImports": []
|
||||
},
|
||||
{
|
||||
"path": "houseplan-panel.js",
|
||||
"sha256": "64088cfe9815b5f067f12a15448276286561cfc083d59c06d00d07f1a51a17e3",
|
||||
"sha256": "24b396cbddac1463f3b733db803911389ae87ea4b5a2d5cb7c840aeff18649ae",
|
||||
"rawBytes": 6124,
|
||||
"gzipBytes": 2306,
|
||||
"gzipBytes": 2305,
|
||||
"isEntry": true,
|
||||
"imports": [
|
||||
"houseplan-card.js"
|
||||
|
||||
Vendored
+6
-6
File diff suppressed because one or more lines are too long
+1
-1
File diff suppressed because one or more lines are too long
+3
-3
@@ -1,14 +1,14 @@
|
||||
globalThis.__HOUSEPLAN_BUILD_FINGERPRINT__="6f12d9312dc39371e05ac6b5778215b61b18f6d249a4ae38b50c3945393f253b";import{m as e,l as o,t,e3 as s,A as a,e4 as i,e5 as l,e6 as n,dU as r,b as c}from"./houseplan-card-CIDOTv_g.js";class h extends e{constructor(){super(...arguments),this._spaces=null,this._spacesLoading=!1,this._spacesAuthoritative=!1}setConfig(e){this._config=e}async _loadSpaces(){if(!this._spaces&&!this._spacesLoading&&this.hass){this._spacesLoading=!0;try{const e=await this.hass.callWS({type:"houseplan/config/get"});this._spaces=(e?.config?.spaces||[]).map(e=>({value:e.id,label:e.title||e.id})),this._spacesAuthoritative=!0}catch{this._spaces=[],this._spacesAuthoritative=!1}finally{this._spacesLoading=!1}}}get _lang(){return o(this.hass,this._config?.language)}get _floorToken(){const e=this._config?.floor;return"number"==typeof e?`__houseplan_yaml_floor_index__:${String(e)}`:null}get _formData(){const e={...this._config},o=this._floorToken;return o?e.floor=o:Object.prototype.hasOwnProperty.call(e,"floor")||(e.floor=""),e}get _schema(){const e=this._spaces||[],o=this._lang,a=[{value:"",label:t(o,"editor.floor_none")}],i=this._floorToken;i&&a.push({value:i,label:t(o,"editor.floor_index",{index:String(this._config?.floor)})});const l="string"==typeof this._config?.floor?this._config.floor:"";l&&!e.some(e=>e.value===l)&&a.push({value:l,label:l}),a.push(...e);const n="string"==typeof this._config?.default_floor?this._config.default_floor:"",r=[...e];return n&&!e.some(e=>e.value===n)&&r.unshift({value:n,label:n}),[{name:"title",selector:{text:{}}},{name:"floor",selector:{select:{mode:"dropdown",options:a}}},e.length?{name:"default_floor",selector:{select:{mode:"dropdown",options:r}}}:{name:"default_floor",selector:{text:{}}},{name:"language",selector:{select:{mode:"dropdown",options:s(t(o,"editor.lang_auto"),this._config?.language)}}},{name:"icon_size",selector:{number:{min:1,max:6,step:.1,mode:"box"}}},{name:"show_temperature",selector:{boolean:{}}},{name:"live_states",selector:{boolean:{}}},{name:"show_signal",selector:{boolean:{}}},{name:"kiosk",selector:{boolean:{}}},{name:"cycle",selector:{number:{min:0,max:3600,step:5,mode:"box"}}}]}render(){if(!this.hass||!this._config)return a;const e=i(this,l,o(this.hass,this._config.language));if("cold"===e)return n();if("warm"===e)return r;this._loadSpaces();const s=this._lang,h={title:t(s,"editor.title"),floor:t(s,"editor.floor"),default_floor:t(s,"editor.default_floor"),language:t(s,"editor.language"),icon_size:t(s,"editor.icon_size"),show_temperature:t(s,"editor.show_temperature"),live_states:t(s,"editor.live_states"),show_signal:t(s,"editor.show_signal"),kiosk:t(s,"editor.kiosk"),cycle:t(s,"editor.cycle")},f=this._schema,_=function(e,o,t){if(!t||null===o)return null;const s="string"==typeof e?.default_floor?e.default_floor:"";return!s||o.some(e=>e.value===s)?null:s}(this._config,this._spaces,this._spacesAuthoritative),d=e=>c`<ha-form
|
||||
globalThis.__HOUSEPLAN_BUILD_FINGERPRINT__="b47c3e03a9479551812b6a9233e3795cc51fb519726920a5969b4c9233f92370";import{m as e,l as o,t,e3 as s,A as a,e4 as i,e5 as l,e6 as n,dU as r,b as c}from"./houseplan-card-YE40fvv1.js";class h extends e{constructor(){super(...arguments),this._spaces=null,this._spacesLoading=!1,this._spacesAuthoritative=!1}setConfig(e){this._config=e}async _loadSpaces(){if(!this._spaces&&!this._spacesLoading&&this.hass){this._spacesLoading=!0;try{const e=await this.hass.callWS({type:"houseplan/config/get"});this._spaces=(e?.config?.spaces||[]).map(e=>({value:e.id,label:e.title||e.id})),this._spacesAuthoritative=!0}catch{this._spaces=[],this._spacesAuthoritative=!1}finally{this._spacesLoading=!1}}}get _lang(){return o(this.hass,this._config?.language)}get _floorToken(){const e=this._config?.floor;return"number"==typeof e?`__houseplan_yaml_floor_index__:${String(e)}`:null}get _formData(){const e={...this._config},o=this._floorToken;return o?e.floor=o:Object.prototype.hasOwnProperty.call(e,"floor")||(e.floor=""),e}get _schema(){const e=this._spaces||[],o=this._lang,a=[{value:"",label:t(o,"editor.floor_none")}],i=this._floorToken;i&&a.push({value:i,label:t(o,"editor.floor_index",{index:String(this._config?.floor)})});const l="string"==typeof this._config?.floor?this._config.floor:"";l&&!e.some(e=>e.value===l)&&a.push({value:l,label:l}),a.push(...e);const n="string"==typeof this._config?.default_floor?this._config.default_floor:"",r=[...e];return n&&!e.some(e=>e.value===n)&&r.unshift({value:n,label:n}),[{name:"title",selector:{text:{}}},{name:"floor",selector:{select:{mode:"dropdown",options:a}}},e.length?{name:"default_floor",selector:{select:{mode:"dropdown",options:r}}}:{name:"default_floor",selector:{text:{}}},{name:"language",selector:{select:{mode:"dropdown",options:s(t(o,"editor.lang_auto"),this._config?.language)}}},{name:"icon_size",selector:{number:{min:1,max:6,step:.1,mode:"box"}}},{name:"show_temperature",selector:{boolean:{}}},{name:"live_states",selector:{boolean:{}}},{name:"show_signal",selector:{boolean:{}}},{name:"kiosk",selector:{boolean:{}}},{name:"cycle",selector:{number:{min:0,max:3600,step:5,mode:"box"}}}]}render(){if(!this.hass||!this._config)return a;const e=i(this,l,o(this.hass,this._config.language));if("cold"===e)return n();if("warm"===e)return r;this._loadSpaces();const s=this._lang,h={title:t(s,"editor.title"),floor:t(s,"editor.floor"),default_floor:t(s,"editor.default_floor"),language:t(s,"editor.language"),icon_size:t(s,"editor.icon_size"),show_temperature:t(s,"editor.show_temperature"),live_states:t(s,"editor.live_states"),show_signal:t(s,"editor.show_signal"),kiosk:t(s,"editor.kiosk"),cycle:t(s,"editor.cycle")},f=this._schema,_=function(e,o,t){if(!t||null===o)return null;const s="string"==typeof e?.default_floor?e.default_floor:"";return!s||o.some(e=>e.value===s)?null:s}(this._config,this._spaces,this._spacesAuthoritative),u=e=>c`<ha-form
|
||||
.hass=${this.hass}
|
||||
.data=${this._formData}
|
||||
.schema=${e}
|
||||
.computeLabel=${e=>h[e.name]||e.name}
|
||||
@value-changed=${this._valueChanged}
|
||||
></ha-form>`;return c`
|
||||
${d(f.slice(0,3))}
|
||||
${u(f.slice(0,3))}
|
||||
${_?c`<div class="default-floor-error" role="alert"
|
||||
style="color:var(--error-color,#db4437);margin:-4px 0 12px;overflow-wrap:anywhere">
|
||||
${t(s,"editor.default_floor_missing",{id:_})}
|
||||
</div>`:a}
|
||||
${d(f.slice(3))}
|
||||
${u(f.slice(3))}
|
||||
`}_valueChanged(e){const o={...this._config,...e.detail.value};""===o.floor?delete o.floor:o.floor===this._floorToken&&(o.floor=this._config?.floor);const t=new Event("config-changed",{bubbles:!0,composed:!0});t.detail={config:o},this.dispatchEvent(t)}}h.properties={hass:{attribute:!1},_config:{state:!0},_spaces:{state:!0}},customElements.get("houseplan-card-editor")||customElements.define("houseplan-card-editor",h);
|
||||
+1
-1
File diff suppressed because one or more lines are too long
+1
-1
File diff suppressed because one or more lines are too long
+1
-1
@@ -1 +1 @@
|
||||
globalThis.__HOUSEPLAN_BUILD_FINGERPRINT__="6f12d9312dc39371e05ac6b5778215b61b18f6d249a4ae38b50c3945393f253b";import{dS as r,dT as t,dU as s}from"./houseplan-card-CIDOTv_g.js";const e={},a=r(class extends t{constructor(){super(...arguments),this.ot=e}render(r,t){return t()}update(r,[t,e]){if(Array.isArray(t)){if(Array.isArray(this.ot)&&this.ot.length===t.length&&t.every((r,t)=>r===this.ot[t]))return s}else if(this.ot===t)return s;return this.ot=Array.isArray(t)?Array.from(t):t,this.render(t,e)}});export{a as i};
|
||||
globalThis.__HOUSEPLAN_BUILD_FINGERPRINT__="b47c3e03a9479551812b6a9233e3795cc51fb519726920a5969b4c9233f92370";import{dS as r,dT as t,dU as s}from"./houseplan-card-YE40fvv1.js";const e={},a=r(class extends t{constructor(){super(...arguments),this.ot=e}render(r,t){return t()}update(r,[t,e]){if(Array.isArray(t)){if(Array.isArray(this.ot)&&this.ot.length===t.length&&t.every((r,t)=>r===this.ot[t]))return s}else if(this.ot===t)return s;return this.ot=Array.isArray(t)?Array.from(t):t,this.render(t,e)}});export{a as i};
|
||||
Vendored
+5
-5
File diff suppressed because one or more lines are too long
+3
-3
File diff suppressed because one or more lines are too long
+1
-1
@@ -1,4 +1,4 @@
|
||||
globalThis.__HOUSEPLAN_BUILD_FINGERPRINT__="6f12d9312dc39371e05ac6b5778215b61b18f6d249a4ae38b50c3945393f253b";import{l as t,b0 as s,A as e,t as a,b as o,cj as l,ck as i,cl as h,cm as c,aZ as n,cn as r,cs as p,co as d,cp as _,cq as u,cr as g,ct as m,cu as b,dp as $,dq as v,dr as f,aY as y,a_ as w,ds as D}from"./houseplan-card-CIDOTv_g.js";import{c as k,e as S,r as C,a as M}from"./backdrop-pick-BRUWvEWp.js";const F=1e3,x=t=>{if(!t.trim())return null;const s=Number(t.replace(",","."));return Number.isFinite(s)?s:null},T="6f12d9312dc39371e05ac6b5778215b61b18f6d249a4ae38b50c3945393f253b";class L{constructor(t){this.host=t,this._toggleServerPlans=async()=>{const t=this.host._spaceDialog;if(t)if(t.pickSaved)this.host._spaceDialog={...t,pickSaved:!1};else{this.host._spaceDialog={...t,pickSaved:!0,savedBusy:!0};try{const t=await this.host.hass.callWS({type:"houseplan/plans/list"}),s=this.host._spaceDialog;s&&(this.host._spaceDialog={...s,saved:t?.plans||[],savedBusy:!1})}catch(t){const s=this.host._spaceDialog;s&&(this.host._spaceDialog={...s,saved:[],savedBusy:!1}),this.host._showToast(this.host._t("toast.plans_list_failed",{err:this.host._errText(t)}))}}}}_help(l){const i=`${l}.aria`,h=t(this.host.hass,this.host._config?.language);return s(h,l)&&s(h,i)?o`<hp-help data-help-key=${l}
|
||||
globalThis.__HOUSEPLAN_BUILD_FINGERPRINT__="b47c3e03a9479551812b6a9233e3795cc51fb519726920a5969b4c9233f92370";import{l as t,b0 as s,A as e,t as a,b as o,cj as l,ck as i,cl as h,cm as c,aZ as n,cn as r,cs as p,co as d,cp as _,cq as u,cr as g,ct as m,cu as b,dp as $,dq as v,dr as f,aY as y,a_ as w,ds as D}from"./houseplan-card-YE40fvv1.js";import{c as k,e as S,r as C,a as M}from"./backdrop-pick-Ckp0PBXt.js";const F=1e3,x=t=>{if(!t.trim())return null;const s=Number(t.replace(",","."));return Number.isFinite(s)?s:null},T="b47c3e03a9479551812b6a9233e3795cc51fb519726920a5969b4c9233f92370";class L{constructor(t){this.host=t,this._toggleServerPlans=async()=>{const t=this.host._spaceDialog;if(t)if(t.pickSaved)this.host._spaceDialog={...t,pickSaved:!1};else{this.host._spaceDialog={...t,pickSaved:!0,savedBusy:!0};try{const t=await this.host.hass.callWS({type:"houseplan/plans/list"}),s=this.host._spaceDialog;s&&(this.host._spaceDialog={...s,saved:t?.plans||[],savedBusy:!1})}catch(t){const s=this.host._spaceDialog;s&&(this.host._spaceDialog={...s,saved:[],savedBusy:!1}),this.host._showToast(this.host._t("toast.plans_list_failed",{err:this.host._errText(t)}))}}}}_help(l){const i=`${l}.aria`,h=t(this.host.hass,this.host._config?.language);return s(h,l)&&s(h,i)?o`<hp-help data-help-key=${l}
|
||||
.text=${a(h,l)} .ariaLabel=${a(h,i)}></hp-help>`:e}_openSpaceDialog(t,s){if(!this.host._serverStorage||!this.host._serverCfg)return void this.host._showToast(this.host._t("toast.integration_missing"));if("edit"===t){const e=this.host._serverCfg.spaces.find(t=>t.id===s);if(!e)return;const a=l(e),o=e.settings?.custom_fill&&"object"==typeof e.settings.custom_fill?i(e.settings.custom_fill):null,p="none"===a.fill?{...o||h,a:0}:o;return void(this.host._spaceDialog={mode:t,spaceId:s,title:e.title,planUrl:e.plan_url||null,planFile:null,source:e.plan_url?"file":"draw",showBorders:a.showBorders,showNames:a.showNames,zeroWallStyle:r(e),displayTouched:!0,hideDecor:a.hideDecor,hideOpenings:a.hideOpenings,roomColor:a.color,roomOpacity:a.opacity,fillMode:"none"===a.fill?"custom":a.fill,customFill:p,glowEnabled:a.glow,bgColor:a.bgColor,bgMode:"static"===e.settings?.bg_mode||"daynight"===e.settings?.bg_mode?e.settings.bg_mode:null,northDeg:n({},e.settings),sunRays:"boolean"==typeof e.settings?.sun_rays?e.settings.sun_rays:null,tempMin:a.tempMin,tempMax:a.tempMax,showLqi:a.showLqi??this.host._config?.show_signal??!0,cardFontScale:a.cardFontScale,labelTemp:a.labelTemp,labelHum:a.labelHum,labelLqi:a.labelLqi,labelLight:a.labelLight,cellCm:Number(e.cell_cm)>0?Number(e.cell_cm):5,cellCmInput:c(Number(e.cell_cm)>0?Number(e.cell_cm):5,this.host._imperial),cellCmTouched:!1,busy:!1})}const e=p(this.host._imperial);this.host._spaceDialog={mode:t,title:"",planUrl:null,planFile:null,...m(),hideDecor:!1,hideOpenings:!1,zeroWallStyle:"dashed",roomColor:g,roomOpacity:u,fillMode:"custom",customFill:{...h,a:0},glowEnabled:!0,bgColor:null,bgMode:"daynight",northDeg:null,sunRays:null,tempMin:_,tempMax:d,showLqi:this.host._config?.show_signal??!0,cardFontScale:1,labelTemp:!1,labelHum:!1,labelLqi:!1,labelLight:!1,cellCm:e,cellCmInput:c(e,this.host._imperial),cellCmTouched:!1,busy:!1}}async _pickPlanFile(t){const s=t.target,e=s.files?.[0];if(!e||!this.host._spaceDialog)return;s.value="";const a=await k(e);if("reject"===a.kind)return void this.host._showToast(this.host._t("toast.plan_formats"));if("guard"===a.kind)return void(this.host._backdropGuard=a.state);const o=await S(e,a.ext,e.name);this.host._spaceDialog&&(this.host._spaceDialog={...this.host._spaceDialog,planFile:o})}_renderBackdropGuard(){return C(this.host,t=>{this.host._spaceDialog&&(this.host._spaceDialog={...this.host._spaceDialog,planFile:t})},()=>{this.host._backdropGuard=null},this.host.hass)??e}_useServerPlan(t){const s=this.host._spaceDialog;s&&(this.host._spaceDialog={...s,planUrl:t,planFile:null,pickSaved:!1,savedAspect:void 0},this.host._aspectJob=this._readPlanAspect(t))}async _readPlanAspect(t){for(let s=0;s<40;s++){const s=this.host._display(t);if(s){const e=await new Promise(t=>{const e=new Image;e.onload=()=>t(e.naturalWidth&&e.naturalHeight?e.naturalWidth/e.naturalHeight:0),e.onerror=()=>t(0),e.src=s}),a=this.host._spaceDialog;return a&&a.planUrl===t&&Number.isFinite(e)&&e>0?(this.host._spaceDialog={...a,savedAspect:e},e):0}if(await new Promise(t=>setTimeout(t,150)),this.host._spaceDialog?.planUrl!==t)return 0}return 0}async _deleteServerPlan(t){const s=this.host._spaceDialog,e=s?.saved?.find(s=>s.name===t);if(!s||!e||e.used_by.length||e.url===s.planUrl)return;const a=await this.host._confirmDanger({key:"delete-plan",kind:"destructive",title:this.host._t("confirm.delete_plan_title"),message:this.host._t("confirm.delete_plan_body"),objectName:t,confirmLabel:this.host._t("btn.delete"),cancelLabel:this.host._t("btn.cancel")}),o=this.host._spaceDialog,l=o?.saved?.find(s=>s.name===t);if(a&&o&&l&&l.url===e.url&&l.modified===e.modified&&!l.used_by.length&&l.url!==o.planUrl)try{await this.host.hass.callWS({type:"houseplan/plans/delete",name:t});const s=this.host._spaceDialog;s?.saved&&(this.host._spaceDialog={...s,saved:s.saved.filter(s=>s.name!==t)})}catch(t){this.host._showToast(this.host._t("toast.plan_delete_failed",{err:this.host._errText(t)}))}}_renderServerPlans(t){if(t.savedBusy)return o`<div class="savedplans muted">${this.host._t("space.loading")}</div>`;const s=t.saved||[];if(!s.length)return o`<div class="savedplans muted">${this.host._t("space.no_saved")}</div>`;return o`<div class="savedplans">
|
||||
${s.map(s=>{return o`
|
||||
<div class="savedplan ${s.url===t.planUrl?"cur":""}">
|
||||
+1
-1
File diff suppressed because one or more lines are too long
+1
-1
File diff suppressed because one or more lines are too long
+1
-1
File diff suppressed because one or more lines are too long
Vendored
+2
-2
File diff suppressed because one or more lines are too long
+1
-1
@@ -1,4 +1,4 @@
|
||||
globalThis.__HOUSEPLAN_BUILD_FINGERPRINT__="6f12d9312dc39371e05ac6b5778215b61b18f6d249a4ae38b50c3945393f253b";import{b as a,A as e}from"./houseplan-card-CIDOTv_g.js";import{s,n as t,a as l,m as r,b as o,c as i,d as u}from"./summary-panel-runtime-loaded-BOLxK6VT.js";const m=m=>{const{host:c,dialog:d,problems:n,t:b}=m,y=n.find(a=>"error"===a.kind),$=d.localShow!==d.baseLocalShow||!d.localOnly&&!s(t(d.draft),d.base),p=$&&!d.busy&&!y,v=a=>n.find(e=>e.path===a),h=a=>a?b(`summary.problem.${a.code}`):"",k=()=>m.close(),g=a`<label class="summary-switch" for="summary-local-show">
|
||||
globalThis.__HOUSEPLAN_BUILD_FINGERPRINT__="b47c3e03a9479551812b6a9233e3795cc51fb519726920a5969b4c9233f92370";import{b as a,A as e}from"./houseplan-card-YE40fvv1.js";import{s,n as t,a as l,m as r,b as o,c as i,d as u}from"./summary-panel-runtime-loaded-BBEDkGjk.js";const m=m=>{const{host:c,dialog:d,problems:n,t:b}=m,y=n.find(a=>"error"===a.kind),$=d.localShow!==d.baseLocalShow||!d.localOnly&&!s(t(d.draft),d.base),p=$&&!d.busy&&!y,v=a=>n.find(e=>e.path===a),h=a=>a?b(`summary.problem.${a.code}`):"",k=()=>m.close(),g=a`<label class="summary-switch" for="summary-local-show">
|
||||
<span class="summary-switch-caption"><strong>${b("summary.show_local")}</strong>
|
||||
<small id="summary-local-show-hint">${b("summary.show_local_hint")}</small></span>
|
||||
<input id="summary-local-show" data-summary-local-show type="checkbox"
|
||||
+1
-1
@@ -1 +1 @@
|
||||
globalThis.__HOUSEPLAN_BUILD_FINGERPRINT__="6f12d9312dc39371e05ac6b5778215b61b18f6d249a4ae38b50c3945393f253b";import{e9 as e,L as t,a2 as n,J as i,an as o,N as r,bo as s,bn as a,a1 as c,a0 as l,ax as u,ea as d,eb as f,bq as m,ec as g}from"./houseplan-card-CIDOTv_g.js";function v(e){if(!e.registry.authoritative)return null;const t=new Set,n=u(e.markers);for(const i of Object.values(e.registry.devices||{}))i?.id&&"service"!==i.entry_type&&!n.devices.has(i.id)&&i.area_id&&e.areaToSpace[i.area_id]&&t.add(i.id);for(const i of e.markers||[]){if(i.removed||"virtual"===i.binding)continue;const o=String(i.binding||"").indexOf(":");if(o<1)continue;const r=i.binding.slice(0,o),s=i.binding.slice(o+1),a="device"===r?e.registry.devices?.[s]:null,c="entity"===r?e.registry.entities?.[s]:null,l="device"===r?s:c?.device_id,u="device"===r?a?.area_id:c?.area_id||l&&e.registry.devices?.[l]?.area_id,d="string"==typeof i.room_id&&i.room_id.length>0&&null===i.area?"":i.area||u||"",f=d&&e.areaToSpace[d]||i.space||e.firstSpaceId;l&&e.registry.devices?.[l]&&e.spaceIds.has(f)&&(!n.devices.has(l)||"entity"===r&&n.liveEntities.has(s))&&t.add(l)}return t}function y(e,t){return e?.length?t?.length?g(e,t):e:t}function _(e,t){const n=c(e.rooms,t.walls,t.openCuts,[],i,t.cellCm,o,r);return{roomGeom:"ok"===n.status||"degraded-extra"===n.status?n.roomGeom:void 0,multiWallNodes:l(e.rooms,t.walls,t.openCuts,i,t.cellCm,o,r)}}function*b(c,l,u=_){try{let d=0;for(const f of l){const l=c.spaces.find(e=>String(e?.id)===f.id);if(!l)continue;const m=e(l,f),g=u(f,m);let v=null;for(const e of f.rooms){if(!e.id)continue;const a=t(e);if(!a)continue;const c=n(f.rooms,e.id,m.walls,m.openCuts,i,m.cellCm,o,r,g.roomGeom,g.multiWallNodes)||a;v=y(v,s(c,m.physicalBodies)),yield}const _=m.cellCm/o;d+=a(v)*_*_/1e4}return d}catch{return null}}function h(e,t,n=_){const i=b(e,t,n);let o=i.next();for(;!o.done;)o=i.next();return o.value}function p(e,t,n,i){if("system"!==e.type)return null;if("device_count"===e.key)return null===t.deviceCount?null:String(t.deviceCount);if("total_area"===e.key)return null===t.areaM2?null:m(t.areaM2,"mi"===n?.config?.unit_system?.length);try{return new Intl.DateTimeFormat(i||void 0,{dateStyle:"short",timeStyle:"short",timeZone:n?.config?.time_zone||void 0}).format(t.now)}catch{return t.now.toLocaleString()}}function S(e,t){const n=e?.states?.[t];if(!n)return null;const i=d(e,t);return i?f(i,String(n.attributes?.unit_of_measurement||"")):null}export{b as cleanFloorAreaSteps,v as representedHaDeviceIds,_ as spaceWallGeometry,S as summaryEntityValue,p as summarySystemValue,h as totalCleanFloorAreaM2};
|
||||
globalThis.__HOUSEPLAN_BUILD_FINGERPRINT__="b47c3e03a9479551812b6a9233e3795cc51fb519726920a5969b4c9233f92370";import{e9 as e,L as t,a2 as n,J as i,an as o,N as r,bo as s,bn as a,a1 as c,a0 as l,ax as u,ea as d,eb as f,bq as m,ec as g}from"./houseplan-card-YE40fvv1.js";function v(e){if(!e.registry.authoritative)return null;const t=new Set,n=u(e.markers);for(const i of Object.values(e.registry.devices||{}))i?.id&&"service"!==i.entry_type&&!n.devices.has(i.id)&&i.area_id&&e.areaToSpace[i.area_id]&&t.add(i.id);for(const i of e.markers||[]){if(i.removed||"virtual"===i.binding)continue;const o=String(i.binding||"").indexOf(":");if(o<1)continue;const r=i.binding.slice(0,o),s=i.binding.slice(o+1),a="device"===r?e.registry.devices?.[s]:null,c="entity"===r?e.registry.entities?.[s]:null,l="device"===r?s:c?.device_id,u="device"===r?a?.area_id:c?.area_id||l&&e.registry.devices?.[l]?.area_id,d="string"==typeof i.room_id&&i.room_id.length>0&&null===i.area?"":i.area||u||"",f=d&&e.areaToSpace[d]||i.space||e.firstSpaceId;l&&e.registry.devices?.[l]&&e.spaceIds.has(f)&&(!n.devices.has(l)||"entity"===r&&n.liveEntities.has(s))&&t.add(l)}return t}function y(e,t){return e?.length?t?.length?g(e,t):e:t}function _(e,t){const n=c(e.rooms,t.walls,t.openCuts,[],i,t.cellCm,o,r);return{roomGeom:"ok"===n.status||"degraded-extra"===n.status?n.roomGeom:void 0,multiWallNodes:l(e.rooms,t.walls,t.openCuts,i,t.cellCm,o,r)}}function*h(c,l,u=_){try{let d=0;for(const f of l){const l=c.spaces.find(e=>String(e?.id)===f.id);if(!l)continue;const m=e(l,f),g=u(f,m);let v=null;for(const e of f.rooms){if(!e.id)continue;const a=t(e);if(!a)continue;const c=n(f.rooms,e.id,m.walls,m.openCuts,i,m.cellCm,o,r,g.roomGeom,g.multiWallNodes)||a;v=y(v,s(c,m.physicalBodies)),yield}const _=m.cellCm/o;d+=a(v)*_*_/1e4}return d}catch{return null}}function p(e,t,n=_){const i=h(e,t,n);let o=i.next();for(;!o.done;)o=i.next();return o.value}function b(e,t,n,i){if("system"!==e.type)return null;if("device_count"===e.key)return null===t.deviceCount?null:String(t.deviceCount);if("total_area"===e.key)return null===t.areaM2?null:m(t.areaM2,"mi"===n?.config?.unit_system?.length);try{return new Intl.DateTimeFormat(i||void 0,{dateStyle:"short",timeStyle:"short",timeZone:n?.config?.time_zone||void 0}).format(t.now)}catch{return t.now.toLocaleString()}}function S(e,t){const n=e?.states?.[t];if(!n)return null;const i=d(e,t);return i?f(i,String(n.attributes?.unit_of_measurement||"")):null}export{h as cleanFloorAreaSteps,v as representedHaDeviceIds,_ as spaceWallGeometry,S as summaryEntityValue,b as summarySystemValue,p as totalCleanFloorAreaM2};
|
||||
+2
-2
File diff suppressed because one or more lines are too long
+1
-1
File diff suppressed because one or more lines are too long
+1
-1
@@ -1 +1 @@
|
||||
globalThis.__HOUSEPLAN_BUILD_FINGERPRINT__="6f12d9312dc39371e05ac6b5778215b61b18f6d249a4ae38b50c3945393f253b";import{n as t,b as n}from"./zigbee-topology-DBPd-Wk3.js";import{B as e}from"./houseplan-card-CIDOTv_g.js";const o=new WeakMap;function i(t){const n=function(t){const n=t?.connection||t;return!n||"object"!=typeof n&&"function"!=typeof n?null:n}(t);if(!n)return null;let e=o.get(n);return e||(e={revision:0,topologies:[],states:{},listeners:new Set,inflight:new Map},o.set(n,e)),e}function r(t,n,e){t.states={...t.states,[n]:e},function(t){t.revision++;for(const n of t.listeners)n()}(t)}function s(t){const n=t?.code;if("permission"===n||"unsupported"===n||"timeout"===n||"invalid_topic"===n||"invalid_payload"===n)return n;const e=String(t?.message||"").toLowerCase();return e.includes("unauthor")||e.includes("permission")?"permission":e.includes("unknown_command")||e.includes("not found")?"unsupported":"provider"}function a(t){return Object.assign(new Error(t),{code:t})}function c(t,n,e){const o=t.inflight.get(n);if(o)return o;r(t,n,{phase:"loading"});const i=e().then(n=>{if(!n.nodes.length&&n.warnings.some(t=>"invalid_payload"===t.code))throw a("invalid_payload");!function(t,n){t.topologies=[...t.topologies.filter(t=>!(t.provider===n.provider&&t.instanceId===n.instanceId)),n],r(t,"zha"===n.provider?"zha":`z2m:${n.instanceId}`,{phase:"ready",obtainedAt:n.obtainedAt,partial:n.warnings.length>0})}(t,n)}).catch(e=>{r(t,n,{phase:"error",error:s(e)})}).finally(()=>t.inflight.delete(n));return t.inflight.set(n,i),i}function l(t){const n=i(t);return n?{revision:n.revision,topologies:n.topologies,states:n.states}:{revision:0,topologies:[],states:{}}}function u(t,n){const e=i(t);return e?(e.listeners.add(n),()=>e.listeners.delete(n)):()=>{}}function p(t){if(!0!==t?.user?.is_admin)throw a("permission")}function f(n){const e=i(n);return e?c(e,"zha",async()=>{if(p(n),"function"!=typeof n?.callWS)throw a("unsupported");return t(await n.callWS({type:"zha/devices"}))}):Promise.resolve()}function d(t){return null!==t&&"object"==typeof t?t:null}function h(t){const n=d(t),e=n?.payload??t;if("string"!=typeof e)return e;try{return JSON.parse(e)}catch{return null}}async function g(t,n){let e;try{return await Promise.race([t,new Promise((t,o)=>{e=globalThis.setTimeout(()=>o(a("timeout")),Math.max(1,n))})])}finally{void 0!==e&&globalThis.clearTimeout(e)}}function m(t,o,r=15e4){const s=i(t);if(!s)return Promise.resolve();const l=e(o);return c(s,`z2m:${l||String(o)}`,async()=>{if(p(t),!l)throw a("invalid_topic");const e=t.connection,o=e?.subscribeMessage;if("function"!=typeof o||"function"!=typeof t?.callService)throw a("unsupported");const i=function(){const t=globalThis.crypto;return"function"==typeof t?.randomUUID?`houseplan-${t.randomUUID()}`:`houseplan-${Date.now().toString(36)}-${Math.random().toString(36).slice(2)}`}(),s=Date.now()+Math.max(1,r);let c=!1,u=null,f=null,m=null;const y=new Promise(t=>{u=t}),w=new Promise((t,n)=>{f=t,m=n}),b=[];try{const r=await o.call(e,t=>{!0===d(t)?.retain&&h(t)&&u?.()},{type:"mqtt/subscribe",topic:`${l}/bridge/info`});"function"==typeof r&&b.push(r);const p=await o.call(e,t=>{if(!0===d(t)?.retain)return;const n=h(t);null!==n?n&&function(t){const n=d(t),e=n?.transaction??d(n?.data)?.transaction;return"string"==typeof e||"number"==typeof e?String(e):null}(n)===i&&f?.(n):c&&m?.(a("invalid_payload"))},{type:"mqtt/subscribe",topic:`${l}/bridge/response/networkmap`});"function"==typeof p&&b.push(p),await g(y,Math.min(4e3,Math.max(1,s-Date.now()))),c=!0,await t.callService("mqtt","publish",{topic:`${l}/bridge/request/networkmap`,payload:JSON.stringify({type:"raw",routes:!1,transaction:i}),qos:0,retain:!1});const v=await g(w,s-Date.now()),_=d(v)?.status;if(_&&"ok"!==_)throw a("provider");return n(v,l)}finally{for(const t of b)try{t()}catch{}}})}export{f as readZhaTopology,m as refreshZ2mTopology,u as subscribeZigbeeTopology,l as zigbeeTopologyRuntimeSnapshot};
|
||||
globalThis.__HOUSEPLAN_BUILD_FINGERPRINT__="b47c3e03a9479551812b6a9233e3795cc51fb519726920a5969b4c9233f92370";import{n as t,b as n}from"./zigbee-topology-DhleVwin.js";import{B as e}from"./houseplan-card-YE40fvv1.js";const o=new WeakMap;function i(t){const n=function(t){const n=t?.connection||t;return!n||"object"!=typeof n&&"function"!=typeof n?null:n}(t);if(!n)return null;let e=o.get(n);return e||(e={revision:0,topologies:[],states:{},listeners:new Set,inflight:new Map},o.set(n,e)),e}function r(t,n,e){t.states={...t.states,[n]:e},function(t){t.revision++;for(const n of t.listeners)n()}(t)}function s(t){const n=t?.code;if("permission"===n||"unsupported"===n||"timeout"===n||"invalid_topic"===n||"invalid_payload"===n)return n;const e=String(t?.message||"").toLowerCase();return e.includes("unauthor")||e.includes("permission")?"permission":e.includes("unknown_command")||e.includes("not found")?"unsupported":"provider"}function a(t){return Object.assign(new Error(t),{code:t})}function c(t,n,e){const o=t.inflight.get(n);if(o)return o;r(t,n,{phase:"loading"});const i=e().then(n=>{if(!n.nodes.length&&n.warnings.some(t=>"invalid_payload"===t.code))throw a("invalid_payload");!function(t,n){t.topologies=[...t.topologies.filter(t=>!(t.provider===n.provider&&t.instanceId===n.instanceId)),n],r(t,"zha"===n.provider?"zha":`z2m:${n.instanceId}`,{phase:"ready",obtainedAt:n.obtainedAt,partial:n.warnings.length>0})}(t,n)}).catch(e=>{r(t,n,{phase:"error",error:s(e)})}).finally(()=>t.inflight.delete(n));return t.inflight.set(n,i),i}function l(t){const n=i(t);return n?{revision:n.revision,topologies:n.topologies,states:n.states}:{revision:0,topologies:[],states:{}}}function u(t,n){const e=i(t);return e?(e.listeners.add(n),()=>e.listeners.delete(n)):()=>{}}function p(t){if(!0!==t?.user?.is_admin)throw a("permission")}function f(n){const e=i(n);return e?c(e,"zha",async()=>{if(p(n),"function"!=typeof n?.callWS)throw a("unsupported");return t(await n.callWS({type:"zha/devices"}))}):Promise.resolve()}function d(t){return null!==t&&"object"==typeof t?t:null}function h(t){const n=d(t),e=n?.payload??t;if("string"!=typeof e)return e;try{return JSON.parse(e)}catch{return null}}async function g(t,n){let e;try{return await Promise.race([t,new Promise((t,o)=>{e=globalThis.setTimeout(()=>o(a("timeout")),Math.max(1,n))})])}finally{void 0!==e&&globalThis.clearTimeout(e)}}function m(t,o,r=15e4){const s=i(t);if(!s)return Promise.resolve();const l=e(o);return c(s,`z2m:${l||String(o)}`,async()=>{if(p(t),!l)throw a("invalid_topic");const e=t.connection,o=e?.subscribeMessage;if("function"!=typeof o||"function"!=typeof t?.callService)throw a("unsupported");const i=function(){const t=globalThis.crypto;return"function"==typeof t?.randomUUID?`houseplan-${t.randomUUID()}`:`houseplan-${Date.now().toString(36)}-${Math.random().toString(36).slice(2)}`}(),s=Date.now()+Math.max(1,r);let c=!1,u=null,f=null,m=null;const y=new Promise(t=>{u=t}),w=new Promise((t,n)=>{f=t,m=n}),b=[];try{const r=await o.call(e,t=>{!0===d(t)?.retain&&h(t)&&u?.()},{type:"mqtt/subscribe",topic:`${l}/bridge/info`});"function"==typeof r&&b.push(r);const p=await o.call(e,t=>{if(!0===d(t)?.retain)return;const n=h(t);null!==n?n&&function(t){const n=d(t),e=n?.transaction??d(n?.data)?.transaction;return"string"==typeof e||"number"==typeof e?String(e):null}(n)===i&&f?.(n):c&&m?.(a("invalid_payload"))},{type:"mqtt/subscribe",topic:`${l}/bridge/response/networkmap`});"function"==typeof p&&b.push(p),await g(y,Math.min(4e3,Math.max(1,s-Date.now()))),c=!0,await t.callService("mqtt","publish",{topic:`${l}/bridge/request/networkmap`,payload:JSON.stringify({type:"raw",routes:!1,transaction:i}),qos:0,retain:!1});const v=await g(w,s-Date.now()),_=d(v)?.status;if(_&&"ok"!==_)throw a("provider");return n(v,l)}finally{for(const t of b)try{t()}catch{}}})}export{f as readZhaTopology,m as refreshZ2mTopology,u as subscribeZigbeeTopology,l as zigbeeTopologyRuntimeSnapshot};
|
||||
Vendored
+1
-1
@@ -1 +1 @@
|
||||
globalThis.__HOUSEPLAN_BUILD_FINGERPRINT__="6f12d9312dc39371e05ac6b5778215b61b18f6d249a4ae38b50c3945393f253b";try{await import("./houseplan-assets/houseplan-card-CIDOTv_g.js")}catch(e){if(!customElements.get("houseplan-card")){const l=String(navigator.language||"en").toLowerCase();const m=l.startsWith("ru")?"House Plan обновился — перезагрузите страницу (Ctrl+F5).":l.startsWith("de")?"House Plan wurde aktualisiert — bitte laden Sie die Seite neu (Strg+F5).":l.startsWith("fr")?"House Plan a été mis à jour — veuillez recharger la page (Ctrl+F5).":"House Plan was updated — please reload the page (Ctrl+F5).";customElements.define("houseplan-card",class extends HTMLElement{setConfig(){}getCardSize(){return 1}connectedCallback(){this.style.cssText="display:block;box-sizing:border-box;padding:16px;border:1px solid var(--divider-color,#e0e0e0);border-radius:var(--ha-card-border-radius,12px);background:var(--card-background-color,#fff);color:var(--primary-text-color,#212121);font:14px/1.4 var(--paper-font-body1_-_font-family,sans-serif)";this.textContent=m}})}console.error("[houseplan] stale houseplan-card.js: the implementation chunk is unavailable",e)}
|
||||
globalThis.__HOUSEPLAN_BUILD_FINGERPRINT__="b47c3e03a9479551812b6a9233e3795cc51fb519726920a5969b4c9233f92370";try{await import("./houseplan-assets/houseplan-card-YE40fvv1.js")}catch(e){if(!customElements.get("houseplan-card")){const l=String(navigator.language||"en").toLowerCase();const m=l.startsWith("ru")?"House Plan обновился — перезагрузите страницу (Ctrl+F5).":l.startsWith("de")?"House Plan wurde aktualisiert — bitte laden Sie die Seite neu (Strg+F5).":l.startsWith("fr")?"House Plan a été mis à jour — veuillez recharger la page (Ctrl+F5).":"House Plan was updated — please reload the page (Ctrl+F5).";customElements.define("houseplan-card",class extends HTMLElement{setConfig(){}getCardSize(){return 1}connectedCallback(){this.style.cssText="display:block;box-sizing:border-box;padding:16px;border:1px solid var(--divider-color,#e0e0e0);border-radius:var(--ha-card-border-radius,12px);background:var(--card-background-color,#fff);color:var(--primary-text-color,#212121);font:14px/1.4 var(--paper-font-body1_-_font-family,sans-serif)";this.textContent=m}})}console.error("[houseplan] stale houseplan-card.js: the implementation chunk is unavailable",e)}
|
||||
|
||||
Vendored
+1
-1
File diff suppressed because one or more lines are too long
@@ -2,6 +2,8 @@
|
||||
|
||||
## Unreleased
|
||||
|
||||
## v1.74.0-beta.2 — 2026-09-11
|
||||
|
||||
- A plan left over from the era of “rooms without walls” can be edited again.
|
||||
Such a plan could refuse every change with “conflicting wall identifiers”,
|
||||
send you to “Optimize plans”, which then reported that everything was already
|
||||
|
||||
@@ -8,6 +8,8 @@
|
||||
|
||||
## Не выпущено
|
||||
|
||||
## v1.74.0-beta.2 — 2026-09-11
|
||||
|
||||
- План, доставшийся от времён «комнат без стен», снова редактируется. Такой план
|
||||
мог отбивать любую правку сообщением про конфликт идентификаторов стен,
|
||||
отправлять в «Оптимизировать планы», который отвечал, что всё уже оптимально,
|
||||
|
||||
@@ -1,20 +1,20 @@
|
||||
<!-- release: v1.74.0-beta.1 -->
|
||||
<!-- release: v1.74.0-beta.2 -->
|
||||
|
||||
## Основное
|
||||
|
||||
- Сводная панель больше не подвешивает первый кадр на большом плане и не показывает «Source unavailable», пока значения ещё считаются ([#509](https://github.com/Matysh/houseplan-card/issues/509)).
|
||||
- Диалог настроек сводной панели снова прокручивается — колесом мыши на десктопе и свайпом на телефоне ([#508](https://github.com/Matysh/houseplan-card/issues/508)).
|
||||
- Направляющие выравнивания снова идут за значком, фигурой и курсором во время жеста в трёх редакторах ([#521](https://github.com/Matysh/houseplan-card/issues/521)).
|
||||
- План, доставшийся от времён «комнат без стен», снова редактируется: наследие снимается при первом сохранении, а не запирает план наглухо ([#529](https://github.com/Matysh/houseplan-card/issues/529)).
|
||||
- План снова плавный в Firefox: тень маркера больше не перезапускает анимацию у всех значков разом ([#524](https://github.com/Matysh/houseplan-card/issues/524)).
|
||||
- Карточка скачивается на 12,8 КБ меньше при холодном старте ([#526](https://github.com/Matysh/houseplan-card/issues/526)).
|
||||
- Мелкие исправления и улучшения.
|
||||
|
||||
## Highlights
|
||||
|
||||
- The summary panel no longer freezes the first frame on a large plan and no longer says "Source unavailable" while its values are still being computed ([#509](https://github.com/Matysh/houseplan-card/issues/509)).
|
||||
- The summary panel settings dialog scrolls again — with the mouse wheel on desktop and with a swipe on phones ([#508](https://github.com/Matysh/houseplan-card/issues/508)).
|
||||
- Alignment guides follow the marker, the shape and the cursor again while you drag, in all three editors ([#521](https://github.com/Matysh/houseplan-card/issues/521)).
|
||||
- A plan left over from the era of “rooms without walls” can be edited again: the leftover is cleaned up on the first save instead of locking the plan completely ([#529](https://github.com/Matysh/houseplan-card/issues/529)).
|
||||
- The plan is smooth again in Firefox: a marker's shadow no longer restarts an animation on every marker at once ([#524](https://github.com/Matysh/houseplan-card/issues/524)).
|
||||
- The card downloads 12.8 KB less on a cold start ([#526](https://github.com/Matysh/houseplan-card/issues/526)).
|
||||
- Small fixes and improvements.
|
||||
|
||||
Сообщество / Community: [Telegram](https://t.me/ha_houseplan)
|
||||
|
||||
[Полный список изменений на русском](https://github.com/Matysh/houseplan-card/blob/v1.74.0-beta.1/docs/CHANGELOG.ru.md)
|
||||
· [Full changelog in English](https://github.com/Matysh/houseplan-card/blob/v1.74.0-beta.1/docs/CHANGELOG.md)
|
||||
[Полный список изменений на русском](https://github.com/Matysh/houseplan-card/blob/v1.74.0-beta.2/docs/CHANGELOG.ru.md)
|
||||
· [Full changelog in English](https://github.com/Matysh/houseplan-card/blob/v1.74.0-beta.2/docs/CHANGELOG.md)
|
||||
|
||||
+2
-2
@@ -21,8 +21,8 @@ metadata). Only an explicit owner-approved emergency hotfix may skip this gate.
|
||||
|
||||
| Item | State |
|
||||
|---|---|
|
||||
| Version | **v1.74.0-beta.1** everywhere (manifest, const.py, package.json, CARD_VERSION in the card and the editor runtime) |
|
||||
| Current local cycle | v1.74.0-beta.1 opens the line after the stable v1.73.0. User-visible: the summary panel no longer freezes the first frame on a large plan and no longer shows "Source unavailable" while its values are still being computed (#509), its settings dialog scrolls again with the wheel and with a swipe (#508), and the alignment guides follow the gesture again in all three editors — the marker, the shape and the drawing cursor (#521, a regression that shipped in v1.72.0 and v1.73.0). Everything else in this beta is internal: one owner for config/layout identity and the adoption sequence (#500) plus the cold-start regression it left behind — the authoritative adoption now keeps its own task and the first stable frame of a 60-room house is back inside its budget (#520) — and the process/CI work: review waits for a green Validate with diff mutants on the exact material (#510), merge-candidate publishes and validates the merge candidate (#492), the release gate judges the latest non-cancelled run (#511), the version text left the golden frames behind a seam with a local `docs:accept --identical` path (#512), the full mutation registry moved to a nightly schedule (#513), specs live in the issue body (#517), and the Windows gate is green with CI-pinned toolchain (#496). Publication requires green Validate on the exact candidate SHA; `main` stays at v1.73.0. |
|
||||
| Version | **v1.74.0-beta.2** everywhere (manifest, const.py, package.json, CARD_VERSION in the card and the editor runtime) |
|
||||
| Current local cycle | v1.74.0-beta.2 continues the line after the stable v1.73.0. User-visible in this beta: a plan left over from the era of rooms without walls can be edited again — the leftover is cleaned up on the first save instead of refusing every change, sending the user to an Optimize that cannot help and blocking the export as well (#529, reported by a user in #527); the plan is smooth again in Firefox, where a marker shadow sized in container units restarted a non-composited animation on every marker at once and cost 9.4 frames per second (#524); switching between spaces no longer replays a neighbouring door's leaf movement or a marker's shadow (#525); and the card downloads 12.8 KB less on a cold start because the stylesheet minifier had never actually run (#526). Internal: the space-switch witness now judges node identity rather than a transition that #524 removed (#528), and the review gate charges a round only for what the round changed — witnesses are judged by their anchor's neighbourhood, an empty shard plan costs no environment, and the matrix is six shards (#518). Everything from v1.74.0-beta.1 stays in the line. Publication requires green Validate on the exact candidate SHA; `main` stays at v1.73.0. |
|
||||
| Hidden Alpha Stage | #89 Stage 1 ships in v1.63.0-beta.1, #122 Stage 2 in v1.64.0 and #160 Stage 3 in v1.73.0-beta.1. The same hidden `iso` view uses the fixed 4° camera, raised/tethered device-room-lock overlays, deeper openings and bounded theme materials; #471 removes the overlay plates from paint while retaining their safety geometry. Since #448 the experiment is enabled only through the single indefinite browser-local `hp_alpha` gate; it is not expiring and has no per-stage key. Flat remains default; editors, `houseplan-space-card`, floor effects, stored coordinates and HA actions remain unchanged. Stage 3 stays internal and is absent from public changelog/user documentation. |
|
||||
| Workflow | Superseded 2026-08-12: the pre-1.62 rule of "local edits without tests or commits" is **dead** — since release 1.62 every product change follows `PROCESS.md` (issue in `S5-ready`+, branch `issue/<NN>-slug`, trailers on every commit, review pipeline; `AGENTS.md` is the summary). Release mechanics below remain current. A requested pre-release gets a production build plus the smallest targeted unit/smoke set covering the changed surfaces, one tested `dev` commit/tag and a GitHub Release with `prerelease=true`; `main` stays untouched. The complete local frontend/backend/smoke gate runs only before a stable release, after which `main` is fast-forwarded to the exact tested `dev` SHA and the GitHub Release uses `prerelease=false`. Release bodies are short and bilingual (Russian first); every bullet links its GitHub issue (#NN) so the #328 rules stay machine-checkable. A STABLE body aggregates the changelog since the PREVIOUS STABLE release (never since the last beta): features/fixes described across the line's beta changelogs must appear, while bugs that were introduced and fixed strictly inside the beta line (never shipped in any stable) are excluded — draft with `npm run release:notes -- <tag>`, curate by hand, then `npm run release:notes -- <tag> --verify` must pass. `Мелкие исправления и улучшения` / `Small fixes and improvements` is allowed only when the range really contains user-visible work not itemised in the body; a single-issue hotfix ships without it (the verifier enforces this). Every body ends with separate links to the Russian and English changelogs. Open or partially delivered issues are never presented as shipped. Telegram announcements are sent only for stable releases; beta and RC publication is silent. `docs/RELEASE-NOTES.md` is the current canonical body instance; `npm run release:prerelease -- <tag> --issues=… --yes` is the primary local publication path and the manual `Publish prerelease` workflow is its GitHub-only equivalent once present on `main`. Nothing is copied to the home instance by hand |
|
||||
| GitHub | https://github.com/Matysh/houseplan-card — [Issues](https://github.com/Matysh/houseplan-card/issues) are the canonical task records; their labels carry priority and workflow status (`PROCESS.md` §9). GitHub Projects is no longer used. `main` carries stable releases; pre-release tags may point directly at `dev`. Work lands on `dev` and is merged into `main` for a stable release, so `dev` is normally equal to or ahead of `main`, never behind. Push via SSH key `ha_jb` (remote git@github.com:…); API releases via the fine-grained PAT in `~/.git-credentials` (Contents R/W, issued 2026-07-23) |
|
||||
|
||||
Generated
+2
-2
@@ -1,12 +1,12 @@
|
||||
{
|
||||
"name": "houseplan-card",
|
||||
"version": "1.74.0-beta.1",
|
||||
"version": "1.74.0-beta.2",
|
||||
"lockfileVersion": 3,
|
||||
"requires": true,
|
||||
"packages": {
|
||||
"": {
|
||||
"name": "houseplan-card",
|
||||
"version": "1.74.0-beta.1",
|
||||
"version": "1.74.0-beta.2",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"lit": "^3.1.3",
|
||||
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "houseplan-card",
|
||||
"version": "1.74.0-beta.1",
|
||||
"version": "1.74.0-beta.2",
|
||||
"description": "Interactive house plan Lovelace card for Home Assistant",
|
||||
"license": "MIT",
|
||||
"type": "module",
|
||||
|
||||
@@ -416,7 +416,7 @@ import type { MarkerRoomReferenceSnapshot } from './room-reference-transaction';
|
||||
import { SummaryRuntimeSlot, summaryRuntimeLoader } from './summary-runtime-loader';
|
||||
import { displayVersion } from './card-version';
|
||||
|
||||
const CARD_VERSION = '1.74.0-beta.1';
|
||||
const CARD_VERSION = '1.74.0-beta.2';
|
||||
const ENTRY_BUILD_FINGERPRINT = '__HOUSEPLAN_SOURCE_FINGERPRINT__';
|
||||
const EDITOR_RETRY_ASSET = '__HOUSEPLAN_EDITOR_RETRY_ASSET__';
|
||||
const ISO_RETRY_ASSET = '__HOUSEPLAN_ISO_RETRY_ASSET__';
|
||||
|
||||
@@ -388,7 +388,7 @@ import {
|
||||
rewriteMarkerRoomReferences, type MarkerRoomReferenceSnapshot,
|
||||
} from './room-reference-transaction';
|
||||
|
||||
const CARD_VERSION = '1.74.0-beta.1';
|
||||
const CARD_VERSION = '1.74.0-beta.2';
|
||||
|
||||
// #474: the editor imports the furniture artwork statically and hands it to
|
||||
// the page runtime the moment this chunk evaluates — before the loader's
|
||||
|
||||
Reference in New Issue
Block a user