mirror of
https://github.com/storytold/designcraft.git
synced 2026-10-25 10:46:50 -06:00
Resolve 12 conflicted files. Where both sides changed the same code: - format: keep main's bounded-read load_zip (MAX_ENTRIES, read_entry) and this branch's u64 version reporting, so a version above u32::MAX is named as written rather than clamped. Both sides had fixed the same truncation. - render: main's natural_size supersedes image_natural_size (it already reads an EPS bounding box and also handles PDF pages); callers in table and data merge now use it. - images: keep the DSC-aware header scan and (atend) trailer lookup, take main's classic-Mac line endings, and carry its overflow guard into parse_box. eps_proxy draws main's simple rectangles before falling back to the placeholder, still over a retained EPS source. - engine/file: take main's placement shape (add_asset, crop box geometry, place cursor, finite_rect, object effects) and keep this branch's validate_placement in both branches; edit() works on a clone and commits only on Ok, so validating inside it stays all-or-nothing. - engine/links: keep building the replacement before edit() so a file that cannot be read leaves the document untouched, and move main's crop_pdf refresh into relinked_asset, which both relink and update go through. - engine/export: EPS preview warnings join the font-embedding warnings rather than shadowing them. - idml: an EPS element keeps ActualPpi (its pixels are a preview raster); main's PDF exclusion is unchanged. Cargo.lock regenerated. Tests and doc strings from both sides kept.