ReadonlyState$Builds the four Studio brief client tools (SelectStudioArchetype,
SelectStudioBrandKit, SetStudioFormats, SetStudioTopic) when the brief
is showing (ConversationId === null), or returns [] when an active
conversation is open in the slide-in.
Combines the current page's agent context (Surface, counts, filters, selection)
with the VideoStudio brief context payload so the slide-in agent knows both
which page the user is viewing and the current brief selections.
Closes the slide-in while preserving ConversationId so reopening from
the edge strip on any Video Studio page restores the active conversation.
Opens the slide-in on an existing production's conversation with the artifact queued for iteration.
Opens the slide-in on a brand-new conversation (ConversationId = null),
displaying <vs-production-brief> in the chat area's composerExtra slot.
Reopens the slide-in from the right-edge strip, preserving any active
conversation or showing the brief when ConversationId is null.
Root-provided UI-state service for the shared Video Studio right slide-in.
Holds open/closed state, the active conversation ID, pending iteration artifact metadata, and the in-memory production brief selections so the slide-in state and active conversation survive moving between Productions, Brand Kits, and Archetypes (UI state only: no data arrays, no data access, no
localStorage).