Parent
What to build
Add the first complete user-facing path: menu bar "Capture Region" triggers macOS screencapture -i, the selected region is saved to a temp file, and the path is sent to the Python sidecar (still returning hardcoded Reading JSON). The Reading Engine renders the response fully: horizontal layout, furigana (ruby text) above Kanji, Romaji below each line, alternating background colors per line, copy buttons, and always-on-top centered window behavior. Temp files are cleaned up after processing.
This slice builds the entire UI shell and input plumbing using fake data, so the product is demoable even before real OCR is wired in.
Acceptance criteria
Blocked by
Testing notes
Write Reading Engine component tests using mock Reading data. Verify horizontal layout DOM structure, furigana placement, alternating colors, and that copy buttons extract expected plain text.
Parent
What to build
Add the first complete user-facing path: menu bar "Capture Region" triggers macOS
screencapture -i, the selected region is saved to a temp file, and the path is sent to the Python sidecar (still returning hardcoded Reading JSON). The Reading Engine renders the response fully: horizontal layout, furigana (ruby text) above Kanji, Romaji below each line, alternating background colors per line, copy buttons, and always-on-top centered window behavior. Temp files are cleaned up after processing.This slice builds the entire UI shell and input plumbing using fake data, so the product is demoable even before real OCR is wired in.
Acceptance criteria
screencapture -iintegration captures region and saves to temp fileBlocked by
Testing notes
Write Reading Engine component tests using mock Reading data. Verify horizontal layout DOM structure, furigana placement, alternating colors, and that copy buttons extract expected plain text.