Dylan M. Taylor
bfbb831e54
Use shared neutral SVG scene for paste
2026-11-13 04:25:01 -05:00
Dylan M. Taylor
2769d0b88f
Move DTD and raster encoding to craft-libs
2026-11-13 04:13:55 -05:00
Dylan M. Taylor
581ba450cd
Delegate screen SVG parsing and rendering
2026-11-13 03:55:54 -05:00
Dylan M. Taylor
275b907c57
Use shared PDF SVG adapter and CSV sniffing
2026-11-13 03:43:21 -05:00
Dylan M. Taylor
c1fdb6b3af
Align PDF dependency guard with shared backend pin
2026-11-13 03:19:42 -05:00
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
32c239cacc
Use shared image codecs for CLI previews
2026-11-13 01:59:00 -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. Taylor
33a4678722
Merge tested main for v0.20.1
v0.20.1
2026-11-11 18:37:32 -05:00
FredApps
4bdc036769
CI: nightly release dry run ( #2633 )
...
release.yml also runs nightly on main with craft-common-actions' dry-run: every release build
except macOS, with nothing signed, pushed or drafted. Breakage that only the release build hits
(riscv64, Flatpak, FreeBSD, packaging) then shows up the next morning instead of on release
day, as it did on 11 Nov 2026.
2026-11-11 23:03:58 +01:00
Dylan M. Taylor and aiongg
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. Taylor and aiongg
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. Taylor and aiongg
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. Taylor and aiongg
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. Taylor and aiongg
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. Taylor and aiongg
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. Taylor and aiongg
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. Taylor and autocraft-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. Taylor and autocraft-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. Taylor and autocraft-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. Taylor and aiongg
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