Editing scope
Rume's ability to edit in place depends on whether the page is client-hydrated, static, or server-rendered. Here is the honest taxonomy.
In-place editable
- Client-hydrated React components (login, dashboards) — full in-place editing.
data-rume-locis injected into the client bundle, so every element maps back to source. - Static HTML served verbatim (e.g.
public/landing.html) — editable. The proxy instruments it with line:col locs; Rume patches thestyleattribute and you see it land WYSIWYG.
Agent-routed (not in-place)
Server-rendered (RSC) pages — terms, privacy, and other server components — are not editable in place. Rume cannot map rendered elements back to page.tsx lines because the source only exists on the server. These fall back to agent routing: Rume shows a concise banner ("server- rendered page — describe your change, sent to your agent") and sends a precise task to your agent without requiring a selection. These are never claimed to be in-place editable.
Rume detects which path to take from the buffered head: if it contains __next_f or /_next/static it is a React page (streaming preserved); otherwise it is treated as static and instrumented.