> For the complete documentation index, see [llms.txt](https://docs.unitlab.ai/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.unitlab.ai/documentation/multimodal-annotations/multiview-workbench.md).

# Multiview Workbench

Multiview is a navigation system as much as a layout. Users must know whether a control changes a viewer, a group member, or the next project work item.

### Before you make the change

* Confirm the group membership and slot order.
* Know which panel is authoritative for each annotation type.
* Define synchronization, playback, and navigation expectations.

![Multiple video panels inside Unitlab Workbench](https://292810646-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FGjVLUz4wthGkGlRKM6rM%2Fuploads%2FuWV2FdAcECE2UrevUndn%2Fmultiview-video-workbench.png?alt=media\&token=77ad56ff-14dd-430b-9d53-cb23ba63956d)

*Use visual emphasis and a stable slot order so the team can identify the active source and the contextual panels immediately.*

### Understand the product behavior

Multiview is the default project annotation experience for all six data families. It is a persistent workspace containing the project header, work-item navigation, mode/layout selector, resizable panel grid, one active editor, and one or more passive inspection panels.

### Two modes

| Mode               | What the panels show                                       | Editing model                                                       | Default layout |
| ------------------ | ---------------------------------------------------------- | ------------------------------------------------------------------- | -------------- |
| **Current file**   | Multiple views of the same datasource                      | One active editor; sibling panels mirror its changes in real time   | 1×1            |
| **Multiple files** | Neighboring work items from the current queue/filter scope | One selected panel is editable; other items remain passive previews | 1×3            |

Layouts range from 1×1 to 4×4. Users can resize panel boundaries, fullscreen a panel, and switch modes from the Workbench header. Mode, layout, and panel sizes persist for the user.

### Active and passive panels

Only the active panel can mutate annotations. It receives the full native editor: tools, hotkeys, selection, object/event/entity editing, player or page controls, comments, classes, properties, history, and workflow actions.

Passive panels can show media, annotations, labels, pages, frames, waveforms, text, or medical projections. In Current file mode they receive the active panel’s live annotation changes, but they cannot originate edits, change the active selection, save, control playback, change a PDF page, edit text entities, or alter waveform regions.

When the user activates a passive panel:

1. Unitlab visually selects it immediately.
2. Any in-progress save in the outgoing panel is allowed to settle.
3. Unsaved changes are saved or safely snapshotted.
4. The outgoing panel becomes passive and pauses modality-specific playback.
5. The incoming native editor loads and restores its panel state.
6. The route updates only after the editor is ready.
7. If hydration fails, Unitlab restores the previous active panel instead of blanking the workspace.

### Current file flow

1. The user opens a work item from a dataset, Task Queue, Batch Queue detail, filtered grid, or direct link.
2. Unitlab creates multiple panel sessions for the same datasource without duplicating data or history.
3. One panel is active; the rest are read-only siblings.
4. Active edits are broadcast to siblings in real time.
5. The user can activate another panel to work from a different view, frame, page, or zoom state.
6. Saving refreshes the shared history and updates every sibling to the persisted result.

Current-file examples:

* **Image:** compare the same image at different zoom or inspection states.
* **Video:** inspect different frames of the same video while sharing annotations and downloaded frames.
* **Audio:** inspect different time regions while one waveform editor remains authoritative.
* **Text:** compare different windows of the same text while entity/relation changes remain synchronized.
* **Document:** compare different PDF pages without confusing page changes with work-item navigation.
* **Medical:** assign Axial, Sagittal, Coronal, and 3D views to separate slots with synchronized annotation state.

### Multiple files flow

1. The user selects **Multiple files** and a layout.
2. Unitlab fills the grid with the active item and neighboring items from the current visible set.
3. The visible set preserves queue, upload-session, archive, search, status, class, and assignment filters.
4. The user activates any ready panel.
5. If the item belongs to another data family, the correct editor loads within the same Workbench shell.
6. Previous/next navigation continues through the filtered work-item sequence.
7. Empty tail slots and inaccessible items appear as panel-level states rather than replacing the whole page with an error.

This mode supports mixed review—for example an image, video, PDF, and audio item in one 2×2 layout—while guaranteeing that only the selected panel is editable.

### Navigation hierarchy

Unitlab maintains three distinct navigation levels:

* **Top-center previous/next:** changes the project work item and can cross data families or move between loose items and Data Groups.
* **Panel activation:** changes which visible panel is editable without leaving the Workbench.
* **Within-item media navigation:** changes a video frame, audio time region, text window, medical slice/view, or PDF page inside the current work item.

Keeping these levels separate is essential for predictable UX. A PDF page change must never advance to another datasource, and a medical slice change must never appear as another project item.

### Grouped Workbench

A Data Group opens as one grouped Workbench whose layout is fixed by the Auto-Grouping builder. The header shows the group layout rather than the general mode/layout selector. Activating a tile never tears down the group route.

The project’s unified previous/next sequence treats each group as one work unit and excludes its member tiles from the loose-item sequence. Grouped saves remain attributable to the group.

### Work through a grouped item

{% stepper %}
{% step %}

#### 1. Confirm the group

Read group identity, member slots, project state, and workflow stage.
{% endstep %}

{% step %}

#### 2. Choose the mode

Use Current file for focused work or Multiple files for simultaneous context.
{% endstep %}

{% step %}

#### 3. Set the active panel

Click or select the source on which new annotation should be created.
{% endstep %}

{% step %}

#### 4. Use passive panels as evidence

Navigate or synchronize them according to layout rules without annotating the wrong source.
{% endstep %}

{% step %}

#### 5. Move within the group

Use viewer or member controls before using project-level previous/next navigation.
{% endstep %}

{% step %}

#### 6. Save one task state

Complete required values and route the grouped work item through its current workflow action.
{% endstep %}
{% endstepper %}

### Decisions that affect production

| Decision       | Production guidance                                                                         |
| -------------- | ------------------------------------------------------------------------------------------- |
| Current file   | Best when one source must receive focused annotation while other members remain selectable. |
| Multiple files | Best when simultaneous comparison or synchronized context is required.                      |
| Active panel   | Must be obvious, stable, and aligned to the ontology tools being used.                      |
| Navigation     | Train users on viewer, group-member, and project-item scopes separately.                    |

### Continue the operating flow

* Test the layout on complete and incomplete groups.
* Calibrate reviewers on cross-panel consistency.
* Validate group context in the release output.
