iris bench: clamped scrolling, faster flick start, platform fonts, enrollment, runtime log (ai-app-2 92985ba)

Rebuilt from ai-app-2 rustify commit 92985ba, against the last delivery
(b47eb73). APK 9,639,224 bytes / libmain.so 7,506,448 bytes, both smaller
from replacing bundled Noto with platform fonts plus a release-profile
tuning pass.
This commit is contained in:
iris committed 2026-09-07 21:12:39 -04:00
1 parent b47eb73ed4
commit bf2088b62b
2 files changed
+54

No files matched your search

+54
View File
@@ -415,3 +415,57 @@ reproducible here.
Still not fixed, and still unrelated: the composer bar's grey background is Still not fixed, and still unrelated: the composer bar's grey background is
not drawn on this build, so the transcript shows through behind the message not drawn on this build, so the transcript shows through behind the message
field. field.
## 2026-09-07, evening: clamped scrolling, a faster flick start, platform fonts, enrollment, and a runtime log Dev Updater can read
`iris-bench-arm64.apk` rebuilt from ai-app-2 `rustify` commit `92985ba`,
against the last delivery (`b47eb73`, the fling-curve + keyboard-targetSdk
build). APK **9,639,224 bytes**, `libmain.so` **7,506,448 bytes** (arm64-v8a
only) -- both smaller than that build, mostly from replacing the bundled
Noto fonts with the platform's own (Roboto for body text, Droid Sans Mono
for code) and a further release-profile tuning pass; docs/RUST.md has the
full size table.
What changed:
- The list is now clipped to its own box and rows are drawn at both edges --
nothing scrolls up behind the header, and there is no blank band at
either end.
- Scrolling is clamped at both ends of the transcript, matching the fling
fix from the last build: you cannot drag or fling past the top or the
bottom.
- A released flick now starts at the speed your finger was actually moving
at, using the same least-squares velocity estimator Compose itself uses,
rather than a slower approximation -- a flick should feel like it starts
fast and decelerates, not like it ramps up.
- The clock that timestamps each touch sample was misdating batched input,
which fed wrong numbers into that velocity estimate; it now dates them
correctly.
- Code blocks render in a real monospace font and body text in Roboto --
both platform fonts now, not the bundled Noto this build removes.
- The app enrols itself from the `aiapp://enroll` link -- Dev Updater's
Enroll button on this APK's component opens it directly. Diagnostics
shows either `enrolled: host:port` or `not enrolled`.
- The app exposes its own log to Dev Updater: APK component -> log button
-> Runtime tab. This needs the updated Dev Updater build on the host to
show anything.
- A "Trace" switch in the bench header turns on a line per input and per
frame in that log, for when a report alone isn't enough to say what
happened.
- Several of the invariants this code relies on internally are now hard
assertions in this release build, rather than silently-wrong behaviour if
one is ever violated.
What to look for:
- The header shows nothing behind it, at either edge of a scroll.
- You cannot scroll past the top or the bottom of the transcript.
- A flick starts at roughly the speed of your finger and visibly
decelerates, rather than ramping up or holding a constant speed.
- Code blocks are monospace; body text is not.
- Opening the keyboard pushes the composer up. If it doesn't, screenshot
Diagnostics' `insets:` line as in the last build's report.
- Dev Updater's Runtime tab (APK component -> log button) shows this app's
own lines, once the host's Dev Updater is updated.
- With Trace on, do a few flicks, then press Copy in the render report --
the input log that comes back is what to send back here.
Binary file not shown.