mirror of
https://github.com/Matysh/houseplan-card
synced 2026-10-02 12:49:56 +00:00
No Full Performance profile walked the backdrop (imagePlan) path: every large-house fixture has plan_url null. So the #739 K1 double render -- a warm 2.5D floor switch with a backdrop cleared the ready paper, inserted the veil, probed the card background and rendered a second time -- was invisible to CI by time and structurally; a temporary probe found it. large-house-isometric-backdrop-v1 is the twin of large-house-isometric-v1 with the shipped f1.svg under a URL of its own on every floor (plan_aspect 1, room geometry unchanged). The variant is derived in the runner as plan-snap's is, so demo/fixtures and the bundle fingerprint do not change. A first stable frame without the backdrop image fails the sample. After the switchCycle window and its #735 guard, before forced GC and outside every timed window, a probe makes six warm switches and counts performUpdate passes until updateComplete resolves true: the K1 second pass starts after the first updateComplete resolves, so a count taken right after the first await reads one on both sides. evaluate.mjs rejects a candidate of this profile unless every switch took one pass, or when the probe is missing; the base is reported, not judged (v1.78.0 and dev before #739 take two). The budget is a copy of the historical isometric budget under the new profile id. performance.yml gains the isometric-backdrop matrix entry with exact-SHA comparison. Witness: a tree with #739 reverted reads perSwitch 2 in every sample and benchmark:compare against the branch report throws on the pass count; v1.78.0 reads 2, the branch reads 1. Issue: #743 User-Visible: no Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_018qZfe7YS4rqEMKoVeS3GKd
81 lines
4.4 KiB
JSON
Executable File
81 lines
4.4 KiB
JSON
Executable File
{
|
|
"name": "houseplan-card",
|
|
"version": "1.79.0-beta.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",
|
|
"benchmark:wall-model": "tsc -p tsconfig.test.json && node scripts/fix-test-build.mjs && node scripts/benchmark-wall-segment-model.mjs",
|
|
"bundle:sync": "npm run build && node scripts/bundle-sync.mjs",
|
|
"bundle:release": "npm run build && node scripts/bundle-sync.mjs --release",
|
|
"bundle:clean": "node scripts/bundle-policy.mjs --clean",
|
|
"gate:small": "node scripts/gate-small.mjs",
|
|
"test:chunk": "node scripts/test-chunk.mjs",
|
|
"toolchain:check": "node scripts/toolchain-pins.mjs --check",
|
|
"bundle:budget": "node scripts/bundle-budget.mjs",
|
|
"lint:unused": "node scripts/unused-locals-gate.mjs",
|
|
"invariants": "tsc -p tsconfig.test.json && node scripts/fix-test-build.mjs && node scripts/model-invariants.mjs",
|
|
"docs:capture": "node scripts/assert-capture-env.mjs docs && npm run build && node demo/docs/capture.mjs",
|
|
"docs:accept": "node scripts/docs-accept.mjs",
|
|
"smokes:select": "node scripts/smoke-select.mjs",
|
|
"inventory": "node scripts/inventory.mjs",
|
|
"audit:config": "node scripts/config-audit.mjs",
|
|
"benchmark:large-house": "node demo/benchmark_large_house.mjs",
|
|
"benchmark:large-house-isometric": "node demo/benchmark_large_house.mjs --profile=large-house-isometric-v1",
|
|
"benchmark:large-house-isometric-backdrop": "node demo/benchmark_large_house.mjs --profile=large-house-isometric-backdrop-v1",
|
|
"benchmark:isometric-stage3-dense": "node demo/benchmark_large_house.mjs --profile=isometric-stage3-dense-v1",
|
|
"benchmark:large-house-plan-snap": "node demo/benchmark_large_house.mjs --profile=large-house-plan-snap-v1",
|
|
"benchmark:large-house-interaction": "node demo/benchmark_large_house.mjs --profile=large-house-interaction-v1",
|
|
"benchmark:glow": "node demo/benchmark_glow.mjs",
|
|
"benchmark:compare": "node demo/performance/compare.mjs",
|
|
"benchmark:optimize-geometry-preflight": "node demo/benchmark_optimize_geometry_preflight.mjs",
|
|
"benchmark:coincident-partitions": "node demo/benchmark_coincident_partitions.mjs",
|
|
"benchmark:safe-resize": "node demo/benchmark_safe_resize.mjs",
|
|
"benchmark:safe-resize-render": "node demo/benchmark_safe_resize_render.mjs",
|
|
"benchmark:wall-union-isolation": "node demo/benchmark_wall_union_isolation.mjs",
|
|
"golden:capture": "node demo/golden/run.mjs --mode=capture",
|
|
"golden:verify": "node demo/golden/run.mjs --mode=verify",
|
|
"golden:wsl:capture": "node scripts/golden-wsl-artifact.mjs",
|
|
"continuity:screencast": "node demo/screencast_visual_continuity.mjs",
|
|
"golden:accept": "node demo/golden/accept.mjs",
|
|
"release:check": "node scripts/release-prerelease.mjs --check",
|
|
"release:prerelease": "node scripts/release-prerelease.mjs",
|
|
"release:notes": "node scripts/release-notes.mjs",
|
|
"prepare": "node scripts/install-hooks.mjs",
|
|
"benchmark:junction-limits": "tsc -p tsconfig.test.json && node scripts/fix-test-build.mjs && node demo/benchmark_junction_limits.mjs",
|
|
"benchmark:wall-draw-click": "node demo/benchmark_wall_draw_click.mjs",
|
|
"benchmark:zigbee-topology": "tsc -p tsconfig.test.json && node scripts/fix-test-build.mjs && node demo/benchmark_zigbee_topology.mjs",
|
|
"furniture:generate": "node scripts/generate-furniture-assets.mjs",
|
|
"furniture:check": "node scripts/generate-furniture-assets.mjs --check",
|
|
"moon:generate": "node scripts/generate-moon-assets.mjs",
|
|
"moon:check": "node scripts/generate-moon-assets.mjs --check",
|
|
"pdf-font:generate": "node scripts/generate-pdf-font.mjs",
|
|
"pdf-font:check": "node scripts/generate-pdf-font.mjs --check"
|
|
},
|
|
"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",
|
|
"opentype.js": "^1.3.4",
|
|
"pdfjs-dist": "^6.3.289",
|
|
"playwright": "^1.62.0",
|
|
"rollup": "^4.18.0",
|
|
"subset-font": "^2.7.0",
|
|
"tslib": "^2.6.2",
|
|
"typescript": "^5.4.5"
|
|
},
|
|
"dependencies": {
|
|
"lit": "^3.1.3",
|
|
"polyclip-ts": "^0.16.8"
|
|
},
|
|
"overrides": {
|
|
"serialize-javascript": "^7.0.5"
|
|
}
|
|
}
|