Repository navigation
fix(studio): playhead keyframe edits keep their ease, undo names its edit and never waits on videos #4889
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
+6,315
−3,195
Merged
fix(studio): playhead keyframe edits keep their ease, undo names its edit and never waits on videos #4889
Changes from all commits
Commits
Show all changes
82 commits
Select commit
Hold shift + click to select a range
64076fc
fix(studio): an edit on a GSAP-animated layer writes its value at the…
miguel-heygen 629c894
fix(studio): undo pressed while an edit saves undoes that edit, not o…
miguel-heygen db69205
fix(studio): an edit stays saved when the history reply after it cann…
miguel-heygen c6eb82b
feat(studio): export ColorField and GradientField; a session style co…
miguel-heygen f3de9cb
refactor(studio): name the map form instead of commenting it
miguel-heygen fee9a16
feat(studio): a host can move layers by exact film px, one undo per call
miguel-heygen eee5a34
fix(studio): an outside change during a drag waits for the drop to show
miguel-heygen 70132fb
fix(studio): an edit no longer reopens the live-updates stream, and t…
miguel-heygen c419469
fix(studio): an undo no longer waits behind paused preview videos for…
miguel-heygen 375458d
feat(studio): a host whose API needs same-origin cookies can have Stu…
miguel-heygen b275921
docs(studio-server): a host on same-origin cookies sets the Studio cr…
miguel-heygen 0121fa3
test(studio): an undo is not held up by the preview's paused videos
miguel-heygen 101ef72
fix(studio): a resize inside one gesture writes a mixed tween once, i…
miguel-heygen 785a073
chore(studio): keep the carried fixes inside the comment ratchet; tel…
miguel-heygen 901e6d0
test(studio): a drag on a mixed tween is one write under the gesture key
miguel-heygen d2aa4b8
fix(studio): freeze-frame, loudness and peak-map requests go through …
miguel-heygen d32b39c
fix(studio): an undo with no project open reloads in full instead of …
miguel-heygen 0fa64b8
refactor(studio): drop the soft reload's reparse seeding, the held-el…
miguel-heygen ef37c5b
test(studio): keep the undo-restore browser test off the network and …
miguel-heygen f19f052
test(studio): nested composition reads expect the cookie-free request…
miguel-heygen 6d19a86
fix(studio): an edit at the playhead rewrites its tween in place, so …
miguel-heygen e75eb23
fix(studio): a rotate on a tween that turns another axis holds its an…
miguel-heygen a6e0ec5
fix(studio): plan every group member before the first write so one re…
miguel-heygen b7a8f54
chore(studio): the fetch lint rule also catches window.fetch, globalT…
miguel-heygen 7859d49
docs(studio-server): set the credentials flag before Studio loads; a …
miguel-heygen 411c7c5
test(studio): the undo socket test needs six pinned videos under Vite…
miguel-heygen a26f2d7
fix(studio): Studio leaves cookies out of its requests only when serv…
miguel-heygen 4e1e75d
fix(studio): undo takes back the first edit, and the first save never…
miguel-heygen 1a4e4dd
fix(studio): undo of a move whose save failed stays undone and steps …
miguel-heygen 3cc6010
fix(studio): a style set by its JavaScript name saves under its CSS name
miguel-heygen 1f8f970
test(studio): the undo socket test holds round 0 to a full restore too
miguel-heygen 2efce14
fix(studio): the host revert keeps returning what shows the edit again
miguel-heygen ee9d130
fix(studio): an entrance rewritten at the playhead still shows its st…
miguel-heygen 5b9009a
fix(studio): undo takes back the edit pending at the key even after a…
miguel-heygen 10ee45c
chore(studio): lift the late-write quarantine now that undo never wai…
miguel-heygen e64a81c
test(studio): pin an entrance's start render on the written tween, no…
miguel-heygen 504ab6b
revert(studio): leave entrances as on main, immediateRender does not …
miguel-heygen e5e0b2e
revert(studio): undo goes back to the newest claim after the key, as …
miguel-heygen 5574c4a
revert(studio): first-undo history opening moves to the next PR
miguel-heygen 1b21d60
revert(studio): the undo socket test exempts round 0 again until firs…
miguel-heygen 175b171
test(studio): bank the edit accuracy cases this PR makes pass
miguel-heygen 20fe5f0
refactor(studio): share one project file fetch between the plain and …
miguel-heygen 8b3c9dd
test(studio): share the WebMCP host shim between the browser gates
miguel-heygen ad8dca5
test(studio-server): share one stub adapter across the route tests
miguel-heygen 99985d3
refactor(studio): type the preview slot props from the NLE context
miguel-heygen 704efa1
test(studio): share the setup the new editing tests copied between files
miguel-heygen 4d6e6d9
refactor(studio): split playhead tween picking and undo path merging …
miguel-heygen 5ebd2b3
test(studio): pin when a resize at the playhead also writes the ancho…
miguel-heygen deb57e4
test(parsers): pin rewriting a tween in place as keyframes
miguel-heygen 68b0342
chore(studio): cut comments the new helper names already say
miguel-heygen 358a94b
fix(studio): composition thumbnails keep two fetches in flight, as th…
miguel-heygen e7546d1
fix(studio): a playhead edit parses a tween not yet played and matche…
miguel-heygen 46c37bf
fix(parsers): a new position argument goes after the last argument, s…
miguel-heygen 8aff9c3
fix(studio): a second undo pressed during one save steps back to the …
miguel-heygen 9b60011
test(studio): pin the slot an aborted thumbnail frees and the shared …
miguel-heygen 234d290
refactor(studio): split the unplayed-tween parse into small helpers a…
miguel-heygen e19d346
fix(studio): a playhead edit keeps the tween's default ease, delay ti…
miguel-heygen 64b90e7
fix(studio): a group move refuses layers animated in two files and pl…
miguel-heygen e69af95
style(studio): format two test files
miguel-heygen ef7a702
refactor(studio): check a group's files inside the preflight helper
miguel-heygen 119398b
refactor(studio): move the group preflight checks out of the editing …
miguel-heygen f207597
chore(studio): merge origin/main into the playhead writer branch
miguel-heygen 3d8fa96
fix(studio): read an unreached tween without redrawing other layers, …
miguel-heygen e0b42ec
test(studio): use the shared selection helper in main's keyframe-at-t…
miguel-heygen 3dfff87
chore(studio): fix a comment that read as a repo path and cut one add…
miguel-heygen 8347faa
fix(studio): read a later tween's start as playback does, and count e…
miguel-heygen 035aa1d
fix(studio): two undo presses during one save step back two edits, no…
miguel-heygen 8581c5f
fix(studio): an undo that succeeds by any route retires the claim on …
miguel-heygen 45aefa6
fix(studio): a claim is never handed back to an edit another undo has…
miguel-heygen 5f4055d
fix(studio): an undo picks its claimed edit at the press and skips it…
miguel-heygen 707e3d6
fix(studio): a press refuses, as main did, once its edit is undone an…
miguel-heygen 5518787
fix(studio): an unplayed keyframe tween clears every keyframe's chann…
miguel-heygen b87e8ee
fix(studio): reading an unplayed tween puts back every transform valu…
miguel-heygen 13d7b8d
fix(studio): reading an unplayed tween restores each layer's whole st…
miguel-heygen acc76b9
fix(studio): reading an unplayed tween skips plain-object targets and…
miguel-heygen 8e24b55
chore(studio): merge main into the playhead writer carrier
miguel-heygen 4312326
fix(studio): shared tween-target filter uses GSAP's own styled-elemen…
miguel-heygen 375d1ca
fix(studio): match a parsed tween on any target, and check a later ke…
miguel-heygen b8c7f75
docs(studio): say the unplayed-tween read restores styled elements only
miguel-heygen cf1eb39
test(studio): a drag on a fromTo start shows the dropped x through th…
miguel-heygen 802c3d6
chore(studio): merge main into the playhead writer carrier
miguel-heygen 93a9d43
chore(studio): merge main with the core seek fix into the playhead wr…
miguel-heygen File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Should fix (3): when the call has no position argument and a trailing comma after its vars object,
overwritePositionappends atcall.node.end - 1and produces},\n, 0.5);. Reproduced through the route: 200, the file is written, and the script no longer parses. Insert aftercall.node.arguments.at(-1).endinstead.