iris: rebuild from 20303e0 -- typing, launch layout, fling, per-block streaming, doubled rows
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
This commit is contained in:
1 parent
fbafdc10a9
commit
95e25feec1
2 files changed
+37
No files matched your search
@@ -258,3 +258,40 @@ now for a specific, named reason rather than an unknown one.
|
||||
|
||||
Full account, including what was tried and ruled out, in
|
||||
`docs/RUST.md`'s P0 box in the `ai-app-2` repo (`rustify` branch).
|
||||
|
||||
## 2026-09-06, evening: typing, launch layout, fling, per-block streaming, doubled rows
|
||||
|
||||
`iris-bench-arm64.apk` rebuilt from ai-app-2 commit `20303e0` (arm64 Vulkan release,
|
||||
`iris/android-app/build-apk.sh release --abi arm64-v8a --features "transcript-screen bench"`).
|
||||
Everything since the 02:07 build, in one entry -- two intermediate builds went to the wrong
|
||||
folder and never reached this repo:
|
||||
|
||||
- **Launch layout**: the black third below the composer was the bench shell's own empty
|
||||
report pane taking a third of the screen, not an inset bug. Sized to its content now.
|
||||
- **Typing**: tapping the empty composer focused it with no caret, so every keystroke was
|
||||
dropped. Fixed, with a regression test. Text should appear as you type.
|
||||
- **Fling and swipe from the composer**: dragging is now iris's own `DragGesture` with pointer
|
||||
capture. A fast swipe keeps moving after release; a pan starting on the grey bar is taken by
|
||||
the list from the frame it commits.
|
||||
- **Doubled rows** (the `Compacted:` row, and the earlier doubled header): a widget redrawn
|
||||
through its ancestor while marked dirty never freed its previous primitives, so they were
|
||||
drawn every frame for the life of the process. Fixed; a debug-build assertion now checks
|
||||
every frame that no primitive outlives its widget.
|
||||
- **Streaming re-lays out only the block the delta lands in.** A message row is a column of
|
||||
one text widget per markdown block; a streamed delta replaces the last block only (one text
|
||||
shape per delta into a 100-paragraph reply, by counter). Emulator stream-phase p99 went
|
||||
343ms -> 137ms. **The stream phase on your phone is the number to look at** (it was p50
|
||||
18.2ms vs Compose's 13.4ms before).
|
||||
- **Selection is per block**: a drag selects within and across blocks; copy joins them. Whether
|
||||
a block should be the selection unit is yours to judge (`docs/DECISIONS.md`, 2026-09-06).
|
||||
- **The composer scrolls under a finger** when it overflows its six-line cap.
|
||||
- Also fixed: every widget's tap target sat short of its drawing by its last move (from
|
||||
launch); stale mask slots after a keyboard resize; a targeted-redraw abort on masked
|
||||
widgets; the full-screen diagnostics overlay on every keyboard open is gone (logged only).
|
||||
- **App-switch text loss** did not reproduce on the emulator, so this build logs one line per
|
||||
surface event with glyph counts. If text still vanishes on returning to the app, please send
|
||||
`adb logcat | grep -i iris` from around the return; `already_live=true` on the way back in
|
||||
names the cause outright.
|
||||
|
||||
Not in this build: markdown block styling (headings, highlighted fences, lists, tables, links)
|
||||
and tool-call cards, which landed on `rustify` after it -- next build.
|
||||
Reference in new issue
Block a user