Margin Notes (hz) 0.45.1
Margin Notes (hz) 0.45.1
PDF shared annotations
- Share one annotation set across two or more layout-compatible PDFs.
- Explicit searchable pairing, conflict-aware merge/replace choices, leave-group copies, and cyclic language switching.
- Preserve groups across file and folder renames; tolerate sync-style delete/create replacement and remove confirmed missing members safely.
- Recheck page layout after PDF revisions and detach only incompatible members.
Reading and organization
- Annotation layers, named color slots, page/color grouping, full-text search, and compact list controls.
- Shared PDF outlines, including inheritance from another group member in Obsidian's native outline view.
- Optional double-column reading order shared across a PDF group.
- Resizable Markdown sidenotes with folded-content visibility handling.
PDF annotation interaction
- Unified Markdown/MathJax display and editing, draggable free notes and rails, resizable boxes, collapsed dots, configurable highlights, and toggleable leader arrows.
- Zoom lifecycle hides transient geometry and rebuilds after pdf.js settles.
- Fixed left-side free notes with negative
freeX: they now keep page-relative coordinates instead of being clamped to the pane boundary.
Architecture
- Split page geometry, annotation space, rail layout, zoom lifecycle, pointer gestures, shared-file lifecycle, outlines, search, layers, and layout checks into focused TypeScript modules.
- Removed the old fingerprint auto-pairing path; shared groups are explicit and persistent.
Automated tests, TypeScript checks, production build, and whitespace validation pass for this release.