theseus/bundled-addons/pdf-editor
Local Dev 0684906f13 feat(pdf-editor): a mark you placed is something you can still work on
Everything the editor put on a page was final. A text stamp could not be
corrected without deleting it and typing it again, nothing could be resized,
and the only way to remove a mark was a Delete key nobody had been told
about — the selection drew a dashed box and offered no action at all. Placing
a stamp also left its tool armed, so the next click stamped a second copy.

Marks are now editable objects. Selecting one gives it grab handles and a
small bar pinned above it: delete and duplicate for anything, and for text an
edit button, a size stepper and bold and italic. Double-clicking text reopens
it for rewriting in place rather than adding a second one. Placing a text
stamp or a signature drops straight back to the select tool with the new mark
live, which is both what people expect and what puts it immediately within
reach of a nudge.

Resizing is one function over every mark type rather than a special case per
kind: a handle drag produces a new bounding box, and the mark is mapped from
its old box into that one. Text scales by font size instead of stretching its
glyphs, signatures keep their aspect on a corner, and lines offer their two
endpoints instead of a box that would let you stretch them in ways you never
aimed at. A whole gesture lands on the undo stack as one step.

Selecting a thin mark used to mean clicking its outline exactly — about one
screen pixel. Each stroked mark now carries an invisible fat copy of itself
purely to catch the pointer.

New marks to go with it: underline and strike-through, which share the
highlight's text-selection geometry and differ only in where the rule sits; a
plain line; and a fill toggle for rectangles and ellipses. Bold and italic
mean three more Helvetica variants embedded at save time, since a PDF treats
them as separate fonts rather than as a style.

Double-click is detected from the pointer stream rather than from a dblclick
listener, because selecting a mark calls preventDefault() on the pointerdown
and that suppresses the compatibility mouse events the browser would have
synthesised the dblclick from.
2026-09-21 03:13:06 +02:00
..
lib feat(pdf-editor): a mark you placed is something you can still work on 2026-09-21 03:13:06 +02:00
vendor feat(pdf-editor): read, mark up and reshape a PDF without leaving the browser 2026-09-20 20:58:21 +02:00
addon.json feat(pdf-editor): a mark you placed is something you can still work on 2026-09-21 03:13:06 +02:00
editor.css feat(pdf-editor): a mark you placed is something you can still work on 2026-09-21 03:13:06 +02:00
editor.html feat(pdf-editor): a mark you placed is something you can still work on 2026-09-21 03:13:06 +02:00
editor.js feat(pdf-editor): a mark you placed is something you can still work on 2026-09-21 03:13:06 +02:00
index.js feat(theseus): profile at %APPDATA%\Theseus, extensions under extensions\ 2026-09-21 01:55:25 +02:00
VENDOR.md feat(pdf-editor): read, mark up and reshape a PDF without leaving the browser 2026-09-20 20:58:21 +02:00