Commit Graph
488 Commits
Author SHA1 Message Date
PerchAnton 8a786ab2d9 M12: retain product notes while integrating current main 2026-10-18 18:11:02 +03:00
PerchAnton 0910b8314a M12: retain product notes while integrating current main 2026-10-18 18:07:15 +03:00
PerchAnton 4f4f589365 M12: retain product notes while integrating current main 2026-10-18 18:02:45 +03:00
PerchAnton 42a31db308 M7: retain product notes while integrating current main 2026-10-18 17:51:48 +03:00
PerchAnton 57c5dde167 M7: preserve rotation and index regressions on current main 2026-10-18 17:39:44 +03:00
PerchAnton e45a1db89f M1: reject partial resource-fork copies and integrate current main 2026-10-18 17:30:26 +03:00
aiongg b6b02a1b27 Merge upstream main 1952a8880 into next
ROADMAP.md, docs/roadmap.md: union of both sides' lines, each once.
parity/acrobat-features.toml: the XFA entry has both sides' evidence and notes (#2604 page areas, #2813 CLI layout).
2026-10-18 14:22:30 +00:00
PerchAnton 6425df5038 M12: reconcile current accessibility and XFA roadmap status 2026-10-18 17:15:06 +03:00
PerchAnton 02fe96c528 M12: reconcile current accessibility and XFA roadmap status 2026-10-18 17:14:42 +03:00
PerchAnton d743760624 M12: reconcile current accessibility and XFA roadmap status 2026-10-18 17:14:18 +03:00
PerchAnton 2493253821 M12: reconcile current accessibility and XFA roadmap status 2026-10-18 17:13:59 +03:00
jonathanwxh-cell 3c94700447 M11: document partial PDF version compatibility (#3227) 2026-10-18 21:54:58 +08:00
1952a88801 fix(cli): use laid-out pages for dynamic XFA forms (#2813)
Fixes #1645. For a dynamic XFA form, `info` reported the placeholder
page and field counts, and `text` and `render` read the placeholder
pages, while the app and the automation tools lay the template out.

The CLI now opens dynamic XFA forms through the engine session and uses
its laid-out document for page and field metadata, text and pixels.
`info` keeps the input's file size and also reports the original counts
as `pdf_pages` and `acroform_fields`; `text` checks the copy permission
before extracting. The input file is never written.

Checks run (rustc 1.99.0): cargo fmt --check; cargo clippy -p
pdfcraft-cli --all-targets -- -D warnings; cargo test -p pdfcraft-cli;
cargo xtask layers; cargo xtask assets.

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: Brandon Thomas <echelon@gmail.com>
2026-10-18 09:54:00 -04:00
2c4989413f M7: the Edit text caret is as tall as the row it is on (#2462)
In a region that mixes sizes (a 24 pt title over 12 pt lines), the
inline editor's caret on a small row was as tall as the region's first
size and reached into the row below. egui draws the caret at least one
row of the TextEdit's font tall, and that font had the paragraph's first
size. Each row already carries its source row's height, so the
TextEdit's font is now half the region's smallest size and only sets
that floor.

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: Brandon Thomas <echelon@gmail.com>
2026-10-18 09:51:52 -04:00
Andrew BarnesandBrandon Thomas 6ce3bc198b fix(gpu): request adapter-supported device limits (#2383) (#2433)
Clamp the surface device descriptor to the adapter's capabilities while
preserving its maximum 2D texture extent. Cover V3D shader variables,
lower GL capabilities, alignment ordering and capable-device defaults.

Co-authored-by: Brandon Thomas <echelon@gmail.com>
2026-10-18 09:50:42 -04:00
PerchAnton 1946bcdab6 M12: keep roadmap status blockquotes valid 2026-10-18 16:44:19 +03:00
PerchAnton 607354ffd2 M12: keep roadmap status blockquotes valid 2026-10-18 16:43:55 +03:00
PerchAnton bf542a7676 M12: keep roadmap status blockquotes valid 2026-10-18 16:43:30 +03:00
PerchAnton 85e6d33073 M12: keep roadmap status blockquotes valid 2026-10-18 16:43:06 +03:00
PerchAnton 2d97486757 M7: keep roadmap status blockquotes valid 2026-10-18 16:42:17 +03:00
PerchAnton 34e4aac28e M1: keep roadmap status blockquotes valid 2026-10-18 16:41:32 +03:00
PerchAnton eb85314b5b M7: keep roadmap status blockquotes valid 2026-10-18 16:41:08 +03:00
Claude a30a0ab713 G14: Romanian (ro) interface catalog
Add a clean-room Romanian translation of the UI catalog (2,670 entries,
every bundled key), the CLDR plural rule for Romanian (one / few /
other, "20 de pagini"), the ATTRIBUTION.toml entry, coverage and plural
tests, and the localization docs and roadmap entries.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01JadgGo4G2GHaAMNb3qyygk
2026-10-18 16:27:09 +03:00
PerchAnton 68c9bb6d22 M12: retain product notes while integrating current main 2026-10-18 16:13:21 +03:00
aiongg ce57fc1fcf Merge PR #2688 (new head 089778978)
crates/xfdf/README.md, parity/acrobat-features.toml: next's text, which has the same sentences without the formula-cell one the #2688 integration fix removed.
crates/xfdf/src/tests.rs: the XML comments test once, where next has it.
ROADMAP.md, docs/roadmap.md: union of both sides' lines, each once.
2026-10-18 13:13:12 +00:00
aiongg c24bdd29f1 Merge PR #1919 (new head a694e5dbb)
ROADMAP.md, docs/roadmap.md: union of both sides' lines, each once.
2026-10-18 13:12:45 +00:00
aiongg 7f718ecc62 Merge upstream main 50f261d70 into next
ROADMAP.md, docs/roadmap.md: union of both sides' log lines and milestone rows, each line once.
parity/acrobat-features.toml, crates/xfdf/README.md: next's text, a superset of main's (#1917, #2686 plus #2688).
crates/edit/src/tests.rs: both sides' new tests (#2558 and #3084).
crates/ui-egui/src/editing.rs: the picked picture is cleared on every edit, and a new drawing commits its raster (#3149).
2026-10-18 13:12:21 +00:00
PerchAnton 52cdb9260c M12: retain product notes while integrating current main 2026-10-18 16:09:57 +03:00
PerchAnton f9b8284819 M12: retain product notes while integrating current main 2026-10-18 16:05:46 +03:00
PerchAnton be6a66dd79 M12: retain product notes while integrating current main 2026-10-18 16:00:08 +03:00
PerchAnton caaae7a8c7 M7: retain product notes while integrating current main 2026-10-18 15:50:34 +03:00
PerchAnton e0e34a81b6 M7: preserve rotation and index regressions on current main 2026-10-18 15:39:47 +03:00
PerchAnton c378af9ea8 M1: reject partial resource-fork copies and integrate current main 2026-10-18 15:13:56 +03:00
Mex 9bda202dba M4: document repeated rotation preservation controls
Address maintainer feedback on the existing PR. Preserve upstream work and document tested scope and validation limits.
2026-10-18 11:51:55 +02:00
Mex 0897789788 Merge branch 'main' into fix/csv-tab-field-names 2026-10-18 11:14:16 +02:00
Mex 5af8e88fca Merge branch 'main' into fix/organize-resolve-indirect-rotation 2026-10-18 11:12:44 +02:00
Marco Arnulfo bd0b3fdb65 Save As to another file writes a clean copy without earlier revisions (fixes #2165) (#2174) 2026-10-18 03:48:35 -04:00
komo1iddinandClaude Opus 5.5 36d239d2b1 M7: fold repeated group moves of a cropped image into one clip cm (#2476)
Moving an image whose crop is its own (`q re W n cm Do Q`) as part of a
group put a fresh `cm` before the clip path on every move, so twenty
moves left twenty `cm` operators in front of one `re`. It never nested
deeper, but the content stream grew with every drag.

When a `cm` already sits right before that clip (one an earlier move
added, or the file's own), `translate_images` now replaces it with the
product of the new and old matrices. The CTM at the clip is
`c · prev · outer` either way (ISO 32000-1 8.3.4, 8.4.4). A previous
`cm` that is not finite, or a product larger than 1e12, keeps the old
behaviour and inserts a separate `cm`.

The new test moves an image cropped smaller than itself twenty times and
checks that the image and its visible crop both moved by the full offset,
that the operator count stays at its value after the first move, and that
the caption after it is untouched. It fails without this change
(32 operators against 13).

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-18 03:47:08 -04:00
PerchenkoAnton f8d7eb1352 M3: prevent oversized page textures after replacement (#3149) (#3182) 2026-10-18 03:11:54 -04:00
PerchAnton 66981f1e47 M7: normalize added-image rotations before addition 2026-10-18 09:38:29 +03:00
PerchAnton 095e1d36bd chore(pr-3042): integrate main d8b27058 2026-10-18 08:36:10 +03:00
PerchAnton b05d0cce4a chore(pr-3000): integrate main d8b27058 2026-10-18 08:33:10 +03:00
PerchAnton 1e498ec214 chore(pr-2648): integrate main d8b27058 2026-10-18 08:24:36 +03:00
PerchAnton 309834ffef chore(pr-2624): integrate main d8b27058 2026-10-18 08:20:38 +03:00
PerchAnton 226ed13c88 chore(pr-2619): integrate main d8b27058 2026-10-18 08:18:14 +03:00
PerchAnton 8e9292075b chore(pr-2615): integrate main d8b27058 2026-10-18 08:15:35 +03:00
d8b2705825 Clear replacement text (#1350)
* M8: Clear marked-content replacement text

* M8: Move roadmap note

* M8: Keep inherited resource guard clean under Rust 1.96

---------

Co-authored-by: Codex <codex@openai.com>
Co-authored-by: skylar taylor-barrick <hi@skylar.cc>
2026-10-17 22:10:22 -06:00
skylar taylor-barrick 7b39552ff1 Merge remote-tracking branch 'origin/main' into pr2267
# Conflicts:
#	ROADMAP.md
#	docs/roadmap.md
2026-10-17 15:58:13 -06:00
skylar taylor-barrick 046ca7b947 Merge remote-tracking branch 'origin/main' into pr1917
# Conflicts:
#	ROADMAP.md
#	crates/xfdf/README.md
#	docs/roadmap.md
#	parity/acrobat-features.toml
2026-10-17 14:38:13 -06:00
skylar taylor-barrick 6d087c2d19 Merge remote-tracking branch 'origin/main' into pr2267
# Conflicts:
#	ROADMAP.md
#	docs/roadmap.md
2026-10-17 14:37:12 -06:00