Commit Graph
4145 Commits
Author SHA1 Message Date
Dylan M. Taylor cc9156d8b2 Delegate PDF/X-1a finishing to craft-prepress 2026-11-13 03:15:13 -05:00
Dylan M. Taylor e65f6c3078 Remove app-side PPTX XML generation 2026-11-13 03:05:09 -05:00
Dylan M. Taylor 9272139d2b Export Presentation model directly through craft-pptx 2026-11-13 02:55:45 -05:00
Dylan M. Taylor bfd10a576d Map PPTX fills and effects to shared models 2026-11-13 02:38:08 -05:00
Dylan M. Taylor 0be5fcb01a Map PPTX tables and placed images to shared models 2026-11-13 02:29:45 -05:00
Dylan M. Taylor 304f93dda8 Map composed PPTX text to shared presentation models 2026-11-13 02:24:12 -05:00
Dylan M. Taylor 2a6918255e Map simple PPTX shapes to shared presentation models 2026-11-13 02:18:53 -05:00
Dylan M. Taylor 916749b2d0 Delegate XML parsing and PPTX writing to craft-libs 2026-11-13 02:13:35 -05:00
Dylan M. Taylor 3eaba67f58 Fix Clippy range loop in path orientation 2026-11-13 02:05:13 -05:00
Dylan M. Taylor b6edf03809 Delegate PPTX ZIP packaging to craft-opc 2026-11-13 01:57:32 -05:00
Dylan M. Taylor 08a65d45a8 Route spreadsheet extensions through shared registry 2026-11-13 01:56:22 -05:00
Dylan M. Taylor a23b40e29a Use shared CSV and TSV format mappings 2026-11-13 01:52:51 -05:00
Dylan M. Taylor 29e0198952 Delegate delimited text parsing to craft-csv 2026-11-13 01:50:15 -05:00
Dylan M. Taylor bfef83bfd1 Use shared format probes for document opens 2026-11-13 01:46:50 -05:00
Dylan M. Taylor 3028b5328c Format shared registry dispatch 2026-11-13 01:45:29 -05:00
Dylan M. Taylor 44fd4aec60 Route CLI format dispatch through shared registry 2026-11-13 01:42:51 -05:00
Dylan M. Taylor d373506feb Route UI format dispatch through shared registry 2026-11-13 01:39:41 -05:00
Dylan M. Taylor aff7435b81 Route file dispatch through shared format APIs 2026-11-13 01:34:50 -05:00
Dylan M. Taylor fee641be68 Fix current Rust clippy findings 2026-11-13 01:25:27 -05:00
Dylan M. Taylor 32348da073 Route PDF parsing and raster import through craft-libs 2026-11-13 01:19:41 -05:00
Dylan M. Taylor fcb571c52a Delegate raster codecs and text interchange to craft-libs 2026-11-13 01:11:49 -05:00
Dylan M. Taylor 9b0c6ee2a7 Delegate EPS preview parsing to craft-eps 2026-11-13 00:40:26 -05:00
Dylan M. Taylor 3617464d73 Use craft-eps for EPS section and box parsing 2026-11-13 00:35:54 -05:00
Dylan M. Taylor dce5d19dc2 Delegate XLSX parsing to craft-libs 2026-11-13 00:32:11 -05:00
Dylan M. Taylor 6ff34b922f Delegate RTF parsing and writing to craft-libs 2026-11-13 00:28:33 -05:00
Dylan M. Taylor 9889488f5d Fix lockfile and EPS test after rebase 2026-11-13 00:18:41 -05:00
Dylan M. Taylor 1883719699 Move IDML package IO and SVG preflight to craft-libs 2026-11-13 00:16:41 -05:00
Dylan M. Taylor 7a0c256601 Move native bundle and EPUB packaging to craft-libs 2026-11-13 00:16:41 -05:00
Dylan M. Taylorandaiongg d6a09639bf Repagination, IDML swatch import and style folders: linear work, bounded depth (#2237)
* Repagination, swatch import and style folders: linear page numbers, resumed duplicate suffixes, bounded folder depth

* fix Section initializer after merging main

---------

Co-authored-by: aiongg <67543387+aiongg@users.noreply.github.com>
2026-11-11 16:21:23 -05:00
Dylan M. Taylorandaiongg dc9eea2695 Small bounds: outline simplification, table row insertion, note ids, xtask stats (#2232)
* fix: iterative outline simplification, bulk row insertion, linear note ids, no symlink walking in xtask stats

* Apply review fixes

- crates/doc/src/tests.rs
- crates/geom/src/trace.rs

* Apply review fixes

- crates/geom/src/trace.rs

* address review: cover a maximal note id in tests, format trace test

---------

Co-authored-by: aiongg <67543387+aiongg@users.noreply.github.com>
2026-11-11 16:20:58 -05:00
eba00a0dec Opening documents: index lookups in Document::check and the format-1 style upgrade (#2218)
* fix(doc): index items, threads and styles when opening a document

* Apply review fixes

- crates/doc/src/tests.rs

* address review: borrow style names in pin_para_default

---------

Co-authored-by: aiongg <67543387+aiongg@users.noreply.github.com>
Co-authored-by: autocraft-bot[bot] <354215646+autocraft-bot[bot]@users.noreply.github.com>
2026-11-11 16:20:34 -05:00
Dylan M. Taylorandaiongg 15bea9fa7a Tagged Text, RTF, EPUB classes and PDF layers: lookups by set or map instead of list searches (#2212)
* fix: index style, font, class and layer name lookups in exporters and importers

* Apply review fixes

- crates/epub/src/css.rs

---------

Co-authored-by: aiongg <67543387+aiongg@users.noreply.github.com>
2026-11-11 16:20:09 -05:00
Dylan M. Taylorandaiongg 5a3507510e File reads: refuse devices and pipes, cap whole-file reads (#2227)
* fix(engine): whole-file reads take regular files only, up to the format limit

* Apply review fixes

- crates/engine/src/io.rs

* Apply review fixes

- crates/engine/src/io.rs

* Fix failing CI check

- crates/engine/src/io.rs

* address review: refuse to save an encoded document longer than the open limit

* address review: open files for reading without blocking (FIFOs, stream-backed pseudo-files)

---------

Co-authored-by: aiongg <67543387+aiongg@users.noreply.github.com>
2026-11-11 16:19:45 -05:00
Dylan M. Taylorandaiongg 8d59590449 Package: copy each font as it was loaded, check read roots, number duplicate names in one pass (#2208)
* fix(engine): package fonts from their loaded bytes under the read roots

* address review: a font's own file is neither overwritten nor packaged when it changed since loading

* Apply review fixes

- crates/engine/src/cmd/package.rs

* address review: compare packaged font file in fixed-size chunks

---------

Co-authored-by: aiongg <67543387+aiongg@users.noreply.github.com>
2026-11-11 16:19:20 -05:00
Dylan M. Taylorandaiongg cfd99ba9b5 Automation roots: compare paths exactly; recovery reads only regular entry files (#2205)
* fix(engine): exact root containment and regular-file recovery entries

* Apply review fixes

- crates/engine/src/recovery.rs

---------

Co-authored-by: aiongg <67543387+aiongg@users.noreply.github.com>
2026-11-11 16:18:55 -05:00
Dylan M. Taylorandaiongg 34f24a4d2a Gradients: expand midpoint stops in linear time (#2214)
* fix(color): sample gradients by binary search when expanding midpoints

* Apply review fixes

- crates/color/src/gradient.rs

* Apply review fixes

- crates/color/src/gradient.rs

* Fix failing CI check

- crates/color/src/gradient.rs

---------

Co-authored-by: aiongg <67543387+aiongg@users.noreply.github.com>
2026-11-11 16:18:31 -05:00
Dylan M. Taylor eba5b9f845 datamerge: all further pages in one insertion, page lookups by start index (#2279) 2026-11-11 16:18:07 -05:00
Dylan M. Taylorandautocraft-bot[bot] c684db5428 Tools: selection bounds in one walk, bounded smart spacing and parent snapping (#2260)
* tools: selection bounds in one walk, caps on smart-spacing boxes and parent occurrences

* Apply review fixes

- crates/tools/src/lib.rs

* address review: iterative selection walk; stop collecting spacing boxes at the cap

---------

Co-authored-by: autocraft-bot[bot] <354215646+autocraft-bot[bot]@users.noreply.github.com>
2026-11-11 16:17:42 -05:00
Dylan M. Taylorandautocraft-bot[bot] 79d7a912f1 Strokes: cap the points a wavy or hashed stroke places along a path (#2188)
* Strokes: cap the points a wavy or hashed stroke places along a path

* address review: zero-length quadratic contributes no length in stroke samples

* Fix failing CI check

- crates/geom/src/stroke_style.rs

* Fix failing CI check

- crates/geom/src/stroke_style.rs

---------

Co-authored-by: autocraft-bot[bot] <354215646+autocraft-bot[bot]@users.noreply.github.com>
2026-11-11 16:17:18 -05:00
Dylan M. Taylorandautocraft-bot[bot] 589f5ff8a3 Engine: Erase and Smooth search each distinct drag sample once (#2272)
* engine: Erase/Smooth look at each distinct drag sample once, thinned past 4096

* Apply review fixes

- crates/engine/src/cmd/anchors.rs

* address review: decide whether a drag touched the path on every distinct sample, then thin

---------

Co-authored-by: autocraft-bot[bot] <354215646+autocraft-bot[bot]@users.noreply.github.com>
2026-11-11 16:16:54 -05:00
Dylan M. Taylorandaiongg bcbc3ed424 Story: appending text no longer scans every run and the whole prefix (#2245)
* doc: appending to a story extends the last run, no scans

* Apply review fixes

- crates/doc/src/story.rs

---------

Co-authored-by: aiongg <67543387+aiongg@users.noreply.github.com>
2026-11-11 16:16:29 -05:00
Dylan M. Taylor ed3f45a57a render: cap the blend-area growth rounds, one name per optional-content layer (#2257) 2026-11-11 16:16:04 -05:00
Dylan M. Taylor 94c6798577 swatches panel: group membership and row lookups by name map (#2262) 2026-11-11 16:15:39 -05:00
.CooCoo 513f77b88e Tables: commands given a table id run with nothing in a table selected (#2607)
* Tables: commands given a table id run with nothing in a table selected

Table commands whose params list `story?` and `table?` (table.insertRow,
table.deleteColumn, table.options, the Convert Rows commands and the
others) were refused with "place the insertion point in a table" when the
call named the table but the selection was not in one. A call that passes
`table` now acts on that table whatever is selected. A table that is not
in the document, or not in the given `story`, is refused, and a `story`
that is not a non-negative integer is an error.

The menus are unchanged: with nothing in a table selected, the table
items stay disabled, and calls that name no table are still refused.

* Tables: a bad story is refused whether or not a table is selected

A call that names a table with a story that is not a non-negative integer (a string, a negative number, a fraction or null) was refused only when nothing in a table was selected. With a table selected, the command ignored the story and acted on the named table. Both paths now read story with one helper and refuse it the same way.

* Tables: an edit to a named table keeps a caret in footnote text

With the caret in footnote text, a table command that names a table
runs, and the edit cleared the caret's footnote address, so the next
typing went into the story. clamp_selection now leaves footnote
addresses alone, as in_cell does.
2026-11-11 19:56:37 +00:00
Dylan M. Taylor 19815eba4a Fix Flatpak permissions for update checks and self-updates (#2626)
* fix(flatpak): allow release checks and self-update helpers

* test: keep Flatpak permission parsing within strict Clippy rules
2026-11-11 14:24:07 -05:00
FredApps c64378ded9 Merge pull request #1936 from ashokram-si/feat/spread-spine-line-1838
Canvas: a spine line where the pages of a spread meet (#1838)
2026-11-11 07:57:58 +01:00
Dylan M. Taylor edd2f24bb0 address review: cap whole-reference strings and the resolved parameters of a step; range adjustment uses the inserted length 2026-11-11 05:11:14 +00:00
Dylan M. Taylor c85f7425a4 address review: build unvar value only when an instance exists; check interpolation length before copying; bound the limit-error preview 2026-11-10 21:48:57 -05:00
aiongg ef82d650db Fix failing CI check
- crates/engine/src/script.rs
2026-11-10 21:47:43 -05:00
aiongg 95acc4d47e Apply review fixes
- crates/engine/src/cmd/variables.rs
2026-11-10 21:47:43 -05:00