You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Add a fourth McpUiDisplayMode, "split": the View is displayed in a
persistent, non-overlapping region while the host's primary
conversational interface remains visible and interactive. This keeps
interactive Views (spreadsheets, maps, dashboards) referenceable as the
conversation scrolls on, instead of losing them off-screen.
- spec.types.ts + draft spec: define "split" semantics and non-goals
- regenerate Zod/JSON schemas via `npm run generate:schemas`
- debug-server: add a "Split" display-mode control
- basic-host: advertise "split" and render the View in a resizable,
docked region without remounting the iframe, so View state survives
inline <-> split transitions
- unit + E2E coverage for negotiation and transitions
Prototype for #684; relates to #412 and #430.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
-**inline**: Default mode, embedded within the host's content flow
812
812
-**fullscreen**: View takes over the full screen/window
813
813
-**pip**: Picture-in-picture, floating overlay
814
+
-**split**: View is displayed in a persistent, non-overlapping region while the host's primary conversational interface remains visible and interactive
815
+
816
+
#### Split Mode
817
+
818
+
In `split` mode, the View occupies a dedicated region of the host UI (e.g., a side panel) that does not overlap the host's primary conversational interface. Both remain visible and interactive at the same time, allowing users to keep referencing the View as the conversation continues.
819
+
820
+
- Host controls the orientation, placement, and dimensions of the split region, how (and whether) it can be resized, and how many split Views it permits at once.
821
+
- Entering or leaving `split` mode SHOULD NOT inherently recreate the current View: it is a presentation change of the already-rendered View, and its state SHOULD be preserved across the transition.
822
+
- This mode does not define reusing Views across separate tool calls; each tool call still renders a new View instance.
823
+
824
+
`split` is additive: existing hosts and apps are unaffected.
0 commit comments