Chrome MV3 PDF reader extension for the Margin workflow.
For implementation work, docs/implementation-plan.md is the source of truth. The static UI reference is docs/margin-demo.html.
M0, M1, and the first M2 implementation pass are complete. M2 still needs manual Chrome QA for drag highlight, memo restore, and zoom positioning.
- M0: Vite extension scaffold,
viewer.html,hub.html,sw.js - M1: PDF.js viewer core and panel shell
- M2: highlights, memos, anchors, storage
- M3: figure/table detection, reference links, caption label clicks
- M4: manual crop mode
- M5: note hub
- M6: PDF interception, permissions, final QA
npm install
npm run build
npm testOn Windows, if npm scripts fail with "node" is not recognized even though
node --version works in PowerShell, use the Windows fallback scripts:
npm run typecheck:win
npm run build:win
npm run test:winLoad dist/ as an unpacked extension in chrome://extensions.
See Windows Local Loading Notes for the verified Windows build, Chrome extension reload, PDF interception, and local drag-and-drop QA checklist.