open-index/open-npm huggingface dataset:
npm package: @mimir-iiif/explorer
Description: Mimir IIIF explorer viewer (image, presentation, AV, and 3D) built on OpenSeadragon.
Latest version: 0.7.5

# Mimir IIIF Explorer

<picture>
  <source media="(prefers-color-scheme: dark)" srcset="docs/mimir_dark.png">
  <img alt="Mimir logo" src="docs/mimir_light.png" width="320">
</picture>

## Idea
Mimir IIIF Explorer is a modular IIIF viewer focused on image, AV, and 3D experiences with a clean, modern UI. It is designed as a small, embeddable library that renders a complete interface inside a host container.

This project is developed with Codex and human oversight.

## Current Features
- IIIF Presentation v2/v3 manifest parsing with multi-language labels and metadata.
- OpenSeadragon image viewer with sequence navigation, book mode, and continuous mode.
- Audio/video playback with timeline controls and start-time support.
- 3D model viewing with Three.js controls (lighting and camera).
- Image filters: rotate, flip, brightness, contrast, greyscale, RGB channels.
- Region focus for ImageApiSelector with optional blur outside region.
- Download current image as full-res JPEG.
- Dark mode with auto/app/manual modes.
- Responsive layout with adaptive panel behavior.
- Cookie-based bookmarks (grouped by manifest and page).
- Annotations with list + overlays, single/select and show-all modes.
- Fulltext OCR (ALTO + HOCR) with line overlays and list sync.
- Collections view with gallery, pagination, list/grid toggle, and collection linking.
- URL query support (`?manifest=...`, `?page=...`, `?time=...`) for auto-loading.

## Future Features
- Keyboard navigation and accessibility pass.
- Theming API for typography, spacing, and component overrides.
- Plugin hooks for custom panels and rendering modes.
- Optional externalized dependencies for smaller bundles.

## Install
```bash
npm i @mimir-iiif/explorer
```

## Basic Usage
```js
import MimirExplorer from '@mimir-iiif/explorer';

const explorer = new MimirExplorer('mimir-container', {
  primaryColor: '#451F8D',
  darkMode: 'auto'
});

// Later, when you have a manifest URL:
// explorer.loadManifest('https://example.org/iiif/manifest.json');
```