Mixed zoomIn/zoomOut return-to-start, zoomOut at floor no-op, init() resolves and sets pdfjsReady, loadDocument with bogus URL sets error and flips loading off. 4 new tests covering ~10 branches. Refs #496. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>