Brandon Thomas
|
19b5b1d6d2
|
M1: List document revisions and open an earlier one (Document Properties ▸ Advanced; doc_revisions, doc_open_revision); PDF version reads 1.7, not 17
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
2026-10-02 04:40:25 -04:00 |
Brandon Thomas
|
7616535dd1
|
M5: Polygon, Connected lines, Cloud (cloudy border appearance), Callout (leader line with arrow, /RD text box, resize re-attaches the leader) and Insert text (caret) comments: annot shapes and appearances, click-to-place-points and drag-to-callout tools in the Comment/Highlight/Draw flyouts, /IT carried to the comment list (Callout, Cloud labels), comment_add types polygon/cloud/polyline/callout/caret
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
2026-10-02 02:11:52 -04:00 |
Brandon Thomas
|
859f03d26e
|
M5: Comment polish: Mark with checkmark (hidden /StateModel /Marked reply; card toggle and menus), Locked comments (Properties ▸ Locked; refuse move/resize/restyle/delete), Copy text, Hide/Show all comments (render setting, vendored hayro patch), Summarize comments (Comments only layout, sort by page/author/date/type); comments panel "…" menu gains hide, summary, export, import; card menu anchored to its button; comment_mark/comment_lock/comments_hide/comments_summarize tools (79 tools)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
2026-10-02 02:02:14 -04:00 |
Brandon Thomas
|
6c921fd8dd
|
M3: Viewer conveniences: Close all (asks only for changed documents), Revert with confirmation, Fit to height, previous/next view (⌘[ ⌘]), page box takes page labels, Select all (⌘A), find options (whole words, case-sensitive), cover page in two-page view, follow the system theme
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
2026-10-02 01:26:00 -04:00 |
Brandon Thomas
|
f8175fb97e
|
M8.5/M8.6/M8.7: Redact a PDF: new content crate (L2: content-stream operators with spans, inline images, serializer, matrices) and redact crate (L4): Redact annotations; apply removes glyphs (TJ displacement keeps the rest in place; simple, composite/CMap and Type 3 fonts), clears covered image pixels (or removes images it can't re-encode), removes or clips vectors and shadings, rewrites form XObjects copy-on-write, removes overlapping comments, links and fields, draws the boxes with overlay text, then verifies and fails closed; redacted documents save as a full rewrite. Search & Redact text and patterns (phone, e-mail, credit card, SSN, dates). UI: Redact tool (text or box), Redact pages, Find text and redact, Set properties, Clear all / Redact all with confirmation; redact_mark/redact_apply/redact_clear tools (57 tools). Fix: deleting a field when /AcroForm is a direct dictionary
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
2026-10-02 00:24:29 -04:00 |
Brandon Thomas
|
67ff9303c8
|
M6.1/M6.2: form filling: new fonts (L2) and forms (L3) crates; field tree with inheritance, widgets, options; set_value with validation and regenerated appearances (auto-size, comb, multiline, password, quadding, /MK, combo, list selection), check/radio states (own AP when missing), reset to /DV; engine SetFieldValue/ResetForm with fill-forms permission; UI in-place editor (Enter/click-away commit, Escape, Tab with select-all), check/radio toggle, choice popup, Clear form; tools form_fields/form_fill/form_reset. Perf: named destinations indexed once (190 MB manual opens in 1.8 s instead of 172 s); comment and form edits refresh view data from the object graph instead of a full re-inspection (6x faster per edit on large files; equivalence-tested). annot uses the shared fonts helpers. Docs, parity, roadmap.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
2026-10-01 22:37:35 -04:00 |
Brandon Thomas
|
ff641c669e
|
M8.1: Protect Using Password: engine Protect/RemoveProtection edits (Acrobat permission levels: printing, changes, copy, screen readers; AES-256/AES-128/RC4 compatibility; encrypt-except-metadata), per-state passwords on the undo stack, owner rights kept after saving, pending security in Document Properties; dialog matching Acrobat's (Viewing/Editing, strength meter, Advanced Options), protect.password/protect.remove commands; doc_protect/doc_unprotect tools (passwords never echoed). Fixes: saving a password-protected document failed to rebase on the encrypted file; DocInfo.encrypted was false for every decrypted file
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
2026-10-01 21:55:00 -04:00 |
Brandon Thomas
|
4058c156f7
|
M5.1/M5.2: comments engine: new annot crate (L3) with builders and appearance streams for sticky note, highlight, underline, strikeout, squiggly, rectangle, oval, line/arrow, ink, text box; reply, review status, move, resize, restyle, delete (with pop-ups and replies); undoable engine edits with /NM ids and dates, annotate-permission check; inspector reports index, state, quads; 6 automation tools (comment_list/add/reply/set_status/edit/delete, highlight by text search)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
2026-10-01 20:44:19 -04:00 |
Brandon Thomas
|
4c4b17e5fa
|
M3.3: render watchdog (a page rendering past 20 s is reported and skipped, later requests fail fast, a bounded replacement worker keeps rendering); ui.state reports page errors
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
2026-10-01 12:23:15 -04:00 |
Brandon Thomas
|
ee254a91a2
|
M2.6: fuzz findings in the bootstrap renderer: paint-nesting cap now covers Type 3 glyphs (stack overflow), hayro skips images over 2^28 px (hang); regression tests
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
2026-10-01 09:48:52 -04:00 |
Brandon Thomas
|
703d057578
|
M3.3: effective_scale floor overrode the size caps (a huge page box rendered 9M px wide); regression tests for the fuzz findings
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
2026-10-01 09:20:36 -04:00 |
Brandon Thomas
|
49c0c6bffc
|
M2.7: text layout follows the dominant text direction (rotated pages read along their lines)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
2026-09-30 23:32:23 -04:00 |
Brandon Thomas
|
108fdc108c
|
more progress, roadmap, wip
|
2026-09-30 11:00:02 -04:00 |
Brandon Thomas
|
f0b5f8ff55
|
one-shot first ver
|
2026-09-30 05:17:08 -04:00 |