Pimp My IDE / Garage Dispatch
Back to garage
September 26, 2026 | visual agents / shared canvases / review evidence

The canvas needs witnesses.

Drawgent puts a coding agent on a live Excalidraw board. The useful idea is bigger than diagram generation. A canvas can become a place to point, revise, and argue about the system while the agent works.

The take. A polished board is not proof that the implementation matches it. Keep the instruction, scene state, rendered view, and repository change together so reviewers can see where the picture and the code diverge.
Build a canvas review packet

The whiteboard is becoming an agent surface.

Drawgent connects a locally installed Claude Code, Codex, or opencode session to an Excalidraw board. A person can use the chat panel or place an AGENT: note beside a drawing. The repository says the agent reads both a screenshot and the scene, edits the board, checks the result, and marks the note DONE.[1]

The implementation makes that loop concrete. The server exposes separate scene and screenshot routes. A canvas instruction carries its position, nearby elements, and arrows. The prompt tells the agent to inspect the screenshot and scene before editing, then inspect another screenshot before resolving the note.[2]

A spatial comment is useful because it binds an instruction to the part of the model under dispute.

ACP moves the agent. The scene gives it somewhere to look.

The Agent Client Protocol standardizes communication between editors and coding agents. Its documentation covers local and remote use, sessions, tool calls, diffs, terminals, plans, and cancellation. Drawgent uses ACP for new agent sessions and some attached sessions. The protocol handles the conversation route. It does not decide whether the drawing is true.[3]

Excalidraw exposes structured canvas state. Its API can load initial data and report elements plus application state whenever the board changes. The scene is not only pixels. That makes exact element changes inspectable, even when the screenshot remains the fastest way for a person to judge composition.[4]

Keep four records, not one screenshot.

  1. Intent. Preserve the original note, its location, what it points at, and the requested outcome.
  2. Scene. Save the structured element change. Record added, changed, deleted, and unresolved objects.
  3. Render. Capture the board before and after. Check overlap, missing labels, weak contrast, disconnected arrows, and false visual hierarchy.
  4. Repository. Link the drawing claim to files, symbols, tests, and the revision that implements it. Mark drawing-only claims as drawing-only.

The Hacker News discussion split around a useful tension. Some readers value drawing as the thinking process. Others use diagrams as a summary after the hard reasoning. A shared agent canvas can support either mode, but the review record should say which job the board performed.[5]

The artifact exists. The full runtime still needs a road test.

The garage cloned Drawgent commit e76f88fe. Its web package identifies version 0.2.0 and pins Excalidraw 0.18.1. npm ci completed and the production Vite build passed. The install reported React peer conflicts and 11 dependency advisories, including three marked high. The Rust binary and a live agent session were not run in this check.

That boundary matters. A successful frontend build proves that one part of the artifact assembles at that revision. It does not prove setup, browser rendering, ACP attachment, permissions, scene mutation, or note resolution on another workstation.

Interactive makeover / layered review packet

Canvas witness table

Traditional purpose replaced: approve one screenshot. Better version: choose what the board is for, stack four independent evidence layers, and copy a packet that keeps every missing artifact visible.

Set the board's job

The radio group defines the review question. Each square control adds one evidence section. Selection records packet structure, not reviewed evidence.

Canvas mode
Canvas witness layers
TEMPLATE EMPTY0 / 4 LAYERS

No witness layer selected.

Start with the original spatial instruction. The table has no evidence yet.

Print the alignment packet

Replace each required marker with a real revision, file, scene export, image, command, reviewer, or result.

Sources read, not vibes

Source log
  1. Drawgent repository and README, commit e76f88fe7541caaf61b2fdb80ad260d3b55a5dc5, read September 26, 2026. Product flow, supported local agent CLIs, setup requirements, session attachment, scene persistence, and note workflow.
  2. Drawgent implementation files src/agents.rs and src/server.rs at the same commit, read September 26, 2026. Spatial instruction fields, screenshot and scene checks, scene routes, element mutation routes, and note resolution behavior.
  3. Agent Client Protocol introduction, read September 26, 2026. Editor to agent interoperability, local and remote use, MCP representation reuse, and coding interface types.
  4. Excalidraw API props documentation, read September 26, 2026. Initial scene data, change callbacks, element and application state, pointer events, keyboard behavior, and custom element data.
  5. Hacker News discussion 49857729, read September 26, 2026. Current practitioner responses about diagrams as a thinking process, summary artifact, and shared agent workspace. Discussion comments support the reception summary, not the product claims.

Source boundary. Drawgent's behavior claims come from its repository and implementation. Pimp My IDE cloned the exact commit and built the web package. It did not compile the Rust binary, connect a coding agent, render a live board, or test the complete note-to-resolution loop. The witness table is a review-packet generator. It does not inspect a canvas or repository.