Open a row downwards, from whichever end was pressed
Tapping a group's heading used to send that heading up off the top of the screen and fill the space above it, so the calls appeared on the far side of the control that produced them. The transcript is laid out from the bottom, so every row's bottom edge is what the list holds still and all growth goes upward. The rule now is that the end the reader pressed is the end that must not move. A heading anchors the top, so the row opens downwards under it; the bar at the foot of an open group anchors the bottom, so shutting it from there leaves what follows the group where it is -- which is what already happened, but by accident of the layout rather than on purpose, and would have been lost the moment anything else changed. Bottom is the list's own behaviour and costs nothing. Top is measured rather than calculated: only the layout knows how tall an open group is, so `toggleAnchored` reads where the top edge was, lets the change land, and scrolls by however far it moved. Applied to every row that opens, not just groups -- a lone tool call and a peer message are the same gesture, and one of them opening the other way would be the odder for it.
This commit is contained in:
1 parent
3ecc550c1e
commit
f4d4c82910
3 files changed
+101
-19
No files matched your search
@@ -624,6 +624,13 @@ dev-updater (Kotlin 2.4.x, CMP 1.11.x, JDK 21). Screens:
|
||||
output; a spinner while `ToolStart` has no matching `ToolEnd`).
|
||||
- Question cards inline: option buttons for AskUserQuestion, allow/deny for
|
||||
permissions, free-text where allowed.
|
||||
- Expanding a row **opens downwards**: whichever end the reader pressed —
|
||||
a group's heading or the bar at its foot — is the end that stays put,
|
||||
and the row grows away from it. The transcript is laid out from the
|
||||
bottom, so a row's bottom edge is anchored for free and the top one
|
||||
has to be arranged; `toggleAnchored` measures the move and scrolls it
|
||||
back (2026-08-30, asked for after groups opened upwards and sent their
|
||||
own heading off the top of the screen).
|
||||
- Input bar: text, attach (camera/gallery/file), send — **always enabled**;
|
||||
mid-run sends become steering messages.
|
||||
- Top bar: model chip (tap to change), stop button while running, token
|
||||
|
||||
Reference in new issue
Block a user