Repository navigation
chore(core): a compositor animator for touch presentations #8055
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
+2,954
−30
Merged
Changes from 65 commits
Commits
Show all changes
69 commits
Select commit
Hold shift + click to select a range
c784084
spec(AST-094): touch presentations feel native by default
cixzhang 0c35c43
chore(core): the UIKit constants table for touch presentations
vjeux 17c181b
chore(core): UIKit's spring, decay, rubber-band and projection math
vjeux 0901218
chore(core): a compositor animator for touch presentations
vjeux 6bd2851
chore(core): the constants table names only what exists, and dates ev…
vjeux 76be493
fix(core): paging past the last page lands on a real page
vjeux 51aa3c8
fix(core): under Reduce Motion, a move keeps a running fade's target
vjeux 7da6b3c
fix(core): an identity at rest leaves the element
vjeux 4b3de64
Merge main into the constants table (lab typechecks with its tests)
vjeux 530315f
Merge #8053 (main merged in) into the motion math
vjeux 63aef34
Merge #8054 (main merged in) into the animator
vjeux e7df427
perf(core): the gesture table's sources move to JSDoc, out of the bundle
vjeux 439dcc3
docs(spec): the draft AST-094 copy leaves this stack
vjeux 0bf13da
Merge main (the deploy typecheck gate test reads the step as written)…
vjeux fb5b3ae
perf(core): the coast math and the scroll table leave the animator
vjeux bbbcb60
refactor(core): the platform presets are named for their use
vjeux 7c5f71c
Merge main (67dc45f66d3) into #8054
cixzhang 03f66c3
fix(core): the UIKit table keeps only what a touch presentation plays…
cixzhang 1133bf9
Merge remote-tracking branch 'origin/main' into m8053
cixzhang eded944
style(core): MEASUREMENTS.md table widths after the dropped rows
cixzhang f9d0900
feat(core): the press release's curve is a press value
vjeux bbae49a
Merge main (cdd75aec) into the compositor animator
cixzhang 9db9315
docs(core): the velocity weight says a rested finger releases at 0
vjeux 946a6d0
fix(motion): the animator follows design:reduced-motion DR2-DR4
cixzhang 5d3cab6
Merge #8053 (the table keeps only what a touch presentation plays; th…
vjeux daed39c
Merge #8054 (#8053's table, the press release's curve) into the animator
vjeux 7e36bcd
fix(core): the table's notes point at what exists, and the press entr…
cixzhang c1fa660
Merge #8053's notes and press pins into the press release's curve and…
vjeux 59a748f
Merge #8053 (the table's notes point at what exists; the press entrie…
vjeux 129eebf
Merge #8054 (#8053's notes and press pins) into the animator
vjeux 8dbc144
Merge #8054 (main with #8043's interaction proofs) into the animator
vjeux 6ae3390
Merge main (#8043's interaction proofs) into the UIKit constants table
vjeux 51b3ecb
Merge #8053 (main with #8043's interaction proofs) into the motion math
vjeux 61f575f
perf(core): the animator reads the Reduce Motion fade, not the whole …
vjeux 1f751c9
docs(core): M-S2 feeds scroll.decelerationRate, where the coast readi…
cixzhang 96f8240
Merge #8053 (M-S2 feeds scroll.decelerationRate) into the press relea…
vjeux 1ae9200
Merge #8053 (M-S2 feeds scroll.decelerationRate) into the motion math
vjeux 615cf0a
Merge #8054 (M-S2 feeds scroll.decelerationRate) into the animator
vjeux 16b597f
fix(motion): no call skips the touch cross-fade, and a mouse move lea…
cixzhang 96bc965
Merge #8055's fix (no call skips the touch cross-fade; a mouse move l…
vjeux 7234d44
Merge main (99ad3f6d906) into the motion math
cixzhang b232014
fix(motion): a touch dip borrows the element's own opacity and hands …
cixzhang 2071394
Merge #8054 (7234d440: main with the landed constants table) into the…
cixzhang d463e85
fix(motion): an interrupted Reduce Motion fade finishes, a borrowed o…
cixzhang d3a2e41
fix(core): toSpring's clamp, FR6 for the rubber band's inverse, the p…
cixzhang 4c6f769
fix(motion): under Reduce Motion, travel lands only while the element…
cixzhang fb9c3dc
perf(core): the keyboard notifications' duration has its own export
vjeux 07e1428
Merge #8054 (toSpring's clamp, FR6 for the rubber band's inverse, the…
vjeux 3dca43f
Merge main (16770e30070) into the motion math
cixzhang 7221fca
Merge #8054 (3dca43f6: main with the per-group UIKit table) into the …
cixzhang ba87b89
test(motion): the UIKit table test reads values bound from an exporte…
cixzhang 2f67199
Merge main (b58ca635, the motion math landed) into the animator
cixzhang 0ceb667
Merge main (b58ca635: the landed motion math and gesture recognizer c…
vjeux 73d10a6
fix(motion): an overlapping call's fade re-times an earlier call's pe…
cixzhang db11472
Merge vjeux's #8055 head (0ceb6675, main) into the overlap fix
cixzhang 9824ce0
Revert "perf(core): the keyboard notifications' duration has its own …
vjeux 47a6c65
fix(motion): a call that does not own opacity keeps a running borrowe…
cixzhang 82ceea1
fix(motion): a borrowed dip that ended while detached hands the opaci…
cixzhang df1fba5
fix(motion): an unmount, a new element or dispose() hands a borrowed …
cixzhang bbec914
fix(motion): a new element taking over mid-dip keeps the dip, so the …
cixzhang 5e41033
fix(motion): a running dip survives every attach, and an opacity the …
cixzhang d019124
Merge main (3ab7f32d: #8494's scroll-to-top note, #8488) into the ani…
cixzhang 4874db4
docs(motion): the scroll-to-top note keeps main's wording: a tap-star…
cixzhang 1e1b7bd
fix(motion): a hidden element lends no borrow, and a stop that finish…
cixzhang 89614c7
Merge main (2af4d305: #8257, the motion roles internal) into the anim…
cixzhang 15c71e1
fix(motion): a release past an edge springs back as a Reduce Motion c…
cixzhang effe685
docs(motion): decay's docs and the changeset say a transition curve c…
cixzhang 7ad0455
fix(motion): a held identity follows a node replacement, a mixed rele…
cixzhang 8fc7f2e
docs(motion): the animator's SYNC list and test header name only file…
cixzhang 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
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,7 @@ | ||
| --- | ||
| '@astryxdesign/core': patch | ||
| --- | ||
|
|
||
| [chore] Internal: a compositor animator for touch presentations. It plays UIKit's springs, and scroll coasts (built by a separate coast module, so a surface that never coasts does not carry them; momentum is the only curve `decay` plays) as Web Animations on translate, rotate, scale and opacity, so they keep running while JavaScript is busy, and reads values and velocities back from the curves for interruption, retargeting and Reduce Motion cross-fades. Not exported from the package entry point; no component uses it yet. | ||
|
|
||
| @vjeux |
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.
This example plays the table's
springs.sheetDetentdirectly, whichspec:AST-094FR4 rules out for a component ("A component MUST read touch motion through these roles and MUST NOT play a literal") and which line 9 of this README also says; passing a theme motion role here, as #8067'suseAnimatorexample does, keeps the two consistent.