Commit Graph

  • 9321864393 M13: ROADMAP: session 12 progress (OCR, JavaScript, in-place editing) Brandon Thomas 2026-10-03 04:42:32 -04:00
  • 06f8d73ec7 M6: Acrobat JavaScript: sandboxed boa engine with the forms object model (printcraft-js); custom keystroke/validate/calculate/format scripts, button scripts, document JavaScripts, JavaScript console (⌘J), Preferences ▸ Enable JavaScript; js_run, js_document_scripts, js_set_document_script, form_set_script, js_enabled tools Brandon Thomas 2026-10-03 04:41:47 -04:00
  • a7ffee01b5 M10: Recognize text in multiple files (ocr.recognize_batch, ocr_recognize_files): searchable copies written to a folder in the background Brandon Thomas 2026-10-03 03:54:11 -04:00
  • b87cf39168 M10: Scan & OCR ▸ Recognize text: ocrs-based recognition (models fetched by cargo xtask models), invisible searchable text layer, Recognize Text dialog with background progress; ocr_recognize / ocr_status tools Brandon Thomas 2026-10-03 03:47:58 -04:00
  • d7c22d7ef0 M7: Justify, underline, line spacing, character spacing and horizontal scale for existing paragraphs (and justify for added text); Lucide align-justify icon Brandon Thomas 2026-10-03 03:16:03 -04:00
  • 385313e0bf M7: Format existing text: font family, bold/italic, size, colour and alignment for a paragraph (Format text panel live while editing; text_edit formatting arguments); centred and right-aligned paragraphs are detected Brandon Thomas 2026-10-03 03:07:43 -04:00
  • c2f53d5595 M7: Edit text & images: select existing page images to move, resize, rotate, flip, replace, save or delete; page_images, image_edit, image_save tools Brandon Thomas 2026-10-03 02:55:08 -04:00
  • 695e460bbb M7: Edit text works on paragraphs: detection, in-place editing with rewrap to the box, original spacing, colour and font (or Helvetica); text_paragraphs and text_edit paragraph Brandon Thomas 2026-10-03 02:42:18 -04:00
  • fb6208b089 M7: Edit text: click a line of existing text and retype it in place, reusing its font when it can show the text, else Helvetica; text_lines / text_edit tools Brandon Thomas 2026-10-03 02:25:06 -04:00
  • 5a70838884 M7: PDF font tables move to the fonts crate with Unicode decoding/encoding (ToUnicode, WinAnsi/MacRoman/Standard, Differences glyph names, subset glyph checks) Brandon Thomas 2026-10-03 00:42:57 -04:00
  • 2548228b1d M3: frame-budget tests skip (and say so) when the machine is overcommitted Brandon Thomas 2026-10-03 00:42:57 -04:00
  • beb4e14c44 xtask: version test uses gates::root (fixes the xtask test build) Brandon Thomas 2026-10-03 00:42:57 -04:00
  • dab27f098c Roadmap: measured parity (45% of features, ≈35% of effort) and revised Opus 5.5 hour estimate (≈600–1,100 h remaining) Brandon Thomas 2026-10-03 00:30:22 -04:00
  • e849fbcf1b xtask: make version.rs compile here and register cargo xtask version Brandon Thomas 2026-10-02 16:20:47 -04:00
  • 92dd783b7e Web: add Trunk.toml so the release zip finds the site in dist/web with relative URLs v0.1.0 Brandon Thomas 2026-10-02 15:47:40 -04:00
  • 1dd9f27b36 README: tagline names the Adobe app it reimplements; standard Adobe trademark and non-affiliation notice Brandon Thomas 2026-10-02 12:24:17 -04:00
  • ff0d0ac294 README: Crafting Apps table in five columns (icon, app, purpose, GitHub, Website) Brandon Thomas 2026-10-02 12:19:06 -04:00
  • 099ea8c152 README: drop the old DrawCraft name; VectorCraft links to /apps/vectorcraft Brandon Thomas 2026-10-02 12:18:18 -04:00
  • fa601c1641 README: app icons in the Crafting Apps table Brandon Thomas 2026-10-02 12:17:17 -04:00
  • 4466fe8623 Signed release pipeline (macOS/Windows/Linux/Web); README community note Brandon Thomas 2026-10-02 12:06:19 -04:00
  • fcf3a7efa1 M3: About credits Dancing Script (typed signatures) Brandon Thomas 2026-10-02 10:02:18 -04:00
  • 01d0dc67ba M5: Fill & Sign typed signatures and initials (Type or Draw; script-font outlines drawn as filled paths); fill_sign_add signature/initials Brandon Thomas 2026-10-02 09:59:28 -04:00
  • 1f2e267f32 app icon: lion (owner's ArtCraft drawing), Dock/taskbar/launcher wiring, palette docs Brandon Thomas 2026-10-02 09:53:34 -04:00
  • 03fca33d10 M5: Text boxes write rich text (/RC XHTML and /DS) in step with their text and style Brandon Thomas 2026-10-02 08:11:12 -04:00
  • 9372b25d0b M10: Create PDF from JPEG 2000 images (JP2 or codestream, embedded as JPXDecode); M1: looping /Prev chains test Brandon Thomas 2026-10-02 08:07:53 -04:00
  • 80a8087ebc M9: Certificate Viewer (chain, Summary, Details, Trust; export, trust) from the Signatures panel; dialog button rows no longer stretch dialogs Brandon Thomas 2026-10-02 08:00:56 -04:00
  • 183eda77ca M9: Roadmap log Brandon Thomas 2026-10-02 07:55:20 -04:00
  • f58570699e M9: Sign with macOS Keychain identities (keys stay in the Keychain): listed in Sign with a Digital ID; sign_keychain_ids, sign_document id keychain:… Brandon Thomas 2026-10-02 07:55:07 -04:00
  • 294cbd6716 M8: Applying redactions cleans the tags: elements of changed marked content lose Alt/ActualText/E, empty marked content leaves them Brandon Thomas 2026-10-02 07:48:43 -04:00
  • 1d8b1ecb02 M1/M4: Hybrid-reference files: /XRefStm entries replace the table's free entries; signed documents refuse edits that would force a full rewrite Brandon Thomas 2026-10-02 07:45:20 -04:00
  • ba4a7a6d42 M11: Optimizer Clean Up removes invalid links and bookmark destinations and unreferenced named destinations Brandon Thomas 2026-10-02 07:40:51 -04:00
  • 763cd70ece M11: PDF Optimizer ▸ Audit space usage: bytes and share of the file per kind of content; doc_audit_space Brandon Thomas 2026-10-02 07:37:48 -04:00
  • 55275cd935 M3: Advanced Search panel (⇧⌘F): every match with its context, by page; click to go; shares the find bar's search Brandon Thomas 2026-10-02 05:40:22 -04:00
  • e9322b597b M12: Add alternate text: figures one by one with a preview, alternate text or Decorative (content becomes an artifact); accessibility_figures / accessibility_set_alt Brandon Thomas 2026-10-02 05:36:39 -04:00
  • 095a17610f M12: Heading-nesting findings read naturally ("H3 follows an H1") Brandon Thomas 2026-10-02 05:30:38 -04:00
  • e8bc0db811 M5: Custom stamps: create from a PDF page or an image under a category and name, kept in the stamp library, placed at natural size; stamp_custom tool Brandon Thomas 2026-10-02 05:24:28 -04:00
  • d5c659812c M6: Image fields: Prepare a form ▸ Image field places an icon-only button that asks for a picture when clicked (buttonImportIcon recognised natively); form_set_image Brandon Thomas 2026-10-02 05:16:42 -04:00
  • 8486a35207 M4: Combine files lists the files first: reorder, remove, add more, and choose each file's pages (doc_combine pages) Brandon Thomas 2026-10-02 05:11:25 -04:00
  • 9ba951dd93 M12: Roadmap log for session 11 Brandon Thomas 2026-10-02 05:06:57 -04:00
  • 0b628d5515 M12: Accessibility Checker: new a11y crate with Acrobat's 32 rules in 7 categories, HTML report, fixes (language, title, tab order); options dialog and results panel (Fix, Skip Rule, Explain, Check Again, Show Report); accessibility_check / _report / _fix tools Brandon Thomas 2026-10-02 05:05:56 -04:00
  • 1e69a92c41 M10: Export a PDF ▸ Export all images: JPEGs unchanged, other images as PNG with alpha; skipped images reported; doc_export_all_images Brandon Thomas 2026-10-02 04:47:45 -04:00
  • f1817459f2 M10: MCP resources for open documents: information, text, page text and page images (resources/list, templates, read) Brandon Thomas 2026-10-02 04:42:21 -04:00
  • 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 Brandon Thomas 2026-10-02 04:40:25 -04:00
  • 6a9dd32ef9 M3: Tabs and the window title show the document title when Initial View asks for it (DisplayDocTitle); parity for setting the document language Brandon Thomas 2026-10-02 04:34:26 -04:00
  • d26821fdcd M3: View ▸ Zoom ▸ Fit visible (⌘3): zoom so the current page's visible content spans the window Brandon Thomas 2026-10-02 04:32:03 -04:00
  • c0f9c73ae9 M6: Prepare a form ▸ Preview (fill the form as a reader would; Edit fields goes back) and Field Properties ▸ Locked (annotation Locked flag; properties greyed out until unlocked, values still fillable); form_set_props takes locked Brandon Thomas 2026-10-02 04:28:19 -04:00
  • 4df7a73a1a M6: Several fields at once in Prepare a form: Shift/⌘-click to select, then right-click to Align (left, right, top, bottom, centres), Distribute evenly, or Set Fields to Same Size, anchored on the right-clicked field; one undo step each. Test fix: the area-highlight test waits for the text layer before dragging over text Brandon Thomas 2026-10-02 04:23:22 -04:00
  • aac0db461d M6: Duplicate a field across pages (right-click ▸ Duplicate…, all pages or a range): widgets of the same field share one value; a field that is its own widget is split into a field and a widget kid. Prepare mode gets a field context menu (Properties, Duplicate, Delete) Brandon Thomas 2026-10-02 04:20:26 -04:00
  • cce71c7607 M6: Date picker: date fields show a month calendar while focused; the picked day is written in the field's own format Brandon Thomas 2026-10-02 04:17:02 -04:00
  • e0d954f10a M5: Eraser for drawings (Draw flyout): rubs out the parts of ink strokes it passes over, splitting strokes and deleting emptied drawings, in one undo step Brandon Thomas 2026-10-02 04:12:36 -04:00
  • 968d26a41e M5: Attach a file as a comment (push pin, paperclip, graph or tag icon in PrintCraft's own drawings; the file is embedded and listed under Attachments); comment_add type attachment Brandon Thomas 2026-10-02 04:09:44 -04:00
  • bf58d1f6bf M5: Area highlight (drag the highlighter off text) and Replace Text (strikeout plus a grouped caret holding the replacement; Highlight flyout, comment_add type replace) Brandon Thomas 2026-10-02 04:05:25 -04:00
  • fe46d6fa3a M3/M4: Roadmap log Brandon Thomas 2026-10-02 04:00:22 -04:00
  • e61f75d69a M3: Marquee zoom (drag to fill the window with an area, click to zoom in) and Take a Snapshot (copies an area at the current zoom to the clipboard as an image) Brandon Thomas 2026-10-02 04:00:12 -04:00
  • 7515170103 M4: Cut, copy and paste pages in Organize Pages (⌘C/⌘X/⌘V and a thumbnail context menu; paste after the selection, across documents; the last page can't be cut) Brandon Thomas 2026-10-02 03:57:11 -04:00
  • 4991a59479 M5/M6: Make Current Properties Default for comments (colour, opacity, width become the tool's default); required fields get a red border when fields are highlighted Brandon Thomas 2026-10-02 03:53:59 -04:00
  • c6d82ab62a M4: Initial View: Document Properties ▸ Initial View (navigation panel, page layout, magnification, open-to page, window and interface options) and Advanced ▸ reading options (binding, language), honoured when a document opens; script open actions are kept; Bookmarks panel options expand all, expand top-level or collapse all; doc_initial_view tool (85 tools) Brandon Thomas 2026-10-02 03:50:56 -04:00
  • 05195a2af6 M7: Backgrounds and watermarks from a file: an image or a page of a PDF (imported as a form XObject that draws upright, inherited resources included), scaled relative to the page, with rotation, opacity and placement; Source ▸ File in the dialogs; doc_watermark / doc_background take file, file_page and scale Brandon Thomas 2026-10-02 03:44:22 -04:00
  • d97711302c M6: Order tabs manually: the Fields panel lists fields in tab order and, while preparing a form, moves a field earlier or later on its page (widgets reordered in /Annots, other annotations keep their places, page switches to annotation order); form_tab_order takes field + move Brandon Thomas 2026-10-02 03:37:13 -04:00
  • 65c3f84ea8 M11: Roadmap and status (≈ 27%) Brandon Thomas 2026-10-02 03:33:18 -04:00
  • 17e3eb255d M8: Redaction Properties: overlay text font (Helvetica, Times, Courier), size or auto-size, colour, alignment and repeat, written as /DA, /Q and /Repeat and drawn on apply; overlay fonts are added to the page only when used Brandon Thomas 2026-10-02 03:33:01 -04:00
  • dfae15ec67 M6: Field Properties ▸ Options for every field type: text alignment, default value, scroll long text, rich text, password, file selection, spell check, comb of characters (with its rules); choice defaults, sort items (the list is reordered), custom text, multiple selection, commit immediately; check box / radio checked by default and radios in unison. Reset form restores defaults. form_set_props takes align, default and flags Brandon Thomas 2026-10-02 03:28:44 -04:00
  • 09c1404d95 M4/M1: Drag page thumbnails to reorder (selection or the grabbed page, insertion bar, one undo step); damaged files say they were repaired, and Document Properties ▸ Advanced lists the repairs Brandon Thomas 2026-10-02 03:22:58 -04:00
  • 9fcece8afb M11.1: PDF Optimizer: new optimize crate measures each image's effective resolution where pages draw it and resamples (bicubic) and recompresses (JPEG quality steps or ZIP) colour and grayscale images, soft masks with them, only when smaller; discards thumbnails, alternate images, tags and print settings; Flate for unencoded streams. Reduce File Size now downsamples like Acrobat (150 ppi above 225, JPEG medium); Optimize PDF dialog (Images, Discard Objects, Discard User Data, Clean Up) composes Remove Hidden Information; doc_optimize tool (84 tools) Brandon Thomas 2026-10-02 03:18:47 -04:00
  • 68ea2a068a M9 perf: signature revalidation after edits reuses the signed ranges' digests and the parsed signed revision (DigestCache per document) and no longer scans the file for revision markers: a comment edit on a 120 MB signed file takes 6 ms instead of 84 ms; cos exposes xref entries so unchanged objects are skipped when diffing revisions Brandon Thomas 2026-10-02 03:06:54 -04:00
  • dee7bef0ea M9: Roadmap and status (≈ 26%) Brandon Thomas 2026-10-02 03:00:04 -04:00
  • 7ff3053fda M9.6: --dialog sign|certify opens Sign with a Digital ID (headless screenshots, control channel) Brandon Thomas 2026-10-02 03:00:04 -04:00
  • bb1d9a0d8a M9.6: Use a certificate in the app: Digitally sign / Certify (draw a rectangle, or click an empty signature field) and Certify (invisible); Sign with a Digital ID, Configure New Digital ID (create a self-signed ID or use a .p12/.pfx) and Sign as dialogs with appearance preview, reason, location and certification permissions; signing saves; Signatures panel (status, details, trust, view signed version, export certificate); signature message bar; digital IDs and trusted certificates persist. Fix: locate signature placeholders by their unique ByteRange marker (full saves renumber objects) Brandon Thomas 2026-10-02 02:59:19 -04:00
  • 64e900f270 M9.5: Signatures in the engine and for agents: every document carries its validated signature fields (revalidated on edits and against the session's trusted certificates); Session::sign/mark_signed (signing saves; history before signing is dropped); full rewrites of signed documents are refused; certificates load from PEM/DER; sign_list, sign_id_create, sign_document and sign_trust tools (83 tools) Brandon Thomas 2026-10-02 02:50:08 -04:00
  • e06a98adaa M9.1–M9.3: new sign crate: DER, X.509, CMS SignedData, PKCS #12 (PBES2 and legacy, MAC) on RustCrypto with aws-lc-rs for RSA private keys; PAdES B-B signing (new or existing field, visible or invisible, DocMDP certification) with an incremental placeholder save; validation (digest, signature, chain against a trust store, changes after signing classified under DocMDP); checked against pdfsig and OpenSSL Brandon Thomas 2026-10-02 02:43:46 -04:00
  • fb3eca5dcc M5/M10: Comments panel filters by colour (named swatches) and checkmark; Create PDF from clipboard (image at its size, or text) Brandon Thomas 2026-10-02 02:14:50 -04:00
  • 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 Brandon Thomas 2026-10-02 02:11:52 -04:00
  • 18b0532e61 M5: Roadmap and status for session 10 (≈ 23%) Brandon Thomas 2026-10-02 02:02:39 -04:00
  • 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) Brandon Thomas 2026-10-02 02:02:14 -04:00
  • ed8a002465 M7: Links: Link tool (drag to create; outlines, select, double-click for Link Properties, Delete), Link Properties (visible/invisible, highlight, thickness, style, colour; go to a page or open a web page), Create links from URLs in the text, Remove all links; link_list/link_add/link_edit/link_delete/links_from_urls/links_remove tools (75 tools) Brandon Thomas 2026-10-02 01:49:33 -04:00
  • dfc940b8f1 M4: Organize extras: split by top-level bookmarks (named after them) and by file size; Extract options (separate files, delete after extracting); Rotate Pages dialog with range, even/odd and landscape/portrait filters; Organize ▸ Select odd/even/landscape/portrait; doc_split bookmarks/max_mb, page_extract separate/delete, page_rotate subset/orientation Brandon Thomas 2026-10-02 01:42:38 -04:00
  • f31d89bc9d M5: Add a stamp: palette of Dynamic (By author at time, date), Sign Here and Standard Business stamps in PrintCraft's own design (ISO stamp names where defined; foreign stamps keep their artwork); click to place; comment_add type stamp Brandon Thomas 2026-10-02 01:37:13 -04:00
  • 22a8691475 M5.6/M6.7: Comment and form data exchange: new xfdf crate (L4): XFDF (ISO 19444-1) export/import of comments (replies, pop-ups, ink, quads, line ends, flags, colours) and nested field values; FDF both ways; form data as Acrobat XML, CSV and tab-delimited text. Import replaces comments with the same name and sets values through formats/validation (read-only fields take data). Import/Export commands; doc_export_data/doc_import_data tools (69 tools) Brandon Thomas 2026-10-02 01:31:56 -04:00
  • 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 Brandon Thomas 2026-10-02 01:26:00 -04:00
  • a0bd0a85f0 Roadmap: session 9 later arcs (≈ 21%) Brandon Thomas 2026-10-02 01:18:52 -04:00
  • 098d9ed4e1 M7.5: Edit image for added images: rotate (the box turns around its centre), flip horizontal/vertical, crop each side (clipped), replace the picture keeping box and transforms; Edit panel tools, content_update rotate/flip/crop/image; pixel-checked rendering Brandon Thomas 2026-10-02 01:18:31 -04:00
  • 92d37ca696 M6.6/M6.8: Field Properties Appearance tab (border/fill colour, thickness, solid/dashed/beveled/inset/underline, text colour, Helvetica/Times/Courier); tab order by rows/columns/structure (page /Tabs) honoured by Tab; push buttons run Reset form, Named (print, page navigation), URI, Go to and common one-line scripts (this.print, this.resetForm, app.alert, pageNum) without a JS engine; form_tab_order tool and appearance in form_set_props (67 tools) Brandon Thomas 2026-10-02 01:15:02 -04:00
  • 24f5768be4 M6.3/M6.6: Form formats, validation and calculation without a JavaScript engine: Acrobat's AF calls (AFNumber/AFPercent/AFDate/AFTime/AFSpecial format and keystroke, AFRange_Validate, AFSimple_Calculate, simplified field notation) recognised and run natively in Acrobat's event order (keystroke on commit, validate with Acrobat's messages, calculate in /CO order, format for display); Field Properties Format/Validate/Calculate tabs write the same scripts; form_set_props format/validate/calculate, form_fields reports them Brandon Thomas 2026-10-02 01:07:37 -04:00
  • 0d21de431a M3.10: Frame-time budget tests on a 500-page document (scrolling, Comments with 500 cards, Pages thumbnails, Fields) Brandon Thomas 2026-10-02 00:59:17 -04:00
  • 57980200e2 M7.4: Edit a PDF ▸ Add content: text (click and type; standard fonts, size, bold/italic, colour, alignment, wrapping) and images (PNG/JPEG/TIFF/GIF/BMP, centred at natural size) as page content that stays editable: each item is its own tagged content stream with its parameters, drawn in display space; select, move, resize (images keep proportions), double-click to retype, Format text panel, Delete; Bates numbering ▸ Add opens Header & Footer with a Bates number. content_list/page_add_text/page_add_image/content_update/content_delete tools (66 tools). Lucide align-center/right icons Brandon Thomas 2026-10-02 00:58:03 -04:00
  • 81d0af6c7f M10.3/M10.4: Create from TIFF (every page; 1-bit scans stay 1-bit; resolution from the file), GIF and BMP; opening those converts them. Export pages as JPEG (quality) and TIFF besides PNG, in the dialog and doc_export_images Brandon Thomas 2026-10-02 00:46:58 -04:00
  • 2aa29254da M10.5: Print: new print crate (L4) imposes the pages to print onto sheets (Fit/Actual/Shrink/Custom, Multiple pages per sheet with order, borders and auto-rotate, Booklet, Poster with overlap and cut marks, orientation, Comments & Forms honouring the Print flag) as a fresh print-ready PDF; page ranges with labels, odd/even, reverse; CUPS spooler (printers, copies, collation, duplex, monochrome). Print dialog (⌘P) with a live sheet preview from page thumbnails and Save as PDF; print permission enforced; printers/doc_print tools (61 tools) Brandon Thomas 2026-10-02 00:40:57 -04:00
  • ff3dd114d6 Roadmap: session 9 (≈ 18%) Brandon Thomas 2026-10-02 00:30:48 -04:00
  • d2926538bd M8.4: Remove Hidden Information and Sanitize Document: scan with per-category counts (metadata, attachments, comments, form fields, hidden text in render modes 3/7 or off the page, hidden layers' content and groups, bookmarks, links/actions/JavaScript, private data); remove chosen categories (fields flattened so values stay visible) or all; full rewrite on save. Dialogs with checkboxes and counts, Sanitize confirmation; doc_hidden_info/doc_remove_hidden tools (59 tools) Brandon Thomas 2026-10-02 00:30:18 -04:00
  • 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 Brandon Thomas 2026-10-02 00:24:29 -04:00
  • d8209fcbd2 M6.6: Prepare a form: add text, date, check box, radio (new group or join the selected one), drop-down, list box, button and signature fields with Acrobat's names (Text1, Check Box1, Group1…) by click or drag; fields shown with blue fill and name tags, select/move/resize/Delete; Field Properties (General, Appearance font size, Position, Options); engine AddField/SetFieldProps/DeleteField; form_add_field/form_set_props/form_delete_field tools (54 tools). Fix: check box appearance states were direct streams that read back as null after saving Brandon Thomas 2026-10-02 00:04:25 -04:00
  • 79fc2e9c71 M4.4: Replace pages (Acrobat semantics: page content, resources and boxes replaced; links, comments, fields and bookmarks kept): organize replace_pages, engine ReplacePages, file picker + Replace Pages dialog, page.replace command, page_replace tool (51 tools) Brandon Thomas 2026-10-01 23:46:34 -04:00
  • 750fb9a337 Roadmap: session 8 later arcs (≈ 16%) Brandon Thomas 2026-10-01 23:42:17 -04:00
  • 4cdf74a4f2 M5.5/M6.7: Flatten comments and form fields: appearances (with /AS states) drawn into page content by Algorithm 8.1, pop-ups and replies removed, flattened widgets pruned from the field tree, links and hidden annotations kept; engine Flatten edit, comment.flatten/form.flatten commands, doc_flatten tool (50 tools) Brandon Thomas 2026-10-01 23:41:59 -04:00
  • 245c468bc7 M5.4: Comment Properties (appearance: colour, opacity, thickness, note icon; general: author, subject; review history) from the canvas and card menus, one undo step; Comments panel filter (type, author, status) and sort (page, author, date, type, colour) with group headers; annot set_info/props Brandon Thomas 2026-10-01 23:35:30 -04:00
  • adb644c5e1 M10.2/M11.1: Create a PDF (blank, from PNG/JPEG images at their resolution with transparency, from plain text) in a new create crate (L4); opening an image or text file converts it to a new unsaved PDF; Reduce file size (resource merge across the document, GC, object streams) writes a compact copy; Create group Ready; doc_create/doc_reduce tools (49 tools). Fix: the Hand tool did not pan (the page widget took the drag) Brandon Thomas 2026-10-01 23:29:17 -04:00
  • 2c69c02699 M5.7: Fill & Sign: typewriter text, check/cross/dot/line marks (PrintCraft-drawn stamps), today's date (local time), drawn signature (signature pad, saved in settings, placed by click); quick-bar Fill & Sign flyout, 7 commands, catalog Ready; fill_sign_add tool (47 tools) for agents filling flat forms; local UTC offset via chrono (already in the graph) Brandon Thomas 2026-10-01 23:21:11 -04:00
  • ba944746e5 M10.3 (first formats): Export a PDF to images (PNG, 72–600 dpi) and text: engine export module (Exporter over the working file, so unsaved edits and hidden layers apply), export dialogs with page ranges, background export thread with progress notices (in place + downloads on the web), export.image/export.text commands, doc_export_images/doc_export_text tools (46 tools) Brandon Thomas 2026-10-01 23:09:49 -04:00
  • fbab67c7dc Roadmap: session 8 progress (M4 88%, M7 6%, overall ≈ 14%) Brandon Thomas 2026-10-01 23:03:40 -04:00
  • d1323abaff M7.6: header & footer, watermark, background: new model (L2: page tree with inheritance, display geometry) and edit (L4) crates; marks drawn in display space on rotated pages, artifact-tagged and /PCMark-tagged (found without decompressing), original content wrapped in q/Q, page resources copied not shared; Acrobat tokens (page numbers, dates, Bates); Add/Update/Remove with exact restore of the original content; dialogs with page range options (subsets) and previews; 9 commands; tools doc_header_footer/doc_watermark/doc_background/doc_remove_marks (44 tools); dialogs outline their controls Brandon Thomas 2026-10-01 23:03:20 -04:00