Repository navigation
1.216.0
MCQ Tracker 1.216.0
The reader now has an annotation sidebar: every highlight, quote and mark in
the open PDF is one row away, and notes and tags can be edited or deleted
without leaving the page.
What changed
- A docked annotation sidebar. The reader layout splits into the page and a
collapsible panel listing every annotation in the PDF, with the type, page,
note and tag chips on each row. A toolbar Annotations (N) toggle and the
A key (ignored while typing in a field) show and hide it; the choice is
remembered in local storage, never in the vault. - Search and type filter reuse the index tab's own
filterAnnotations, so a
sidebar search and an index search mean the same thing. - Jump to the exact mark. Clicking a row loads that page when needed and
rings the mark's real area on the canvas; the selected row and hover are
visibly distinct. - Edit without leaving the reader. Each row has Edit note, Edit tags
and Delete. Note edits, tag edits (the same six-tag, 24-character,
hash-free guard) and deletes are written to the.annotations.mdsidecar and
redrawn immediately. Deleting never changes the current page, so a delete
cannot shift the page index under you. - Tags at creation time. The mark and quote prompts now offer a tag field
beside the note, so tags no longer require the API or the index tab. A mark
layer keeps its tags on the next save. - One source of truth. The sidebar reads
plugin.pdfAnnotationRowsinstead
of keeping a copy.updatePdfAnnotationTagsis the new plugin path for tag
edits (the older paths are unchanged), and an annotation revision lets the
PDF annotations tab rescan after a reader edit. The index rows now carry tags,
so its tag chips render and the Markdown digest shows the same edits.
Boundaries
- The source PDF is never modified; everything stays in the
.annotations.mdsidecar. - No dependency, provider, network request or cloud upload was added, and no
code was copied from another plugin. - Existing sidecars, links, plugin methods and the §5.22.12 owner gate are
unchanged.
Verification
New tests/pdf-annotator-sidebar.test.js covers row rendering and filtering,
jump targeting, inline note and tag persistence (including the tag guard),
delete-then-redraw with no page drift, tag-at-creation through the prompt and
the quote path, and index/digest consistency after edits. The full suite and
npm run check are clean and main.js is rebuilt from source.