Building a Pannable, Zoomable Canvas in React | Hacker News Reader