Files
houseplan-card/dist/houseplan-assets.json
T
Claude 2bec03e6fa fix: «Как у пространства» забывает свой цвет комнаты (#581)
Режим заливки комнаты и её цвет — два поля конфига под одним переключателем.
«Как у пространства» снимало только режим; цвет оставался и продолжал
применяться, потому что `roomCustomFillOf` отдавал цвет комнаты независимо от
того, чей режим `custom` действует. Так возникало безымянное состояние «режим
наследую, цвет свой» — Cabinet на даче.

Теперь цвет комнаты участвует в раскраске только вместе с её собственным
`fill_mode: 'custom'` (одна функция — все поверхности: карточка, space-card,
PDF, черновик диалога). Диалог загружает цвет в черновик только при своём
режиме, обнуляет его при уходе с «Свой цвет» и показывает строку цвета только
под этим радио; сохранение пишет `custom_fill` только с `fill_mode: 'custom'`,
иначе удаляет — включая сироту от прежнего редактора. Чтение конфиг не
переписывает: застрявшие комнаты выздоравливают обновлением.

- `test/logic.test.mjs`: AC1 — сирота и любой чужой режим → цвет пространства
- `demo/smoke_room_settings.mjs` шаг 7: свой цвет → «Как у пространства» →
  ни режима, ни цвета, во View цвет пространства; сирота открывается как
  наследование, сохранение её удаляет (проверено красным на базе: 9 фактов)
- `demo/smoke_space_settings.mjs`: override с собственным режимом + сирота
- `demo/golden/harness.mjs`: `roomCustomFill` ставит комнате её режим —
  кадры `lighting-custom-glow-*` не меняются
- мутант `room-orphan-colour-wins-again`
- docs: ARCHITECTURE (#56), CONFIG-COMPATIBILITY, USER-GUIDE ru/en, TESTING;
  отпечаток скриншотов принят попиксельно (11 кадров)

Issue: #581
User-Visible: yes
2026-09-15 09:48:37 +03:00

298 lines
9.9 KiB
JSON

{
"schema": 1,
"fingerprint": "241ab786b7cce5c1f837e73704240f138bd3e097bfecdbb0e93046bf4a19d3ef",
"entry": "houseplan-card.js",
"panelEntry": "houseplan-panel.js",
"initialViewFiles": [
"houseplan-assets/houseplan-card-BvxqYw8A.js",
"houseplan-card.js"
],
"initialViewGzipBytes": 290805,
"initialPanelFiles": [
"houseplan-assets/houseplan-card-BvxqYw8A.js",
"houseplan-panel.js"
],
"initialPanelGzipBytes": 292327,
"initialPanelOnlyFiles": [
"houseplan-panel.js"
],
"initialPanelOnlyGzipBytes": 2326,
"lazyFiles": [
"houseplan-assets/backdrop-pick-ClLjW_UW.js",
"houseplan-assets/de-BrzcYO-1.js",
"houseplan-assets/editor-Cfrg3iMq.js",
"houseplan-assets/fr-CLHfUBDP.js",
"houseplan-assets/furniture-plan-art.generated-7nJsC48X.js",
"houseplan-assets/houseplan-editor-runtime-Pkk2XGqR.js",
"houseplan-assets/houseplan-onboarding-runtime-BhJG-ch3.js",
"houseplan-assets/hp-zigbee-topology-overlay-jvjkBbI9.js",
"houseplan-assets/iso-scene-render-D2f0EUgN.js",
"houseplan-assets/live-interaction-runtime-BA69oN1Z.js",
"houseplan-assets/pdf-export-DeQrvN1z.js",
"houseplan-assets/summary-panel-runtime-loaded-B6w0YS6P.js",
"houseplan-assets/zigbee-topology-B8St6NV9.js",
"houseplan-assets/zigbee-topology-runtime-BkrLGjiL.js"
],
"lazyGzipBytes": 418772,
"lazyEditorFiles": [
"houseplan-assets/backdrop-pick-ClLjW_UW.js",
"houseplan-assets/editor-Cfrg3iMq.js",
"houseplan-assets/furniture-plan-art.generated-7nJsC48X.js",
"houseplan-assets/houseplan-editor-runtime-Pkk2XGqR.js",
"houseplan-assets/zigbee-topology-B8St6NV9.js"
],
"lazyEditorGzipBytes": 204963,
"lazyOnboardingFiles": [
"houseplan-assets/backdrop-pick-ClLjW_UW.js",
"houseplan-assets/houseplan-onboarding-runtime-BhJG-ch3.js"
],
"lazyOnboardingGzipBytes": 13916,
"lazyLocaleFiles": [
"houseplan-assets/de-BrzcYO-1.js",
"houseplan-assets/fr-CLHfUBDP.js"
],
"lazyLocaleGzipBytes": 54921,
"lazyIsometricFiles": [
"houseplan-assets/iso-scene-render-D2f0EUgN.js"
],
"lazyIsometricGzipBytes": 13234,
"lazyFurnitureArtFiles": [
"houseplan-assets/furniture-plan-art.generated-7nJsC48X.js"
],
"lazyFurnitureArtGzipBytes": 10255,
"lazyPdfFiles": [
"houseplan-assets/furniture-plan-art.generated-7nJsC48X.js",
"houseplan-assets/pdf-export-DeQrvN1z.js"
],
"lazyPdfGzipBytes": 120128,
"files": [
{
"path": "houseplan-assets/backdrop-pick-ClLjW_UW.js",
"sha256": "5c8e9728df6ebdaad6346a26686f058ba4cce8bebd68c01d6cf18423ac67b792",
"rawBytes": 19956,
"gzipBytes": 6880,
"isEntry": false,
"imports": [
"houseplan-assets/houseplan-card-BvxqYw8A.js"
],
"dynamicImports": []
},
{
"path": "houseplan-assets/de-BrzcYO-1.js",
"sha256": "b7488c7f186f740f02cdfde3c093aed8754e91157c0903d196a36fee4fbfef60",
"rawBytes": 91590,
"gzipBytes": 27743,
"isEntry": false,
"imports": [],
"dynamicImports": []
},
{
"path": "houseplan-assets/editor-Cfrg3iMq.js",
"sha256": "83f9d762289e0f83a6e78730d3eb54862dbfa78408c93d410126f15988ca758c",
"rawBytes": 3831,
"gzipBytes": 1584,
"isEntry": false,
"imports": [
"houseplan-assets/houseplan-card-BvxqYw8A.js"
],
"dynamicImports": []
},
{
"path": "houseplan-assets/fr-CLHfUBDP.js",
"sha256": "3524222b350ecbe2187351bf1730cc1d6393497104b10478cc3b7b0e5f14a9ec",
"rawBytes": 93884,
"gzipBytes": 27178,
"isEntry": false,
"imports": [],
"dynamicImports": []
},
{
"path": "houseplan-assets/furniture-plan-art.generated-7nJsC48X.js",
"sha256": "8303521f70c98617ece5cea54517760fdb808bec3fc7b68add0434ea56980dd3",
"rawBytes": 33655,
"gzipBytes": 10255,
"isEntry": false,
"imports": [],
"dynamicImports": []
},
{
"path": "houseplan-assets/houseplan-card-BvxqYw8A.js",
"sha256": "da77e0c3d6445d114ff496613fc8aebfb7e7ed132bdfbc5c2bc8c5a79fd8afc2",
"rawBytes": 1032746,
"gzipBytes": 290001,
"isEntry": false,
"imports": [],
"dynamicImports": [
"houseplan-assets/de-BrzcYO-1.js",
"houseplan-assets/editor-Cfrg3iMq.js",
"houseplan-assets/fr-CLHfUBDP.js",
"houseplan-assets/furniture-plan-art.generated-7nJsC48X.js",
"houseplan-assets/houseplan-editor-runtime-Pkk2XGqR.js",
"houseplan-assets/houseplan-onboarding-runtime-BhJG-ch3.js",
"houseplan-assets/hp-zigbee-topology-overlay-jvjkBbI9.js",
"houseplan-assets/iso-scene-render-D2f0EUgN.js",
"houseplan-assets/live-interaction-runtime-BA69oN1Z.js",
"houseplan-assets/pdf-export-DeQrvN1z.js",
"houseplan-assets/summary-panel-runtime-loaded-B6w0YS6P.js"
]
},
{
"path": "houseplan-assets/houseplan-editor-runtime-Pkk2XGqR.js",
"sha256": "0d095de08b11966dd3cb784099bba2f92d8c294f0817a49f3e3d4813ca9baa0b",
"rawBytes": 670150,
"gzipBytes": 178818,
"isEntry": false,
"imports": [
"houseplan-assets/backdrop-pick-ClLjW_UW.js",
"houseplan-assets/furniture-plan-art.generated-7nJsC48X.js",
"houseplan-assets/houseplan-card-BvxqYw8A.js",
"houseplan-assets/zigbee-topology-B8St6NV9.js"
],
"dynamicImports": [
"houseplan-assets/zigbee-topology-runtime-BkrLGjiL.js"
]
},
{
"path": "houseplan-assets/houseplan-onboarding-runtime-BhJG-ch3.js",
"sha256": "66ec3c0650ce721de901ec5d8d175c3b76e4878da909dada0d92589b3c8da4b5",
"rawBytes": 28287,
"gzipBytes": 7036,
"isEntry": false,
"imports": [
"houseplan-assets/backdrop-pick-ClLjW_UW.js",
"houseplan-assets/houseplan-card-BvxqYw8A.js"
],
"dynamicImports": []
},
{
"path": "houseplan-assets/hp-zigbee-topology-overlay-jvjkBbI9.js",
"sha256": "d4b6c957d4a82b979f7a71832e583fbd93852f7f8c340ce7a32fb8f773a59bc5",
"rawBytes": 10756,
"gzipBytes": 3685,
"isEntry": false,
"imports": [
"houseplan-assets/houseplan-card-BvxqYw8A.js",
"houseplan-assets/zigbee-topology-B8St6NV9.js",
"houseplan-assets/zigbee-topology-runtime-BkrLGjiL.js"
],
"dynamicImports": []
},
{
"path": "houseplan-assets/iso-scene-render-D2f0EUgN.js",
"sha256": "92b77a114af62667adceacab9ecb76b631afb2ac83d9e255af206678f79cac47",
"rawBytes": 39206,
"gzipBytes": 13234,
"isEntry": false,
"imports": [
"houseplan-assets/houseplan-card-BvxqYw8A.js"
],
"dynamicImports": []
},
{
"path": "houseplan-assets/live-interaction-runtime-BA69oN1Z.js",
"sha256": "1e3130110cdb4af9dfe938444d9b8a88ef4f6c30502841f5785231894e1ed7a6",
"rawBytes": 8216,
"gzipBytes": 3207,
"isEntry": false,
"imports": [
"houseplan-assets/houseplan-card-BvxqYw8A.js"
],
"dynamicImports": []
},
{
"path": "houseplan-assets/pdf-export-DeQrvN1z.js",
"sha256": "11a305cbbb3772c55968cbcb502c1878e4e74522c5179e1ee281e80fb85d6f93",
"rawBytes": 236244,
"gzipBytes": 109873,
"isEntry": false,
"imports": [
"houseplan-assets/furniture-plan-art.generated-7nJsC48X.js",
"houseplan-assets/houseplan-card-BvxqYw8A.js"
],
"dynamicImports": []
},
{
"path": "houseplan-assets/summary-panel-editor-o2bn2wLY.js",
"sha256": "c253cfec20c5cef0a472b4dd42caca4276d147e48ea795f9d1b562c4a39da46e",
"rawBytes": 14824,
"gzipBytes": 3401,
"isEntry": false,
"imports": [
"houseplan-assets/houseplan-card-BvxqYw8A.js",
"houseplan-assets/summary-panel-runtime-loaded-B6w0YS6P.js"
],
"dynamicImports": []
},
{
"path": "houseplan-assets/summary-panel-metrics-CzgAvzH6.js",
"sha256": "51530c69ada90dc42a92f5e297366734969c1a91c58ae30b9ecd528978a5441e",
"rawBytes": 2610,
"gzipBytes": 1305,
"isEntry": false,
"imports": [
"houseplan-assets/houseplan-card-BvxqYw8A.js"
],
"dynamicImports": []
},
{
"path": "houseplan-assets/summary-panel-runtime-loaded-B6w0YS6P.js",
"sha256": "fa463fbec81b0635b56be87906d24442eba48ed1047445e192b5eb3ec519b7c1",
"rawBytes": 73366,
"gzipBytes": 20089,
"isEntry": false,
"imports": [
"houseplan-assets/houseplan-card-BvxqYw8A.js"
],
"dynamicImports": [
"houseplan-assets/summary-panel-editor-o2bn2wLY.js",
"houseplan-assets/summary-panel-metrics-CzgAvzH6.js"
]
},
{
"path": "houseplan-assets/zigbee-topology-B8St6NV9.js",
"sha256": "d35d5ebeedb562a4c29709da95964080f053e4e1eb0d3f2fb7eb957b71444e9c",
"rawBytes": 18961,
"gzipBytes": 7426,
"isEntry": false,
"imports": [
"houseplan-assets/houseplan-card-BvxqYw8A.js"
],
"dynamicImports": []
},
{
"path": "houseplan-assets/zigbee-topology-runtime-BkrLGjiL.js",
"sha256": "a7774967077014e62b395dacb43dc7eb10022b03b6ac24a358ce53eee4469786",
"rawBytes": 3941,
"gzipBytes": 1764,
"isEntry": false,
"imports": [
"houseplan-assets/houseplan-card-BvxqYw8A.js",
"houseplan-assets/zigbee-topology-B8St6NV9.js"
],
"dynamicImports": []
},
{
"path": "houseplan-card.js",
"sha256": "79b31c6683afff9ca22fb99a7a855f81957a199352f0f212807444b2998ee7d1",
"rawBytes": 1205,
"gzipBytes": 804,
"isEntry": true,
"imports": [
"houseplan-assets/houseplan-card-BvxqYw8A.js"
],
"dynamicImports": []
},
{
"path": "houseplan-panel.js",
"sha256": "4240e1335652c727ecf9a8868b515945f8c97b50cff332708ac302b9c0ccf6b4",
"rawBytes": 6165,
"gzipBytes": 2326,
"isEntry": true,
"imports": [
"houseplan-assets/houseplan-card-BvxqYw8A.js"
],
"dynamicImports": []
}
]
}