- Shipped
- April 12, 2026 at 3:01 AM UTC
- Author
- kamo
- Commit
- 3cd40c7
- PdfCanvas: replace IntersectionObserver with eager render-all-pages. The observer-based approach was unreliable when the design tab starts with display:none — browsers don't reliably re-fire intersection events when an ancestor transitions from display:none to visible. - PdfCanvas: add naturalScale normalisation (TARGET_PAGE_WIDTH_PX=612). Some PDFs from ConversionService use non-standard unit systems; dividing TARGET_PAGE_WIDTH_PX by the first-page viewport width gives a correction factor so pages always render at a readable size. - PdfCanvas: decouple renderPage from zoom via zoomRef so the callback is stable and doesn't cascade effect re-runs on every zoom step. - Toolbox/PageThumbnailSidebar: change root Box width from fixed px to 100% so they size to their container and don't overflow when the container's vertical scrollbar steals width. - DesignTab: change sidebar containers from overflowY:auto to overflow:hidden — each sidebar manages its own internal scroll.