feat: adopt the design prototype's chat animation language#454
Open
raulriera wants to merge 2 commits into
Open
feat: adopt the design prototype's chat animation language#454raulriera wants to merge 2 commits into
raulriera wants to merge 2 commits into
Conversation
…al-attributes crash ChatLayout answers attribute queries with nil during restoreContentOffset; an inset write or push overlapping a settling batch spring collided with UIKit's animated bounds-change cross-fade and threw. All animated transactions now bracket a fence, mutations defer and replay, insets apply via upstream's keyboard recipe, and entrance motion moves off layout attributes onto cells. Includes the concurrent quality pass (Reduce Motion tokens, spring parameterization, receipt-reveal fencing).
7200fdf to
ef051cd
Compare
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
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Replaces the transcript's plain-fade updates with the design prototype's spring motion: bubbles scale in at their sender's edge, receipts pop in and cross-fade to Read, and corners morph when grouping changes. Also fixes a crash the springs exposed — animated work is now serialized behind a fence so transcript pushes and keyboard-inset changes wait for animations to settle instead of colliding with them, and entrance motion lives on the cells rather than layout attributes, whose frames the layout round-trips internally.
Test plan