React + TypeScript ECG annotation MVP.
npm install
npm run dev- Upload ECG image (
png/jpg/webp) or PDF (renders page 1) - Toolbar: select, vertical line, horizontal line, caliper, circle, rectangle, arrow
- Color + stroke width controls
- Drag annotations in Select mode
- Undo/Redo (20 steps)
- Export annotations JSON
- Export PNG snapshot
Delete: remove last annotationCtrl/Cmd + Z: undoCtrl/Cmd + Shift + Z: redoEsc: back to Select tool
- PDF supports first page only
- Zoom/pan + transform handles are not fully implemented yet
- Delete currently removes last annotation (selection delete pending)
- Caliper distance label is pending
src/App.tsxsrc/components/Toolbar.tsxsrc/components/StageCanvas.tsxsrc/hooks/useHistory.tssrc/utils/pdfToImage.ts