cmux NEXT: tighten transcript gap above composer
Leo asked for the follow-up to #24729 after reviewing the agent pane captures:
"also your captures still have too much space between last recieved message and its metadata vs the composer"
Austin's private reference showed the last assistant footer separated from the composer by an oversized band. The permanent 24px TRANSCRIPT_RUNWAY came from #23094 to keep streaming replies off the composer's edge. The pinned-bottom path from #23807 now corrects growth in the same pre-paint layout pass, so the footer itself can own the normal transcript turn gap.
This change:
- removes the permanent runway from
VirtualTranscript; - gives the live
Worked forrow and finished footer identical 24px turn-gap geometry, so the stream-to-footer swap does not move the transcript; - adds a spacing regression that measures the last footer to the floating composer, plus updates geometry estimates and the recap sizing fixture;
- leaves the composer, footer controls, running-in-background tray, and reduced-motion behavior unchanged.
Validation:
- focused row estimate and footer tests: 22 passed;
bunx vp fmt --checkandbunx vp check --no-fmt --no-lint: passed;python3 scripts/verify-local.py --repo .: passed (10/10 selected checks; native compilation/app launch not run);python3 scripts/cmux-next/prepush-gate.py: passed;- browser-lane tests are queued on the fleet for the exact head;
- repository web lint remains red on existing design-token/text-focus debt; changed files are clean under
vp lint.
Capture matrix (gallery, links checked HTTP 200):
- Wide light: before / after
- Wide dark: before / after
- Narrow light: before / after
- Narrow dark: before / after
Private reference screenshots are not included. The exact-head fleet browser lane remains queued; local focused browser execution is unavailable on this host.
agent-identity footer
Agent session: big-red
![View with [code]smith](https://pr-comments-assets.blacksmith.sh/codesmith/view-with-codesmith-dark-v3-3x.png)
![Autofix with [code]smith](https://pr-comments-assets.blacksmith.sh/codesmith/autofix-with-codesmith-dark-3x.png)
Need help on this PR? Tag @codesmith-bot with what you need.
Summary by cubic
Removes the permanent 24px transcript runway so the last transcript row sits at the normal turn gap above the composer instead of an extra blank band.
- Gives the live
Worked forrow and finished footer identical 24px turn-gap geometry, so the stream-to-footer swap does not move the transcript, and matches terminal activity padding to that same rhythm. - Marks the final row of a latest turn that ends without a footer so it keeps that same turn gap at the composer, without restoring a permanent runway under every turn; any terminal row kind gets the gap except rows that draw no height at all.
- Adds a spacing regression measuring the last footer to the floating composer and updates geometry estimates and the recap sizing fixture.
- Leaves the composer, footer controls, running-in-background tray, and reduced-motion behavior unchanged.