Sort word lists by Google Books frequency (most common first).
Add vocabulary dropdown (Common/Standard/Extended/Full) to word
mode UI that controls how many words are searched.
Co-Authored-By: Claude Opus 4.6 <[email protected]>
When known_start was set with capitalized casing, the unknown portion was
forced to all-lowercase, breaking width measurements for multi-word names
(e.g., "hn doe" instead of "hn Doe"). Added _case_unknown_portion helper
that respects word boundaries. Also fixed effective_left/right kerning
context to use correctly cased characters from the display string.
Co-Authored-By: Claude Opus 4.6 <[email protected]>
- Add [hidden] { display: none !important } to prevent CSS specificity overrides
- Cache matchMedia query instead of creating new MediaQueryList per call
- Guard setSheetSnap against being called on desktop
Co-Authored-By: Claude Opus 4.6 <[email protected]>
7-task plan for bottom-sheet responsive redesign covering HTML restructuring,
desktop/mobile CSS, sheet snap behavior, tab switching, and integration.
Co-Authored-By: Claude Opus 4.6 <[email protected]>
- Add touch-action: none to #right-panel for reliable custom
touch handling
- Show delete button on mobile (no hover state on touch devices)
Co-Authored-By: Claude Opus 4.6 <[email protected]>
CSS-responsive approach with tab-based navigation at ≤768px,
full-screen solver modal, and single-finger touch pan.
Co-Authored-By: Claude Opus 4.6 <[email protected]>
- Replace redaction marker span with editable input for manual guesses
- Typing in the guess field sets r.preview and shows Accept button
- drawRedactionPreview now renders left+guess+right as continuous text
with natural font kerning (no fixed gap width during preview)
- Active preview: green left, yellow highlighted guess, green right
- Inactive preview: full merged text in yellow
Co-Authored-By: Claude Opus 4.6 <[email protected]>
The approved draw function was only drawing text with no overlay on the
redaction box area, making it look like the redaction disappeared.
Now draws a blue semi-transparent box over the redaction area (like
other states) plus the merged blue text along the line.
Also made the approved CSS badge green (--accent) to distinguish it
from the blue analyzed badge.
Co-Authored-By: Claude Opus 4.6 <[email protected]>
- Delete inline-edit.js and all references
- Remove backspace/delete key handler for redaction deletion
- Clean up popover.js syncInlineEdit references
Co-Authored-By: Claude Opus 4.6 <[email protected]>
analyze_spot_redaction is now async and calls identify_boundary_text()
to use Claude Haiku for clean left/right text extraction instead of
center-point character filtering. Falls back to center-point if LLM
is unavailable.
Co-Authored-By: Claude Opus 4.6 <[email protected]>
Missed files from the inline text editing task — adds the inline-edit
module and wires up bidirectional sync between popover text bar and
inline canvas inputs.
Co-Authored-By: Claude Opus 4.6 <[email protected]>
Enrich POST /api/doc/{doc_id}/page/{page}/spot to call
analyze_spot_redaction when OCR data is cached, returning full
analysis JSON (segments, gap, font, line, offsets) alongside the
bounding box. This makes spot redactions first-class, matching the
analysis format returned by get_page_data for auto-detected redactions.
Co-Authored-By: Claude Opus 4.6 <[email protected]>