From fccc0da46f47fa4c27dd19b55054c3642be80e0b Mon Sep 17 00:00:00 2001 From: Lovebug MCP Date: Thu, 2 Jul 2026 16:48:30 +0000 Subject: [PATCH] =?UTF-8?q?mcp:=20project-plan=20=E2=80=94=20Dispatch=20Re?= =?UTF-8?q?nder=20Upgrade?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Sources/Dev/dispatch-render-upgrade.md | 64 ++++++++++++++++++++++++++ 1 file changed, 64 insertions(+) create mode 100644 Sources/Dev/dispatch-render-upgrade.md diff --git a/Sources/Dev/dispatch-render-upgrade.md b/Sources/Dev/dispatch-render-upgrade.md new file mode 100644 index 0000000..920b3cf --- /dev/null +++ b/Sources/Dev/dispatch-render-upgrade.md @@ -0,0 +1,64 @@ +--- +created: '2026-07-02' +path: Sources/Dev +project: dispatch-render-upgrade +tags: +- dispatch +- python +type: project-plan +--- + +# Dispatch Render Upgrade + +## Goal + +Upgrade the petal-dispatch text interface to allow for greater user interaction and rendering capability. Concretely: replace the plain markdown-to-text flow in the web client with a content-aware renderer that recognizes distinct content *kinds* and renders each appropriately. Tables were the surfacing example; the actual goal is a renderer that handles prose, tables, code, structured data, and diagrams — and slots in new kinds without a rewrite each time. Plus copy affordances: a per-code-block copy box and per-message (bubble) copy. The renderer and the copy boxes are both explicit v1 wants. + +Constraint that shapes everything: the client is a single self-contained `src/petal_dispatch/static/index.html` (~2881 lines), Tailwind via CDN, vanilla inline JS, **no build step**. All additions must be CDN `