Add a hold-by-name gesture to ui-trace

A row held to select it was the one gesture that could only be written as a
pair of coordinates: `tap`'s press is 60ms so nothing sees a long press, and
`holddrag` takes numbers and always drags afterwards. `hold 'helper 3'`
resolves the label the way `tap` does -- the resolution is now `locate`,
shared by both -- and holds the press past the platform's 500ms threshold.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
irisandClaude Opus 5 committed 2026-09-06 13:10:06 -04:00
1 parent 86cf4e8088
commit c9be26c6d1
3 files changed
+54 -13

No files matched your search

+7
View File
@@ -175,6 +175,13 @@ measured, which reads exactly like a result rather than like a failure. Asked
for by Iris on 2026-09-03, after ai-app's two benchmark scripts pressed a
header button at `tap 723 205` and that button moved.
`hold 'helper 3'` is the same resolution with a press held past the
platform's 500ms long-press threshold, for a row that is held to select it or
anything else that distinguishes the two. Neither other action reaches it:
`tap`'s press is 60ms, and `holddrag` takes coordinates and always drags
afterwards — so the one gesture "hold a list row" needs was the one that could
only be written as a pair of numbers.
A label that is not on screen ends the recording with `# error action failed`
and a non-zero exit, so a run that could not press what it meant to press
produces no numbers at all.