feat: Improve OCR process - replace Tesseract with PaddleOCR (#115) #122

Merged
egullickson merged 16 commits from issue-115-improve-ocr-paddleocr into main 2026-02-08 01:13:35 +00:00
2 changed files with 114 additions and 3 deletions
Showing only changes of commit 1e96baca6f - Show all commits

View File

@@ -45,7 +45,7 @@
"parent_issue": "The original feature issue. Tracks overall status. Only the parent gets status label transitions.",
"sub_issue_title_format": "{type}: {summary} (#{parent_index})",
"sub_issue_body": "First line must be 'Relates to #{parent_index}'. Each sub-issue is a self-contained unit of work.",
"sub_issue_labels": "status/backlog + same type/* as parent. Sub-issues stay in backlog; parent issue tracks status.",
"sub_issue_labels": "status/in-progress + same type/* as parent. Sub-issues move to in-progress as they are worked on.",
"sub_issue_milestone": "Same sprint milestone as parent.",
"rules": [
"ONE branch for the parent issue. Never create branches per sub-issue.",

View File

@@ -1,5 +1,116 @@
{
"testModules": [],
"testModules": [
{
"moduleId": "/Users/egullickson/Documents/Technology/coding/motovaultpro/frontend/src/shared/components/CameraCapture/CameraCapture.test.tsx",
"tests": [
{
"name": "shows loading state while requesting permission",
"fullName": "CameraCapture Permission handling shows loading state while requesting permission",
"state": "passed"
},
{
"name": "shows error when permission denied",
"fullName": "CameraCapture Permission handling shows error when permission denied",
"state": "passed"
},
{
"name": "shows error when camera unavailable",
"fullName": "CameraCapture Permission handling shows error when camera unavailable",
"state": "passed"
},
{
"name": "shows viewfinder when camera access granted",
"fullName": "CameraCapture Viewfinder shows viewfinder when camera access granted",
"state": "passed"
},
{
"name": "shows cancel button in viewfinder",
"fullName": "CameraCapture Viewfinder shows cancel button in viewfinder",
"state": "passed"
},
{
"name": "calls onCancel when cancel button clicked",
"fullName": "CameraCapture Viewfinder calls onCancel when cancel button clicked",
"state": "passed"
},
{
"name": "shows VIN guidance when guidanceType is vin",
"fullName": "CameraCapture Guidance overlay shows VIN guidance when guidanceType is vin",
"state": "passed"
},
{
"name": "shows receipt guidance when guidanceType is receipt",
"fullName": "CameraCapture Guidance overlay shows receipt guidance when guidanceType is receipt",
"state": "passed"
},
{
"name": "shows upload file button in viewfinder",
"fullName": "CameraCapture File fallback shows upload file button in viewfinder",
"state": "passed"
},
{
"name": "switches to file fallback when upload file clicked",
"fullName": "CameraCapture File fallback switches to file fallback when upload file clicked",
"state": "passed"
},
{
"name": "renders upload area",
"fullName": "FileInputFallback renders upload area",
"state": "passed"
},
{
"name": "shows accepted formats",
"fullName": "FileInputFallback shows accepted formats",
"state": "passed"
},
{
"name": "shows max file size",
"fullName": "FileInputFallback shows max file size",
"state": "passed"
},
{
"name": "calls onCancel when cancel clicked",
"fullName": "FileInputFallback calls onCancel when cancel clicked",
"state": "passed"
},
{
"name": "shows error for invalid file type",
"fullName": "FileInputFallback shows error for invalid file type",
"state": "passed"
},
{
"name": "shows error for file too large",
"fullName": "FileInputFallback shows error for file too large",
"state": "passed"
},
{
"name": "calls onFileSelect with valid file",
"fullName": "FileInputFallback calls onFileSelect with valid file",
"state": "passed"
},
{
"name": "renders nothing when type is none",
"fullName": "GuidanceOverlay renders nothing when type is none",
"state": "passed"
},
{
"name": "renders VIN guidance with correct description",
"fullName": "GuidanceOverlay renders VIN guidance with correct description",
"state": "passed"
},
{
"name": "renders receipt guidance with correct description",
"fullName": "GuidanceOverlay renders receipt guidance with correct description",
"state": "passed"
},
{
"name": "renders document guidance with correct description",
"fullName": "GuidanceOverlay renders document guidance with correct description",
"state": "passed"
}
]
}
],
"unhandledErrors": [],
"reason": "failed"
"reason": "passed"
}