Skip to content

feat(studio): add keyframe ease editor#2674

Draft
miguel-heygen wants to merge 1 commit into
codex/studio-timeline-a-parser-intent-v2from
codex/studio-timeline-a-ease-editor-v2
Draft

feat(studio): add keyframe ease editor#2674
miguel-heygen wants to merge 1 commit into
codex/studio-timeline-a-parser-intent-v2from
codex/studio-timeline-a-ease-editor-v2

Conversation

@miguel-heygen

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

Copy link
Copy Markdown
Collaborator

What

Add the complete Studio keyframe ease editor: preset selection, Curve/Spring/Wiggle modes, parameter fields, editable curve visualization, and telemetry.

This is Family A, PR 3 of 4. Prerequisite: codex/studio-timeline-a-parser-intent-v2. Next: codex/studio-timeline-a-array-timing-v2.

Replacement review history: #2572 and #2562. Golden reference: #2387.

Why

Users need one coherent editor for every easing mode. The controls and inspector consume the same preset and curve contracts, so publishing only one half creates an invalid intermediate UI and a non-typechecking branch.

How

The editor centralizes preset metadata, curve SVG rendering, parameter controls, inspector composition, and analytics events. This PR is the recorded Family A size exception: 1,589 changed lines. Splitting it further would introduce temporary plumbing, duplicate APIs, and an independently broken intermediate branch.

Test plan

  • Unit tests added/updated — 51 focused Studio editor and telemetry tests passed at this PR boundary
  • Manual testing performed — Curve, Spring, Wiggle, presets, and inspector interactions passed the certified Studio browser matrix
  • Documentation updated (not applicable; Studio UI)

miguel-heygen commented Jul 21, 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.

@miguel-heygen
miguel-heygen force-pushed the codex/studio-timeline-a-ease-editor-v2 branch from 7512a12 to bd750ff Compare July 21, 2026 04:33
@miguel-heygen
miguel-heygen force-pushed the codex/studio-timeline-a-parser-intent-v2 branch 2 times, most recently from a115a6d to 99c7665 Compare July 21, 2026 04:43
@miguel-heygen
miguel-heygen force-pushed the codex/studio-timeline-a-ease-editor-v2 branch from bd750ff to 982bebe Compare July 21, 2026 04:43
@miguel-heygen
miguel-heygen changed the base branch from codex/studio-timeline-a-parser-intent-v2 to graphite-base/2674 July 21, 2026 05:51
@miguel-heygen
miguel-heygen force-pushed the codex/studio-timeline-a-ease-editor-v2 branch from 982bebe to eddcc10 Compare July 21, 2026 05:53
@miguel-heygen
miguel-heygen changed the base branch from graphite-base/2674 to codex/studio-timeline-a-parser-intent-v2 July 21, 2026 05:53
@miguel-heygen
miguel-heygen changed the base branch from codex/studio-timeline-a-parser-intent-v2 to graphite-base/2674 July 21, 2026 10:20
@miguel-heygen
miguel-heygen force-pushed the codex/studio-timeline-a-ease-editor-v2 branch from eddcc10 to 8232ac4 Compare July 21, 2026 10:21
@miguel-heygen
miguel-heygen changed the base branch from graphite-base/2674 to codex/studio-timeline-a-parser-intent-v2 July 21, 2026 10:21
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