mirror of
https://github.com/Matysh/houseplan-card
synced 2026-07-31 08:28:31 +00:00
- room.open_to symmetric links; 'Open boundary' plan tool toggles the shared wall pair under the click (sharedBoundary collinear-overlap math + distToSegment pull, same as Split); dashed rendering with an amber hot state while the tool is active; Esc -> Draw - glow: the clip becomes the transitive open zone (openZoneOf BFS, either-direction links) + door sectors from the zone's outer walls - model rooms carry open_to; backend ROOM_SCHEMA open_to: [str] - +3 unit tests (104), smoke_openwall.mjs (8 checks); docs same-commit
Synthetic demo home
A fully fictional house (plans, devices, states) used for README screenshots, the demo GIF and headless smoke tests — so no real home data ever appears in public materials.
srv/demo.html— self-contained host page:<ha-icon>/<ha-card>stubs and a fakehass(registries, states,callWS,callService, floors).srv/assets/— generated plan SVGs andicons.js(node demo/gen_icons.mjs, needs the repo's devDependencies). The card bundle is copied fromdist/:cp dist/houseplan-card.js demo/srv/assets/.serve.mjs— playwright launcher (route interception, no web server).smoke_*.mjs— feature smoke tests; run with a Chromium installed viaPLAYWRIGHT_BROWSERS_PATH=<dir> npx playwright install chromium-headless-shell.
Note for sandboxed sessions: /tmp does not survive; this directory is the
persistent home of the harness (docs/DEVELOPMENT.md has the LD_LIBRARY_PATH recipe).