triiiceratops 0.12.7 → 0.12.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +44 -9
- package/dist/{ArrowCounterClockwise-BkrSndVO.js → ArrowCounterClockwise-DvXnnh0Z.js} +1 -1
- package/dist/{Check-CB_Zdp64.js → Check-BUdiej1n.js} +1 -1
- package/dist/{X-B3XldraD.js → X-DaQiCkfE.js} +225 -218
- package/dist/components/AnnotationOverlay.svelte +33 -248
- package/dist/components/AnnotationPanel.svelte +269 -0
- package/dist/components/AnnotationPanel.svelte.d.ts +3 -0
- package/dist/components/OSDViewer.svelte +0 -2
- package/dist/components/SettingsMenu.svelte +87 -1
- package/dist/components/TriiiceratopsViewer.svelte +19 -0
- package/dist/{image_filters_reset-jtpS22ff.js → image_filters_reset-P5hB896L.js} +1 -1
- package/dist/plugins/annotation-editor.js +3 -3
- package/dist/plugins/image-manipulation.js +3 -3
- package/dist/state/viewer.svelte.d.ts +1 -0
- package/dist/state/viewer.svelte.js +1 -0
- package/dist/triiiceratops-bundle.js +3393 -3329
- package/dist/triiiceratops-element.iife.js +24 -24
- package/dist/triiiceratops.css +1 -1
- package/dist/types/config.d.ts +15 -0
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -8,18 +8,53 @@ This project is heavily inspired by Mirador 4, which I still view as the premier
|
|
|
8
8
|
|
|
9
9
|
## Features
|
|
10
10
|
|
|
11
|
-
-
|
|
12
|
-
-
|
|
13
|
-
-
|
|
14
|
-
-
|
|
11
|
+
- **IIIF Presentation API**: Compatible with versions 2.0 and 3.0
|
|
12
|
+
- **Canvas Navigation**: Browse canvases via thumbnail gallery (dockable to any side) or prev/next controls
|
|
13
|
+
- **Viewing Modes**: Toggle between single-page ("individuals") and book ("paged") viewing with configurable cover page offset
|
|
14
|
+
- **Annotations**:
|
|
15
|
+
- Renders IIIF annotations from embedded or external annotation lists
|
|
16
|
+
- Supports rectangle (xywh) and polygon (SVG selector) geometries
|
|
17
|
+
- Toggle annotation visibility on/off
|
|
18
|
+
- **IIIF Search**: Full Content Search API support with hit highlighting
|
|
19
|
+
- **Metadata Display**: Shows manifest metadata, description, attribution, and license/rights
|
|
20
|
+
- **Multi-language**: Language-aware metadata with fallback chain; UI translations for English and German
|
|
21
|
+
- **Image Services**: Detects and uses IIIF Image API services (v1, v2, v3) for tiled deep-zoom
|
|
22
|
+
- **Theming**: 35 built-in DaisyUI themes plus custom theme configuration
|
|
15
23
|
|
|
16
|
-
## Current Limitations
|
|
24
|
+
## Current Limitations
|
|
17
25
|
|
|
18
|
-
|
|
19
|
-
- Does not support IIIF collection navigation.
|
|
20
|
-
- Other IIIF client features are missing.
|
|
26
|
+
This project is actively developed. The following IIIF features are not yet supported:
|
|
21
27
|
|
|
22
|
-
|
|
28
|
+
### Content
|
|
29
|
+
|
|
30
|
+
- **Multiple images per canvas**: Only the first image is used; the `choice` property is not supported
|
|
31
|
+
- **Audio/Video**: Time-based media (canvases with `duration`) not supported
|
|
32
|
+
- **Multiple sequences**: Only the first sequence is read
|
|
33
|
+
|
|
34
|
+
### Navigation
|
|
35
|
+
|
|
36
|
+
- **Collections**: Cannot browse IIIF Collections or navigate between manifests
|
|
37
|
+
- **Ranges/Structures**: No table of contents or hierarchical navigation (book chapters, sections)
|
|
38
|
+
- **`start` property**: Cannot specify initial canvas or temporal position
|
|
39
|
+
- **`navDate`**: No date-based navigation for newspapers/journals
|
|
40
|
+
|
|
41
|
+
### Behaviors
|
|
42
|
+
|
|
43
|
+
- **Manifest-driven behaviors**: The `behavior` property is not read from manifests; viewing mode is set manually via UI
|
|
44
|
+
- **Missing behaviors**: `continuous`, `facing-pages`, `auto-advance`, `repeat`, `hidden`, etc.
|
|
45
|
+
- **`viewingDirection`**: Not used for layout decisions
|
|
46
|
+
|
|
47
|
+
### Annotations
|
|
48
|
+
|
|
49
|
+
- **Annotation creation**: Read-only; cannot create or edit annotations
|
|
50
|
+
- **Motivation differentiation**: All annotations rendered similarly regardless of motivation type
|
|
51
|
+
|
|
52
|
+
### Other
|
|
53
|
+
|
|
54
|
+
- **`rendering` property**: No links to alternative formats (PDF, etc.)
|
|
55
|
+
- **`placeholderCanvas`/`accompanyingCanvas`**: Not supported
|
|
56
|
+
|
|
57
|
+
The goal is to support all IIIF client mandatory features with pluggable optional features. The footprint of Triiiceratops, despite the name, is intended to remain considerably smaller than other fully featured viewers while attaining feature parity.
|
|
23
58
|
|
|
24
59
|
## Usage
|
|
25
60
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import "svelte/internal/disclose-version";
|
|
2
2
|
import * as a from "svelte/internal/client";
|
|
3
|
-
import { g as N } from "./X-
|
|
3
|
+
import { g as N } from "./X-DaQiCkfE.js";
|
|
4
4
|
var O = a.from_svg('<path d="M228,128a100,100,0,0,1-98.66,100H128a99.39,99.39,0,0,1-68.62-27.29,12,12,0,0,1,16.48-17.45,76,76,0,1,0-1.57-109c-.13.13-.25.25-.39.37L54.89,92H72a12,12,0,0,1,0,24H24a12,12,0,0,1-12-12V56a12,12,0,0,1,24,0V76.72L57.48,57.06A100,100,0,0,1,228,128Z"></path>'), P = a.from_svg('<path d="M216,128a88,88,0,1,1-88-88A88,88,0,0,1,216,128Z" opacity="0.2"></path><path d="M224,128a96,96,0,0,1-94.71,96H128A95.38,95.38,0,0,1,62.1,197.8a8,8,0,0,1,11-11.63A80,80,0,1,0,71.43,71.39a3.07,3.07,0,0,1-.26.25L44.59,96H72a8,8,0,0,1,0,16H24a8,8,0,0,1-8-8V56a8,8,0,0,1,16,0V85.8L60.25,60A96,96,0,0,1,224,128Z"></path>', 1), Q = a.from_svg('<path d="M224,128a96,96,0,0,1-94.71,96H128A95.38,95.38,0,0,1,62.1,197.8a8,8,0,0,1,11-11.63A80,80,0,1,0,71.43,71.39a3.07,3.07,0,0,1-.26.25L60.63,81.29l17,17A8,8,0,0,1,72,112H24a8,8,0,0,1-8-8V56A8,8,0,0,1,29.66,50.3L49.31,70,60.25,60A96,96,0,0,1,224,128Z"></path>'), R = a.from_svg('<path d="M222,128a94,94,0,0,1-92.74,94H128a93.43,93.43,0,0,1-64.5-25.65,6,6,0,1,1,8.24-8.72A82,82,0,1,0,70,70l-.19.19L39.44,98H72a6,6,0,0,1,0,12H24a6,6,0,0,1-6-6V56a6,6,0,0,1,12,0V90.34L61.63,61.4A94,94,0,0,1,222,128Z"></path>'), S = a.from_svg('<path d="M224,128a96,96,0,0,1-94.71,96H128A95.38,95.38,0,0,1,62.1,197.8a8,8,0,0,1,11-11.63A80,80,0,1,0,71.43,71.39a3.07,3.07,0,0,1-.26.25L44.59,96H72a8,8,0,0,1,0,16H24a8,8,0,0,1-8-8V56a8,8,0,0,1,16,0V85.8L60.25,60A96,96,0,0,1,224,128Z"></path>'), T = a.from_svg('<path d="M220,128a92,92,0,0,1-90.77,92H128a91.47,91.47,0,0,1-63.13-25.1,4,4,0,1,1,5.5-5.82A84,84,0,1,0,68.6,68.57l-.13.12L34.3,100H72a4,4,0,0,1,0,8H24a4,4,0,0,1-4-4V56a4,4,0,0,1,8,0V94.89l35-32A92,92,0,0,1,220,128Z"></path>'), W = a.from_svg('<svg><!><rect width="256" height="256" fill="none"></rect><!></svg>');
|
|
5
5
|
function $(L, r) {
|
|
6
6
|
a.push(r, !0);
|