Skip to content

Jump from a reply to the boards it made or changed, and a theme switch - #197

Draft
Jing-yilin wants to merge 5 commits into
fullscreen-zoomfrom
jump-to
Draft

Jing-yilin wants to merge 5 commits into
fullscreen-zoomfrom
jump-to

Conversation

@Jing-yilin

@Jing-yilin Jing-yilin commented Sep 27, 2026 •

Copy link
Copy Markdown
Contributor

Under each agent reply in the chat, a button for every board the run made or rewrote. Clicking one brings its canvas forward and fits the board to the view, as a double-click does. The dot is blue for a new board and green for a rewritten one, the colours of their rings on the canvas. More than three rows of buttons fold behind "Show all N".

This PR also carries the theme switch (system, light or dark) from theme-toggle, merged in as a dependency. It was never opened as a PR of its own.

  • Server (agent.ts): hashes the project's boards when a run starts and again as its end event is written, and adds made: [{board, status}] to that event. It works off the files rather than the tool lines, so a board a generator (gen.py) wrote counts, and one it wrote again with the same bytes doesn't.
  • boards.ts: hashBoards / boardHash, now shared with the watcher in sp.ts.
  • Chat (ChatPanel.tsx): MadeBoards renders the buttons, folded to three rows, and sends sp:focus-board on the window.
  • Canvas (App.tsx): finds the canvas-file shape by its path, trying the board's own canvas first, then opens that canvas tab and calls zoomToFill. It goes by path rather than the library's id because an agent places boards under ids of its own in canvas.json.
  • Theme switch: ThemeSwitcher.tsx and theme.ts.

Stacked on #195. I'll retarget it to main once #195 merges.

Tested:

  • A dev server on port 5302 against a copy of a project, with a real Claude Code run that wrote a new board and ran sed on another. The reply showed 02 Whats New (green) and 04 Test Board (blue), and each button found its board.
  • A copy of a real project whose canvas the agent built in canvas.json: a 53-board reply folded to three rows, the toggle opened and closed the list, and buttons jumped across canvas tabs.
  • tsc and oxlint are clean. Tests: 189 passed, 1 skipped.

🤖 Generated with Claude Code

Jing-yilin and others added 2 commits September 27, 2026 05:29
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…hem on the canvas

The server hashes the project's boards when a run starts and again when it
ends, and the end event lists each board whose bytes changed, new or
rewritten. Off the files rather than the tool lines, which cannot say what
a generator wrote. The hashing the watcher did is now hashBoards in
boards.ts, shared by both.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@cloudflare-workers-and-pages

cloudflare-workers-and-pages Bot commented Sep 27, 2026 •

Copy link
Copy Markdown

Deploying super-prototyping with  Cloudflare Pages  Cloudflare Pages

Latest commit: 7f55b72
Status: ✅  Deploy successful!
Preview URL: https://9004fa5a.super-prototyping.pages.dev
Branch Preview URL: https://jump-to.super-prototyping.pages.dev

View logs

Jing-yilin and others added 2 commits September 27, 2026 06:01
An agent places boards under ids of its own in canvas.json, so the library's id missed
them and the button did nothing. A generator rewriting every board made the list long.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@Jing-yilin Jing-yilin changed the title Jump from a reply to the boards it made or changed Jump from a reply to the boards it made or changed, and a theme switch Sep 27, 2026
…r project, theme follows other windows

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant