From 9a24302b4e8b788592887ee0d47e0f51855065fa Mon Sep 17 00:00:00 2001 From: Valdemar Lorenzen Date: Fri, 16 Oct 2026 14:39:02 +0200 Subject: [PATCH] docs: plan precise text-range review anchors --- TODO.md | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/TODO.md b/TODO.md index a452fe0..813e367 100644 --- a/TODO.md +++ b/TODO.md @@ -6,6 +6,13 @@ - save and reopen reviews using local files that coding agents can read; no server or client/server protocol. - anchor comments to immutable revision IDs, paths, sides, and source line ranges, never screen coordinates or mutable file indices. - preserve original anchors and mark comments stale when the reviewed snapshot no longer matches; defer automatic reanchoring. +- [ ] diff view: attach local review comments to arbitrary contiguous text ranges, not only containing lines. + - preserve exact start/end source positions in grapheme coordinates with an exclusive end, including partial-line and multiline selections on either diff side. + - characterwise Visual (`v`) anchors the exact selected text; Visual Line (`V`) anchors whole selected lines; no selection retains current-line behavior. + - retain gutter markers for discovery and highlight the exact anchored text when its comment is selected. + - preserve immutable snapshot identity and existing stale detection; never silently reanchor comments after source changes. + - persist precise ranges in SQLite and JSON import/export; migrate existing line-only anchors without losing comments. + - future GitHub publishing may map precise local anchors to supported line ranges without reducing precision in the local review. - [ ] persist local reviews automatically in a local SQLite database using rusqlite; no server, hosted storage, or synchronization. - keep one database under $XDG_DATA_HOME/vamp/reviews/, falling back to ~/.local/share/vamp/reviews/; allow a configurable review_directory. - key reviews by repository identity and persistent review ID, preserving reviews and stale comments across revision changes.