Files
pdfcraft/docs/ui-parity.md
T
983e2f2ad6 M3: → / ← scroll a page wider than the window before turning it (#4540)
* → / ← scroll a page wider than the window sideways before turning it

On a plan zoomed in, the arrow keys turned the page (#185) and never showed
its other side: the view moved sideways only by the scroll bar, the wheel or
the Hand. Now → / ← scroll a line that way while there is more of the page,
and turn the page at its edge, as ↓ / ↑ do in single-page view. ⌘→ / ⌘←
turn it at once; a page that fits across turns as before.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* Review: → / ← read the current page's or spread's edges, not the widest page's; ui-parity's change record

In continuous view the content is as wide as the widest page, so on a narrower current page
that shows whole → scrolled toward the wide page's edge instead of turning. The edges are now
the current page's (or spread's) as drawn, or the content's.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* Review: a spread's second page off screen still counts for → / ←

The row's edges came from the pages' screen transforms, and a page gets one
only while it meets the window. With a zoomed two-page spread scrolled so its
second page was still wholly to the right of the window, the row ended with
the first page, so the next → turned the spread instead of scrolling to the
second page. The edges are now taken from the layout rectangles of every page
in the row, placed as the drawn pages are.

A TwoUp case in the viewer tests zooms a spread until its page gap sits at the
window's right edge and checks that → scrolls on rather than turning.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* Review: → / ← read the row after continuous view has moved the current page

In continuous view the current page is updated while the pages are laid
out, after the row's extent was taken, so the edges could describe the
previous row and the next → or ← turn the page instead of scrolling the
page that had just become current. The row is now read after that update.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* Review: a page turned by → / ← at its edge starts at the edge the reader comes from

Turning at a wide page's right edge with →, the next page kept the
horizontal scroll (the same column, as other jumps keep it), so an equally
wide page opened at its right edge and the next → turned again without
showing its left side; ← had the same in reverse. When plain → or ← turns
the page, a page or spread wider than the window now starts at its left
(after →) or right (after ←). ⌘→ / ⌘←, Page Down / Page Up and every other
jump keep the column.

The sideways-arrow test now goes across two wide pages both ways: → scrolls
the next page from its left edge, ← turns back to the previous page shown
from its right edge.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* Rebase: the sideways arrow keys through main's PageEnv, PageOut and GlideCx, and shown_row with its layout

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: FredApps <FredApps@users.noreply.github.com>
Co-authored-by: FredApps <153173854+FredApps@users.noreply.github.com>
2026-11-05 14:25:56 +01:00

6.9 KiB
Raw Blame History

UI and interaction parity

Last reviewed: 2026-10-21 · Last updated: 2026-10-24 · Change: minor (→ / ← scroll a page wider than the window before turning it) · 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 observed clean-room (plan/acrobat/02-ui-ux.md, local-only; AGENTS.md §2); nothing from Adobe's interface is copied. Gaps ranked in gaps.md.

UI/UX fidelity ≈ 55% ready (estimated), 30–60 h additional to the features total.

Measured

  • 184 registered commands (crates/engine/src/commands.rs), every one in the menus, the command palette and the automation command_run tool; menus are generated from the registry (view.menus-from-registry).
  • 141 automation tools (crates/automation/src/tools.rs), so every UI action can be checked headlessly.
  • View area of the checklist: 62.5% breadth (52 shipped, 11 partial of 92).

No dump of Acrobat's menu tree has been diffed against the registry yet (gap 24).

Shell and navigation

Element Acrobat PdfCraft Status
Home view (recent files, recommended tools) yes yes shipped
All tools pane, tool sets yes yes, with milestone badges shipped
Quick-action toolbar, customisable yes customizable floating/docked hotbar, adjustable size, persistent multi-select picker partial (view.customize-quick-tools; no shortcut reordering)
Command search "Search tools" command palette (⌘K), matches translated and English labels shipped
Document tabs yes yes, with unsaved marker shipped
Multiple windows, drag a tab out yes no planned
Split window, spreadsheet split yes no planned
Read mode, full screen yes yes; full screen is one fitted page at a time on black, click/keys turn pages (#1459) shipped; auto-advance, loop and transitions planned
Light, dark, system theme yes yes shipped
Side panels: thumbnails, bookmarks, attachments, layers, comments, fields, signatures yes yes; panels keep their width (#704); the Pages inspector has a 50–150% thumbnail size slider and buttons (#3808) shipped
Destinations, articles, model tree, Tags, Order, Content panels yes no planned
Message bars (restricted, signed, PDF/A, forms) yes restricted and signed; no PDF/A view mode partial

Tools, handles and precision

Behaviour Acrobat PdfCraft Status / evidence
Zoom: wheel, pinch, keys, marquee, fit page/width/height/visible yes yes shipped
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; → / ← scroll a page wider than the window before turning it partial
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
Moved comments drawn where they go while dragged yes yes: the comment's own pixels follow the pointer, the page shows it where it was until release; stamps and Fill & Sign marks also hide the original shipped
Object handles: corners keep proportion, edges free yes yes for added images and signatures; Shift on a corner keeps the proportions of comments, stamps and form fields (#2199); no Alt resize from the centre shipped
Shift while drawing a line holds it to 45° steps holds it level or plumb (a CAD drawing's ortho): new lines and arrows, each side of connected lines, polygons and clouds, and a dragged end or corner shipped
Arrange, align and distribute page objects yes fields only partial
Rulers, grids, snap to grid, guides yes no planned
Cursor coordinates, line weights yes no planned
Measuring snap to paths, endpoints, midpoints, intersections yes yes shipped
Nudge selected objects with arrow keys (Shift for larger steps) yes yes in Edit text: a point, Shift ten points, for selected objects, images and an open paragraph's box (#1520); and in Prepare a form, for the selected field (#2608); a selected comment: a screen pixel, ⌘/Ctrl or Shift ten shipped
Single-key tool accelerators (H, V, Z, …) yes, opt-in no planned
Context menus on pages, thumbnails, comments, fields yes thumbnails, comments, fields partial
Comment pop-ups as movable windows, connector lines yes inline in the panel planned
Disabled commands explain why no yes ahead

Shortcuts and modifiers

Item Acrobat PdfCraft Status
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 yes (#810 fixed) shipped

Dialogs and preferences

Item Acrobat PdfCraft Status
Print dialog with preview yes yes shipped
Document Properties (description, security, fonts, initial view, custom, advanced) yes all but Custom and XMP partial
Field Properties (General, Appearance, Position, Options, Actions, Format, Validate, Calculate, Signed) yes all but Signed partial
Comment properties and properties bar yes yes shipped
Preferences ≈ 20 pages Interface language, Documents and view, Identity, Fill & Sign, JavaScript partial (gap 19)

Revision history

Date Change Summary
2026-10-24 minor → / ← scroll a page wider than the window sideways before turning it, by the current page's or spread's edges in continuous view; ⌘→ / ⌘← turn at once
2026-10-21 minor Pages inspector thumbnail sizing (#3808), separate from page and Organize zoom; view setting retained on reload and exposed through UI control. Not persisted between sessions.
2026-10-15 minor A selected field nudges with the arrow keys in Prepare a form: a point, Shift ten points, one undo step per press (#2608)
2026-10-14 minor Full screen shows one fitted page (or spread) at a time on black with click and key paging, as Acrobat's Full Screen Mode (#379, #1459, #1353)
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