Commit Graph

  • 4f2fb0e94c fix: Kombi-Modus merge now deduplicates same words from both engines Benjamin Admin 2026-03-13 08:11:31 +01:00
  • 61c8169f9e docs+test: add Kombi-Modus tests (19 passing) and MkDocs documentation Benjamin Admin 2026-03-12 20:18:46 +01:00
  • e9ccd1e35c feat: add Kombi-Modus (PaddleOCR + Tesseract) for OCR Overlay Benjamin Admin 2026-03-12 20:05:50 +01:00
  • d335a7bbf3 fix: use OCR word_box coordinates directly instead of fuzzy matching Benjamin Admin 2026-03-12 18:54:37 +01:00
  • 1f527fcd49 fix: split PaddleOCR boxes at leading ! for overlay word positioning Benjamin Admin 2026-03-12 17:46:17 +01:00
  • 8349c28f54 fix: paddle_direct reuses build_grid_from_words for correct overlay Benjamin Admin 2026-03-12 17:19:52 +01:00
  • 71a1b5f058 fix: paddle_direct groups words per row (matching _build_cells format) Benjamin Admin 2026-03-12 17:10:10 +01:00
  • c743a38eaf fix: Paddle Direct keeps preprocessing (orient/deskew/dewarp/crop) Benjamin Admin 2026-03-12 16:56:18 +01:00
  • 90c1efd9b0 feat: Paddle Direct — 1-click OCR without deskew/dewarp/crop Benjamin Admin 2026-03-12 16:41:55 +01:00
  • 06d63d18f9 fix: generic fuzzy text matching for overlay word-box positioning Benjamin Admin 2026-03-12 16:19:19 +01:00
  • 3e65b14b83 fix: split PaddleOCR boxes at IPA brackets for overlay positioning Benjamin Admin 2026-03-12 16:08:17 +01:00
  • 40ac593d28 fix: split PaddleOCR phrase boxes into per-word boxes for overlay slide Benjamin Admin 2026-03-12 16:00:06 +01:00
  • ea69239e06 fix: word_boxes in words_first use absolute pixels (consistent with v2 grid) Benjamin Admin 2026-03-12 15:04:04 +01:00
  • bb90d1ba94 fix: PaddleOCR engine forces words_first in frontend to match backend Benjamin Admin 2026-03-12 14:52:18 +01:00
  • 685d135be5 fix: downscale large images before PaddleOCR (Traefik 60s limit) Benjamin Admin 2026-03-12 14:28:58 +01:00
  • e2c2acdf86 fix: increase PaddleOCR remote timeout to 120s for large scans Benjamin Admin 2026-03-12 13:41:39 +01:00
  • 3cc496f7f3 feat(rag): Update Verbraucherschutz docs + chunk counts + Landkarte Benjamin Admin 2026-03-12 09:54:20 +01:00
  • a6069631cc feat: PaddleOCR Remote-Engine (PP-OCRv5 Latin auf Hetzner x86_64) Benjamin Admin 2026-03-12 09:31:22 +01:00
  • ced5bb3dd3 feat: Words-First Grid Builder (bottom-up alternative zu cell_grid_v2) Benjamin Admin 2026-03-12 06:46:05 +01:00
  • 2fdf3ff868 feat(rag): Register Verbraucherschutz laws + EU directives in RAG constants Benjamin Admin 2026-03-12 06:43:19 +01:00
  • 2e21a4b6d0 fix: IPA nur einfügen wenn word_boxes Gap >80px zeigen (kein falsches IPA) Benjamin Admin 2026-03-11 23:40:18 +01:00
  • d98dba9098 fix: Headword-IPA auch in langen column_text Zeilen einfuegen Benjamin Admin 2026-03-11 23:25:38 +01:00
  • cd13eca290 fix: IPA-Einfuegung fuer column_text mit word_boxes Synchronisation Benjamin Admin 2026-03-11 23:15:26 +01:00
  • aa7db43f02 fix: column_text nur garbled IPA ersetzen, keine Einfuegung/Entfernung Benjamin Admin 2026-03-11 23:05:37 +01:00
  • 4afd5bd8e8 fix: Klammerwörter wie (probieren), (Profit) nicht mehr als garbled IPA entfernen Benjamin Admin 2026-03-11 22:47:01 +01:00
  • 7d19145edb fix: word_boxes auch fuer breite Spalten (Full-Page OCR) speichern Benjamin Admin 2026-03-11 20:41:29 +01:00
  • 35f2706098 fix: Slide-Modus nutzt cell.text Tokens statt word_boxes Text (keine Woerter verloren) Benjamin Admin 2026-03-11 20:01:57 +01:00
  • 0ee92e7210 feat: OCR word_boxes fuer pixelgenaue Overlay-Positionierung Benjamin Admin 2026-03-11 19:39:49 +01:00
  • 4949863bd7 revert: Zurueck zum Einzelwort-Slide mit fontRatio=1.0 Fix Benjamin Admin 2026-03-11 19:15:52 +01:00
  • efbe15f895 fix: Slide-Modus auf Gruppen-basiertes Sliding umgestellt Benjamin Admin 2026-03-11 18:31:17 +01:00
  • c3da131129 fix: Slide fontRatio=1.0 und Token-Breite aus gerenderter Fontgroesse Benjamin Admin 2026-03-11 17:59:31 +01:00
  • b81baa1d16 fix: Slide-Modus globale Schriftgroesse statt per-Token Scale Benjamin Admin 2026-03-11 16:51:55 +01:00
  • 2010cab894 fix: Slide-Modus Scale-Berechnung auf Ink-Span statt Ink-Count Benjamin Admin 2026-03-11 16:41:38 +01:00
  • bc13978bc1 feat: Slide-Modus als alternative Wort-Positionierung im Overlay Benjamin Admin 2026-03-11 16:13:31 +01:00
  • 2f51ac617f feat: IPA-Lautschrift in Cell-Texte einfuegen (fuer Overlay-Modus) Benjamin Admin 2026-03-11 15:47:26 +01:00
  • 8a5f2aa188 fix: Cluster-Zuordnung per Breiten-Proportionalitaet statt Position Benjamin Admin 2026-03-11 15:39:54 +01:00
  • d182d87f26 fix: OCR-Artefakte (|, >) vor Cluster-Matching zusammenfuehren Benjamin Admin 2026-03-11 15:03:37 +01:00
  • 87efc1b4ba fix: bei Cluster-Ueberschuss die breitesten N Cluster waehlen Benjamin Admin 2026-03-11 14:34:58 +01:00
  • dd7087cd6d fix: Pixel-Analyse nicht mehr ueberspringen wenn Cluster < Gruppen Benjamin Admin 2026-03-11 10:14:58 +01:00
  • 7282a220d6 fix: useMemo vor Early Returns verschieben (Rules of Hooks) Benjamin Admin 2026-03-11 09:46:25 +01:00
  • b5d5371f72 fix: einheitliche Schriftgroesse + Border-Cluster-Filter im Overlay Benjamin Admin 2026-03-11 09:34:41 +01:00
  • 41e47baf13 fix: skip_heal_gaps Parameter an Stream-Generator durchreichen Benjamin Admin 2026-03-11 09:11:16 +01:00
  • 8a60f4bf30 fix: Overlay-Zellen ohne _heal_row_gaps positionieren (skip_heal_gaps) Benjamin Admin 2026-03-11 08:59:50 +01:00
  • e3ee1de790 Revert "fix: Zeilen-Regularisierung im Overlay ueberspringen (generisch fuer gemischte Inhalte)" Benjamin Admin 2026-03-11 08:44:07 +01:00
  • b91f799ccf fix: Zeilen-Regularisierung im Overlay ueberspringen (generisch fuer gemischte Inhalte) Benjamin Admin 2026-03-11 08:29:06 +01:00
  • 2df2a01a8b feat: Echtes Overlay — Text direkt ueber dem Originalbild Benjamin Admin 2026-03-11 00:25:11 +01:00
  • e2ad93fd57 fix: Word-Erkennung ohne Spalten ermoeglichen (Full-Page Pseudo-Column) Benjamin Admin 2026-03-11 00:16:31 +01:00
  • 2cbdfc56f3 feat: OCR Overlay — ganzseitige Rekonstruktion ohne Spaltenerkennung Benjamin Admin 2026-03-11 00:08:05 +01:00
  • 840918df2a fix: Originalbild im Overlay nicht extra drehen (Orientierung bereits im Cropped-Bild) Benjamin Admin 2026-03-10 23:25:20 +01:00
  • eb3fc05cdc fix: Box-Zone Clamping nach Box-Mitte statt Cell-Center entscheiden Benjamin Admin 2026-03-10 23:10:51 +01:00
  • 9dbb5fa708 fix: useMemo vor Early Returns verschieben (Rules of Hooks) Benjamin Admin 2026-03-10 22:57:25 +01:00
  • f468c30112 fix: Zellen an Box-Zone clampen im Overlay-Modus (keine Ueberlappung) Benjamin Admin 2026-03-10 22:52:08 +01:00
  • 618c82ef42 fix: Zeilen an Box-Grenze nicht mehr abschneiden (border_thickness Margin) Benjamin Admin 2026-03-10 17:44:02 +01:00
  • 080fcb5e3c feat: 180°-Rotation fuer Pixel-Matching im Overlay-Modus Benjamin Admin 2026-03-10 17:19:14 +01:00
  • bcd97e7d78 feat: Overlay-Modus fuer ganzseitige Tabellenrekonstruktion mit Pixel-Positionierung Benjamin Admin 2026-03-10 16:18:47 +01:00
  • 7f8615b8c1 fix: Schriftgroesse auf haeufigsten Wert (Mode) normalisieren Benjamin Admin 2026-03-10 14:28:23 +01:00
  • 2055597ba4 fix: Pixel-Overlay fuer alle Zellen + Auto-Schriftgroesse + kein contentEditable Benjamin Admin 2026-03-10 13:25:16 +01:00
  • ad28f9420a feat: Pixel-basierte Wortpositionierung im Overlay Benjamin Admin 2026-03-10 12:36:57 +01:00
  • 6314e60464 fix: Monospace-Schrift im Overlay fuer korrekte Leerzeichen-Ausrichtung Benjamin Admin 2026-03-10 11:50:53 +01:00
  • d530738b12 fix: useMemo vor early returns verschieben (React Hooks Regel) Benjamin Admin 2026-03-10 11:35:59 +01:00
  • ca7d44e543 fix: Overlay spaltenweise Ausrichtung per Median-Snap Benjamin Admin 2026-03-10 11:20:06 +01:00
  • e44e319ccf feat: Text-Overlay Rekonstruktion in StepLlmReview Benjamin Admin 2026-03-10 11:07:11 +01:00
  • 6bb023bdc1 fix: vocab_entries fuer column_text Sub-Sessions generieren Benjamin Admin 2026-03-10 10:28:27 +01:00
  • 13553fc5e6 fix: column_text Typ fuer Sub-Sessions in Korrektur-Tabelle Benjamin Admin 2026-03-10 09:48:40 +01:00
  • 964c916a81 fix: _clean_cell_text entfernt Waehrungssymbole am Zeilenende Benjamin Admin 2026-03-10 09:41:25 +01:00
  • 13510b62cc debug: Log-Level auf INFO fuer Sub-Session Zellinhalte Benjamin Admin 2026-03-10 09:33:56 +01:00
  • 3a791179af debug: Logging fuer Sub-Session Woertererkennung Benjamin Admin 2026-03-10 09:31:34 +01:00
  • f65bd11919 fix: Sub-Session Zeilenerkennung nutzt Word-Grouping statt Gap-Detection Benjamin Admin 2026-03-10 09:05:24 +01:00
  • 785b4d7655 fix: zones=None crash bei Sub-Session Zeilenerkennung Benjamin Admin 2026-03-10 08:50:58 +01:00
  • 2716495250 fix: Sub-Session Zeilenerkennung — Tesseract+inv im Spalten-Schritt cachen Benjamin Admin 2026-03-10 08:43:26 +01:00
  • 23b7840ea7 feat: Full-Row OCR mit Spacing fuer Box-Sub-Sessions Benjamin Admin 2026-03-10 08:28:29 +01:00
  • 34adb437d0 fix: Bild-Endpoints fallen auf original zurueck fuer Sub-Sessions Benjamin Admin 2026-03-09 23:30:38 +01:00
  • ceaef9c6a6 fix: Sub-Sessions original_bgr als cropped_bgr promoten Benjamin Admin 2026-03-09 22:57:39 +01:00
  • 9047339f0d fix: Sub-Sessions starten direkt bei Spalten, ueberspringe Vorverarbeitung Benjamin Admin 2026-03-09 22:51:16 +01:00
  • 2592ef233b feat: Frontend Sub-Sessions (Boxen) in OCR-Pipeline UI Benjamin Admin 2026-03-09 20:33:59 +01:00
  • 256efef3ea feat: Box-Zonen durch gesamte Pipeline + Sub-Sessions fuer Box-Inhalt Benjamin Admin 2026-03-09 18:24:34 +01:00
  • 4610137ecc fix: Box-Bereiche aus Bild entfernen statt pro Zone separat Spalten erkennen Benjamin Admin 2026-03-09 17:03:05 +01:00
  • fb46450802 fix: Alignment-Validierung nur fuer verdaechtige Gaps (>2x Median-Breite) Benjamin Admin 2026-03-09 16:27:14 +01:00
  • 11126c4436 fix: UnboundLocalError edge_tolerance in Step 5c Benjamin Admin 2026-03-09 16:18:47 +01:00
  • 7a0ded7562 fix: Left-Edge-Alignment-Validierung fuer Spalten-Gaps Benjamin Admin 2026-03-09 16:11:58 +01:00
  • 04be24a89e fix: fehlende Imports RAPIDOCR_AVAILABLE und _RE_ALPHA in cv_cell_grid.py Benjamin Admin 2026-03-09 15:59:24 +01:00
  • cf9dde9876 fix: _group_words_into_lines nach cv_ocr_engines.py verschieben Benjamin Admin 2026-03-09 15:24:56 +01:00
  • 60c4138660 fix: _MIN_WORD_CONF als Modul-Konstante statt lokale Variable Benjamin Admin 2026-03-09 15:12:02 +01:00
  • 7005b18561 feat: generische Box-Erkennung fuer zonenbasierte Spaltenerkennung Benjamin Admin 2026-03-09 15:06:23 +01:00
  • e60254bc75 fix: alle Post-Crop-Schritte nutzen cropped statt dewarped Bild Benjamin Admin 2026-03-09 09:10:10 +01:00
  • 156a818246 refactor: Crop nach Deskew/Dewarp verschieben + content-basierter Buchscan-Crop Benjamin Admin 2026-03-09 08:52:11 +01:00
  • eb45bb4879 fix: numpy array or-Verknuepfung in Crop/Deskew + ImageCompareView Labels Benjamin Admin 2026-03-09 08:02:44 +01:00
  • 2763631711 feat: Orientierung + Zuschneiden als Schritte 1-2 in OCR-Pipeline Benjamin Admin 2026-03-08 23:55:23 +01:00
  • 9a5a35bff1 refactor: cv_vocab_pipeline.py in 6 Module aufteilen (8163 → 6 + Fassade) Benjamin Admin 2026-03-08 23:46:47 +01:00
  • 931ab92c92 feat: Orientierungserkennung in OCR-Pipeline-Deskew integrieren Benjamin Admin 2026-03-08 22:31:36 +01:00
  • 853638b03c Revert "fix: _split_broad_columns nur bei maximal 1 breiter Spalte ausfuehren" Benjamin Admin 2026-03-07 22:55:24 +01:00
  • d98359fceb fix: _split_broad_columns nur bei maximal 1 breiter Spalte ausfuehren Benjamin Admin 2026-03-07 22:51:14 +01:00
  • e1ae5d5fa9 fix: Edge-Gaps in _split_broad_columns ignorieren + return-Tuple bei leerem Ergebnis Benjamin Admin 2026-03-07 22:16:29 +01:00
  • 4e8ea77140 fix: leere Spalten als strukturell behandeln + 2-Spalten-Layout korrekt labeln Benjamin Admin 2026-03-07 19:35:21 +01:00
  • e8ba5ec073 fix: Orientierungserkennung beim PDF-Upload statt erst bei OCR Benjamin Admin 2026-03-07 19:11:45 +01:00
  • 02631dc4e0 feat: breite Spalten per Word-Gap splitten + gedrehte Scans im Frontend anzeigen Benjamin Admin 2026-03-07 18:16:32 +01:00
  • a5635e0c43 feat: automatische Orientierungserkennung fuer umgedrehte Scans Benjamin Admin 2026-03-07 17:26:21 +01:00
  • 7a1bd5e82d refactor: positional_column_regions auch in OCR Pipeline verwenden Benjamin Admin 2026-03-07 17:20:51 +01:00
  • b0bfc0a960 feat: Session-ID in Vocab-Worksheet Kopfzeile anzeigen Benjamin Admin 2026-03-07 17:16:47 +01:00
  • a5df2b6e15 fix: Spaltenklassifikation im Vocab-Worksheet durch positionsbasierte Zuordnung ersetzen Benjamin Admin 2026-03-07 17:07:11 +01:00