Design a Client-Side PDF Viewer and Annotation Tool
Design a highly responsive, memory-efficient client-side PDF viewer and annotation workspace. The application must render massive PDF files (up to 500 pages) smoothly, support real-time user-drawn annotations (freehand, highlight, shape, and text), and scale without performance issues on mobile devices. Detail your approach to multi-layer viewport rendering, high-DPI scaling, virtualized rendering lists, memory management, coordinate scaling across zoom actions, and offline-first storage architecture.
ReactTailwind CSSpdf.jsWeb WorkersIndexedDBDexie.jsOffscreenCanvasSVG
00