Files
familienarchiv/frontend/src/lib/ocr
Marcel 910f890c75 test(ocr): replace 8 setTimeout sleeps in OcrProgress with vi.waitFor
waitForSource() helper polls for the EventSource constructor effect
to register the mock; assertion blocks use vi.waitFor on the progress
bar / heading / button changes after each SSE event dispatch.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-11 21:50:28 +02:00
..

ocr (frontend)

UI for OCR job management, progress display, and sender-model training in the admin/enrichment panel.

What this domain owns

Components: OcrProgress.svelte, OcrTrigger.svelte, OcrTrainingCard.svelte, SegmentationTrainingCard.svelte, TrainingHistory.svelte. Utilities: translateOcrProgress.ts (progress-state → display-string mapping), training.ts (training API helpers).

What this domain does NOT own

  • OCR processing — all text recognition runs in the Python ocr-service/ container. The frontend shows job state; it does not run OCR.
  • Transcription block display — rendered by document/transcription/ components.

Key components

Component Used in Notes
OcrProgress.svelte document header, enrich panel Progress bar and status label for an active OCR job
OcrTrigger.svelte enrich panel, document detail Button to start an OCR job; disabled when one is running
OcrTrainingCard.svelte /admin/ocr Trigger sender-model training; shows training history
SegmentationTrainingCard.svelte /admin/ocr Trigger segmentation training
TrainingHistory.svelte /admin/ocr List of past training runs with status

Backend counterpart

backend/src/main/java/org/raddatz/familienarchiv/ocr/README.md