- WYSIWYG editor: Calculate per-line line-heights based on original PDF spacing (gap between lines) instead of uniform height. Each line now gets its own advance value, preserving the exact layout when editing multi-line text with different font sizes (e.g., 22pt heading + 16pt body).
- Startup freeze: Make organize_identity_plan non-blocking. Initialize pagePlan with default identity immediately, then load the real plan in the background. This prevents the UI from freezing when opening large PDFs while PDFium processes all pages.
Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01HgnbPwSoRGNH7LHsDUmRpk