Parent
What to build
Replace the Python sidecar stub with the real OCR pipeline: PaddleOCR for text detection, Sudachi for tokenization and Kana reading extraction, and pykakasi for Romaji conversion. The Python worker receives an image file path via NDJSON stdin and emits a real Reading JSON with lines and tokens. The Rust Sidecar Manager and TypeScript Reading Engine from previous slices consume this real data without changes.
This slice is purely about the Python NLP pipeline — no UI or Rust changes beyond wiring real data through the existing protocol.
Acceptance criteria
Blocked by
Testing notes
Write integration tests using a small suite of sample images (horizontal Japanese, mixed text, empty image). Verify output JSON shape and presence of key tokens rather than exact boundaries (Sudachi tokenization may vary by version).
Parent
What to build
Replace the Python sidecar stub with the real OCR pipeline: PaddleOCR for text detection, Sudachi for tokenization and Kana reading extraction, and pykakasi for Romaji conversion. The Python worker receives an image file path via NDJSON stdin and emits a real Reading JSON with lines and tokens. The Rust Sidecar Manager and TypeScript Reading Engine from previous slices consume this real data without changes.
This slice is purely about the Python NLP pipeline — no UI or Rust changes beyond wiring real data through the existing protocol.
Acceptance criteria
Blocked by
Testing notes
Write integration tests using a small suite of sample images (horizontal Japanese, mixed text, empty image). Verify output JSON shape and presence of key tokens rather than exact boundaries (Sudachi tokenization may vary by version).