atriumatrium

Viewer panes

Image viewer, diff viewer, and snapshot diff viewer.

Three read-only viewer pane types round out the pane catalog.

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.

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: workspace 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.