mirror of
https://github.com/Matysh/houseplan-card
synced 2026-10-01 12:18:51 +00:00
Wall-midpoint handles for every room (finger-sized, pointer-captured, no stage-pan conflict); dragging moves the wall along its normal with live preview through the config snapshot, shared stretches drag the neighbour (T-junctions insert vertices), openings on the wall travel along. Click a room for the corner scale frame (uniform, about the opposite corner, neighbours never dragged). Live badges: dragged+adjacent wall lengths and m² per reshaped room. Grid snap, Esc cancels the drag, Ctrl+Z pops the resize undo stack (one release = one step). Legacy rects are saved back as polygons; three blob copies rebuilt.
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).