Monaco editor & diffs
The editor panel is Monaco — the editor VS Code is built on — running inside the canvas.
Opening files
⇧⌘E opens an editor panel, ⌘P is the quick file finder and ⌘S saves. The file tree in the sidebar (⇧⌘X) is git-aware, so a modified file is marked as modified while you are looking at it.
Reading what an agent changed
This is why the editor sits on the canvas next to the agents: a side-by-side diff of everything the agent touched, in the same view where the agent is still working.
export async function refresh(t: Token) {
- const res = await fetch(URL, { method: "POST" })
+ const res = await withRetry(() =>
+ fetch(URL, { method: "POST", signal }))
if (!res.ok) throw new AuthError(res.status)
return res.json() as Promise<Session>
}
Read it, keep it or drop it — before it merges anywhere.
Search
⇧⌘F opens content search across the workspace, backed by ripgrep: literal or regex, case and whole-word options, include and exclude globs, and .gitignore respected by default.
Tabs and panels
One editor panel holds one file, the same way a terminal panel holds one session. Two files side by side means two panels — that is what the canvas is for. Drop several of them into the same dock zone and they stack as tabs there instead.
A single click in the file tree opens a preview panel: the next single click reuses it rather than piling up another one. Double-click the file, or edit it, and the panel is kept.