mirror of
https://github.com/backnotprop/plannotator.git
synced 2026-09-14 14:17:26 +08:00
2739660fa6
* feat: add pinpoint mode for point-and-click annotations Adds a new input method toggle (Drag / Pinpoint) orthogonal to the existing annotation action modes (Selection / Comment / Redline). In pinpoint mode, hovering over blocks and inline elements shows a dashed outline with a label tooltip. Clicking auto-selects the element's text via highlighter.fromRange(), firing the same CREATE event as drag-selection — all downstream annotation flow is unchanged. New files: - blockTargeting.ts: resolves hover targets (inlines, cells, list items, blocks) - usePinpoint.ts: hover/click state machine with text-range bridge - PinpointOverlay.tsx: dashed outline + label badge - InputMethodToggle.tsx: Drag/Pinpoint segmented toggle - inputMethod.ts: cookie-based persistence Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * feat: unified AnnotationToolstrip with smooth animations Merge InputMethodToggle + ModeSwitcher into a single compact toolbar with two pill groups: input method (Select/Pinpoint) and action mode (Markup/Comment/Redline). Buttons expand to show labels on hover/active with explicit pixel-width transitions. Suppress transitions on mount to prevent initial flash. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * feat: keyboard shortcuts tab and settings reorganization Add Shortcuts tab to settings with OS-aware key cap styling and organized shortcut groups. Move Obsidian and Bear integrations to dedicated tabs under an Integrations sidebar group, leaving compact navigation links on the Saving tab. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * feat: Alt/Option key to switch between Select and Pinpoint Hold Alt to temporarily switch input method (reverts on release). Double-tap Alt to permanently toggle. Added to keyboard shortcuts panel in settings. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * fix: remove md:py-8 to use consistent py-3 padding Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * fix: toolbar polish — icon swap, full opacity active states, styling Move text-bracket icon to Select, pencil to Markup. Active buttons use full opacity backgrounds with contrasting foreground. Help link lowercase with updated styling. Revert md:py-8 padding. Add gap between buttons in pill groups. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * fix: match toolbar button sizing to main branch Use text-xs (12px) and px-2.5 padding to match main branch button rendering. Active state uses bg-background with no color tint. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * feat: smarter pinpoint hover — edge-zone tables, row targeting, list groups Table edge-zone detection: top/bottom edges target whole table, left/right edges target the specific row, interior targets individual cells. List group wrappers create hover zones in gaps between consecutive list items. Demo plan now includes sample tables for testing. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * chore: remove unused InputMethodToggle component Superseded by AnnotationToolstrip which unified input method + mode switching. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * chore: remove unimplemented S3 paste store stub Never used — paste service runs on Cloudflare KV and local FS. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * chore: remove dead ModeSwitcher component Replaced by AnnotationToolstrip which unified mode switching + input method toggle. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>