perf(acpmux): reserve prompt image slots during host load

Merged
TE
20d ago
+140-3

Problem

Prompt attachments are fetched asynchronously from the native host. The transcript row is measured before the image arrives, so a late thumbnail insertion can push the prompt and every row below it down after the initial paint.

Change

  • Render a fixed 72px checker placeholder while the host reads a sent prompt image.
  • Swap in the decoded image with the existing cv-enter compositor-only motion token.
  • Keep missing images on the previous empty fallback path.

This reserves the vertical slot before the async response and keeps the reveal calm without changing image sizing or reduced-motion behavior.

Validation

  • git diff --check
  • Fleet CI should run the web typecheck, tests, React Doctor, compiler, and gallery checks.

View with [code]smith Autofix with [code]smith
Need help on this PR? Tag @codesmith-bot with what you need.


Summary by cubic

Reserves a 72px placeholder while the host reads a sent prompt image so the transcript row no longer shifts when the thumbnail arrives late. If the read fails (after a reconnect or session switch) the slot is cleared so a stale thumbnail never lingers; missing images keep the previous empty fallback.