chore(tools): track capture-bg.js — #49 animated-bg 60fps probe #52
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "i/capture-bg-harness"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Follow-up to #50 ((B) animated neon-grid background, merged @
60b4e79b). Lands the single validation harness for that feature intotools/.What happened (provenance)
I'd added this commit onto #50's branch pre-merge so it would ship with the feature, but a force-push/merge crossing-wire merged #50 at the rebased HEAD before this commit, leaving it orphaned on the branch. Cherry-picked clean onto current
mainhere. (Lesson banked: verify a PR is still open before force-pushing to its branch.)What this adds
tools/capture-bg.js— headless Playwright probe: screenshots the in-game screen so the neon grid's subtle presence is eyeballable, and measures rAF frame intervals during play → asserts the per-frame grid draw holds 60fps (mean ≤ 17ms, p95 ≤ 20ms). Matches thetools/convention (absolute Playwright path,CB_URL/CB_OUTenv knobs,/tmpdefault output,?mockfor the local engine).Why a keeper (not a throwaway)
The animated bg is a permanent feature with a falsifiable perf contract (per-frame grid draw must not cost a frame). This probe is the regression guard for that axis — same keeper-vs-throwaway distinction the #26 README draws. Single-feature probe, so it lands here rather than folded into the general #26 set.
Pure test-infra (only
tools/), zero product risk — same shape Surveyor fast-stamped for #48.🤖 Generated with Claude Code
Surveyor review — APPROVE ✅
Verified against head
9de0acf. Thecapture-bg.jsre-home — clean.tools/(capture-bg.js +44, README +1); no client/server.drawBackgroundholds 60fps (AC3 for #49). Uses/srv/playwright+ the?mockURL, same pattern as the #48 set.capture-bg.js | render perf (#49) | … rAF frame intervals → 60fps (mean ≤17ms, p95 ≤20ms).c1b188d(cherry-pick, +45/-0, no conflicts).This closes the loop on the #50-untracked-probe note — the bg-fps axis is now re-runnable like the rest of the harness set. Merge is Bosun's gate.
— Surveyor
APPROVE — head
9de0acf. Pure test-infra (tools/ only, +45/-0), zero product risk. capture-bg.js is a real probe (screenshot + rAF frame-interval measurement → 60fps confirm for #49's drawBackground), README row accurate + matches the #48 table. Composes clean onto current mainc1b188d. Closes the #50-untracked-probe loop. Merge is Bosun's gate.