Skip to content

test(studio): gate timeline viewport performance in Chromium#2697

Draft
miguel-heygen wants to merge 1 commit into
codex/studio-timeline-d-performance-contract-v2from
codex/studio-timeline-d-chromium-gate-v2
Draft

test(studio): gate timeline viewport performance in Chromium#2697
miguel-heygen wants to merge 1 commit into
codex/studio-timeline-d-performance-contract-v2from
codex/studio-timeline-d-chromium-gate-v2

Conversation

@miguel-heygen

@miguel-heygen miguel-heygen commented Jul 21, 2026

Copy link
Copy Markdown
Collaborator

What

Add a reproducible Chromium performance gate for the timeline viewport contract.

Why

Unit tests can prove geometry and mount counts, but they cannot prove real-browser interaction latency, frame cadence, long-task behavior, reliable scroll width, or heap return at 50,000 elements.

How

  • Add a dedicated Studio fixture project and package script.
  • Run warmup and measured browser samples against the budgets defined in D1.
  • Emit machine-readable evidence for DOM bounds, latency, long tasks, scroll safety, and memory return.

This is D2 of the independent Family D draft Graphite stack. Its review base is the immutable, PR-less Family C baseline; Families A-C do not need to merge for this PR to be reviewed. It supersedes legacy PR #2633, which remains open for audit until landing.

Test plan

  • Unit tests added/updated
  • Manual testing performed
  • Documentation updated (not applicable)

The unchanged strict gate passed twice consecutively on Chrome 150 with 50,000 elements and 1,000 tracks: 4/5 measured runs passed each sample, heap returned to baseline, direct scrolling was approved, and rendering stayed at 9 rows / 207 clips / 887 timeline descendants. The exact Family D tip also passed the full Studio and Studio Server validation matrix.

miguel-heygen commented Jul 21, 2026

Copy link
Copy Markdown
Collaborator Author

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant