Spaces:
Build error
Build error
Claude commited on
docs(readme): replace minimal architecture diagram with comprehensive version
Browse filesFull architecture diagram now shows:
- IIIF server connections (info.json, tiles, derivatives, full images)
- Frontend internals (OpenSeadragon, region overlays, pages)
- Backend internals (ingestion, AI pipeline, response parser, master writer)
- AI providers (auto-detected, multi-provider)
- Export generators (IIIF 3.0, METS, ALTO, ZIP)
- Local storage (JSON only, no images)
- Complete 8-step pipeline flow per page (ingest β detect β fetch β
AI β parse β scale β write β review β export)
https://claude.ai/code/session_01UB4he7RdRPHLvNjky4X8Sw
README.md
CHANGED
|
@@ -33,25 +33,95 @@ IIIF Studio ingests images from any [IIIF](https://iiif.io/)-compliant server, a
|
|
| 33 |
## Architecture
|
| 34 |
|
| 35 |
```
|
| 36 |
-
ββββββββββββββββββββββββββββββββ
|
| 37 |
-
β
|
| 38 |
-
β
|
| 39 |
-
|
| 40 |
-
|
| 41 |
-
|
| 42 |
-
|
| 43 |
-
|
| 44 |
-
β
|
| 45 |
-
β
|
| 46 |
-
|
| 47 |
-
β
|
| 48 |
-
|
| 49 |
-
|
| 50 |
-
|
| 51 |
-
β
|
| 52 |
-
β
|
| 53 |
-
β
|
| 54 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 55 |
```
|
| 56 |
|
| 57 |
### Tech stack
|
|
|
|
| 33 |
## Architecture
|
| 34 |
|
| 35 |
```
|
| 36 |
+
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
|
| 37 |
+
β IIIF IMAGE SERVERS β
|
| 38 |
+
β Gallica Β· BnF Β· Bodleian Β· Europeana Β· ... β
|
| 39 |
+
β (origin β images are never copied) β
|
| 40 |
+
ββββββββββββ¬βββββββββββββββββββββ¬ββββββββββββββββββββββββββββββ¬ββββββββββββββββββββ
|
| 41 |
+
β β β
|
| 42 |
+
β info.json β /full/!1500,1500/ β /full/max/
|
| 43 |
+
β + tiles β 0/default.jpg β 0/default.jpg
|
| 44 |
+
β β (1500px for AI) β
|
| 45 |
+
β β β
|
| 46 |
+
ββββββββββββΌβββββββββββ ββββββββΌββββββββββββ ββββββββββββββββΌβββββββββββββββββββ
|
| 47 |
+
β β β β β β
|
| 48 |
+
β FRONTEND (SPA) β β BACKEND (API) β β EXPORT GENERATORS β
|
| 49 |
+
β React + Vite β β FastAPI β β β
|
| 50 |
+
β β β β β IIIF Manifest 3.0 β
|
| 51 |
+
β βββββββββββββββββββ β β ββββββββββββββββ β β (with Image Service refs) β
|
| 52 |
+
β β OpenSeadragon β β β β Ingestion β β β β
|
| 53 |
+
β β IIIF tiled zoom β β β β β β β METS XML β
|
| 54 |
+
β β (info.json β β β β β manifest URL β β β (IIIF URLs, not file paths) β
|
| 55 |
+
β β deep zoom) β β β β β detect svc β β β β
|
| 56 |
+
β ββββββββββ¬ββββββββββ β β β β store meta β β β ALTO XML β
|
| 57 |
+
β β β β ββββββββ¬ββββββββ β β (text geometry per page) β
|
| 58 |
+
β ββββββββββΌββββββββββ β β β β β β
|
| 59 |
+
β β Region overlays β β β βββββββΌββββββββββ β ZIP bundle β
|
| 60 |
+
β β (bbox from β β β β AI Pipeline ββ β (manifest + METS + ALTO) β
|
| 61 |
+
β β master.json, β β β β ββ βββββββββββββββββββββββββββββββββββ
|
| 62 |
+
β β scaled to β β β β fetch 1500pxββ
|
| 63 |
+
β β canvas coords) β β β β in memory ββ ββββββββββββββββββββββββ
|
| 64 |
+
β ββββββββββββββββββββ β β β β ββ β β
|
| 65 |
+
β β β β βΌ ββ β AI PROVIDERS β
|
| 66 |
+
β ββββββββββββββββββββ β β β send bytes ββββββββββΊβ β
|
| 67 |
+
β β Pages β β β β to AI ββ β Google Gemini β
|
| 68 |
+
β β Home Β· Reader β β β β οΏ½οΏ½οΏ½ βββββββββββ Vertex AI β
|
| 69 |
+
β β Editor Β· Admin β β β β βΌ ββ JSON β Mistral AI β
|
| 70 |
+
β ββββββββββ¬ββββββββββ β β β discard img ββ β β
|
| 71 |
+
β β β β β keep JSON ββ β (auto-detected from β
|
| 72 |
+
β β REST API β β β scale bbox ββ β environment vars) β
|
| 73 |
+
β β /api/v1/* β β βββββββ¬βββββββββ ββββββββββββββββββββββββ
|
| 74 |
+
ββββββββββββΌββββββββββββ β β β
|
| 75 |
+
β β βββββββΌββββββββββ
|
| 76 |
+
β β β Response ββ
|
| 77 |
+
β β β Parser ββ
|
| 78 |
+
βββββββββββββββ€ β ββ
|
| 79 |
+
β β raw JSON ββ
|
| 80 |
+
β β β layout ββ
|
| 81 |
+
β β β OCR ββ
|
| 82 |
+
β β β regions ββ
|
| 83 |
+
β βββββββ¬βββββββββ
|
| 84 |
+
β β β
|
| 85 |
+
β βββββββΌββββββββββ
|
| 86 |
+
β β Master ββ
|
| 87 |
+
β β Writer ββ
|
| 88 |
+
β β ββ
|
| 89 |
+
β β ai_raw.json ββ βββββββββββββββββββββββββββββββββ
|
| 90 |
+
β β master.json ββ β β
|
| 91 |
+
β βββββββ¬βββββββββ β LOCAL STORAGE β
|
| 92 |
+
β β β β β
|
| 93 |
+
βββββββββΌββββββββββ β SQLite (corpus, pages, β
|
| 94 |
+
β β manuscripts, jobs, models) β
|
| 95 |
+
ββββββββββββββββΊ β
|
| 96 |
+
β data/corpora/{slug}/pages/ β
|
| 97 |
+
β {folio}/master.json β
|
| 98 |
+
β {folio}/ai_raw.json β
|
| 99 |
+
β {folio}/alto.xml β
|
| 100 |
+
β β
|
| 101 |
+
β ~5 KB per page (JSON only) β
|
| 102 |
+
β NO image binaries β
|
| 103 |
+
βββββββββββββββββββββββββββββββββ
|
| 104 |
+
|
| 105 |
+
PIPELINE FLOW (per page):
|
| 106 |
+
|
| 107 |
+
ββββββββββββ ββββββββββββ ββββββββββββ ββββββββββββ ββββββββββββ
|
| 108 |
+
β 1.INGEST βββββΊβ 2.DETECT βββββΊβ 3.FETCH βββββΊβ 4.AI βββββΊβ 5.PARSE β
|
| 109 |
+
β β β β β β β β β β
|
| 110 |
+
β manifest β β IIIF svc β β 1500px β β send β β layout β
|
| 111 |
+
β URL β β URL + β β JPEG in β β image + β β regions β
|
| 112 |
+
β β β canvas β β memory β β prompt β β OCR β
|
| 113 |
+
β β β dims β β (discard β β to β β bbox β
|
| 114 |
+
β β β β β after) β β provider β β β
|
| 115 |
+
ββββββββββββ ββββββββββββ ββββββββββββ ββββββββββββ ββββββ¬ββββββ
|
| 116 |
+
β
|
| 117 |
+
ββββββββββββ ββββββββββββ ββββββββββββ ββββββΌββββββ
|
| 118 |
+
β 8.EXPORT ββββββ 7.REVIEW ββββββ 6.WRITE βββββββββββββββββββββ 5b.SCALE β
|
| 119 |
+
β β β β β β β β
|
| 120 |
+
β IIIF 3.0 β β human β β ai_raw + β β bbox β
|
| 121 |
+
β ALTO XML β β correct β β master β β deriv β β
|
| 122 |
+
β METS XML β β validate β β .json β β canvas β
|
| 123 |
+
β ZIP β β version β β + ALTO β β coords β
|
| 124 |
+
ββββββββββββ ββββββββββββ ββββββββββββ ββββββββββββ
|
| 125 |
```
|
| 126 |
|
| 127 |
### Tech stack
|