Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
860 commits
Select commit Hold shift + click to select a range
bbec914
fix(motion): a new element taking over mid-dip keeps the dip, so the …
cixzhang Oct 26, 2026
732a52d
Merge a5725fa85b (#8056: the Reduce Motion teardown fixes) as a depen…
cixzhang Oct 26, 2026
9969467
Merge 51a0d3cca9 (main) as a dependency
cixzhang Oct 26, 2026
6daf622
Merge #8055 (bbec9143: a new element taking over mid-dip keeps the dip)
cixzhang Oct 26, 2026
de1a946
Merge 6daf622eb7 (#8056 on #8055's bbec9143: one mechanism for attach…
cixzhang Oct 26, 2026
10ba166
fix(interaction): a run going backward is dated from when it began
cixzhang Oct 26, 2026
c4bc6f8
fix(gestures): the tap haptic gives a disabled control no feedback
cixzhang Oct 26, 2026
e71ad6a
Merge c4bc6f8f70 (#8071: the FR23 disabled-control haptic fix) as a d…
cixzhang Oct 26, 2026
acbf411
Merge 51a0d3cca9 (main) as a dependency
cixzhang Oct 26, 2026
8323e10
fix(core): the press release plays the internal table's clock and cur…
cixzhang Oct 26, 2026
a1813b9
Merge #8072 (acbf411a: #8071 c4bc6f8f, the FR23 haptic fix, and main)…
cixzhang Oct 26, 2026
61e891d
fix(core): the gesture host watches the pointer kind only while somet…
cixzhang Oct 26, 2026
1b0840d
fix(core): attach leaves nothing behind on the element it leaves
cixzhang Oct 26, 2026
ff2816f
Merge 1b0840de8d (#8056: two attach fixes) as a dependency
cixzhang Oct 26, 2026
c635439
Merge 822e364237 (main) as a dependency
cixzhang Oct 26, 2026
ab26ff4
build(core): Lab reaches no core-private hook path
vjeux Oct 26, 2026
c34bf73
fix(gestures): the hooks follow a replaced node, name what each Effec…
cixzhang Oct 26, 2026
1c0162b
test(core): the @experimental guard leaves the public utils entry alone
vjeux Oct 26, 2026
92bc9c2
fix(interaction): a finish read before its event goes through the rat…
cixzhang Oct 26, 2026
8a8ac32
Merge #8072 (61e891d7: the pointer-kind listener only while something…
cixzhang Oct 26, 2026
5e41033
fix(motion): a running dip survives every attach, and an opacity the …
cixzhang Oct 26, 2026
7ee6305
Merge #8055 (5e410334: a running borrowed dip survives any attach; an…
cixzhang Oct 26, 2026
66d1919
fix(interaction): a traced waitForRest waits for a run going backward…
vjeux Oct 26, 2026
225e202
Merge main (#8494: the scroll-to-top Reduce Motion note; #8488: AST-0…
cixzhang Oct 26, 2026
63c3eb8
Merge main (3ab7f32d: the scroll-to-top note's Reduce Motion wording)…
vjeux Oct 26, 2026
8c0dbf1
Merge main (3ab7f32d: the scroll-to-top note's Reduce Motion wording)…
vjeux Oct 26, 2026
bfcb164
Merge 225e202f0b (#8056 on #8055's 5e410334 with main through #8494) …
cixzhang Oct 26, 2026
d5ae22d
test(core): the press release pin compares the curve the overlay ships
vjeux Oct 26, 2026
475b34e
docs(core): the gestures README names the presentation hook that exists
vjeux Oct 26, 2026
66edc03
Merge #8073 (95daacd3: touch-action only on a coarse pointer through …
vjeux Oct 26, 2026
a2ac6f9
fix(interaction): waitForRest waits out a backward run's end delay an…
cixzhang Oct 26, 2026
d019124
Merge main (3ab7f32d: #8494's scroll-to-top note, #8488) into the ani…
cixzhang Oct 26, 2026
f05cb57
fix(core): an unmount lands a waiting Reduce Motion move where it was…
cixzhang Oct 26, 2026
0e62702
Merge f05cb5782e (#8056: an unmount mid-dip keeps the landing's trave…
cixzhang Oct 26, 2026
d51ab32
Merge #8076 (66edc03e) into the row press release change
vjeux Oct 26, 2026
7c84cb3
Merge the row press release change (her internal-constants revert, wi…
vjeux Oct 26, 2026
b61f1ff
Merge main (61480b5c: #8257, the motion roles internal, DEC-11) into …
cixzhang Oct 26, 2026
1e242be
fix(interaction): a rendering trace reports DevTools-run tasks apart …
vjeux Oct 26, 2026
9d39d7d
fix(motion): a motion role plays its table value while touch motion s…
cixzhang Oct 26, 2026
ab1afb2
Merge commit '1e242bed3ff02263f58be1488898c799b8cd6957' into uikit/f3…
vjeux Oct 26, 2026
4adaf8b
Merge #8258 (9d39d7d9: main 61480b5c with #8257; a motion role plays …
vjeux Oct 26, 2026
f4c4108
Merge #8076 (4adaf8b7) into the row press release change
vjeux Oct 26, 2026
4392e97
Merge the row press release change (with #8076 at 4adaf8b7) into the …
vjeux Oct 26, 2026
ab02b27
fix(core): a pseudo-element's Reduce Motion dip borrows and hands bac…
cixzhang Oct 26, 2026
4874db4
docs(motion): the scroll-to-top note keeps main's wording: a tap-star…
cixzhang Oct 26, 2026
8c8d6f5
Merge ab02b27689 (#8056: the pseudo-element Reduce Motion fix) as a d…
cixzhang Oct 26, 2026
3d201a0
Merge main (#8257: the touch motion roles are internal) into the moti…
cixzhang Oct 26, 2026
f581948
Merge 3d201a04ee (#8056 with main through #8257's landing) as a depen…
cixzhang Oct 26, 2026
8cd46df
docs(motion): the animator, README, reducedMotionFade and the browser…
cixzhang Oct 26, 2026
54561a1
Merge #8067 (f581948d) into the motion-role animator
cixzhang Oct 26, 2026
1e1b7bd
fix(motion): a hidden element lends no borrow, and a stop that finish…
cixzhang Oct 26, 2026
efdffbe
refactor(interaction): the animation-state waits move to their own pu…
cixzhang Oct 26, 2026
c833823
feat(interaction): animation-state waits for interaction proofs
cixzhang Oct 26, 2026
89614c7
Merge main (2af4d305: #8257, the motion roles internal) into the anim…
cixzhang Oct 26, 2026
bd9246d
Merge main (2af4d305) into the experimental touch layer
cixzhang Oct 26, 2026
5d9e4ec
Merge #8055 (89614c7f: a hidden element lends no borrow; a stop that …
cixzhang Oct 26, 2026
7b26ef2
Merge 5d9e4ec203 (#8056 on #8055's 89614c7f with a pseudo-element fix…
cixzhang Oct 26, 2026
b61b264
docs(motion): coast's edge spring plays its table value; scroll.bounc…
cixzhang Oct 26, 2026
4051fac
Merge #8073 (8a8ac32170: the hooks follow a replaced node and name th…
vjeux Oct 26, 2026
370c4d9
Merge #8067 (7b26ef27: #8056 5d9e4ec2, #8055 89614c7f) into the motio…
cixzhang Oct 26, 2026
15c71e1
fix(motion): a release past an edge springs back as a Reduce Motion c…
cixzhang Oct 26, 2026
2bcd5b2
docs(interaction): the waits read a run reversed before it starts; a …
cixzhang Oct 26, 2026
3c0d8a0
Merge #8055 (15c71e1f: under Reduce Motion a coast's spring back is a…
cixzhang Oct 26, 2026
e8b0bb6
Merge main (#8044 landed) into the animation-state waits
cixzhang Oct 26, 2026
2c57208
Merge #8258 (370c4d9e: the roles' table values in the docs; #8067 thr…
vjeux Oct 26, 2026
1e5d0f4
refactor(core): the plan's stop needs no step-segment landing; the st…
cixzhang Oct 26, 2026
16d3f24
Merge 1e5d0f4f98 (#8056: the dead stop() step-segment block removed) …
cixzhang Oct 26, 2026
4eac57c
Merge #8505 (e8b0bb62: main with #8044, plus the animation-state wait…
cixzhang Oct 26, 2026
347f0ac
fix(core): a finger on page content reaches tracking recognizers as b…
cixzhang Oct 26, 2026
b600a78
Merge #8072 (347f0aca: FR28 began-elsewhere for untracked fingers, FR…
cixzhang Oct 26, 2026
772a4b5
Merge #8348 (main with #8044 and #8505's waits) into the frame evidence
cixzhang Oct 26, 2026
7d946d2
Merge #8045 (main with #8044 and #8505's waits) into the recorder sta…
cixzhang Oct 26, 2026
ee34b25
Merge #8446 (7d946d25: the harness line on main with #8505's waits) i…
cixzhang Oct 26, 2026
355a456
Merge 7d946d259b (#8446 resolved against main, #8044 landed) as a dep…
cixzhang Oct 26, 2026
c4412ab
Merge 5b691cda71 (main) as a dependency
cixzhang Oct 26, 2026
effe685
docs(motion): decay's docs and the changeset say a transition curve c…
cixzhang Oct 26, 2026
d5a65fa
Merge #8076 (ee34b250: the harness line on main) into the row press r…
cixzhang Oct 26, 2026
66232e6
Merge #8073 and #8258 (2c572082: #8073's hooks follow a replaced node…
vjeux Oct 26, 2026
0d1a829
Merge #8073 (b600a78a: began-elsewhere for untracked fingers and a re…
vjeux Oct 26, 2026
571f088
fix(interaction): openStory turns Storybook's highlight module off
vjeux Oct 26, 2026
4c41132
fix(interaction): a trace sets apart only the harness's own reads, ne…
vjeux Oct 26, 2026
9320644
fix(interaction): a wait keeps waiting while the action's animation i…
cixzhang Oct 26, 2026
7ad0455
fix(motion): a held identity follows a node replacement, a mixed rele…
cixzhang Oct 26, 2026
156e4b3
test(interaction): openStory's highlight self-test runs in both engines
vjeux Oct 26, 2026
f60e87d
Merge #8055 (7ad0455a: held identities follow a node replacement; one…
cixzhang Oct 26, 2026
6eb2193
Merge f60e87d2cd (#8056 on #8055's 7ad0455a: held identities across a…
cixzhang Oct 26, 2026
86ac77d
Merge 79a7a902b8 (main) as a dependency
cixzhang Oct 26, 2026
9d5c20a
fix(interaction): a traced waitForRest skips scroll- and view-timelin…
cixzhang Oct 26, 2026
b4234d7
Merge #8505 (9320644717: a wait keeps waiting while the action's anim…
vjeux Oct 26, 2026
cb907b7
fix(interaction): the busy verdict judges a sparse cast from its firs…
vjeux Oct 26, 2026
462d82c
fix(interaction): a scroll- or view-timeline animation does not hold …
cixzhang Oct 26, 2026
8fc7f2e
docs(motion): the animator's SYNC list and test header name only file…
cixzhang Oct 26, 2026
0543b78
Merge #8446 (9d5c20a8: the harness line on #8505's waits) into useAni…
vjeux Oct 26, 2026
79dc151
Merge #8055 (8fc7f2ef: coast says a transition lands at once on a fin…
cixzhang Oct 26, 2026
1fde85a
docs(core): the gestures README says a cell's highlight waits only in…
vjeux Oct 26, 2026
a4b10f9
Merge 79dc151e53 (#8056 on #8055's 8fc7f2ef: the Reduce Motion change…
cixzhang Oct 26, 2026
1fe597d
refactor(core): the animator's Reduce Motion planner is its own module
cixzhang Oct 26, 2026
b33685a
refactor(core): play(curves) and pseudo-element support move to stack…
cixzhang Oct 26, 2026
fa62e29
feat(core): the animator plays any closed-form curve
cixzhang Oct 26, 2026
2cb04fe
feat(core): the animator drives a pseudo-element
cixzhang Oct 26, 2026
803e6d6
test(interaction): the long-task self-test judges the harness read, n…
vjeux Oct 26, 2026
fa8c8e2
Merge #8505 (462d82caaf: a scroll- or view-timeline animation does no…
vjeux Oct 26, 2026
1ffb20e
Merge branch 'interaction-harness-3-frames' into uikit/f3-recorder-st…
vjeux Oct 26, 2026
a9be409
fix(interaction): a scroll-driven animation at its end is not a finis…
cixzhang Oct 26, 2026
c2bc85e
Merge 2cb04fe6f6 (#8522, the top of #8056's split: core, play(curves)…
cixzhang Oct 26, 2026
c97ab3d
Merge f1b4c05434 (main) as a dependency
cixzhang Oct 26, 2026
c84803b
Merge #8505 (a9be409b35: a scroll-driven animation at its end is not …
vjeux Oct 26, 2026
84ea877
Merge main (30a4a2b3: #8055 landed) into the animator's Reduce Motion…
cixzhang Oct 26, 2026
3cb158a
Merge #8056 (main with #8055 landed) into play(curves)
cixzhang Oct 26, 2026
f0819b9
Merge #8521 (main with #8055 landed) into pseudo-element support
cixzhang Oct 26, 2026
f9f1162
Merge f0819b956e (#8522 with main through #8055's landing) as a depen…
cixzhang Oct 26, 2026
dcfecc9
Merge #8067 (f9f1162c: #8522, main through #8055) into the motion-rol…
cixzhang Oct 26, 2026
2267ee5
Merge #8258 (dcfecc93: #8067 f9f1162c, main through #8055) into the e…
cixzhang Oct 26, 2026
b84bcfc
refactor(core): drop the animator's unused TRAVEL alias
cixzhang Oct 26, 2026
648f355
Merge #8056 (the unused TRAVEL alias goes) into play(curves)
cixzhang Oct 26, 2026
c494681
Merge #8521 (the unused TRAVEL alias goes) into pseudo-element support
cixzhang Oct 26, 2026
4750680
Merge #8076 (2267ee51) into the row press release change
vjeux Oct 26, 2026
e07c385
Merge the row press release change (her head d5a65fa8, with #8076 at …
vjeux Oct 26, 2026
1346af4
docs(core): the gestures README gives a control's release the shared …
vjeux Oct 26, 2026
02ff48f
fix(interaction): a watch stamps after the newest entry, and an exit …
cixzhang Oct 26, 2026
7847980
test(core): the animator's tests drop an unused import and binding
cixzhang Oct 26, 2026
c4d1994
Merge #8056 (unused test import and binding) into play(curves)
cixzhang Oct 26, 2026
374ab86
Merge #8521 (unused test import and binding) into pseudo-element support
cixzhang Oct 26, 2026
528dd2d
fix(interaction): after an on-screen start, the busy verdict judges t…
vjeux Oct 26, 2026
e05cdd1
Merge #8505 (02ff48fafe: a watch stamps after the newest entry, and a…
vjeux Oct 26, 2026
b814769
fix(core): under Reduce Motion a move lands only while the element is…
cixzhang Oct 26, 2026
b3f68de
Merge #8056 (a move lands only while transparent) into play(curves)
cixzhang Oct 26, 2026
f866874
Merge #8521 (a move lands only while transparent) into pseudo-element…
cixzhang Oct 26, 2026
3190b1a
docs(core): a pseudo-element's hold lasts while the pseudo-element ex…
cixzhang Oct 26, 2026
d1b07a4
Merge #8045 (e05cdd163a, on #8505 02ff48fafe) into the recorder stand…
vjeux Oct 26, 2026
51688cd
fix(interaction): waitForAnimation and a watch's started() stand down…
vjeux Oct 26, 2026
274ee1b
fix(core): a handle's stop freezes its waiting Reduce Motion travel w…
cixzhang Oct 26, 2026
2f3d6ef
Merge #8056 (a handle's stop freezes its waiting travel) into play(cu…
cixzhang Oct 26, 2026
bb79455
Merge #8521 (handle stop, scale precedence) into pseudo-element support
cixzhang Oct 26, 2026
23e9ead
fix(core): play lets an explicit axis win over scale; the README pres…
cixzhang Oct 26, 2026
93c611d
Merge main (#8505 landed) into the storyboards
cixzhang Oct 26, 2026
79aa498
Merge #8348 (main with #8505 landed) into the frame evidence
cixzhang Oct 26, 2026
63218c8
Merge #8045 (main with #8505 landed) into the recorder stand-down
cixzhang Oct 26, 2026
0400cb2
Merge #8446 (63218c8a: the harness line on main 42a30b47 with #8505) …
cixzhang Oct 26, 2026
be661e2
docs(core): a reopened dialog's backdrop is set right after showModal()
cixzhang Oct 26, 2026
7f36229
fix(core): a carried Reduce Motion move keeps its own call
cixzhang Oct 26, 2026
72c25bd
Merge #8056 (a carried move keeps its own call) into play(curves)
cixzhang Oct 26, 2026
3153b09
Merge #8521 (a carried move keeps its own call) into pseudo-element s…
cixzhang Oct 26, 2026
5ad1170
fix(interaction): the WebKit container runs as the invoking user unde…
cixzhang Oct 26, 2026
49460a6
docs(interaction): a traced waitForAnimation on a CSS @keyframes anim…
cixzhang Oct 26, 2026
1a40c3a
fix(core): a held call still finds its start; a caught dismissal fade…
cixzhang Oct 26, 2026
f4e8812
Merge #8056 (held start, take-over, will-change) into play(curves)
cixzhang Oct 26, 2026
835e4e4
Merge #8521 (held start, take-over, will-change) into pseudo-element …
cixzhang Oct 26, 2026
38ea7d9
fix(interaction): rootless docker runs the WebKit container without -…
cixzhang Oct 26, 2026
76d99bb
Merge #8076 (0400cb2e: the harness line on main 42a30b47) into the ro…
vjeux Oct 26, 2026
215f031
fix(core): a waiting Reduce Motion call whose own opacity a later cal…
cixzhang Oct 26, 2026
da5dcb2
Merge #8056 (a retargeted opacity settles its waiting call interrupte…
cixzhang Oct 26, 2026
47a30b0
Merge #8521 (a retargeted opacity settles its waiting call interrupte…
cixzhang Oct 26, 2026
7f0f5c4
docs(interaction): waitForAnimation's JSDoc names the CSS @keyframes …
vjeux Oct 26, 2026
5712c49
Merge #8348 (38ea7d9c: rootless docker, WebKit container user) into t…
cixzhang Oct 26, 2026
4045092
chore(interaction): move four instruments out of the frame evidence
cixzhang Oct 26, 2026
6762cc5
chore(interaction): move rendering traces and the long-task log out o…
cixzhang Oct 26, 2026
03058f6
chore(interaction): move the compositor presentation record out of th…
cixzhang Oct 26, 2026
bf5950f
feat(interaction): Chromium rendering traces, the compositor presenta…
cixzhang Oct 26, 2026
d12ed28
feat(interaction): cast filmstrips, rect sampling, a Storybook highli…
cixzhang Oct 26, 2026
61de06c
Merge #8549 (d12ed280: the frame evidence split into #8045, #8548 and…
cixzhang Oct 26, 2026
c1c46dc
fix(core): a held call keeps reading until it has a start
cixzhang Oct 26, 2026
ddf0e3a
Merge #8056 (a held call keeps reading until it has a start) into pla…
cixzhang Oct 26, 2026
f33aea7
Merge #8521 (a held call keeps reading until it has a start) into pse…
cixzhang Oct 26, 2026
357a725
feat(gestures): a screen-edge pan takes the axis across its edge only…
cixzhang Oct 26, 2026
92d6477
fix(core): decay takes touchRelease; a take-back fades straight back;…
cixzhang Oct 26, 2026
6c53298
Merge #8056 (decay touchRelease, take-back, entrance mid-exit) into p…
cixzhang Oct 26, 2026
1ca0138
Merge #8521 (decay touchRelease, take-back, entrance mid-exit) into p…
cixzhang Oct 26, 2026
45a454b
docs(core): the animator header and changeset name the touch-release …
cixzhang Oct 26, 2026
c6f0678
Merge #8056 (the touch-release cross-fade in the header and changeset…
cixzhang Oct 26, 2026
ed4a046
Merge #8521 (the touch-release cross-fade in the header and changeset…
cixzhang Oct 26, 2026
3e3c4e7
Merge main (#8348 landed) into the frame evidence
cixzhang Oct 26, 2026
a7ffe6e
Merge #8045 (main with #8348 landed) into the rendering traces
cixzhang Oct 26, 2026
36abaa1
Merge #8548 (main with #8348 landed) into the instruments
cixzhang Oct 26, 2026
2931530
Merge #8549 (main with #8348 landed) into the recorder stand-down
cixzhang Oct 26, 2026
b4e0adb
Merge #8446 (2931530b: the harness line on main with #8348) into the …
cixzhang Oct 26, 2026
2b264d3
test(core): uikit.test.ts matches bindings in the file text again
cixzhang Oct 26, 2026
13eceed
Merge #8056 (uikit.test.ts back to main's line) into play(curves)
cixzhang Oct 26, 2026
212dbb1
Merge #8521 (uikit.test.ts back to main's line) into pseudo-element s…
cixzhang Oct 26, 2026
ecb9f20
Merge #8056 (2b264d3d: the held call's start, the Reduce Motion landi…
vjeux Oct 26, 2026
62ecda1
test(core): browser proofs that a Reduce Motion dip held before its f…
vjeux Oct 26, 2026
e92759a
Merge #8076 (b4e0adbc: main with #8348's harness) into the row press …
vjeux Oct 26, 2026
93e6d3e
Merge the row press release change (with #8076 at b4e0adbc) into the …
vjeux Oct 26, 2026
66c651f
fix(interaction): a watch taken inside a trace right after a style ch…
cixzhang Oct 26, 2026
7d725ad
Merge #8076 (62ecda1c: the held call's start fix) into the row press …
vjeux Oct 26, 2026
0519913
Merge the row press release change (with #8076 at 62ecda1c) into the …
vjeux Oct 26, 2026
5613501
docs(interaction): the README's evidence list and busy recipe match w…
cixzhang Oct 26, 2026
a149b9c
Merge #8045 (README evidence list and FR5 block) into the rendering t…
cixzhang Oct 26, 2026
852d55c
fix(interaction): readLongTasks fails closed, and the README lists ev…
cixzhang Oct 26, 2026
4099d7e
Merge #8548 (readLongTasks fails closed) into the instruments
cixzhang Oct 26, 2026
6ccd5b4
fix(interaction): castStoryboard takes no clip it would ignore
cixzhang Oct 26, 2026
40c6be3
Merge #8549 (castStoryboard's clip, readLongTasks fails closed, READM…
cixzhang Oct 26, 2026
87e516b
docs(interaction): a traced watch restyles its element; take it befor…
cixzhang Oct 26, 2026
572825b
fix(gestures): an off-zone edge pan decides at 10 px; a waiting swipe…
cixzhang Oct 26, 2026
4c3df94
fix(gestures): a pan from several edges claims each axis only in its …
cixzhang Oct 26, 2026
c8d86ff
chore(changeset): the touch foundation's internal changesets stop cou…
vjeux Oct 26, 2026
bce5d90
fix(interaction): the compositor record refuses another open page
cixzhang Oct 26, 2026
7613c98
Merge #8548 (the compositor record refuses another page) into the ins…
cixzhang Oct 26, 2026
f79b8a9
fix(interaction): resolve ASTRYX_WEBKIT_SHADER_CACHE to a host path
cixzhang Oct 26, 2026
a1e7176
Merge #8549 (compositor record refuses another page, shader cache pat…
cixzhang Oct 26, 2026
ff365ff
docs(interaction): a traced waitForRest restyles a running element on…
cixzhang Oct 26, 2026
97436b2
fix(core): a node detached mid-dip lands its move where it was going
cixzhang Oct 26, 2026
c27baac
Merge #8521 (a node detached mid-dip lands its move) into pseudo-elem…
cixzhang Oct 26, 2026
bac4669
fix(interaction): a window that delivered under four frames is judged…
cixzhang Oct 26, 2026
f1c5125
Merge n8045 (the busy verdict judges a thin window against its span) …
cixzhang Oct 26, 2026
bd50829
Merge n8548 (the busy verdict judges a thin window against its span) …
cixzhang Oct 26, 2026
f405e7f
Merge n8549 (the busy verdict judges a thin window against its span) …
cixzhang Oct 26, 2026
702529b
fix(core): the unmount's landing leaves the detached node with nothin…
cixzhang Oct 26, 2026
fda011c
Merge #8521 (the unmount's landing leaves nothing running) into pseud…
cixzhang Oct 26, 2026
8715133
docs(interaction): the busy verdict's docs name the thin-window rule
cixzhang Oct 26, 2026
15e8c24
Merge n8045 (the busy docs name the thin-window rule) into n8548
cixzhang Oct 26, 2026
bc90acb
Merge n8548 (the busy docs name the thin-window rule) into n8549
cixzhang Oct 26, 2026
7aba599
Merge n8549 (the busy docs name the thin-window rule) into n8446b
cixzhang Oct 26, 2026
9f6748f
fix(core): a waiting move lands on the latest node detached, and disp…
cixzhang Oct 26, 2026
a103c43
Merge #8521 (the latest detached node) into pseudo-element support
cixzhang Oct 26, 2026
4012259
fix(interaction): the compositor record refuses a page that opened wh…
cixzhang Oct 26, 2026
2a6b934
Merge n8548 (the compositor record refuses a page opened while it ran…
cixzhang Oct 26, 2026
9f65026
Merge n8549 (the compositor record refuses a page opened while it ran…
cixzhang Oct 26, 2026
2ec969c
fix(core): a Reduce Motion call naming the opacity a waiting dip retu…
vjeux Oct 26, 2026
1ddea08
fix(interaction): a traced wait on a missing element reports it missing
cixzhang Oct 26, 2026
213e86e
docs(motion): the Reduce Motion planner's fade length is no role, the…
vjeux Oct 26, 2026
6ef5186
perf(core): a promotion reads no style in its own task
vjeux Oct 26, 2026
70c70e4
Merge #8061 (4c3df941: a screen-edge pan takes the axis across its ed…
vjeux Oct 26, 2026
6f4173c
test(core): the mid-dip unmount test reads the element after the defe…
cixzhang Oct 26, 2026
915f9d9
Merge #8521 (the mid-dip unmount test awaits the microtask) into pseu…
cixzhang Oct 26, 2026
d2c3c78
feat(gestures): an action group keeps working under a fine pointer, w…
cixzhang Oct 26, 2026
266fa0a
Merge #8072 (d2c3c788: the action-group host exception) and #8446 (1d…
cixzhang Oct 27, 2026
25b468c
Merge main (2c4f1728: #8056 merged) into play-curves
cixzhang Oct 27, 2026
182ef2e
Merge #8521 (main with #8056) into pseudo-element support
cixzhang Oct 27, 2026
793c8db
build(lab): Lab reaches core only through core's exports, with no sec…
cixzhang Oct 27, 2026
b9c3b0b
Merge #8522 (182ef2e9: the animator line carrying main with #8056 lan…
cixzhang Oct 27, 2026
27eeeb8
fix(core): an unmount leaves no will-change read timer on the node it…
cixzhang Oct 27, 2026
530adc8
Merge #8076 (27eeeb8d: main through #8056's merge) into the row press…
vjeux Oct 27, 2026
2567163
Merge the row press release change (with #8076 at 27eeeb8d) into the …
vjeux Oct 27, 2026
bec2283
fix(gestures): a gesture that cancels itself on a finger's move keeps…
vjeux Oct 26, 2026
a3e07d8
fix(core): the gesture host measures a screen-edge pan's view, so an …
cixzhang Oct 27, 2026
9adbe2d
fix(gestures): a strip authored at the edge region is the edge zone a…
cixzhang Oct 27, 2026
cba0ad9
Merge main (a00afee502: #8521 merged) into the experimental touch layer
vjeux Oct 27, 2026
8766c55
Merge #8076 (cba0ad93: main through #8521's merge) into the row press…
vjeux Oct 27, 2026
1a693f3
Merge the row press release change (with #8076 at cba0ad93) into the …
vjeux Oct 27, 2026
3bfd7c3
fix(core): the animator reads no style for a node out of the document
vjeux Oct 27, 2026
1aade8a
test(gestures): an in-band touch on a wider element decides at 15 px …
vjeux Oct 27, 2026
3d85c30
fix(gestures): an in-band touch decides at 15 px whatever the element…
vjeux Oct 27, 2026
9d0f6f2
Merge #8061 (3d85c303e6: an in-band screen-edge touch decides at 15 p…
vjeux Oct 27, 2026
11dbebf
Merge #8641 (bec2283d0f: a gesture that cancels itself on a finger's …
vjeux Oct 27, 2026
d9a1e1a
fix(gestures): an in-band touch decides at 10 px on an element wider …
vjeux Oct 27, 2026
e6ab0b9
Merge #8061 (d9a1e1ad19: an in-band touch on an element wider than th…
vjeux Oct 27, 2026
3fb31dd
Merge main (6aea9bda01: #8663 merged, one release policy) into the ex…
vjeux Oct 27, 2026
01b48e5
Merge #8076 (3fb31ddb: main through #8663, the motion README's rows u…
vjeux Oct 27, 2026
2121d8f
Merge the row press release change (with #8076 at 3fb31ddb) into the …
vjeux Oct 27, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 7 additions & 0 deletions .changeset/build-stylex-cross-file-consts.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
---
'@astryxdesign/build': patch
---

[fix] `astryxStylex` resolves `defineConsts` values read from another file. With the `{stylexOptions}` form (the one Storybook uses), a file that read only constants from a `.stylex.ts` module lost that import once StyleX compiled it, so the constants never reached the CSS: a constant used as a media-query key failed the build ("Invalid empty selector") and one used as a value shipped as a custom property nothing declares. In either form, a constant defined on the other side of the layer split, or in an Astryx package (compiled with the library class-name prefix) and read from an app file (compiled with its own), stayed unresolved.

@vjeux
7 changes: 7 additions & 0 deletions .changeset/gesture-arena-moving-cancel.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
---
'@astryxdesign/core': patch
---

[chore] Internal: a gesture that cancels itself on a finger's move (a long press dragged past its tolerance) keeps that finger claimed until it lifts, so the page never takes the drag over midway; a resting finger is still given back when its gesture is cancelled. Not exported from the package entry point.

@vjeux
7 changes: 7 additions & 0 deletions .changeset/gesture-browser-negotiation.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
---
'@astryxdesign/core': patch
---

[chore] Internal: touch-action derivation, the native scroll probe and haptics for the gesture system. Not exported from the package entry point.

@vjeux
7 changes: 7 additions & 0 deletions .changeset/gesture-host.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
---
'@astryxdesign/core': patch
---

[chore] Internal: the gesture system's DOM host (claims, click suppression, the browser's takeover, the pointer behind a contact). Not exported from the package entry point.

@vjeux
2 changes: 1 addition & 1 deletion .changeset/gesture-pan.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,6 @@
'@astryxdesign/core': patch
---

[chore] Internal: the pan gesture recognizer, with UIKit's measured hysteresis and velocity filter. Not exported from the package entry point; no component uses it yet.
[chore] Internal: the pan gesture recognizer, with UIKit's measured hysteresis and velocity filter. Not exported from the package entry point.

@vjeux
7 changes: 7 additions & 0 deletions .changeset/gesture-press-tracking.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
---
'@astryxdesign/core': patch
---

[chore] Internal: UIControl press tracking with control and cell profiles and the gesture hooks, with every press painter writing `data-astryx-press` through one internal writer in `utils/pressFeedback.ts`. Not exported from the package entry point.

@vjeux
7 changes: 7 additions & 0 deletions .changeset/gesture-readme.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
---
'@astryxdesign/core': patch
---

[chore] Internal: the gesture system's README for component authors, with its browser proof in Chromium and WebKit.

@vjeux
2 changes: 1 addition & 1 deletion .changeset/gesture-recognizer-core.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,6 @@
'@astryxdesign/core': patch
---

[chore] Internal: the gesture recognizer core for touch presentations: UIKit's recognizer state machine and the arena that settles which recognizer owns a touch. Not exported from the package entry point; no component uses it yet.
[chore] Internal: the gesture recognizer core for touch presentations: UIKit's recognizer state machine and the arena that settles which recognizer owns a touch. Not exported from the package entry point.

@vjeux
7 changes: 7 additions & 0 deletions .changeset/gesture-swipe-pinch-rotation-edge-hover.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
---
'@astryxdesign/core': patch
---

[chore] Internal: swipe, pinch, rotation, screen-edge pan and hover gesture recognizers. Not exported from the package entry point.

@vjeux
2 changes: 1 addition & 1 deletion .changeset/gesture-tap-long-press.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,6 @@
'@astryxdesign/core': patch
---

[chore] Internal: tap and long-press gesture recognizers with UIKit's measured thresholds. Not exported from the package entry point; no component uses them yet.
[chore] Internal: tap and long-press gesture recognizers with UIKit's measured thresholds. Not exported from the package entry point.

@vjeux
7 changes: 7 additions & 0 deletions .changeset/list-dividers-hide-on-press.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
---
'@astryxdesign/core': patch
---

[feat] In a `List` with `hasDividers`, a touch press hides the dividers on either side of the pressed row, so the pressed row reads as one unbroken highlight; both come back the moment the finger lifts, while the highlight fades. This applies under any finger (a coarse primary pointer); with a mouse the dividers stay drawn.

@vjeux
7 changes: 7 additions & 0 deletions .changeset/list-row-press-compositor.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
---
'@astryxdesign/core': patch
---

[fix] A list row's touch press release keeps fading while the page runs script. `ListItem`, `Item` and `TreeList` rows used to stay fully pressed after the finger lifted until the main thread was free, and every frame of the fade repainted the row; the release now runs on the compositor, with the same color, clock and curve as before. Under a finger, while a row is pressed and through its release, the press paints on the row's `::before` and the row is its own stacking context; at rest nothing of it applies, so a row's own `::before` decoration and its children's stacking are as they were. During a press the layer is the row's `::before`, so a caller's decoration there takes the layer's box and paint for that time (a page stylesheet keeps the properties it sets); decoration that should stay through a press belongs on `::after` or a child element. With a mouse or trackpad the row is unchanged: no layer and no new stacking context.

@vjeux
7 changes: 7 additions & 0 deletions .changeset/reduced-motion-record.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
---
'@astryxdesign/core': patch
---

[chore] Internal: Reduce Motion for the touch presentations follows design:reduced-motion beyond the animator too. `reducedMotionFade()` gives code beside the animator the animator's own fade (an opacity-only 200 ms cross-fade on a coarse pointer or after a touch release, at once on any other pointer), `animator.reducedMotion()` reports which form a change takes for feedback that plays no fade of its own, and `reducedMotion.stylex.ts` holds the fade's constants for StyleX transitions. The fade's length is not a theme motion role. Not exported from the package entry point.

@vjeux
2 changes: 1 addition & 1 deletion .changeset/uikit-constants-table.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,6 @@
'@astryxdesign/core': patch
---

[chore] Internal: the UIKit constants table for touch presentations (springs, scroll physics, timing curves and navigation values), each value with its source and a checked list of the simulator measurements still owed. Not exported from the package entry point; no component reads it yet.
[chore] Internal: the UIKit constants table for touch presentations (springs, scroll physics, timing curves and navigation values), each value with its source and a checked list of the simulator measurements still owed. Not exported from the package entry point.

@vjeux
7 changes: 7 additions & 0 deletions .changeset/uikit-motion-animator-pseudo-element.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
---
'@astryxdesign/core': patch
---

[chore] Internal: the touch presentations' animator drives a pseudo-element such as a dialog's ::backdrop: a static filling animation holds its value after a curve ends and after `set`, a custom property on its host promotes it, and a Reduce Motion dip borrows and hands back the pseudo-element's own opacity. Not exported from the package entry point.

@vjeux
2 changes: 1 addition & 1 deletion .changeset/uikit-motion-animator.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,6 @@
'@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; `decay` plays momentum, and sends a spring back from past an edge through the Reduce Motion policy: a cross-fade on a coarse pointer or after a touch release, at once elsewhere) 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.
[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; `decay` plays momentum, and sends a spring back from past an edge through the Reduce Motion policy: a cross-fade on a coarse pointer or after a touch release, at once elsewhere) 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.

@vjeux
2 changes: 1 addition & 1 deletion .changeset/uikit-motion-math.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,6 @@
'@astryxdesign/core': patch
---

[chore] Internal: the spring, decay, rubber-band and projection math of UIKit for touch presentations, as pure functions checked against an independent integration and against values read from UIKit. Not exported from the package entry point; no component uses it yet.
[chore] Internal: the spring, decay, rubber-band and projection math of UIKit for touch presentations, as pure functions checked against an independent integration and against values read from UIKit. Not exported from the package entry point.

@vjeux
7 changes: 7 additions & 0 deletions .changeset/uikit-motion-use-animator.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
---
'@astryxdesign/core': patch
---

[chore] Internal: useAnimator, a React wrapper around the touch presentations' animator that never re-renders per frame, and browser proofs on the interaction harness that the animator's motion keeps running through a blocked main thread in Chromium and WebKit. Not exported from the package entry point.

@vjeux
Loading
Loading