mirror of
https://github.com/Matysh/houseplan-card
synced 2026-07-31 08:28:31 +00:00
L1: memoized space model + open pairs (structural fingerprint key, epoch bumped synchronously at mutation time, not inside the debounce); hoisted per-room geometry out of the render loop; smoke asserts zero recomputation across state pushes. L4: openings get the 3 px drag threshold used by every other pipeline and only write when the geometry actually changed — taps open the dialog again. G2: interiorPoint() replaces the vertex mean, so island rooms inside concave (U/L) parents are accepted and their evenodd holes render; traced duplicates still are not containment. G3: segKey rounds before ordering — one shared wall, one key. B2: _check_write fails closed when the entry is unavailable. B3: layout/set honours expected_rev and returns the new rev. B4: config/set without expected_rev over a non-empty store logs a warning. B5: coordinates reject NaN/Infinity; spaces/rooms/markers/decor/layout capped. +2 unit tests (118), +2 backend tests (14), smoke_render_perf; docs same-commit
29 lines
804 B
JSON
Executable File
29 lines
804 B
JSON
Executable File
{
|
|
"name": "houseplan-card",
|
|
"version": "1.43.1",
|
|
"description": "Interactive house plan Lovelace card for Home Assistant",
|
|
"license": "MIT",
|
|
"type": "module",
|
|
"scripts": {
|
|
"build": "tsc --noEmit && rollup -c",
|
|
"watch": "rollup -c --watch",
|
|
"typecheck": "tsc --noEmit",
|
|
"test": "tsc -p tsconfig.test.json && node scripts/fix-test-build.mjs && node --test test/*.test.mjs"
|
|
},
|
|
"devDependencies": {
|
|
"@mdi/js": "^7.4.47",
|
|
"@rollup/plugin-json": "^6.1.0",
|
|
"@rollup/plugin-node-resolve": "^15.2.3",
|
|
"@rollup/plugin-terser": "^0.4.4",
|
|
"@rollup/plugin-typescript": "^11.1.6",
|
|
"playwright": "^1.62.0",
|
|
"rollup": "^4.18.0",
|
|
"tslib": "^2.6.2",
|
|
"typescript": "^5.4.5"
|
|
},
|
|
"dependencies": {
|
|
"lit": "^3.1.3",
|
|
"polyclip-ts": "^0.16.8"
|
|
}
|
|
}
|