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
not drawn on this build, so the transcript shows through behind the message
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.