Skip to content

refactor(studio): decompose timeline orchestration#2636

Draft
miguel-heygen wants to merge 1 commit into
codex/studio-timeline-render-contractsfrom
codex/studio-timeline-orchestration-decomposition
Draft

refactor(studio): decompose timeline orchestration#2636
miguel-heygen wants to merge 1 commit into
codex/studio-timeline-render-contractsfrom
codex/studio-timeline-orchestration-decomposition

Conversation

@miguel-heygen

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

Copy link
Copy Markdown
Collaborator

What

decompose timeline orchestration.

Why

Give timeline interactions one explicit lifecycle and keep rendering responsibilities small enough to optimize safely.

How

Extracts the lifecycle or rendering contract into a focused owner while preserving existing timeline behavior.

Key files in this layer:

  • packages/studio/src/player/components/Timeline.tsx
  • packages/studio/src/player/components/timelineViewModel.ts
  • packages/studio/src/player/components/useTimelineSelectionLifecycle.ts
  • packages/studio/src/player/components/useTimelineShiftModifier.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 timeline drag, selection, and render errors in Studio console telemetry.
  • Rollback trigger: Reproducible data loss, broken timeline editing/navigation, or sustained performance regression; revert this stack layer and its descendants.

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