mirror of
https://github.com/storytold/pdfcraft.git
synced 2026-10-28 20:18:06 -06:00
Docs: sync the progress docs with issues closed on 2026-10-10 (#1064)
The parity and roadmap docs were last refreshed before a batch of fixes merged, so they still described closed issues as open problems. - #774 (encrypted output rejected by Acrobat, fixed by #836): gap 1 removed from gaps.md; its remaining interop-suite work moved to gap 12. Gap numbers are kept so existing "gap N" references stay valid. - #756 (Windows printing, #847): Printers row, Print area and roadmap rank 1 now name web printing as the remaining gap. - #740 column select (#765), #759 1:1 touchpad scrolling (#868), #810 Shift-Cmd-G (#835), #825 (#822). - #844 multi-object move (#907): marked partial, same page only. - #799, #800, #807, #809, #811, #815-#819, #821 (incl. the #816 panic): gap 6 and the area tables list them as fixed. Scores, readiness percentages and the stage are not re-judged; only the rank-0 estimate drops by gap 1's 8-15 h (40-70 -> 32-55). Co-authored-by: Brandon Thomas <echelon@gmail.com>
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
# File format parity
|
||||
|
||||
> **Last reviewed:** 2026-10-10 · **Last updated:** 2026-10-10 · **Change:** major (first format matrix; Acrobat's formats from its bundle) · **Target:** Adobe Acrobat Pro (Acrobat DC, continuous track 26.002.21931, macOS)
|
||||
> **Last reviewed:** 2026-10-10 · **Last updated:** 2026-10-11 · **Change:** minor (encrypted output opens in Acrobat, #774; XFDF fixes #807, #809, #819) · **Target:** Adobe Acrobat Pro (Acrobat DC, continuous track 26.002.21931, macOS)
|
||||
|
||||
Every format Acrobat Pro reads or writes, and PdfCraft's support for it. Acrobat's list comes from
|
||||
its bundle's `Info.plist` `CFBundleDocumentTypes` (what it opens) and its public documentation
|
||||
@@ -22,7 +22,7 @@ features total).
|
||||
|---|---|---|---|---|
|
||||
| PDF 1.0–1.7, ISO 32000-1 | R W | R W | high for reading and unencrypted writing | 958-file pdf.js corpus open/edit/save; `qpdf --check` on saved outputs; `xtask check` baselines |
|
||||
| PDF 2.0 (ISO 32000-2) | R W | R W (2.0-only features ignored but preserved) | good | No UTF-8 strings, `/AF`, DPart, namespaces ([pdf-spec-parity.md](pdf-spec-parity.md)) |
|
||||
| Encrypted PDF (standard security R2–R6) | R W | R W | **reading high; writing fails in Acrobat and Reader** | `crates/crypt`, `crates/cos` tests; all 7 corpus encrypted files open; **#774** |
|
||||
| Encrypted PDF (standard security R2–R6) | R W | R W | reading high; writing opens in Acrobat DC since #836 (#774; AES-256 and RC4-128 checked by hand, no automated interop suite) | `crates/crypt`, `crates/cos` tests (`the_catalog_of_an_encrypted_document_stays_outside_object_streams`); all 7 corpus encrypted files open |
|
||||
| Certificate-encrypted PDF (public-key handler) | R W | none (clear message) | none | `core.unsupported-handlers` |
|
||||
| Linearized PDF (Fast Web View) | R W | R (as normal PDF); no W | none for W | `core.linearization` planned |
|
||||
| Damaged PDF | R (repair) | R (repair, logged) | high | `core.repair-broken-files`, nightly fuzzing |
|
||||
@@ -35,7 +35,7 @@ features total).
|
||||
|
||||
| Format | Acrobat | PdfCraft | Fidelity | Tests and evidence |
|
||||
|---|---|---|---|---|
|
||||
| FDF (`.fdf`) comments and form data | R W | R W | good | `crates/xfdf`; bugs #807, #809, #819 in comment exchange |
|
||||
| FDF (`.fdf`) comments and form data | R W | R W | good | `crates/xfdf`; comment-exchange fixes for popups, polygon vertices and callouts (#807, #809, #819) |
|
||||
| XFDF (`.xfdf`, ISO 19444-1) | R W | R W | good | as above |
|
||||
| XML form data | R W | R W | good | `form.data-xml-csv-txt` |
|
||||
| XDP (`.xdp`, XFA data package) | R | none | none | Acrobat opens `.xdp` as a document type |
|
||||
@@ -109,4 +109,5 @@ features total).
|
||||
|
||||
| Date | Change | Summary |
|
||||
|---|---|---|
|
||||
| 2026-10-11 | minor | Encrypted PDF row: written files open in Acrobat DC (#774, fixed by #836). FDF row: #807, #809 and #819 fixed |
|
||||
| 2026-10-10 | major | Created from Acrobat 26.002.21931's `CFBundleDocumentTypes`, Acrobat's public Create/Export documentation, and PdfCraft's code and checklist |
|
||||
|
||||
+17
-31
@@ -1,6 +1,7 @@
|
||||
# Where PdfCraft falls short of Acrobat Pro
|
||||
|
||||
> **Last reviewed:** 2026-10-10 · **Last updated:** 2026-10-11 · **Change:** patch (gap 2: hayro patch counts after the native-gradient backport) · **Target:** Adobe Acrobat Pro (Acrobat DC, continuous track 26.002.21931, macOS)
|
||||
> **Last reviewed:** 2026-10-10 · **Last updated:** 2026-10-11 · **Change:** minor (gap 1 closed by #836; fixed issues removed from gaps 3, 6 and 16) · **Target:** Adobe Acrobat Pro (Acrobat DC, continuous track 26.002.21931, macOS)
|
||||
|
||||
Every known shortfall, one entry each, ranked by what it costs users. This is the work list: agents
|
||||
choose from the top unless the owner says otherwise, and prefer these over new P2/P3 checklist
|
||||
@@ -8,8 +9,9 @@ features. The numbers behind it are in [target-app-parity.md](target-app-parity.
|
||||
detail is in `parity/acrobat-features.toml` (`cargo xtask parity --partial` lists what each partial
|
||||
feature lacks).
|
||||
|
||||
No gap blocks the [alpha gate](roadmap.md#alpha-gate); gaps 1 and 8 hold the convert-and-share
|
||||
workflow's partial sub-cases and are the first beta items.
|
||||
No gap blocks the [alpha gate](roadmap.md#alpha-gate); gap 8 holds the convert-and-share
|
||||
workflow's partial sub-cases and is the first beta item. Gap numbers are kept when a gap closes, so
|
||||
references elsewhere stay valid (gap 1, encrypted output Acrobat rejected, closed with #836).
|
||||
|
||||
Hours are Opus 5.5 agent wall-clock hours. "Doc" names the parity document the gap belongs to.
|
||||
When a gap closes, delete its entry, note it in the [ROADMAP.md](../ROADMAP.md) progress log and
|
||||
@@ -19,7 +21,6 @@ update the numbers.
|
||||
|
||||
| # | Gap | Kind | Hours | Doc |
|
||||
|---|---|---|---|---|
|
||||
| 1 | Encrypted files we write don't open in Acrobat | file format | 8–15 | [file-format-parity.md](file-format-parity.md) |
|
||||
| 2 | Rendering is borrowed and its fidelity unmeasured | feature, spec | 110–190 | [pdf-spec-parity.md](pdf-spec-parity.md) |
|
||||
| 3 | Editing existing text is fragile on real files | feature | 100–180 | [target-app-parity.md](target-app-parity.md) |
|
||||
| 4 | No printing on the web | feature, platform | 15–30 | [hardware-parity.md](hardware-parity.md) |
|
||||
@@ -46,22 +47,6 @@ update the numbers.
|
||||
|
||||
## The gaps
|
||||
|
||||
### 1. Encrypted files we write don't open in Acrobat
|
||||
|
||||
- **Missing:** interoperable encryption output. A document protected with a password in PdfCraft
|
||||
opens in PdfCraft, SumatraPDF, PDF24 and LibreOffice, but Adobe Reader, Acrobat and PDF-XChange
|
||||
report it as damaged.
|
||||
- **Evidence:** [#774](https://github.com/storytold/pdfcraft/issues/774) (2026-10-10, confirmed by a
|
||||
second user). Our encryption tests round-trip through our own reader and `qpdf --check`, which
|
||||
is more lenient than Acrobat.
|
||||
- **Impact:** blocking. Passwords are the most common reason to touch security; a file a recipient
|
||||
can't open is data loss in practice. Partial sub-case of the convert-and-share gate row (unencrypted sharing works), so not an alpha blocker; the first beta item.
|
||||
- **Fix:** find the divergence (likely `/Encrypt` dictionary or R6 `/Perms`/`/OE`/`/UE` details, or
|
||||
a string/stream encrypted that must not be), then add an interop suite that opens every kind of
|
||||
output we write in other readers (pdf.js, MuPDF and Poppler as oracle processes; Acrobat by hand
|
||||
on the owner's Mac).
|
||||
- **Estimate:** 8–15 h. **Doc:** [file-format-parity.md](file-format-parity.md).
|
||||
|
||||
### 2. Rendering is borrowed and its fidelity unmeasured
|
||||
|
||||
- **Missing:** our own renderer (M2: `model` crate, font engine, DisplayList devices, ADR-0004), or
|
||||
@@ -90,7 +75,8 @@ update the numbers.
|
||||
`edit.rtl-cjk-editing`, `edit.rotated-text-editing`, `edit.keep-tags-on-edit`,
|
||||
`edit.vector-edit`, `edit.edit-object-tool` are planned. Users:
|
||||
[#766](https://github.com/storytold/pdfcraft/issues/766) (editing Arabic text),
|
||||
[#844](https://github.com/storytold/pdfcraft/issues/844) (can't move several elements),
|
||||
[#844](https://github.com/storytold/pdfcraft/issues/844) (several elements now move together on
|
||||
one page, not across pages),
|
||||
[#787](https://github.com/storytold/pdfcraft/issues/787) (move images between pages),
|
||||
[#791](https://github.com/storytold/pdfcraft/issues/791).
|
||||
- **Impact:** "Edit PDF" is one of Acrobat Pro's top reasons to buy. Substituting Helvetica changes
|
||||
@@ -123,14 +109,12 @@ update the numbers.
|
||||
|
||||
### 6. Open-issue backlog of wrong results in shipped features
|
||||
|
||||
- **Missing:** fixes for ≈ 25 filed reports of features marked `shipped` that give wrong results,
|
||||
- **Missing:** fixes for the ≈ 13 of ≈ 25 filed reports of features marked `shipped` that give wrong results still open,
|
||||
plus triage of ≈ 220 other open issues.
|
||||
- **Evidence:** 245 open issues on 2026-10-10, e.g. XFDF exchange loses polygon vertices and turns
|
||||
callouts into text boxes (#809, #819), page deletion leaves null destinations (#817, #821),
|
||||
automatic URL linking panics on Unicode text (#816), autosave skips new unsaved PDFs (#815),
|
||||
saving ignores typing in an open paragraph (#811), automation reports success after replacing an
|
||||
earlier result (#799, #800), Shift-Cmd-G goes forward (#810).
|
||||
- **Impact:** every one is a user who lost trust. #816 is a crash, which outranks feature work
|
||||
- **Evidence:** 245 open issues on 2026-10-10. The first batch of `fix(...)` reports was fixed by
|
||||
2026-10-10 (#799, #800, #807, #809, #810, #811, #815, #816, #817, #818, #819, #821); the rest of
|
||||
the backlog is untriaged.
|
||||
- **Impact:** every one is a user who lost trust. Crash reports outrank feature work
|
||||
(`AGENTS.md` §4).
|
||||
- **Estimate:** 45–80 h (≈ 0.2–0.4 h per issue). **Doc:** this file.
|
||||
|
||||
@@ -198,7 +182,9 @@ update the numbers.
|
||||
### 12. No measured fidelity harness against Acrobat
|
||||
|
||||
- **Missing:** side-by-side comparison of rendering, text extraction, form calculation and
|
||||
signature validation against Acrobat on synthetic fixtures.
|
||||
signature validation against Acrobat on synthetic fixtures; an interop suite that opens every
|
||||
kind of output we write (encrypted ones above all, after #774) in pdf.js, MuPDF and Poppler as
|
||||
oracle processes.
|
||||
- **Evidence:** none exists; only text extraction has an oracle (word-F1 0.98 against `pdftotext`).
|
||||
Acrobat captures must stay local in `plan/acrobat/` (clean-room, `AGENTS.md` §1.1).
|
||||
- **Impact:** until it exists, every quality number here is a judgement.
|
||||
@@ -235,10 +221,9 @@ update the numbers.
|
||||
|
||||
### 16. UI precision gaps
|
||||
|
||||
- **Missing:** moving several selected objects together (#844), nudging with arrow keys, single-key tool accelerators,
|
||||
- **Missing:** moving several selected objects across pages (same-page moves shipped, #844), nudging with arrow keys, single-key tool accelerators,
|
||||
rulers, grids and guides, loupe and dynamic zoom, multiple windows and split view, comment
|
||||
pop-ups that can be moved, connector lines, customisable quick tools, column text selection
|
||||
(#740); shortcut display and touchpad scrolling bugs (#746, #759, #721), macOS window controls
|
||||
pop-ups that can be moved, connector lines, customisable quick tools; shortcut display and tool-mode bugs (#746, #721), macOS window controls
|
||||
(#789).
|
||||
- **Estimate:** 30–60 h. **Doc:** [ui-parity.md](ui-parity.md).
|
||||
|
||||
@@ -303,6 +288,7 @@ update the numbers.
|
||||
| Date | Change | Summary |
|
||||
|---|---|---|
|
||||
| 2026-10-11 | patch | Gap 2: 23 hayro-interpret and 10 hayro patches after axial and radial shadings became native gradients (backport of hayro 0.8) |
|
||||
| 2026-10-11 | minor | Closed gap 1 (#774, fixed by #836; numbers kept, its interop suite moved to gap 12); gap 6 lists the fixed #799–#821 batch; gap 3 and 16 updated for #844 (same-page move), #740 (column select) and #759 (1:1 touchpad scrolling) |
|
||||
| 2026-10-10 | minor | Removed the alpha markers: with the cross-app gate rule, gaps 1 and 8 are partial sub-cases, not blockers; stage alpha |
|
||||
| 2026-10-10 | minor | Marked the alpha blockers (gap 1 and the Office part of gap 8) after the core-workflow gate put the stage at pre-alpha |
|
||||
| 2026-10-10 | major | Created. Ranked 24 gaps from the 2026-10-10 re-measure, the open GitHub issues and the former ROADMAP.md §Where we're lacking and where we're going (renderer, hardening, fidelity, editing, Pro workflows, 1.0 polish), which this file replaces |
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# Hardware and platform parity
|
||||
|
||||
> **Last reviewed:** 2026-10-10 · **Last updated:** 2026-10-10 · **Change:** major (first hardware and platform matrix) · **Target:** Adobe Acrobat Pro (Acrobat DC, continuous track 26.002.21931, macOS)
|
||||
> **Last reviewed:** 2026-10-10 · **Last updated:** 2026-10-11 · **Change:** minor (Windows printers row and 1:1 touchpad scrolling, #756, #759) · **Target:** Adobe Acrobat Pro (Acrobat DC, continuous track 26.002.21931, macOS)
|
||||
|
||||
Each hardware feature Acrobat Pro uses, per platform, ours against Acrobat's. Acrobat runs on macOS
|
||||
and Windows (plus a limited web viewer/editor in Document Cloud); PdfCraft runs on macOS, Windows,
|
||||
@@ -17,10 +17,10 @@ printing are counted in their feature areas). **Platforms ≈ 70% ready, 15–30
|
||||
| Multi-threaded rendering | yes | yes (render pool, tiles, watchdog) | yes | yes | single thread | `view.render-priority` |
|
||||
| HiDPI / Retina | yes | yes | yes, per-monitor DPI v2 (#324, #725) | yes | yes | text blurry at 1080p/1440p (#730) |
|
||||
| Multiple monitors | yes, multiple windows | one window | one window; surfaces fit the GPU limit (#577) | one window | n/a | `view.multiple-windows` planned |
|
||||
| Printers | all, PostScript, printer properties | CUPS spooler | **none** (#756) | CUPS spooler | **none** | `crates/print/README.md` |
|
||||
| Printers | all, PostScript, printer properties | CUPS spooler | Windows spooler: lists printers, prints rasterised at the printer's resolution (#756, PR #847) | CUPS spooler | **none** | `crates/print/README.md` |
|
||||
| Scanners (TWAIN, WIA, ICA) | yes | none | none | none (SANE) | n/a | `ocr.scanner-acquire` planned |
|
||||
| Smart cards and USB tokens | yes (PKCS #11, CryptoTokenKit, CNG) | Keychain identities (software keys) | CNG store keys, with PIN prompts for cards (#742) | none (PKCS #11 planned) | none | `sign.pkcs11` planned |
|
||||
| Pen and touch | Touch mode, pen ink, Windows Ink | trackpad pinch zoom; ink from pointer, no pressure | ink from pointer, no pressure or touch mode | as macOS | pointer | touchpad scrolling not 1:1 (#759) |
|
||||
| Pen and touch | Touch mode, pen ink, Windows Ink | trackpad pinch zoom; ink from pointer, no pressure | ink from pointer, no pressure or touch mode | as macOS | pointer | touchpad scrolling 1:1 (#759, PR #868) |
|
||||
| Keyboard input methods (IME) | yes | yes; Japanese and Korean IME fixes patched into winit | yes (Microsoft Korean cursor fix) | X11 and Wayland IME fixes | browser | `vendor/README.md` winit patches 2–10 |
|
||||
| Screen readers | VoiceOver, NVDA, JAWS | AccessKit labels (partial) | AccessKit (partial) | AccessKit (partial) | partial | `a11y.app-screen-reader` partial |
|
||||
| Text to speech (Read Out Loud) | yes | none | none | none | none | `a11y.read-aloud` planned |
|
||||
@@ -42,3 +42,4 @@ printing are counted in their feature areas). **Platforms ≈ 70% ready, 15–30
|
||||
|---|---|---|
|
||||
| 2026-10-10 | major | Created from the code, `vendor/README.md`, `.github/workflows/release.yml`, the print crate's README and user issues |
|
||||
| 2026-10-10 | minor | Windows printing shipped (#756): the Windows row's gap is closed; the web row keeps "printing" |
|
||||
| 2026-10-11 | minor | The Printers row's Windows cell still said none: now the Windows spooler (#756, PR #847). Touchpad scrolling 1:1 (#759, PR #868) |
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# PDF specification and standards parity
|
||||
|
||||
> **Last reviewed:** 2026-10-10 · **Last updated:** 2026-10-10 · **Change:** major (first spec-coverage checklist) · **Target:** Adobe Acrobat Pro (Acrobat DC, continuous track 26.002.21931, macOS)
|
||||
> **Last reviewed:** 2026-10-10 · **Last updated:** 2026-10-11 · **Change:** minor (§7.6.4: written encrypted files open in Acrobat, #774) · **Target:** Adobe Acrobat Pro (Acrobat DC, continuous track 26.002.21931, macOS)
|
||||
|
||||
How much of ISO 32000-2 (PDF 2.0) and the PDF subset standards PdfCraft implements, set against
|
||||
what Acrobat Pro implements. This is PdfCraft's equivalent of a "geometry" or "codec" checklist:
|
||||
@@ -23,7 +23,7 @@ are borrowed; PDF 2.0 additions and most subset standards are missing. **150–2
|
||||
| §7.4 | Stream filters: Flate, LZW, ASCII85, ASCIIHex, RunLength, predictors | full | **own** | `crates/filters` |
|
||||
| §7.4 | Image filters: DCT, JPX, JBIG2, CCITTFax | full | **borrowed** (decode only) | `core.image-filters` partial; own codecs M1.1/M1.2; no JBIG2/CCITT encoding (Optimizer) |
|
||||
| §7.5.8 | Linearization | R W | R only | `core.linearization` planned |
|
||||
| §7.6.4 | Standard security handler R2–R6 (RC4 40/128, AES-128, AES-256), crypt filters, `/EncryptMetadata`, SASLprep | full | **own**, read and write | `crates/crypt`; **written files rejected by Acrobat (#774)** |
|
||||
| §7.6.4 | Standard security handler R2–R6 (RC4 40/128, AES-128, AES-256), crypt filters, `/EncryptMetadata`, SASLprep | full | **own**, read and write | `crates/crypt`; written files open in Acrobat DC since #836 (#774: Acrobat needs the catalog outside object streams) |
|
||||
| §7.6.5 | Public-key security handler | full | none | `core.open-public-key`, `protect.certificate-encryption` planned |
|
||||
| §7.6.2 | Unencrypted signature `/Contents` | yes | yes | signing encrypted documents (#753) |
|
||||
| §7.9.2 | Text strings incl. PDF 2.0 UTF-8 | full | PDFDocEncoding and UTF-16; UTF-8 none | `core.pdf20-utf8-strings` planned |
|
||||
@@ -129,4 +129,5 @@ are borrowed; PDF 2.0 additions and most subset standards are missing. **150–2
|
||||
|
||||
| Date | Change | Summary |
|
||||
|---|---|---|
|
||||
| 2026-10-11 | minor | §7.6.4: encrypted files we write open in Acrobat (#774, fixed by #836) |
|
||||
| 2026-10-10 | major | Created from the code, `vendor/README.md` and `parity/acrobat-features.toml`, against ISO 32000-2 and Acrobat Pro 26.002.21931's documented capabilities |
|
||||
|
||||
+15
-12
@@ -1,5 +1,6 @@
|
||||
# PdfCraft roadmap: milestones and what's next
|
||||
|
||||
> **Last reviewed:** 2026-10-10 · **Last updated:** 2026-10-11 · **Change:** minor (closed issues synced: #774, #756, #817–#821, #809, #819, #816, #844; earlier: localized shortcut labels, #496; alpha gate added; convert-and-share re-judged with the cross-app rule → alpha) · **Target:** Adobe Acrobat Pro (Acrobat DC, continuous track 26.002.21931, macOS)
|
||||
> **Last reviewed:** 2026-10-10 · **Last updated:** 2026-10-11 · **Change:** minor (M6: respect existing form-font encodings; retain source fonts on appearance fallback; estimates unchanged) · **Target:** Adobe Acrobat Pro (Acrobat DC, continuous track 26.002.21931, macOS)
|
||||
> **Last reviewed:** 2026-10-10 · **Last updated:** 2026-10-11 · **Change:** minor (M6: keep accepted form values when Tab reopens the same field before Save; estimates unchanged) · **Target:** Adobe Acrobat Pro (Acrobat DC, continuous track 26.002.21931, macOS)
|
||||
> **Last reviewed:** 2026-10-10 · **Last updated:** 2026-10-11 · **Change:** minor (M13: reject malformed CLI --root options before dispatch; estimates unchanged) · **Target:** Adobe Acrobat Pro (Acrobat DC, continuous track 26.002.21931, macOS)
|
||||
@@ -25,14 +26,14 @@ exchange with Acrobat users or a missing sub-case is `partial, not blocking` (a
|
||||
| Core workflow | Works end to end? | Evidence | Hours to pass |
|
||||
|---|---|---|---|
|
||||
| View, search and print | yes | Render, find, select, panels, tiles; 500-page scrolling test; Print with CUPS on macOS/Linux and the Windows spooler (web printing missing, a beta item). Rendering borrowed from `hayro` | 0 |
|
||||
| Organize, combine and split pages | yes | `organize.*` P0s shipped with tests; links, fields, layers and bookmarks carried over; open fixes #817, #821 are edge cases | 0 |
|
||||
| Comment and review | yes | Every markup type with appearances, replies, status, XFDF/FDF; comments saved in the PDF reopen in other readers. XFDF fidelity bugs #809, #819 | 0 |
|
||||
| Organize, combine and split pages | yes | `organize.*` P0s shipped with tests; links, fields, layers and bookmarks carried over; page deletion drops dangling destinations and the opening action (#817, #821) | 0 |
|
||||
| Comment and review | yes | Every markup type with appearances, replies, status, XFDF/FDF; comments saved in the PDF reopen in other readers; XFDF keeps polygon vertices and callouts (#809, #819) | 0 |
|
||||
| Fill and sign forms | yes | All AcroForm field types, Acrobat's AF functions, Fill & Sign, PAdES signatures validated with `pdfsig`/OpenSSL | 0 |
|
||||
| Edit text and images | partial, not blocking | Editing a paragraph of Latin text works (embedded font reused, else Helvetica substituted, rewrapped); added text and images stay editable. Fails for CJK/RTL (#766), can't move several objects (#844); a beta item (gap 3) | 0 (beta: 100–180) |
|
||||
| Convert and share (Office ↔ PDF, password protection) | partial, not blocking | Unencrypted PDFs we save open in Acrobat and other readers (958-file corpus round trip, `qpdf --check`); export to Word, RTF, HTML, text and images works, lossily (#773: an invoice's layout lost in Word); Create PDF works from images, text, the clipboard and many files at once. Missing sub-cases: password-protected output that Acrobat and Reader accept (#774; the file opens in PdfCraft, SumatraPDF, PDF24 and LibreOffice), an in-app Create PDF from Office (Office on macOS saves PDF itself), Excel/PowerPoint export. All beta items (gaps 1, 8) | 0 (beta: 40–70 for #774, Office→PDF and a layout-keeping Word export) |
|
||||
| Edit text and images | partial, not blocking | Editing a paragraph of Latin text works (embedded font reused, else Helvetica substituted, rewrapped); added text and images stay editable. Several objects on one page move together (#844), not across pages. Fails for CJK/RTL (#766); a beta item (gap 3) | 0 (beta: 100–180) |
|
||||
| Convert and share (Office ↔ PDF, password protection) | partial, not blocking | PDFs we save open in Acrobat and other readers (958-file corpus round trip, `qpdf --check`), password-protected ones too since #836 (#774: Acrobat DC opens AES-256 and RC4-128 output); export to Word, RTF, HTML, text and images works, lossily (#773: an invoice's layout lost in Word); Create PDF works from images, text, the clipboard and many files at once. Missing sub-cases: an in-app Create PDF from Office (Office on macOS saves PDF itself), Excel/PowerPoint export. Beta items (gap 8) | 0 (beta: 32–55 for Office→PDF and a layout-keeping Word export) |
|
||||
|
||||
**Result: alpha.** Every core workflow can be completed on macOS; two are lossy or missing sub-cases
|
||||
(editing CJK/RTL text; encrypted output for Acrobat users, Office→PDF, Word layout), which are the
|
||||
(editing CJK/RTL text; Office→PDF, Word layout), which are the
|
||||
first beta items. Ready for real work, ≈ 49%, is inside the alpha band. (A first application of the
|
||||
gate the same day judged convert and share as blocking and put PdfCraft at pre-alpha; re-judged with
|
||||
the shared rule, encryption and Office→PDF are sub-cases and Word export is lossy, not absent.)
|
||||
@@ -41,10 +42,10 @@ the shared rule, encryption and Office→PDF are sub-cases and Word export is lo
|
||||
|
||||
In order. Each item names its entry in [gaps.md](gaps.md).
|
||||
|
||||
1. **Convert and share:** encrypted output that Acrobat opens (gap 1, #774, small and the most
|
||||
damaging), then Create PDF from Office and a Word export that keeps layout (gap 8, #773).
|
||||
2. **Fix the crash and wrong-result reports** filed against shipped features (gap 6), starting with
|
||||
the panic in #816.
|
||||
1. **Convert and share:** Create PDF from Office and a Word export that keeps layout (gap 8, #773).
|
||||
Encrypted output that Acrobat opens shipped with #836 (#774).
|
||||
2. **Fix the crash and wrong-result reports** filed against shipped features (gap 6). The first
|
||||
batch (#799–#821, including the panic in #816) is fixed.
|
||||
3. **A Chinese UI face in releases** (gap 5, #826).
|
||||
4. **A fidelity harness against Acrobat, then the renderer decision** (gaps 12 and 2). Owner
|
||||
decision needed: our own M2 devices, or #841's proposal as the bridge.
|
||||
@@ -93,8 +94,8 @@ total matches the parity estimate.
|
||||
|
||||
| Rank | Next milestone | Closes | Estimate (h) |
|
||||
|---|---|---|---|
|
||||
| 0 | Convert and share: encrypted output opens in Acrobat, Create PDF from Office, Word export keeps layout | gap 1, part of gap 8 | 40–70 |
|
||||
| 1 | Backlog and platform: crash and wrong-result reports fixed, Windows printing, Chinese UI face | gaps 4, 5, 6 | 65–120 |
|
||||
| 0 | Convert and share: Create PDF from Office, Word export keeps layout | part of gap 8 | 32–55 |
|
||||
| 1 | Backlog and platform: crash and wrong-result reports fixed, web printing, Chinese UI face | gaps 4, 5, 6 | 65–120 |
|
||||
| 2 | Fidelity harness and renderer decision (M2) | gaps 2, 12 | 110–190 |
|
||||
| 3 | Editing existing content (M7) | gap 3 | 100–180 |
|
||||
| 4 | Pro conversion: OCR languages and clean-up, Office export/import (M10) | gaps 7, 8 | 95–175 |
|
||||
@@ -119,7 +120,8 @@ M2 (renderer), M7 (content editing), M10 (OCR and Office), M11 (Preflight and st
|
||||
- Real-world signature chains, revocation and tokens.
|
||||
- The rendering long tail: Type 3 fonts, broken fonts, shadings, blend modes.
|
||||
- Correctness of PDF/A, PDF/X and PDF/UA conversion.
|
||||
- Interoperability: files other readers (above all Acrobat) reject, as in #774.
|
||||
- Interoperability: files other readers (above all Acrobat) reject, as in #774 (fixed by #836; no
|
||||
automated interop suite yet).
|
||||
- OCR and AI quality limited by what openly licensed models exist.
|
||||
- CPU rendering performance on the web.
|
||||
- Hostile input: every fuzz run so far has found new crashes or hangs.
|
||||
@@ -129,6 +131,7 @@ M2 (renderer), M7 (content editing), M10 (OCR and Office), M11 (Preflight and st
|
||||
|
||||
| Date | Change | Summary |
|
||||
|---|---|---|
|
||||
| 2026-10-11 | minor | Synced with closed issues: encrypted output opens in Acrobat (#774, #836), so gap 1 left rank 0 and convert and share (32–55 h, the gap's 8–15 h removed); organize, XFDF and multi-object move fixes (#817, #821, #809, #819, #844); the #816 panic and the #799–#821 batch fixed; rank 1 names web printing (Windows shipped, #756). Stage and readiness numbers not re-measured |
|
||||
| 2026-10-11 | minor | M6: respect existing form-font encodings; retain source fonts on appearance fallback. Estimates unchanged. |
|
||||
| 2026-10-11 | minor | M6: keep accepted form values when Tab reopens the same field before Save. Estimates unchanged. |
|
||||
| 2026-10-11 | minor | M13: reject malformed CLI --root options before dispatch. Estimates unchanged. |
|
||||
|
||||
+21
-20
@@ -1,6 +1,6 @@
|
||||
# PdfCraft parity with Adobe Acrobat Pro
|
||||
|
||||
> **Last reviewed:** 2026-10-10 · **Last updated:** 2026-10-10 · **Change:** minor (readiness table with hours per audience; full number restated as the standard's additive weighted sum, 47% → 49%; earlier: second look: cross-cutting double count removed, mainstream-practitioner number added, core-workflow gate applied → alpha) · **Target:** Adobe Acrobat Pro (Acrobat DC, continuous track 26.002.21931, macOS)
|
||||
> **Last reviewed:** 2026-10-10 · **Last updated:** 2026-10-11 · **Change:** minor (closed issues synced, scores not re-judged: #774, #756, #740, #759, #799–#821, #825, #844; earlier: readiness table with hours per audience; full number restated as the standard's additive weighted sum, 47% → 49%; earlier: second look: cross-cutting double count removed, mainstream-practitioner number added, core-workflow gate applied → alpha) · **Target:** Adobe Acrobat Pro (Acrobat DC, continuous track 26.002.21931, macOS)
|
||||
|
||||
The authoritative assessment of how close PdfCraft is to Acrobat Pro. [ROADMAP.md](../ROADMAP.md)
|
||||
summarizes it; [gaps.md](gaps.md) lists every shortfall one by one; the deep-dive checklists are
|
||||
@@ -33,16 +33,16 @@ Approved Trust List) are out of scope: 23 such features are tracked as `na` in
|
||||
| Audience | Ready | Opus 5.5 agent-hours to ≈ 95% | Work that dominates |
|
||||
|---|---|---|---|
|
||||
| Full Acrobat Pro (ready for real work) | ≈ 49% | ≈ 780–1,400 h (≈ 300–550 h wall clock with 3–5 agents; 60–70% parallelizes) | Own renderer and fidelity harness, editing existing content, OCR and Office conversion, Preflight and PDF/A/X/UA, accessibility tagging, signatures for institutions |
|
||||
| Mainstream practitioner | ≈ 55% | ≈ 500–900 h (≈ 200–400 h wall clock; ≈ 60% parallelizes) | Rendering fidelity, editing existing text (CJK, RTL, subsets), conversion (Word layout, Excel, PowerPoint, Office→PDF), OCR languages, Windows printing, the bug backlog |
|
||||
| Essentials user | ≈ 66% | ≈ 180–330 h (≈ 90–180 h wall clock; ≈ 50% parallelizes) | Rendering fidelity on everyday files, Windows printing, launch and GPU stability, encrypted output Acrobat opens (#774), simple text fixes, Word export layout, Chinese UI glyphs |
|
||||
| Mainstream practitioner | ≈ 55% | ≈ 500–900 h (≈ 200–400 h wall clock; ≈ 60% parallelizes) | Rendering fidelity, editing existing text (CJK, RTL, subsets), conversion (Word layout, Excel, PowerPoint, Office→PDF), OCR languages, the bug backlog |
|
||||
| Essentials user | ≈ 66% | ≈ 180–330 h (≈ 90–180 h wall clock; ≈ 50% parallelizes) | Rendering fidelity on everyday files, launch and GPU stability, simple text fixes, Word export layout, Chinese UI glyphs |
|
||||
|
||||
Hours are calibrated as in [Effort and calibration](#effort-and-calibration) (≈ 1k kept lines per agent-hour for new features, 3–10× slower for hardening and fidelity). The audiences are nested subsets, so essentials ≤ mainstream ≤ full.
|
||||
|
||||
The gap between the numbers is the story of this release: most of what an Acrobat user reaches
|
||||
for *exists*, but much of it is shallower than Acrobat's, rendering is still borrowed, quality has
|
||||
never been measured side by side with Acrobat, and the first public releases (0.4.0, 0.5.0) drew
|
||||
245 open issues in two days, including one that makes our encrypted files unreadable in Acrobat
|
||||
([#774](https://github.com/storytold/pdfcraft/issues/774)).
|
||||
245 open issues in two days, including one that made our encrypted files unreadable in Acrobat
|
||||
([#774](https://github.com/storytold/pdfcraft/issues/774), fixed by #836).
|
||||
|
||||
## How this was measured
|
||||
|
||||
@@ -127,7 +127,7 @@ workflows, exchange edge cases and everything outside the mainstream slice are e
|
||||
|---|---|---|---|
|
||||
| Open the PDFs people send and read them (render, zoom, scroll, page through) | 20% | 80% | Repair of damaged files, 958-file corpus; rendering borrowed but broadly right (#794 is a TikZ pattern) |
|
||||
| Find, select and copy text | 8% | 85% | Find, options, results list; word-F1 0.98 |
|
||||
| Print | 8% | 55% | Good on macOS and Linux; nothing on Windows, where most such users are (#756) |
|
||||
| Print | 8% | 55% | Good on macOS and Linux; Windows prints since #847 (#756), not yet re-scored |
|
||||
| Highlight, sticky notes, text comments | 12% | 85% | All markup types, replies, properties |
|
||||
| Fill in forms | 10% | 85% | Every AcroForm field type, Acrobat's formatting and calculations |
|
||||
| Fill & Sign: typed, drawn or image signature | 10% | 85% | Fill & Sign tools; flatten on save |
|
||||
@@ -136,12 +136,12 @@ workflows, exchange edge cases and everything outside the mainstream slice are e
|
||||
| Fix a typo in existing text | 5% | 40% | Latin paragraphs only; font may be substituted |
|
||||
| Export to Word or images | 5% | 45% | Images good; Word loses layout (#773) |
|
||||
| Reduce file size | 3% | 75% | Reduce File Size, Optimizer |
|
||||
| Protect with a password | 3% | 30% | Works in PdfCraft; Acrobat and Reader reject the file (#774) |
|
||||
| Protect with a password | 3% | 30% | Works in PdfCraft; Acrobat DC opens the output since #836 (#774), not yet re-scored |
|
||||
| Undo, save, autosave | 2% | 90% | Undo after save, atomic saves, crash recovery |
|
||||
|
||||
Weighted depth: **≈ 75%**. Discounts an essentials user hits: launch and stability (54 issues about
|
||||
installing, launching, GPU and windows; OpenGL fallback) −5 points; discoverability and clarity
|
||||
(an Acrobat-like shell with Home and All tools, but tool-mode friction such as #825 and #721) −2;
|
||||
(an Acrobat-like shell with Home and All tools, but tool-mode friction such as #721; #825 is fixed) −2;
|
||||
opening what people send (Chinese UI glyph boxes #826, CJK documents #758) −2.
|
||||
**Essentials user ≈ 66%** (60–70%).
|
||||
|
||||
@@ -177,13 +177,13 @@ features total and are shown for orientation; the others add to it.
|
||||
| Dimension | Ready | Weight | Remaining (h) | Counted | Evidence | Doc |
|
||||
|---|---|---|---|---|---|---|
|
||||
| Features (14 areas) | ≈ 49% depth; 67% breadth | 40% | 610–1,100 | base | Area table below | this file |
|
||||
| UI/UX fidelity | ≈ 55% | 10% | 30–60 | additional | Acrobat-style shell, All tools, Home, command palette; missing single-key accelerators, rulers/guides, multiple windows, popups; user reports #739, #744, #746, #759, #789, #844 | [ui-parity.md](ui-parity.md) |
|
||||
| File formats and conversion | ≈ 40% | 12% | 120–220 | within features | PDF read/write strong but encrypted output fails in Acrobat (#774); export Word is layout-poor (#773); no Excel/PowerPoint export, no Office/HTML/PostScript import | [file-format-parity.md](file-format-parity.md) |
|
||||
| UI/UX fidelity | ≈ 55% | 10% | 30–60 | additional | Acrobat-style shell, All tools, Home, command palette; missing single-key accelerators, rulers/guides, multiple windows, popups; user reports #739, #744, #746, #789 (#759 and #844 fixed) | [ui-parity.md](ui-parity.md) |
|
||||
| File formats and conversion | ≈ 40% | 12% | 120–220 | within features | PDF read/write strong, encrypted output included (#774 fixed); export Word is layout-poor (#773); no Excel/PowerPoint export, no Office/HTML/PostScript import | [file-format-parity.md](file-format-parity.md) |
|
||||
| PDF specification and standards | ≈ 60% | 8% | 150–260 | within features | ISO 32000 syntax, encryption, annotations and AcroForm strong; rendering and fonts borrowed from `hayro`; PDF 2.0 extras, linearization, public-key security absent; PDF/A partial, PDF/X/UA none | [pdf-spec-parity.md](pdf-spec-parity.md) |
|
||||
| Hardware | ≈ 35% | 4% | 25–50 | additional | Page raster is CPU only (Acrobat has GPU rendering); Windows CNG and macOS Keychain keys sign, no PKCS #11; no scanners; Windows has no printing (#756) | [hardware-parity.md](hardware-parity.md) |
|
||||
| Hardware | ≈ 35% | 4% | 25–50 | additional | Page raster is CPU only (Acrobat has GPU rendering); Windows CNG and macOS Keychain keys sign, no PKCS #11; no scanners; no printing on the web (Windows shipped, #756) | [hardware-parity.md](hardware-parity.md) |
|
||||
| Localization | ≈ 59% over the 12 key languages | 5% | 35–60 | additional | 15 catalogs, 13 at 94–100%; Chinese UI shows tofu in releases (#826, #688); Arabic not mirrored; no Hindi, Indonesian, Korean, Vietnamese | [localization-parity.md](localization-parity.md) |
|
||||
| Performance | ≈ 40% | 6% | 25–45 | additional | 500-page smooth scrolling and large-file memory work (#307) done; no performance budgets (`misc.performance-budgets`), no lazy loading of GB files; blurry text at 1080p/1440p (#730) | [gaps.md](gaps.md) |
|
||||
| Stability | ≈ 50% | 8% | 45–80 | additional | Never-crash rules and nightly fuzzing; 245 open issues, many of them `fix(...)` reports of wrong results in shipped features (#799–#821) | [gaps.md](gaps.md) |
|
||||
| Stability | ≈ 50% | 8% | 45–80 | additional | Never-crash rules and nightly fuzzing; 245 open issues on 2026-10-10, many of them `fix(...)` reports of wrong results in shipped features (the #799–#821 batch is fixed) | [gaps.md](gaps.md) |
|
||||
| Platforms | ≈ 70% | 5% | 15–30 | additional | macOS (signed, notarized), Windows x64/x86/ARM64 (signed), Linux (AppImage, deb, rpm, Flatpak), FreeBSD, web (WASM). Acrobat has no Linux, FreeBSD or full web editor; we lack Windows and web printing, web OCR and web recovery | [hardware-parity.md](hardware-parity.md) |
|
||||
| Ecosystem and plug-ins | ≈ 30% | 1% | 10–20 | within features | No plug-in SDK or folder-level JavaScript; Action Wizard partial. Agent automation (CLI, MCP, UI control channel) has no Acrobat equivalent | [gaps.md](gaps.md) |
|
||||
| AI features | ≈ 0% (in scope) | 1% | 20–40 | within features | Acrobat's AI Assistant is cloud-only (out of scope). Local, opt-in provider interface (`misc.ai-provider`) not started | [gaps.md](gaps.md) |
|
||||
@@ -196,11 +196,11 @@ full parity in that area.
|
||||
|
||||
| Area | Features | Shipped | Partial | Breadth | Ready | Remaining (h) | What's strong / what's missing |
|
||||
|---|---|---|---|---|---|---|---|
|
||||
| A Core model and fidelity | 56 | 42 | 2 | 76.8% | 70% | 25–45 | Parser, repair, R2–R6 encryption, incremental and atomic saves, undo, autosave, crash recovery, revisions. Missing: encrypted output that Acrobat opens (#774), lazy loading of GB files, linearization, PDF 2.0 extras, Arlington validation, public-key security, own image codecs |
|
||||
| A Core model and fidelity | 56 | 42 | 2 | 76.8% | 70% | 25–45 | Parser, repair, R2–R6 encryption, incremental and atomic saves, undo, autosave, crash recovery, revisions. Encrypted output opens in Acrobat (#774). Missing: lazy loading of GB files, linearization, PDF 2.0 extras, Arlington validation, public-key security, own image codecs |
|
||||
| B View and navigation | 92 | 52 | 11 | 62.5% | 55% | 110–190 | Shell, layouts, zoom, find, panels, tiles, web build, 500-page scrolling. **Pages are drawn by the vendored `hayro`** (22 + 9 local patches): all 7 rendering P0s are partial. Missing: own renderer or a decided replacement (#841), multiple windows, split view, rulers/guides, loupe, reflow, search across files |
|
||||
| C Content editing | 61 | 29 | 7 | 53.3% | 30% | 100–180 | Edit existing paragraphs (font reused or Helvetica substituted, rewrapped), added text and images stay editable, header/footer, watermarks, backgrounds, Bates, links. Missing: robust editing of real-world text (subset fonts, CJK, RTL #766, rotated), lists, vector/object editing, arrange/align, spell check, multi-select move (#844) |
|
||||
| D Organize pages | 76 | 45 | 3 | 61.2% | 70% | 12–25 | Organize grid, insert/extract/replace/split/combine with links, fields, layers and bookmarks carried over; page labels, boxes, bookmarks from structure. Missing: transitions, attachments editing, portfolios, struct-tree merge, field-name conflicts; open fixes #817, #818, #821 |
|
||||
| E Comments and review | 65 | 46 | 9 | 77.7% | 70% | 12–25 | Every markup type with appearances, replies, status, filters, stamps (custom, dynamic), XFDF/FDF, summaries, flatten, 2D measuring. Missing: rich-text runs, popup windows, summary layouts with pages, per-type hiding; XFDF fidelity bugs #807, #809, #819 |
|
||||
| C Content editing | 61 | 29 | 7 | 53.3% | 30% | 100–180 | Edit existing paragraphs (font reused or Helvetica substituted, rewrapped), added text and images stay editable, header/footer, watermarks, backgrounds, Bates, links. Missing: robust editing of real-world text (subset fonts, CJK, RTL #766, rotated), lists, vector/object editing, arrange/align, spell check, multi-select move across pages (same-page shipped, #844) |
|
||||
| D Organize pages | 76 | 45 | 3 | 61.2% | 70% | 12–25 | Organize grid, insert/extract/replace/split/combine with links, fields, layers and bookmarks carried over; page labels, boxes, bookmarks from structure. Missing: transitions, attachments editing, portfolios, struct-tree merge, field-name conflicts (destination and annotation fixes #817, #818, #821 shipped) |
|
||||
| E Comments and review | 65 | 46 | 9 | 77.7% | 70% | 12–25 | Every markup type with appearances, replies, status, filters, stamps (custom, dynamic), XFDF/FDF, summaries, flatten, 2D measuring. Missing: rich-text runs, popup windows, summary layouts with pages, per-type hiding (XFDF fidelity fixes #807, #809, #819 shipped) |
|
||||
| F Forms and JavaScript | 79 | 58 | 8 | 78.5% | 65% | 40–75 | Fill and author every AcroForm field type, Acrobat's AF functions in Acrobat's event order, sandboxed JavaScript (boa), data exchange, Fill & Sign; XFA static/dynamic layout, FormCalc and XFA data (partial). Missing: wider JavaScript object model, document actions, submit, debugger, barcode fields, XFA flattening and full dynamic fidelity |
|
||||
| G Protect, redact, sanitize | 41 | 23 | 2 | 58.5% | 55% | 15–30 | Passwords and permissions, Remove security, redaction that removes glyphs, pixels, vectors, annotations and tags, with verification; word lists, patterns, FOIA/Privacy Act codes; sanitize. Missing: certificate security, pattern locales, custom code sets, partial-word redaction, folder redaction, protected view |
|
||||
| H Digital signatures | 45 | 23 | 10 | 62.2% | 45% | 40–70 | PAdES B-B signing and validation (PKCS #12, macOS Keychain, Windows store with PIN prompts), certification, encrypted documents, certificate usage checks; B-T, LTV, OCSP/CRL with caller-supplied evidence. Missing: PKCS #11 and smart cards outside Windows, timestamp-server preferences, online revocation fetching, FieldMDP and field locking, OS trust store, EU Trusted Lists, compare signed version |
|
||||
@@ -226,8 +226,8 @@ with evidence when next touched.
|
||||
six everyday workflows can be completed end to end on macOS. Under the gate rule shared by all the
|
||||
Crafting Apps, a workflow blocks only when a typical user can't complete it at all; lossy exchange
|
||||
or a missing sub-case is a beta item. **Converting and sharing** is therefore partial, not
|
||||
blocking: unencrypted PDFs we save open everywhere and export to Word, RTF, HTML, text and images
|
||||
works, but password-protected output is rejected by Acrobat and Reader (#774), there is no in-app
|
||||
blocking: PDFs we save open everywhere, password-protected ones included since #836 (#774), and
|
||||
export to Word, RTF, HTML, text and images works, but there is no in-app
|
||||
Create PDF from Office, and Word export loses layout (#773). The gate table, with evidence, is in
|
||||
[roadmap.md](roadmap.md#alpha-gate). (Earlier the same day this row was judged blocking and the
|
||||
stage set to pre-alpha; see the revision history.)
|
||||
@@ -239,14 +239,14 @@ stage set to pre-alpha; see the revision history.)
|
||||
| Comment and review | yes |
|
||||
| Fill and sign forms | yes |
|
||||
| Edit text and images | partial, not blocking (Latin text with embedded or standard fonts) |
|
||||
| Convert and share (Office ↔ PDF, password protection) | partial, not blocking (encryption interop #774, Office→PDF and Word layout #773 are beta items) |
|
||||
| Convert and share (Office ↔ PDF, password protection) | partial, not blocking (Office→PDF and Word layout #773 are beta items; encryption interop #774 fixed) |
|
||||
|
||||
**To reach beta** (≈ 75% ready, no blocking gap in PDF interchange), ≈ 26 points and
|
||||
**≈ 400–700 agent-hours**:
|
||||
|
||||
| Beta requirement | Hours |
|
||||
|---|---|
|
||||
| Encrypted output opens in Acrobat and Reader (#774), with an interop suite that opens our outputs in other readers | 8–15 |
|
||||
| An interop suite that opens our outputs in other readers (encrypted output already opens in Acrobat, #774, #836; hours not re-estimated) | 8–15 |
|
||||
| Rendering: a fidelity harness against Acrobat captures (local, clean-room) and fixing what it finds; settle the renderer (own M2 devices, or #841's proposal); Chinese UI faces in releases | 80–140 |
|
||||
| Editing existing text robust on real files: subset fonts, CJK, RTL, rotated text | 70–120 |
|
||||
| Printing on Windows and the web | 15–30 |
|
||||
@@ -292,6 +292,7 @@ licensed OCR or AI model.
|
||||
|
||||
| Date | Change | Summary |
|
||||
|---|---|---|
|
||||
| 2026-10-11 | minor | Synced with closed issues: encrypted output opens in Acrobat (#774, #836), Windows prints (#756, #847), column select (#740), 1:1 touchpad scrolling (#759), same-page multi-object move (#844), #825 and the #799–#821 fix batch. Text only: scores, readiness and hours not re-judged |
|
||||
| 2026-10-10 | minor | Readiness table: hours to ≈ 95% per audience (full 780–1,400, mainstream 500–900, essentials 180–330). Full number restated as the standard's additive weighted sum over dimensions with written weights: 47% → 49%. Method aligned with the standard, no new evidence |
|
||||
| 2026-10-10 | minor | Added the essentials-user score (≈ 66%): weighted depth of 13 everyday features, discounted for launch, discoverability and opening others' files |
|
||||
| 2026-10-10 | minor | Consistency check across apps: re-judged the convert-and-share gate row with the shared rule (blocking only when the workflow can't be completed at all; lossy exchange and missing sub-cases are beta items). Encrypted output (#774) and Office→PDF are sub-cases, Word export is lossy not absent → partial, not blocking; stage pre-alpha → **alpha**. Numbers unchanged |
|
||||
|
||||
+5
-4
@@ -1,6 +1,6 @@
|
||||
# UI and interaction parity
|
||||
|
||||
> **Last reviewed:** 2026-10-10 · **Last updated:** 2026-10-10 · **Change:** major (first UI/UX checklist) · **Target:** Adobe Acrobat Pro (Acrobat DC, continuous track 26.002.21931, macOS)
|
||||
> **Last reviewed:** 2026-10-10 · **Last updated:** 2026-10-11 · **Change:** minor (column select #740, multi-object move #844, Shift-⌘-G #810 fixed) · **Target:** Adobe Acrobat Pro (Acrobat DC, continuous track 26.002.21931, macOS)
|
||||
|
||||
How PdfCraft's tools, panels, shortcuts and feel compare with Acrobat Pro's current interface (the
|
||||
2023+ "new Acrobat": All tools pane on the left, quick-action toolbar, Home view). Behaviour is
|
||||
@@ -45,8 +45,8 @@ No dump of Acrobat's menu tree has been diffed against the registry yet (gap 24)
|
||||
| Fixed zoom percentages match Acrobat's physical size | yes | differ (#739, documented in #736) | gap |
|
||||
| Dynamic zoom, loupe, pan-and-zoom window | yes | no | planned |
|
||||
| Hand tool, middle-button pan, autoscroll | yes | hand tool; Linux autoscroll | partial |
|
||||
| Text selection, column select | yes, Alt-drag columns | reading-order selection; no column mode (#740) | partial |
|
||||
| Select and move several objects at once | yes | no (#844) | gap |
|
||||
| Text selection, column select | yes, Alt-drag columns | reading-order selection; Alt/Option-drag or Edit ▸ Column select (#740) | shipped |
|
||||
| Select and move several objects at once | yes | on one page: Shift/Ctrl/⌘-click and marquee, one undo step (#844); not across pages, no group resize | partial |
|
||||
| Object handles: corners keep proportion, edges free | yes | yes for added images and signatures | shipped |
|
||||
| Arrange, align and distribute page objects | yes | fields only | partial |
|
||||
| Rulers, grids, snap to grid, guides | yes | no | planned |
|
||||
@@ -65,7 +65,7 @@ No dump of Acrobat's menu tree has been diffed against the registry yet (gap 24)
|
||||
| Platform shortcuts for registered commands | yes | yes; ⌘ on macOS, Ctrl elsewhere (#695) | shipped; find bar still shows ⌘ on Windows (#746) |
|
||||
| Keyboard shortcuts reference | yes | yes | shipped |
|
||||
| Full keyboard operation of the app | yes | no | planned (`a11y.keyboard-only`, P0) |
|
||||
| Shift-⌘-G finds previous | yes | goes forward (#810) | bug |
|
||||
| Shift-⌘-G finds previous | yes | yes (#810 fixed) | shipped |
|
||||
|
||||
## Dialogs and preferences
|
||||
|
||||
@@ -81,4 +81,5 @@ No dump of Acrobat's menu tree has been diffed against the registry yet (gap 24)
|
||||
|
||||
| Date | Change | Summary |
|
||||
|---|---|---|
|
||||
| 2026-10-11 | minor | Column select shipped (#740, PR #765); several objects move together on one page (#844, PR #907); Shift-⌘-G goes back (#810, PR #835) |
|
||||
| 2026-10-10 | major | Created from the command registry, automation tools, the View area of the checklist and open UI issues |
|
||||
|
||||
Reference in New Issue
Block a user