mirror of
https://github.com/Matysh/houseplan-card
synced 2026-10-02 21:01:21 +00:00
test(perf): 2.5D backdrop twin profile judges one update pass per floor switch (#743)
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
This commit is contained in:
@@ -40,6 +40,7 @@ jobs:
|
||||
profile:
|
||||
- large-house
|
||||
- isometric
|
||||
- isometric-backdrop
|
||||
- isometric-stage3
|
||||
- plan-snap
|
||||
- interaction
|
||||
@@ -134,6 +135,10 @@ jobs:
|
||||
npm run benchmark:large-house-isometric -- --target-root=../baseline --samples=7 --warmups=1 --output=../artifacts/performance/isometric-baseline.json
|
||||
npm run benchmark:large-house-isometric -- --target-root=. --samples=7 --warmups=1 --output=../artifacts/performance/isometric-candidate.json
|
||||
;;
|
||||
isometric-backdrop)
|
||||
npm run benchmark:large-house-isometric-backdrop -- --target-root=../baseline --samples=7 --warmups=1 --output=../artifacts/performance/isometric-backdrop-baseline.json
|
||||
npm run benchmark:large-house-isometric-backdrop -- --target-root=. --samples=7 --warmups=1 --output=../artifacts/performance/isometric-backdrop-candidate.json
|
||||
;;
|
||||
isometric-stage3)
|
||||
npm run benchmark:isometric-stage3-dense -- --allow-stage2-base --target-root=../baseline --samples=7 --warmups=1 --output=../artifacts/performance/isometric-stage3-baseline.json
|
||||
npm run benchmark:isometric-stage3-dense -- --target-root=. --samples=7 --warmups=1 --output=../artifacts/performance/isometric-stage3-candidate.json
|
||||
@@ -188,6 +193,9 @@ jobs:
|
||||
isometric)
|
||||
npm run benchmark:compare -- --budgets=demo/performance/budgets-large-house-isometric.json --baseline=../artifacts/performance/isometric-baseline.json --candidate=../artifacts/performance/isometric-candidate.json --baseline-sha="$(git -C ../baseline rev-parse HEAD)" --candidate-sha="$(git rev-parse HEAD)" --output=../artifacts/performance/isometric-comparison.json
|
||||
;;
|
||||
isometric-backdrop)
|
||||
npm run benchmark:compare -- --budgets=demo/performance/budgets-large-house-isometric-backdrop.json --baseline=../artifacts/performance/isometric-backdrop-baseline.json --candidate=../artifacts/performance/isometric-backdrop-candidate.json --baseline-sha="$(git -C ../baseline rev-parse HEAD)" --candidate-sha="$(git rev-parse HEAD)" --output=../artifacts/performance/isometric-backdrop-comparison.json
|
||||
;;
|
||||
isometric-stage3)
|
||||
npm run benchmark:compare -- --budgets=demo/performance/budgets-isometric-stage3-dense.json --baseline=../artifacts/performance/isometric-stage3-baseline.json --candidate=../artifacts/performance/isometric-stage3-candidate.json --baseline-sha="$(git -C ../baseline rev-parse HEAD)" --candidate-sha="$(git rev-parse HEAD)" --output=../artifacts/performance/isometric-stage3-comparison.json
|
||||
;;
|
||||
|
||||
Reference in New Issue
Block a user