mirror of
https://github.com/Matysh/houseplan-card
synced 2026-10-03 05:08:53 +00:00
feat: add configurable summary panel (#437)
Issue: #437 User-Visible: yes
This commit is contained in:
@@ -176,8 +176,15 @@ export const LOW_HEADROOM_WARNING_BYTES = 15_000;
|
||||
* renderer'ам до загрузки редактора: именно они меняют температурную заливку
|
||||
* обычного и статичного плана. Измеренный факт 290 937 Б оставляет 563 Б
|
||||
* сверху и 1 437 Б до нижней границы полосы; UI и writer остались в lazy editor.
|
||||
*
|
||||
* 2026-09-08, #437: потолок перецентрирован 291 500 → 292 000. Весь runtime
|
||||
* сводной панели, её CSS, четыре словаря, форма и расчёт агрегатов вынесены в
|
||||
* ленивые чанки; в initial View остались только точка динамической загрузки,
|
||||
* capability и narrow bridge, без которых панель нельзя безопасно запустить.
|
||||
* Измеренный факт 291 219 Б оставляет 781 Б сверху и 1 219 Б снизу; общий
|
||||
* бюджет 301 066 Б не меняется.
|
||||
*/
|
||||
export const INITIAL_VIEW_GZIP_CEILING = 291_500;
|
||||
export const INITIAL_VIEW_GZIP_CEILING = 292_000;
|
||||
export const INITIAL_VIEW_CEILING_BAND = 2_000;
|
||||
|
||||
/**
|
||||
|
||||
@@ -7,6 +7,21 @@
|
||||
* field whose key is still current but whose old value is compatibility-only.
|
||||
*/
|
||||
export const CONFIG_FIELD_REGISTRY = Object.freeze([
|
||||
{
|
||||
id: 'settings.summary_panel',
|
||||
enforcedBy: 'summary-panel.ts + validation.py change-aware reference validation; #437',
|
||||
selector: { path: ['settings', 'summary_panel'] },
|
||||
storage: 'House Plan server config',
|
||||
type: '{ version: 1, title, show_on_mobile, blocks[] } | bounded future object',
|
||||
default: 'unset (= localized read-only defaults; no server write)',
|
||||
level: 'global shared presentation',
|
||||
ui: 'View → Summary panel settings',
|
||||
runtime: 'read-only screen-space overlay; HA entity values remain runtime-only',
|
||||
introduced: '#437 / v1.73.0',
|
||||
status: 'current',
|
||||
migration: 'none — omission derives defaults; explicit empty blocks remain empty',
|
||||
compatibility: 'older ordinary config/set preserves the namespace; future versions stay opaque and inert',
|
||||
},
|
||||
{
|
||||
id: 'card.tap_action',
|
||||
schema: 'lovelace-card', // #33: Lovelace card option — not in the backend manifest by design
|
||||
|
||||
@@ -420,6 +420,19 @@
|
||||
"required": false,
|
||||
"type": "bool"
|
||||
},
|
||||
"config.settings.summary_panel": {
|
||||
"required": false,
|
||||
"variants": [
|
||||
{
|
||||
"allowExtra": true,
|
||||
"object": true,
|
||||
"opaque": "<function _summary_panel_invariants>"
|
||||
},
|
||||
{
|
||||
"opaque": "<function _future_summary_panel>"
|
||||
}
|
||||
]
|
||||
},
|
||||
"config.settings.sun_rays": {
|
||||
"required": false,
|
||||
"type": "bool"
|
||||
|
||||
Reference in New Issue
Block a user