Files
houseplan-card/demo
Matysh 031e5439eb
Validate / hacs (push) Failing after 5s
Validate / hassfest (push) Failing after 6s
Validate / frontend (push) Successful in 47s
Validate / backend (push) Failing after 3m19s
feat v1.34.0: island rooms — nested contours with evenodd holes
- roomsOverlap: full nesting is legal (islands), edge crossings and
  partial overlaps still rejected; polyContainsPoly + islandsOf pure
  helpers (+2 unit tests, 94 total)
- draw tool: per-click point-in-room rejection removed, validation at
  contour closing; parent rooms with islands render as evenodd paths
  (ring fills correctly, island stays clickable through the hole)
- smoke_island_rooms.mjs; smoke_merge_split stale room-count asserts
  fixed (rg pushed a 5th room; cancelWhole silently false for ages)
- TESTING/CHANGELOG same-commit
2026-07-22 22:59:43 +03:00
..

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 fake hass (registries, states, callWS, callService, floors).
  • srv/assets/ — generated plan SVGs and icons.js (node demo/gen_icons.mjs, needs the repo's devDependencies). The card bundle is copied from dist/: 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 via PLAYWRIGHT_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).