Skip to content

refactor(studio): extract timeline render contracts#2699

Draft
miguel-heygen wants to merge 1 commit into
codex/studio-timeline-d-clip-drag-lifecycle-v2from
codex/studio-timeline-d-render-contracts-v2
Draft

refactor(studio): extract timeline render contracts#2699
miguel-heygen wants to merge 1 commit into
codex/studio-timeline-d-clip-drag-lifecycle-v2from
codex/studio-timeline-d-render-contracts-v2

Conversation

@miguel-heygen

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

Copy link
Copy Markdown
Collaborator

What

Extract timeline rendering contracts and orchestration helpers needed by viewport virtualization.

Why

The original Timeline component mixed view-model construction, lane contracts, tick generation, selection lifecycle, modifier state, and player synchronization. Virtualization needs those decisions to have explicit owners without introducing parallel geometry or state paths.

How

  • Introduce focused lane, ruler, view-model, selection, modifier, tick, and player-sync modules.
  • Keep Timeline as the orchestrator while preserving existing rendering behavior.
  • Reuse the extracted contracts in later row and clip windows.

This is D4 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 PRs #2635 and #2636, which remain 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 through Timeline and timeline-layout coverage, the full Studio suite, both package typechecks, formatting, lint, file-size checks, and the strict 50,000-element Chromium gate.

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