Member Junction
    Preparing search index...

    The call overlay's TABBED SURFACE PANEL (the right panel) — decluttered redesign:

    • Channel tabs (LEFT cluster) — one per channel that has come into play. The whiteboard tabs immediately at session start; every other channel tabs only once the agent first USES it. Each carries a distinct accent color + its plugin icon. A plugin's surface lives on the overlay's stage, which lays it over the pane's slot while the tab is active (ChannelSlotChange); a placeholder shows the "coming online…" state until a plugin/template is supplied.
    • Activity (RIGHT-aligned, pinned LAST) — gated: appears only once ≥1 agent run has occurred (or in review mode). Hosts RealtimeActivityRailComponent, which now also renders inline artifact previews and a split-pane artifact viewer. Styled distinctly from channel tabs (activity-pulse icon + its own accent) and separated from the channel cluster by a flex spacer.

    Artifacts NO LONGER get their own tab — they live inside the Activity tab (cleaner than a row of per-artifact tabs).

    Panes are kept ALIVE while hidden (CSS display:none) so switching tabs never resets the rail; channel surfaces are on the overlay's stage, so switching tabs or collapsing the panel never reloads them either. The whole panel collapses to a slim strip via the chevron.

    SIZING IS EXTERNAL: the overlay shell hosts this panel in a fixed-width flex item and owns the width. This panel just fills it and REPORTS the layout signals the shell sizes from: CollapsedChange (slim-strip toggle) and WideChanged (a channel tab is focused → the default width tier widens).

    Implements

    • OnInit
    • OnDestroy
    • AfterViewChecked
    Index

    Constructors

    Properties

    ActiveChannelChange: EventEmitter<string | null> = ...

    The channel whose tab the user is looking at changed (null when a non-channel tab, such as Activity, is active). Lets the session show the model the surface the user is on when it can only watch one.

    AllowedPlacements: ReadonlyMap<string, readonly MediaPlacement[]> = ...

    Where each channel lets the user move its surface, by channel key (a channel not listed allows anywhere).

    ChannelSlotChange: EventEmitter<RealtimeChannelSlot | null> = ...

    The active channel tab's slot changed: the element its pane keeps for the channel's surface, or null while no channel tab is showing (another tab is active, or the panel is collapsed). The overlay's stage lays the surface over this element.

    CollapsedChange: EventEmitter<boolean> = ...

    Emitted when the panel toggles between expanded and the slim collapsed strip — the overlay shell resizes this panel's split area to the strip width.

    CurrentUser: UserInfo | null = null

    The signed-in user, threaded to the artifact viewer panel.

    DevMode: boolean = false

    Whether developer affordances ("Open run" links) are revealed (gear-gated).

    EnvironmentID: string = ''

    The active environment id, threaded to the artifact viewer panel.

    ExtraArtifacts: ParsedDelegationArtifact[] = []

    Extra (review-carryover) artifacts to surface in the Activity tab, NOT tied to a live activity card. Forwarded to the rail's "Session artifacts" group. Empty for a live session.

    Fill: boolean = false

    FILL presentation: the panel stretches to its host's full width with no left border, overriding the normal / wide width tiers. The overlay no longer binds it: in focus mode the focused channel's surface fills the overlay's stage instead.

    The panel's tab state (add / focus / dedupe / flash) — see the model for the rules.

    MoveRequested: EventEmitter<MediaMoveRequest> = ...

    The user asked to move a channel's surface (from "Move to…" or "Bring it here").

    OnboardingContent: ChannelOnboardingDetails | null = null

    The intro content for onboardingChannelName, mirrored for the template binding.

    OpenRunRequested: EventEmitter<string> = ...

    Re-emitted from the Activity rail's dev "Open run" links.

    ResetLayoutRequested: EventEmitter<void> = ...

    The user asked to put every surface back where its channel places it.

    Shared live-session state, owned by the overlay shell (feeds the Activity rail).

    SurfacePlacements: ReadonlyMap<string, MediaPlacement> = ...

    Where each channel's surface is placed, by channel key (a channel not listed is on its tab). A channel whose surface is elsewhere shows where in its pane, with "Bring it here" when its channel allows the tab.

    WideChanged: EventEmitter<boolean> = ...

    Emitted when IsWide flips (a channel tab gained / lost focus) — the overlay shell widens the panel's DEFAULT split-area size while wide (only when the user has never dragged an explicit width).

    Accessors

    Methods