Skip to content

perf(studio): centralize timeline viewport geometry#2700

Draft
miguel-heygen wants to merge 1 commit into
codex/studio-timeline-d-render-contracts-v2from
codex/studio-timeline-d-viewport-geometry-v2
Draft

perf(studio): centralize timeline viewport geometry#2700
miguel-heygen wants to merge 1 commit into
codex/studio-timeline-d-render-contracts-v2from
codex/studio-timeline-d-viewport-geometry-v2

Conversation

@miguel-heygen

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

Copy link
Copy Markdown
Collaborator

What

Make one timeline viewport geometry model own scroll, drag, selection, layout, and playback coordinate conversion.

Why

Independent coordinate calculations drift under zoom, gutters, horizontal scrolling, and virtualization. A single geometry owner keeps pointer placement, visible ranges, track layout, playhead movement, and store state aligned.

How

  • Centralize viewport snapshots and content/time conversion.
  • Route drag/drop, range selection, track layout, active clips, playback scrubbing, and player state through that model.
  • Add integration coverage across viewport scrolling and element indexes.

This is D5 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 #2637, which remains open for audit until landing.

Test plan

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

Validated on the exact Family D tip with geometry, scrolling, track-layout, element-index, player-store, and Timeline tests plus the full Studio/Server suites, typechecks, static gates, and two strict 50,000-element Chromium passes.

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