Skip to content

perf(studio): index timeline clip windows#2639

Draft
miguel-heygen wants to merge 1 commit into
codex/studio-timeline-row-virtualizationfrom
codex/studio-timeline-clip-index
Draft

perf(studio): index timeline clip windows#2639
miguel-heygen wants to merge 1 commit into
codex/studio-timeline-row-virtualizationfrom
codex/studio-timeline-clip-index

Conversation

@miguel-heygen

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

Copy link
Copy Markdown
Collaborator

What

index timeline clip windows.

Why

Keep large timelines responsive without losing spatial correctness, selection, or thumbnail context.

How

Introduces reusable viewport geometry and bounded row/clip rendering over the full logical timeline.

Key files in this layer:

  • packages/studio/src/player/components/BeatStrip.tsx
  • packages/studio/src/player/components/TimelineRuler.tsx
  • packages/studio/src/player/components/timelineLayout.test.ts
  • packages/studio/src/player/components/timelineLayout.ts

Test plan

Validated on the complete stacked tip with formatting, lint, Studio typecheck, the full production build, and the Studio test suite (2,946 passing; 18 todo). Focused timeline/thumbnail tests and browser QA cover the affected interaction path.

  • Unit tests added/updated
  • Manual testing performed
  • Documentation updated (not applicable for this implementation layer)

Post-Deploy Monitoring & Validation

  • Owner: Studio team
  • Window: First 24 hours after rollout
  • Signals: Watch mounted row/clip counts, scroll stability, and interaction latency on large projects.
  • Rollback trigger: Reproducible data loss, broken timeline editing/navigation, or sustained performance regression; revert this stack layer and its descendants.

This was referenced Jul 19, 2026

miguel-heygen commented Jul 19, 2026

Copy link
Copy Markdown
Collaborator Author

Warning

This pull request is not mergeable via GitHub because a downstack PR is open. Once all requirements are satisfied, merge this PR as a stack on Graphite.
Learn more

This stack of pull requests is managed by Graphite. Learn more about stacking.

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