mirror of
https://github.com/Matysh/houseplan-card
synced 2026-10-06 22:49:16 +00:00
feat(zigbee): show provider-confirmed parents and coordinator routes
Replace inferred BFS topology with confirmed end-device parents and active router routes from ZHA and Zigbee2MQTT. Fail closed on ambiguous evidence, preserve stale snapshots, and request routing tables without hover traffic. Use solid LQI-coloured arrows, plan-scaled unknown-LQI outlines, and named unplaced targets. Add provider/runtime/visual regression coverage. Owner authorized author self-review and merge to dev while the review model is unavailable; no release or issue closure is included. Issue: #798 User-Visible: yes
This commit is contained in:
@@ -33,11 +33,11 @@ that transition events alone prove disposal.
|
||||
| --- | ---: | --- |
|
||||
| Performance threshold | 4 | The witness measures real browser wall-time or frame work; a pure assertion cannot prove the budget. |
|
||||
| Browser harness integrity | 4 | The mutation breaks page-error, round-trip or page-registration observation in the browser harness itself. |
|
||||
| Paint, cascade and layer composition | 37 | The invariant depends on computed CSS, SVG paint, clipping, stacking or pixels produced by Chromium. |
|
||||
| Paint, cascade and layer composition | 40 | The invariant depends on computed CSS, SVG paint, clipping, stacking or pixels produced by Chromium. |
|
||||
| Pointer geometry and trusted interaction | 49 | The invariant depends on hit testing, pointer capture, touch/keyboard dispatch or live DOM geometry. |
|
||||
| Responsive DOM layout | 38 | The invariant depends on measured element boxes, responsive breakpoints, native/HA dialog shells or focusable target size. |
|
||||
| Custom-element and HA browser lifecycle | 103 | The invariant crosses Lit/custom-element lifecycle, browser storage/events, lazy loading or a complete HA-card state transition. |
|
||||
| **Total** | **235 / 200** | Above the guideline `mutation-gate --check` warns rather than fails (#699); each guard above it is held by its own reason in this inventory and its `because`. |
|
||||
| **Total** | **238 / 200** | Above the guideline `mutation-gate --check` warns rather than fails (#699); each guard above it is held by its own reason in this inventory and its `because`. |
|
||||
|
||||
## Measured effect
|
||||
|
||||
@@ -93,6 +93,11 @@ The mutation breaks page-error, round-trip or page-registration observation in t
|
||||
|
||||
The invariant depends on computed CSS, SVG paint, clipping, stacking or pixels produced by Chromium.
|
||||
|
||||
The #798 Zigbee witnesses exercise the mounted SVG for local and parent-bubble
|
||||
routes in both themes and at minimum/default/maximum plan zoom. Unknown-LQI
|
||||
outlines must scale with the plan, including live CSS projection; known-LQI
|
||||
parent routes must retain the same line/arrow color as local routes.
|
||||
|
||||
- `daycycle-outline-not-promoted`
|
||||
- `daycycle-outline-promoted-on-inner-paper`
|
||||
- `daycycle-static-outline-promoted-on-inner-paper`
|
||||
@@ -130,6 +135,9 @@ The invariant depends on computed CSS, SVG paint, clipping, stacking or pixels p
|
||||
- `value-static-icon-keeps-live-vacuum`
|
||||
- `value-static-icon-keeps-route-warning`
|
||||
- `value-static-icon-keeps-vacuum-overlay`
|
||||
- `zigbee-topology-parent-lqi-discarded`
|
||||
- `zigbee-topology-unknown-arrow-outline-removed`
|
||||
- `zigbee-topology-unknown-outline-ignores-plan-zoom`
|
||||
|
||||
### Pointer geometry and trusted interaction
|
||||
|
||||
@@ -332,6 +340,6 @@ The invariant crosses Lit/custom-element lifecycle, browser storage/events, lazy
|
||||
- `zigbee-topology-hovered-endpoint-elevation-removed`
|
||||
- `zigbee-topology-overlay-double-live-projection`
|
||||
- `zigbee-topology-overlay-layer-lowered`
|
||||
- `zigbee-topology-unknown-casing-gaps-filled`
|
||||
- `zigbee-topology-solid-route-dashed`
|
||||
- `zigbee-topology-unknown-casing-removed`
|
||||
- `zigbee-topology-unrelated-markers-raised`
|
||||
|
||||
Reference in New Issue
Block a user