* feat(review): token-level code selection for annotations
Add the ability to click individual syntax tokens in the diff viewer to
create annotations with precise code context. Uses Pierre v1.1.12's
onTokenClick/onTokenEnter/onTokenLeave callbacks.
- Click a token → toolbar opens with token text in header
- Click same token again → deselects
- Gutter line selection still works independently
- Token metadata (charStart, charEnd, tokenText) stored on CodeAnnotation
- Sidebar shows token badge, export includes token context
For provenance purposes, this commit was AI assisted.
* fix(review): token draft roundtrip, export precision, truncation alignment
- Persist tokenSelection in drafts so token context survives file switches
- Include char offsets in exported feedback for duplicate token disambiguation
- Escape backticks in token text to prevent broken markdown fences
- Align sidebar token truncation to 30 chars (matching toolbar header)
For provenance purposes, this commit was AI assisted.