Commit 280ebec
committed
fix(interaction): guard the aim point the tap dispatches, not a second guess at it
The guard measured the target's rect center while the acting paths dispatch whatever
`resolveNodeTouchPoint` resolves, and those two points are not the same node geometry: a
parent whose interactive descendants own its center has its aim pushed into a child-free
region. Center-first could wave through a tap whose real aim had moved into the key plane,
and refuse one whose real aim had moved clear of it.
The stage owner now resolves the aim once, measures that, and returns it for the dispatch,
so one point is in play per acting tap. The native-ref fast path keeps the rect center and
says why: it hands the element to the backend and dispatches by ref, so there is no
coordinate to re-derive.
The coordinate path's two disclosures shared their viewport lookup, which the keyboard
warning had been resolving a second time for the same point.
The runtime cases now build on the ADR 0011 fixture's #2589 tree instead of restating its
rects, and one case pins the point rule from both sides: a target whose center stays above
the key plane while its dispatched aim falls below it is refused, and the same tree with
the keypad lifted off the bottom edge shows the tap aiming under the key plane.1 parent 8ce997a commit 280ebec
3 files changed
Lines changed: 127 additions & 78 deletions
File tree
- src/commands/interaction/runtime
Lines changed: 76 additions & 50 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
2 | 2 | | |
3 | | - | |
| 3 | + | |
4 | 4 | | |
| 5 | + | |
5 | 6 | | |
6 | 7 | | |
7 | 8 | | |
8 | 9 | | |
9 | 10 | | |
10 | | - | |
11 | | - | |
12 | | - | |
13 | | - | |
14 | | - | |
15 | | - | |
16 | | - | |
17 | | - | |
18 | | - | |
19 | | - | |
20 | | - | |
21 | | - | |
22 | | - | |
23 | | - | |
24 | | - | |
25 | | - | |
26 | | - | |
27 | | - | |
28 | | - | |
29 | | - | |
30 | | - | |
31 | | - | |
32 | | - | |
33 | | - | |
34 | | - | |
35 | | - | |
36 | | - | |
37 | | - | |
38 | | - | |
39 | | - | |
40 | | - | |
41 | | - | |
42 | | - | |
43 | | - | |
44 | | - | |
45 | | - | |
46 | | - | |
47 | | - | |
48 | | - | |
49 | | - | |
50 | | - | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
51 | 31 | | |
52 | 32 | | |
53 | 33 | | |
| |||
137 | 117 | | |
138 | 118 | | |
139 | 119 | | |
140 | | - | |
| 120 | + | |
141 | 121 | | |
142 | | - | |
143 | | - | |
144 | | - | |
145 | | - | |
146 | | - | |
147 | | - | |
148 | | - | |
| 122 | + | |
149 | 123 | | |
150 | 124 | | |
151 | 125 | | |
| |||
168 | 142 | | |
169 | 143 | | |
170 | 144 | | |
| 145 | + | |
| 146 | + | |
| 147 | + | |
| 148 | + | |
| 149 | + | |
| 150 | + | |
| 151 | + | |
| 152 | + | |
| 153 | + | |
| 154 | + | |
| 155 | + | |
| 156 | + | |
| 157 | + | |
| 158 | + | |
| 159 | + | |
| 160 | + | |
| 161 | + | |
| 162 | + | |
| 163 | + | |
| 164 | + | |
| 165 | + | |
| 166 | + | |
| 167 | + | |
| 168 | + | |
| 169 | + | |
| 170 | + | |
| 171 | + | |
| 172 | + | |
| 173 | + | |
| 174 | + | |
| 175 | + | |
| 176 | + | |
| 177 | + | |
| 178 | + | |
| 179 | + | |
| 180 | + | |
| 181 | + | |
| 182 | + | |
| 183 | + | |
| 184 | + | |
| 185 | + | |
| 186 | + | |
| 187 | + | |
| 188 | + | |
| 189 | + | |
| 190 | + | |
| 191 | + | |
| 192 | + | |
| 193 | + | |
| 194 | + | |
| 195 | + | |
| 196 | + | |
171 | 197 | | |
172 | 198 | | |
173 | 199 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | | - | |
| 1 | + | |
2 | 2 | | |
3 | | - | |
4 | 3 | | |
5 | 4 | | |
6 | 5 | | |
| |||
31 | 30 | | |
32 | 31 | | |
33 | 32 | | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
34 | 39 | | |
35 | 40 | | |
36 | | - | |
37 | | - | |
38 | | - | |
| 41 | + | |
| 42 | + | |
39 | 43 | | |
40 | 44 | | |
41 | 45 | | |
| |||
62 | 66 | | |
63 | 67 | | |
64 | 68 | | |
| 69 | + | |
| 70 | + | |
65 | 71 | | |
66 | 72 | | |
67 | 73 | | |
68 | | - | |
69 | | - | |
70 | | - | |
71 | | - | |
72 | | - | |
73 | | - | |
| 74 | + | |
74 | 75 | | |
75 | 76 | | |
76 | 77 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
229 | 229 | | |
230 | 230 | | |
231 | 231 | | |
232 | | - | |
| 232 | + | |
233 | 233 | | |
234 | 234 | | |
235 | 235 | | |
| |||
331 | 331 | | |
332 | 332 | | |
333 | 333 | | |
334 | | - | |
| 334 | + | |
335 | 335 | | |
336 | 336 | | |
337 | 337 | | |
| |||
342 | 342 | | |
343 | 343 | | |
344 | 344 | | |
345 | | - | |
346 | | - | |
347 | | - | |
348 | | - | |
349 | | - | |
| 345 | + | |
| 346 | + | |
| 347 | + | |
| 348 | + | |
| 349 | + | |
| 350 | + | |
350 | 351 | | |
351 | 352 | | |
352 | 353 | | |
| |||
396 | 397 | | |
397 | 398 | | |
398 | 399 | | |
399 | | - | |
| 400 | + | |
400 | 401 | | |
401 | 402 | | |
402 | 403 | | |
| |||
407 | 408 | | |
408 | 409 | | |
409 | 410 | | |
410 | | - | |
411 | | - | |
412 | | - | |
413 | | - | |
414 | | - | |
| 411 | + | |
| 412 | + | |
| 413 | + | |
| 414 | + | |
| 415 | + | |
| 416 | + | |
415 | 417 | | |
416 | 418 | | |
417 | 419 | | |
| |||
651 | 653 | | |
652 | 654 | | |
653 | 655 | | |
| 656 | + | |
| 657 | + | |
| 658 | + | |
| 659 | + | |
| 660 | + | |
654 | 661 | | |
655 | | - | |
| 662 | + | |
656 | 663 | | |
657 | 664 | | |
658 | 665 | | |
659 | 666 | | |
660 | 667 | | |
661 | 668 | | |
662 | | - | |
| 669 | + | |
| 670 | + | |
| 671 | + | |
| 672 | + | |
| 673 | + | |
| 674 | + | |
| 675 | + | |
| 676 | + | |
| 677 | + | |
| 678 | + | |
| 679 | + | |
| 680 | + | |
663 | 681 | | |
664 | 682 | | |
665 | 683 | | |
| |||
673 | 691 | | |
674 | 692 | | |
675 | 693 | | |
| 694 | + | |
| 695 | + | |
| 696 | + | |
676 | 697 | | |
677 | 698 | | |
678 | 699 | | |
679 | 700 | | |
680 | 701 | | |
| 702 | + | |
681 | 703 | | |
682 | | - | |
| 704 | + | |
683 | 705 | | |
684 | 706 | | |
685 | 707 | | |
| |||
1001 | 1023 | | |
1002 | 1024 | | |
1003 | 1025 | | |
1004 | | - | |
| 1026 | + | |
1005 | 1027 | | |
1006 | 1028 | | |
1007 | 1029 | | |
| |||
0 commit comments