atrium — Docs
docs/panes/viewers.md

Viewer panes

Image, PDF, video, diff, and snapshot viewers.

Read-only viewer pane types round out the pane catalog. All of them open the same ways: drag the file from Finder, run atrium path/to/file, or click it in the file tree.

Image viewer

Opens PNG, JPG, GIF, SVG, and WebP files.

Opening

  • Drag an image from Finder.
  • atrium path/to/image.png.
  • Click an image file in the sidebar file tree.

Capabilities

  • Fit-to-window, 100%, zoom in/out.
  • Cmd+=, Cmd+-, Cmd+0 zoom shortcuts.
  • Pan large images by dragging.
  • Metadata readout (file size, dimensions, format).

Constraints

  • Read-only — atrium does not edit images.
  • Very large images (above ~10 MB) may fail to load because of webview memory limits.
  • Animated GIFs loop indefinitely; there is no frame control.

PDF viewer

Opens .pdf files.

Capabilities

  • Continuous scroll with page virtualization, so a long document opens fast.
  • Fit-width, fit-page, and 100% zoom; rotate.
  • A rail with thumbnails and the document outline.
  • Internal link navigation.
  • Cmd+F search with match highlighting and next/previous navigation.
  • Open in Preview and Reveal in Finder.

Video viewer

Streams .mp4, .m4v, .mov, and .webm through a native player. Standard transport controls; no editing.

Diff viewer

Side-by-side diff between a file's working copy and a git ref (typically HEAD). Opened from the git changes pane when you click a modified file.

Capabilities

  • Monaco side-by-side diff with language-aware syntax highlighting on both sides.
  • Jump-to-next / previous change.
  • Configurable context lines.
  • Toggle between side-by-side and unified views.

Keyboard

  • Cmd+F — find within the diff.
  • Cmd+Up / Cmd+Down — previous / next change.

Persistent state

  • File path.
  • Diff ref (for example HEAD).
  • Git repository root.
  • Context lines setting.

Constraints

  • Read-only. To apply changes, switch to an editor pane for the file.
  • Only works inside git repositories.
  • Diffs with more than a few thousand changed lines may lag on initial render.

Snapshot diff

Renders the diff between an atrium snapshot and current state — opened from the Inspect action on any row in the Library's Snapshots tab. The differ is semantic per data type: project JSON diffs file by file, tasks.db diffs row by row, and opaque blobs fall back to a byte-level summary. The pane is the preview surface for restoring; it does not mutate state.

Constraints

  • Read-only. Restore in the Library is the only way to apply a snapshot.
  • The snapshot store is content-addressed at ~/.atrium/snapshots/; deleting the directory removes the Vault history but does not affect current state.