> 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/annotations/annotation-workbench.md).

# Annotation Workbench

The Workbench is the shared execution environment for annotation and review. It keeps ontology, item state, instructions, comments, issues, navigation, and workflow actions consistent while loading the native editor required by the active data.

{% hint style="info" %}
**Use this area when:** you are training annotators or reviewers, troubleshooting missing actions, or designing a consistent multimodal operating flow.
{% endhint %}

### How this area fits into production

```mermaid
flowchart TB
  A["Assigned task"]
  B["Workbench context"]
  C["Native editor"]
  D["Ontology values"]
  E["Save + stage action"]
  F["Review or completion"]
  A --> B
  B --> C
  B --> D
  C --> E
  D --> E
  E --> F
```

![Image annotation Workbench](https://292810646-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FGjVLUz4wthGkGlRKM6rM%2Fuploads%2FJR6FTWW8jqHz0VT6Hh7F%2Fimage-workbench.png?alt=media\&token=bc9b4805-7ab8-4b94-a6b8-4a0863a388d8)

*The center canvas changes by modality; ontology, item status, contextual collaboration, navigation, and workflow actions remain part of the same operating shell.*

### What this area controls

Across modalities, Unitlab keeps a recognizable operating model:

* top-center previous/next work-item navigation;
* active class or annotation type;
* Multiview mode and layout controls;
* object/class or event/entity inspection;
* item properties;
* object properties and relations;
* comments;
* tags;
* appearance and visibility controls;
* save and version-history controls;
* workflow actions appropriate to the active stage;
* project instructions and issue context.

The active native editor supplies the modality-specific toolbar, timeline, player, page controls, and inspector content. The surrounding Workbench stays stable when navigation crosses data families.

### Annotation keyboard shortcuts

Press **H** inside the active annotation panel to open the context-aware **Annotation Shortcuts** dialog. It groups the shortcuts available for the current data family into Annotation Tools, Actions, and Views. Only the active Workbench panel receives shortcuts; passive Multiview panels remain read-only.

### Common actions and view controls

| Shortcut                                     | Action                                        | UX behavior                                                                                                       |
| -------------------------------------------- | --------------------------------------------- | ----------------------------------------------------------------------------------------------------------------- |
| **H**                                        | Show shortcuts                                | Opens the shortcut dialog for the active modality                                                                 |
| **Ctrl/Cmd + Z**                             | Undo                                          | Reverses the last annotation edit                                                                                 |
| **Ctrl/Cmd + Y** or **Ctrl/Cmd + Shift + Z** | Redo                                          | Reapplies the last reversed edit                                                                                  |
| **Delete/Backspace**                         | Delete selected                               | Removes the currently selected annotation                                                                         |
| **Ctrl/Cmd + C**                             | Copy                                          | Copies the selected annotation; native text copy takes priority when text is selected                             |
| **Ctrl/Cmd + X**                             | Cut                                           | Cuts the selected annotation; native text editing takes priority in text fields                                   |
| **Ctrl/Cmd + V**                             | Paste                                         | Pastes the copied annotation into the active annotation context                                                   |
| **1–9**                                      | Select class                                  | Activates the project class assigned to that numeric hotkey                                                       |
| **+ / − / 0**                                | Zoom in / zoom out / reset                    | Changes or resets the active viewer zoom                                                                          |
| **Shift + H**                                | Home                                          | Returns from the annotation workspace to the project/home context                                                 |
| **R / K**                                    | Review / reject in compatible legacy contexts | Workflow-managed items use the explicit stage actions in the Workbench header, which guard these status shortcuts |

### Visual annotation tools

| Shortcut   | Tool                                | Available context                                                                            |
| ---------- | ----------------------------------- | -------------------------------------------------------------------------------------------- |
| **V**      | Pan/select/reposition               | Image, video, medical, document; also Pan mode in text                                       |
| **B**      | Bounding Box                        | Image, video, medical, document                                                              |
| **N**      | Cuboid                              | Image, video, document                                                                       |
| **F**      | Brush                               | Image, video, medical, document                                                              |
| **E**      | Eraser                              | Image, video, medical, document                                                              |
| **P**      | Polygon                             | Image, video, medical, document                                                              |
| **L**      | Polyline                            | Image, video, document                                                                       |
| **J**      | Skeleton                            | Image, video, document                                                                       |
| **U**      | Keypoint                            | Image, video, document                                                                       |
| **A**      | Add polygon point                   | Adds a point while editing polygon geometry                                                  |
| **M**      | Magic Touch                         | Image, video, medical, document; **Shift + Click** removes from the assisted mask            |
| **S**      | Detect all objects                  | Image and video for an active box, polygon, mask, or cuboid class                            |
| **T**      | Toggle crosshair                    | Image, video, medical, document                                                              |
| **C**      | Comment                             | Adds an annotation comment                                                                   |
| **D**      | Select PDF Text                     | Document only; selects, copies, or converts embedded PDF text into annotations               |
| **\[ / ]** | Decrease/increase brush size        | Image, video, medical, document                                                              |
| **Esc**    | Finish the active drawing operation | Completes the current segmentation/drawing interaction and returns to a stable editing state |

### Object ordering

| Shortcut | Action                                      |
| -------- | ------------------------------------------- |
| **W**    | Bring selected annotation to front          |
| **O**    | Bring selected annotation one level forward |
| **I**    | Send selected annotation one level backward |
| **Q**    | Send selected annotation to back            |

These ordering commands apply to overlapping canvas annotations. The same actions appear in the object right-click menu and become unavailable when the selected object is already at the relevant edge of the stack.

### Navigation and playback

| Context               | Shortcut                        | Action                                     |
| --------------------- | ------------------------------- | ------------------------------------------ |
| Image, audio, text    | **← / →**                       | Previous/next work item                    |
| Document              | **← / →**                       | Previous/next PDF page                     |
| Document              | **Shift + ← / Shift + →**       | Previous/next PDF document                 |
| Video, medical        | **← / →**                       | Previous/next frame or slice               |
| Video, medical        | **Shift + ← / Shift + →**       | Previous/next video or medical work item   |
| Video, medical, audio | **Space**                       | Play/pause                                 |
| Audio                 | **↑ / ↓**                       | Volume up/down                             |
| Audio                 | **Alt + → / Alt + ←**           | Increase/decrease playback speed           |
| Audio                 | **L**                           | Toggle loop                                |
| Audio                 | **P**                           | Toggle autoplay                            |
| Audio                 | **S**                           | Toggle spectrogram                         |
| Audio                 | **T**                           | Toggle timeline                            |
| Audio                 | **Ctrl/Cmd + O / Ctrl/Cmd + I** | Zoom waveform in/out                       |
| Text                  | **T / R / C**                   | Entity mode / Relation mode / Comment tool |

Shortcut meanings are modality-aware. For example, **T** is Crosshair on a visual canvas, Entity mode in text, and Timeline visibility in audio; **R** is the Relation tool in text and a review action only in compatible non-workflow contexts.

### Annotation View Settings

The View Settings panel controls how the active editor looks and responds without changing the source file. Available sections adapt to the resource family and Workbench mode.

| Section                     | Controls                                                                                                                 | Effect                                                                                                                                               |
| --------------------------- | ------------------------------------------------------------------------------------------------------------------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Canvas / Rendering**      | Pixel Perfect                                                                                                            | Preserves one-to-one pixel rendering for supported standalone image views; hidden where it does not apply, including medical and multi-panel layouts |
| **Annotation Display**      | Display object names; Show properties & attributes; object-label font size; selected-object opacity; object-edge opacity | Controls labels and visual emphasis without changing saved geometry                                                                                  |
| **Annotation Tools**        | Handle size; primitive keypoint sensitivity; show polyshape angles; ruler around cursor                                  | Adjusts editing precision, control-point size, angle visibility, and local measurement guidance                                                      |
| **Auto zoom**               | Auto zoom on timeline click; auto zoom on object-list click                                                              | Centers and enlarges the selected annotation when the corresponding navigation action is used                                                        |
| **Image Adjustments**       | Color Map; Invert Image; Brightness; Contrast; Image Saturation                                                          | Changes the inspection view only; source-image properties remain unchanged                                                                           |
| **Video**                   | Default annotation length; Jump frames                                                                                   | Sets the initial temporal span for a new annotation and the number of frames used by jump navigation                                                 |
| **Hounsfield unit presets** | Built-in preset selection; custom preset name; Save W/L; delete custom preset                                            | Applies and stores medical window/level presets                                                                                                      |
| **3D Viewer Settings**      | Threshold; Opacity                                                                                                       | Controls the medical 3D rendering                                                                                                                    |
| **Projection (MIP)**        | Single slice, MIP (max), MinIP (min), Average; slab thickness                                                            | Controls multi-slice projection when a medical volume is available                                                                                   |
| **Windows Levels**          | VOI LUT mode; histogram; window-width/level range; reset; **Tab + ←/→** for width and **Tab + ↑/↓** for level            | Controls the displayed intensity range for medical-image inspection                                                                                  |

Settings persist as annotation-view preferences. They alter rendering, navigation, or editing ergonomics; they do not rewrite the uploaded media.

### Work-item status

Item status is derived from the item’s current workflow stage, not maintained as an unrelated manual field. User-facing status buckets include:

* New;
* In annotation;
* In Review;
* AI Review where applicable;
* Processing;
* Complete;
* Archived;
* Error.

Task-level status can further show Reopened, Skipped, Pending, Dispatched, Running, Paused, Succeeded, or Failed. An **Invalid** sub-state appears when the latest saved history fails required-property or value validation. Validation is non-blocking: the save succeeds, the item is marked for correction, and the workflow can route it appropriately.

### 7. Multiview Workbench UX

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.

### Start with the right page

| Decision                 | Production guidance                                                             |
| ------------------------ | ------------------------------------------------------------------------------- |
| Learn universal controls | Start with keyboard shortcuts, view settings, item state, and workflow actions. |
| Annotate one modality    | Continue to Image, Video, Text, Document & PDF, Audio, or Medical Annotation.   |
| Work across files        | Use Multimodal Annotations and the Multiview Workbench.                         |
| Improve speed            | Use AI-assisted annotation only inside the same quality contract.               |

### Operating boundary

* Saving annotation state is different from routing the task to another stage.
* Viewer navigation is different from project-item navigation.
* A missing action can be caused by role, stage, selection, resource state, or configuration.

### A production-ready handoff

An annotator can identify the active item, ontology, workflow stage, save state, navigation scope, and next valid action without leaving the task.
