Skip to content

fix(parsers): preserve authored keyframe intent#2673

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

fix(parsers): preserve authored keyframe intent#2673
miguel-heygen wants to merge 1 commit into
codex/studio-timeline-a-runtime-eases-v2from
codex/studio-timeline-a-parser-intent-v2

Conversation

@miguel-heygen

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

Copy link
Copy Markdown
Collaborator

What

Preserve authored keyframe intent through GSAP parsing, mutation, serialization, and Acorn writer parity.

This is Family A, PR 2 of 4. Prerequisite: codex/studio-timeline-a-runtime-eases-v2. Next: codex/studio-timeline-a-ease-editor-v2.

Replacement review history: #2582. Golden reference: #2387.

Why

Keyframe editing must not silently collapse duplicate-time data, discard unrelated properties, change authored source form, or inject timing that was never authored.

How

Parser and writer paths share the existing easing and serialization contracts, retain distinct authored entries, and merge edits into the targeted keyframe. Two small helper extractions keep the mutation owner explicit while satisfying the repository complexity gate.

Test plan

  • Unit tests added/updated — 429 focused parser tests passed with 5 intentional skips at this PR boundary
  • Manual testing performed — parser/writer behavior is included in the certified integrated QA matrix
  • Documentation updated (not applicable; internal parser behavior)

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-runtime-eases-v2 branch from 1b18b52 to 761e79d 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-runtime-eases-v2 branch from 761e79d to 67d3da0 Compare July 21, 2026 04:43
@miguel-heygen
miguel-heygen changed the base branch from codex/studio-timeline-a-runtime-eases-v2 to graphite-base/2673 July 21, 2026 05:50
@miguel-heygen
miguel-heygen force-pushed the codex/studio-timeline-a-parser-intent-v2 branch from 99c7665 to 9a94e04 Compare July 21, 2026 05:52
@miguel-heygen
miguel-heygen changed the base branch from graphite-base/2673 to codex/studio-timeline-a-runtime-eases-v2 July 21, 2026 05:52
@miguel-heygen
miguel-heygen changed the base branch from codex/studio-timeline-a-runtime-eases-v2 to graphite-base/2673 July 21, 2026 10:18
@miguel-heygen
miguel-heygen force-pushed the codex/studio-timeline-a-parser-intent-v2 branch from 9a94e04 to 786802f Compare July 21, 2026 10:20
@miguel-heygen
miguel-heygen changed the base branch from graphite-base/2673 to codex/studio-timeline-a-runtime-eases-v2 July 21, 2026 10:20
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