Repository navigation
spec(AST-094): the edge band's claim applies to an element no wider than the band (FR18) - #8631
Conversation
|
/approve-spec 6ae2638 |
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
|
AI review status for this pull request.
|
PR Analysis Report
|
There was a problem hiding this comment.
Changes requested: the new FR18 sentence is owner-approved direction, but other statements in spec:AST-094 still give every screen-edge pan a 15 px start, so the record now gives two answers for a pan on an element wider than the band. Please carry the narrow-element condition through them, record the ruling in the decision log with its date, and have an engineering owner approve the new head with /approve-spec.
- FR17's parenthetical, FR19's screen-edge clause, DEC-13 and the FR18–FR22 row's older "claims … before 15 px" failure still apply 15 px everywhere, so the row passes no wider-element implementation.
- "No wider than the band" tests width rather than position; "an element that lies within the band" keeps the claim off touches outside the band.
[Automated review]
| other claim (DEC-13). The band's `pan-x` claim and 15 px start apply where the | ||
| screen-edge pan is attached to an element no wider than the band; on a wider | ||
| element, whose `touch-action` cannot claim per touch, a touch in the band | ||
| decides at FR19's 10 px like every other claim. |
There was a problem hiding this comment.
This limits the 15 px start to an element no wider than the band, but FR17 (line 243: "a screen-edge pan at 15 px"), FR19 (line 280: "a screen-edge pan, whose band leaves the browser no horizontal scroll, decides within 15 px") and DEC-13 (lines 690-691: "decides there at UIKit's 15 px") still state it for every screen-edge pan. Qualifying each to the narrow element, and recording the ruling with its date in DEC-13 or a new decision (as FR2 asks of an owner decision that departs from a measurement), gives the record one answer.
Also, "no wider than the band" is a width test: a 30 px strip offset 20 px from the edge passes it and would claim pan-x for touches outside the band. "An element that lies within the band" avoids that.
| | FR13 | Resolver unit tests and a server-render test | coarse and fine pointer; narrow, wide and short; server render; hydrating render | a component that answers the conditions differently, or a touch presentation in the server or hydrating render, fails | | ||
| | FR14 | Browser tests of a sheet over a scrolled list | scrolled and at its top | a midway handoff fails | | ||
| | FR15–FR17 | Recognizer unit tests on synthetic streams with explicit timestamps | exclusive, simultaneous, require-to-fail, nested; a watcher beside a claiming winner; a blocked main thread; a pan at 10 pt per axis | a wrong winner, a late deadline, or a translation that keeps the hysteresis, or a watcher failed or cancelled by a claiming winner fails | | ||
| | FR18–FR22 | Browser tests with real touch input (`spec:AST-013` FR10) | per-axis pans beside native scrolling, page zoom, cancelled touches, clicks after taps, keyboard activation, a modal scroll lock, a control that keeps its press through a drag; a still finger with sub-pixel jitter over a scroll view; a finger moved 9 px and 10 px straight, and (7, 7) and (8, 8) diagonally; a recognizer on an element whose author `touch-action` is narrower, including one without `pinch-zoom`; a screen-edge pan landing at 40 px and at 41 px from the edge, at 14 px and 15 px of travel, and a horizontal scroll that starts outside the band; a screen-edge pan on an element no wider than the band, and on a wider element | a ghost click, a scroll or zoom blocked other than by the author's `touch-action`, or a cancelled unowned touchmove outside FR19's two exceptions, a tap cancelled by sub-pixel movement or by under 10 px of travel, a scroll that does not take the touch at 10 px, or a derived `touch-action` wider than the author's, a screen-edge pan that claims outside its band or before 15 px, or has not claimed at 15 px, or an author scroll outside the band that is blocked, a band claim of `pan-x` on an element wider than the band, or a 15 px start there, fails | |
There was a problem hiding this comment.
The older failure in this cell, "a screen-edge pan that claims outside its band or before 15 px, or has not claimed at 15 px", still covers a pan on a wider element, which FR18 now has decide at 10 px, while the new "a 15 px start there" fails it at 15 px, so no wider-element outcome passes. Limiting the older clause to an element no wider than the band and adding "or, on a wider element, has not claimed at 10 px" pins the new start.
|
/approve-spec 4133359 |
There was a problem hiding this comment.
No changes needed: the narrowed FR18 rule is approved by an engineering owner for this revision and now reads the same in FR17, FR19, DEC-13, the new DEC-22 and the FR18–FR22 verification row, which resolves the earlier review's requested changes. Nothing else is needed from this review. As a heads-up for the implementation, the open screen-edge recognizer in #8061 currently decides its edge zone by width alone, while FR18 now requires the host to lie within the band.
[Automated review]
|
/approve-spec da295f6 |
There was a problem hiding this comment.
Changes requested: the narrowed FR18 rule is approved by an engineering owner for this head, but the merge of main dropped two phrases that #8628 added to the FR18–FR22 verification row, so FR19's scroll-edge exception (a sheet's pull from a list) no longer has its listed states or failure. Please restore "a sheet's pull from a list at its top, and from a list scrolled away from its top" to the representative states and "or a scroll-edge pan that cancels a move a scroller could scroll, or begins before 10 pt" to the failure expectations, beside the new band cases. A new commit needs a fresh approval, so an engineering owner then comments /approve-spec <full head SHA> on the new head; the author may do so as an engineering owner.
[Automated review]
| | FR13 | Resolver unit tests and a server-render test | coarse and fine pointer; narrow, wide and short; server render; hydrating render | a component that answers the conditions differently, or a touch presentation in the server or hydrating render, fails | | ||
| | FR14 | Browser tests of a sheet over a scrolled list | scrolled and at its top | a midway handoff fails | | ||
| | FR15–FR17 | Recognizer unit tests on synthetic streams with explicit timestamps | exclusive, simultaneous, require-to-fail, nested; a watcher beside a claiming winner; a blocked main thread; a pan at 10 pt per axis | a wrong winner, a late deadline, or a translation that keeps the hysteresis, or a watcher failed or cancelled by a claiming winner fails | | ||
| | FR18–FR22 | Browser tests with real touch input (`spec:AST-013` FR10) | per-axis pans beside native scrolling, page zoom, cancelled touches, clicks after taps, keyboard activation, a modal scroll lock, a control that keeps its press through a drag; a still finger with sub-pixel jitter over a scroll view; a finger moved 9 px and 10 px straight, and (7, 7) and (8, 8) diagonally; a recognizer on an element whose author `touch-action` is narrower, including one without `pinch-zoom`; a screen-edge pan landing at 40 px and at 41 px from the edge, at 14 px and 15 px of travel, and a horizontal scroll that starts outside the band; a screen-edge pan on an element within the band, and on one that reaches beyond it | a ghost click, a scroll or zoom blocked other than by the author's `touch-action`, or a cancelled unowned touchmove outside FR19's three exceptions, a tap cancelled by sub-pixel movement or by under 10 px of travel, a scroll that does not take the touch at 10 px, or a derived `touch-action` wider than the author's, a screen-edge pan that claims outside its band or before 15 px on an element within the band, or has not claimed at 15 px, or an author scroll outside the band that is blocked, a band claim of `pan-x` on an element that reaches beyond the band, or a 15 px start there, fails | |
There was a problem hiding this comment.
The merge of main dropped two phrases #8628 added to this row for FR19's scroll-edge exception, which this head still grants at lines 277-282: the state "a sheet's pull from a list at its top, and from a list scrolled away from its top" and the failure "or a scroll-edge pan that cancels a move a scroller could scroll, or begins before 10 pt". Keeping both beside the new band cases restores the row's coverage of the sheet pull; the states would end "…; a screen-edge pan on an element within the band, and on one that reaches beyond it; a sheet's pull from a list at its top, and from a list scrolled away from its top", and the failures "…, or a 15 px start there, or a scroll-edge pan that cancels a move a scroller could scroll, or begins before 10 pt, fails".
|
/approve-spec a5ab305 |
|
/approve-spec 601ad4b |
There was a problem hiding this comment.
No changes needed: the narrowed FR18 band rule is approved by an engineering owner for this head, and FR17, FR19, DEC-13, the new DEC-22 and the FR18–FR22 verification row now state it consistently, with the sheet-pull states and scroll-edge failure back in the row. One optional fix before merging: the title and the body's Change bullet still say "no wider than the band", while the record tests position ("lies within the band"), and the title becomes the squash commit subject.
[Automated review]
…than the band (spec:AST-094 FR18, DEC-22) FR18 as amended in meta#8631 (DEC-22): the band's pan-x claim and 15 px start hold only where the screen-edge pan is attached to an element within the band; on an element that reaches beyond it, whose touch-action cannot claim per touch, a touch in the band decides at FR19's 10 px like every other claim. This restores the 10 px decision 3d85c30 removed and keeps 15 px on an element within the band. The cases pin DEC-22 both ways (a wide element with a touch at x=4 begins at 10, an in-band strip at 15, and from several edges at 10 on a wide element); the 10 px cases fail on 3d85c30.
Decided (Cindy, D13a = c;
spec:AST-094DEC-13). Record accuracy.User impact
A screen-edge back swipe on a narrow edge element starts as the record says, at 15 px with a
pan-xclaim. On a wider element the record no longer promises a per-touch claim the browser can't make; an in-band touch there decides at 10 px like every other claim.Change:
spec:AST-094FR18pan-xclaim and 15 px start apply where the screen-edge pan is attached to an element no wider than the band. On a wider element, whosetouch-actioncan't claim per touch (DEC-13 rejects a whole-element claim), a touch in the band decides at FR19's 10 px.Writing rubric results