From 4daba9488bca84a7a07cb91a121e7164667aad3d Mon Sep 17 00:00:00 2001 From: Yilin Jing Date: Sat, 19 Sep 2026 00:04:02 -0400 Subject: [PATCH] docs: the release notes say what the chat does with pictures MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Step one of the release flow is reading `## Unreleased` and reconstructing anything a PR left out, "the one part of a release that cannot be done well late". Grepping the section for image, attach, paste, svg, drag or drop found nothing: the whole picture feature area — fourteen commits across #97, #98 and #99 — reached `main` with no line for the person deciding whether to update. Five paragraphs, written from the log and checked against the code rather than from memory: attaching and numbering, tool images arriving in the transcript, the + on a canvas shape, vectors drawn into a PNG on the way in, and the limits. Placed with the rest of the chat panel material, before the Geist paragraphs, since that is the order the section already reads in. Two numbers are the code's, not the commit messages': MAX_IMAGE_BYTES is 24 MB (agents.ts:52), which an early commit called 32, and a mockup has one hover button now rather than the two it shipped with. No version is cut here. `scripts/bump-version.sh --check` still says all 7 files agree on 1.3.0. Co-Authored-By: Claude Opus 5 --- RELEASE-NOTES.md | 40 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) diff --git a/RELEASE-NOTES.md b/RELEASE-NOTES.md index c0b16589..751993e8 100644 --- a/RELEASE-NOTES.md +++ b/RELEASE-NOTES.md @@ -106,6 +106,46 @@ A plus in the panel's header starts a new session: the log clears and the next message has nothing above it. Anything still running keeps running and stays in the history list — the button clears the view, it does not stop the agent. +A message can carry pictures. Paste one into the box, drop one on the panel, or +pick them with the button in the row underneath, where Claude Code keeps it, and +each arrives as a numbered tile above the box. That number is the number the +agent is handed beside the picture, so the sentence can say which is which: the +layout from #1, the copy from #4. A paste writes its `#1` at the caret, since +one picture arriving where you are already typing has said which it is; a pick +or a drop is a handful chosen at a distance, so those only fill the tray, and +you click a tile to write its number or the x in its corner to drop it. Delete +a number out of the sentence by hand and its tile goes with it. A picture keeps +one number however often you point at it, and the numbering starts over once +nothing points at one, meaning an empty tray and no number left in the box. + +The other direction comes with it. Whatever a tool hands the agent as an image +is drawn under the call that produced it, so a clone's working pictures — the +grid over the reference, the crops — appear in the transcript as they are made. +Nothing watches your project folder, and no tool had to be taught to do this. + +Pictures also come off the canvas. Hover a mockup or a piece of brand material +and a + appears in its top-right corner; press it and that shape is in the tray +with its number already written into the sentence. A board is a page rather than +a picture, so the server draws it first and it comes over under its own +`/.html`, which is the name the tile is captioned with, the name the +agent is handed, and the file it can go and open. Two fingers on the trackpad +over the button still pan the board, and a picture is attachable anywhere inside +its box rather than only where it has painted pixels, which for a logo on a +transparent ground is most of it. + +A vector attaches by being drawn rather than refused. Every brand logo on these +boards is an SVG, and the CLIs read png, jpeg, gif and webp and nothing else, so +one sent whole would travel the entire way to be turned down at the far end. It +is drawn into a PNG in the browser instead, on the way in, at a 1024px long edge +— a vector has no pixels of its own to be scaled up past, and a 24px icon +attached at 24px is a picture with nothing in it. Nothing SVG-shaped reaches the +tray, the server or the agent. + +Twenty pictures and 24 MB to a message, counted over the whole tray rather than +over the batch being added, and a file too big to fit is refused before it is +read rather than after. A run's copies of your pictures are deleted when it +ends. + The canvas is dark, and its panels are drawn in Vercel's Geist: its greys and its accents, its icons, and Geist Sans and Geist Mono bundled so a board looks the same offline as online. The chat panel, the inspector, the top bar and the