|
|
| Feasibility |
Easy |
| Status |
Open |
Reported from the browser port and confirmed to be the same in sidemark.py: the two hold gestures "have to be too precisely not moving". A hand holding a pen against glass for half a second does not stop moving, it DRIFTS -- so a tolerance measured in single pixels is a tolerance nobody has. CIRCLE_LASSO_SLOP_PX is 6.0 (sidemark.py), tested from the press origin in PDFCanvas._on_drag_update and TextPageView's press router; the web port had NO tolerance at all on that hold (any motion event cancelled it) and re-armed the SHAPE dwell's timer on every motion event, so a shaking hand reset that clock for ever and the dwell could never fire. Fixed there as HOLD_SLOP_PX = 16.0 governing both holds, and the desktop should follow. THE TWO MEASURE FROM DIFFERENT ORIGINS AND THAT IS THE DESIGN: circle-to-lasso from where the press LANDED, so a slow drag across the page can never turn into a selection; the shape dwell from wherever the pen was last moving, because you draw a shape and then stop, and the hold has to begin where you stopped. Do not 're-base' the lasso anchor to fix a slow drag -- that is the one case the origin anchor exists to reject. On the desktop this is a one-token change to the constant plus the same rolling anchor for the dwell arm; check the tests that name the slop, and re-judge in the hand rather than by the number, since 16 was chosen on a 1.5x display.
Reported from the browser port and confirmed to be the same in sidemark.py: the two hold gestures "have to be too precisely not moving". A hand holding a pen against glass for half a second does not stop moving, it DRIFTS -- so a tolerance measured in single pixels is a tolerance nobody has. CIRCLE_LASSO_SLOP_PX is 6.0 (sidemark.py), tested from the press origin in PDFCanvas._on_drag_update and TextPageView's press router; the web port had NO tolerance at all on that hold (any motion event cancelled it) and re-armed the SHAPE dwell's timer on every motion event, so a shaking hand reset that clock for ever and the dwell could never fire. Fixed there as HOLD_SLOP_PX = 16.0 governing both holds, and the desktop should follow. THE TWO MEASURE FROM DIFFERENT ORIGINS AND THAT IS THE DESIGN: circle-to-lasso from where the press LANDED, so a slow drag across the page can never turn into a selection; the shape dwell from wherever the pen was last moving, because you draw a shape and then stop, and the hold has to begin where you stopped. Do not 're-base' the lasso anchor to fix a slow drag -- that is the one case the origin anchor exists to reject. On the desktop this is a one-token change to the constant plus the same rolling anchor for the dwell arm; check the tests that name the slop, and re-judge in the hand rather than by the number, since 16 was chosen on a 1.5x display.