Skip to content

@remotion/studio: Derive timeline selection order#8546

Merged
JonnyBurger merged 1 commit into
mainfrom
codex/remove-register-selectable-item
Jun 17, 2026
Merged

@remotion/studio: Derive timeline selection order#8546
JonnyBurger merged 1 commit into
mainfrom
codex/remove-register-selectable-item

Conversation

@JonnyBurger

Copy link
Copy Markdown
Member

Summary

  • Derive timeline selectable item order from the visible timeline tree instead of row registration
  • Keep DOM registration scoped to marquee hit testing
  • Add a regression test for expanded timeline item order including rows, easing, and keyframes

Fixes #8540

Testing

  • bun test packages/studio/src/test/timeline-selection.test.ts
  • bunx turbo run make --filter='@remotion/studio'
  • bun run build
  • bun run stylecheck

@vercel

vercel Bot commented Jun 17, 2026

Copy link
Copy Markdown
Contributor

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
bugs Ready Ready Preview, Comment Jun 17, 2026 3:23pm
remotion Ready Ready Preview, Comment Jun 17, 2026 3:23pm

Request Review

@pullfrog pullfrog Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Reviewed changes — replaces imperative registerSelectableItem with a tree-derived getSelectableTimelineItems that computes the ordered selectable timeline list from the visible tree structure rather than DOM mount order.

  • Replace registerSelectableItem with setSelectableTimelineItems — the TimelineSelectionProvider now holds a single mutable ref set by TimelineSelectableItems, removing individual registration from useTimelineRowSelection, useTimelineKeyframeSelection, useTimelineEasingSelection, and useTimelineGuideSelection.
  • Add getSelectableTimelineItems — derives the full ordered list (sequences, props, easings, keyframes) from the timeline tree via buildTimelineTreefilterTimelineExpandedTreeflattenVisibleTreeNodes, with keyframe/easing inclusion gated on getNodeHasKeyframes and getTimelineTreeNodeCanEditEasing.
  • Add regression test — validates expanded timeline item order: sequence → prop → easing → keyframes.

Pullfrog  | View workflow run | Using DeepSeek Pro (free via Pullfrog for OSS) | 𝕏

@JonnyBurger JonnyBurger force-pushed the codex/remove-register-selectable-item branch from 1eceb8f to bcceeb6 Compare June 17, 2026 15:18
@JonnyBurger JonnyBurger merged commit c74c343 into main Jun 17, 2026
18 checks passed
@JonnyBurger JonnyBurger deleted the codex/remove-register-selectable-item branch June 17, 2026 15:29
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.

Get rid of registerSelectableItem logic

1 participant