iris bench: catch a moving list, and code fences that clip on the curve

Rebuilt from ai-app-2 38bf630, arm64-v8a release, 9,651,616 bytes
(lib/arm64-v8a/libmain.so 7,518,840 -- the only .so in the APK, checked
rather than assumed, since the ABI trap below is what this build had to
dodge).

What is new for the phone, both unconfirmed there and both from Iris's
2026-09-07 night report:

- A finger put down on a moving list stops the fling at that sample and
  pans from it with no DRAG_SLOP wait (Compose's `startDragImmediately =
  isScrollInProgress`); a catch released without moving is not a tap.
- A mask carries a shape rather than a rectangle, so a code fence clips
  on its own rounded corners instead of an inner square, nested clips
  multiply their coverage, and touch obeys the same shape.

Also in it: the winit/Android renderer no longer aborts on a device
whose only usable adapter is GLES, and a frame report's `primitives=`
no longer counts undrawn clip shapes.

The build itself needed ai-app-2's `build-apk.sh` fix landing in the
same pass: Gradle's merged-native-libs cache survives `rm -rf jniLibs`,
so with an x86_64 lib left in this checkout from emulator work, the
"arm64" APK would have carried x86_64 and aborted on the phone with a
Vulkan error that has nothing to do with Vulkan.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
irisandClaude Opus 5 committed 2026-09-08 11:16:57 -04:00
1 parent bf2088b62b
commit a012ff92ec
2 files changed
+31

No files matched your search

+31
View File
@@ -11,6 +11,37 @@ no enrolment and no permissions.
The rest of this file is the runbook that was delivered with the APKs.
**2026-09-08: catching a moving list, and rounded code fences that clip
on the curve.** `iris-bench-arm64.apk` rebuilt from ai-app-2 `38bf630`.
Two things from your last report, and both want checking on the phone
because neither is confirmed there yet:
- **"Sometimes when I try to catch it while it's still moving
(particularly if I drag) then it fails to stop & snap to where finger
is."** A finger put down on a moving list now stops the fling *at that
sample* and drags from it with no slop wait, which is what Compose
does. A catch you put down and lift without moving is no longer
treated as a tap. What to try: flick hard, then put a finger down
mid-flight and drag slowly — the content should be pinned to your
finger from the first movement, not after a jump.
- **Code blocks clip on their rounded corners.** A mask carries a shape
now rather than a rectangle, so a code fence's content is cut on the
panel's own curve instead of an inner square, and the corners of
nested clips multiply their alpha rather than fighting. Touch obeys
the same shape: a corner rounded away is not pressable. What to try:
scroll a code block sideways and look at its four corners, and try
pressing just outside one.
Also in this build: the app no longer refuses to start on a device whose
only usable adapter is a GLES one (it falls back and says so in the log
rather than aborting), and `primitives=` in a frame report no longer
counts clip shapes that are never drawn.
If something is wrong, the **Copy report** button always copies now —
the log tail comes with it, and Dev Updater's **Runtime** tab on this
component reads the app's log directly off the phone.
**2026-09-06: composing text + caret, composer layout, text survives app
switch.** `iris-bench-arm64.apk` rebuilt on top of the fling/stream/type/
keyboard bench v2 above (same commit range, merged). Fixes from Iris's