Commit Graph
4699 Commits
Author SHA1 Message Date
dotCooCoo bbbce4318f Add Enclosing Lasso as an optional tool
Squashed from #5362 onto main.
2026-11-03 23:30:06 +07:00
dotCooCoo 63ac1395fd Type: control Kashidas for selected characters 2026-11-03 23:29:52 +07:00
Dylan M. Taylor 5f31ea5c9d fix(testkit): temp dir must belong to this user 2026-11-03 23:29:49 +07:00
Dylan M. Taylor 460a4f7a91 fix(ui): carry automation scope through opening, file picks and the render worker 2026-11-03 23:29:47 +07:00
Dylan M. Taylor 73f5ea573d fix(ui): automation hand-offs refused, preview page named inside its folder, graph grid bounded 2026-11-03 23:29:45 +07:00
Dylan M. Taylor c9d73ece85 fix(fonts): confine craft-fonts manifest paths and publish licences as text 2026-11-03 23:29:43 +07:00
Dylan M. Taylor 05bdd182b8 fix(render): charge fx symbol instances, admit CMYK decodes, checked Targa size 2026-11-03 23:29:41 +07:00
Dylan M. Taylor 670968f60a perf(text): look only at a paragraph's own runs 2026-11-03 23:29:39 +07:00
Dylan M. Taylor 8f8d04e5b5 fix(trace): empty and mismatched rasters, swatch dedupe by set 2026-11-03 23:29:37 +07:00
Dylan M. Taylor ca1c317644 fix(tools): clippy-friendly scanline bound 2026-11-03 23:29:35 +07:00
Dylan M. Taylor 1597bc378b fix(tools): count hatch scanlines; compact liquify simplification 2026-11-03 23:29:35 +07:00
Dylan M. Taylor c3f1a17ad1 test(pdf): keep the offsets for the trailer 2026-11-03 23:29:32 +07:00
Dylan M. Taylor bcc26d28a6 fix(pdf): bound marked-content lookup, ASCII85, editing hash, image decodes and ink warnings 2026-11-03 23:29:32 +07:00
Dylan M. Taylor cfd31b5010 CSS export: line breaks and angle brackets in names can't end a CSS string
Squashed from #5408 onto main.
2026-11-03 23:29:31 +07:00
Dylan M. Taylor 0086c85bc7 fix(svg): glyphs keep only typed raster data URLs and no links 2026-11-03 23:29:09 +07:00
Dylan M. Taylor c972c15d0f fix(svg): entity expansion estimate counts every declaration and refuses long names 2026-11-03 23:29:08 +07:00
Dylan M. Taylor 6b0a434c32 perf(svg): CSS class and imported symbol names go on from the last suffix 2026-11-03 23:29:06 +07:00
bflatastic 28b87faeee Type on a Path Options: docs say where the Preview checkbox comes from 2026-11-03 22:54:12 +07:00
ruchirguitarandClaude Opus 5.5 f53ebdf7c0 Fix #5360: Type on a Path Options has a Preview checkbox
With Preview on, the selected type on a path follows Effect, Flip, Align
to Path and Spacing while the dialog is open. Cancel puts it back with no
history step; OK keeps the previewed values as one undo step. Preview
starts off. The public pages list no Preview for this dialog, so this is
a VectorCraft choice, recorded as such in the parity docs.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-03 22:53:39 +07:00
bflatastic 9f6c7d621f Copy: the too-large-for-PNG status message in every catalog 2026-11-03 22:53:39 +07:00
Dylan M. Taylor ce5d99c363 Copy: a PNG too large to make is not offered, and the status bar says why
Follow-up to #5301. flavour_types (and clipboard.flavours) still listed PNG for art too large to render at the smallest scale, and the omission was only logged. PNG eligibility is now shared, and flavours_with_warnings returns a warning the status bar shows.
2026-11-03 22:52:31 +07:00
Dylan M. Taylor 1ce015de86 Export for Screens: settings saved without their PDF passwords don't export unprotected
Follow-up to #5305. Stripping passwords from remembered settings made the next export of a password-protected PDF row write an unencrypted file without a word. The stripped settings now keep a non-secret passwordRequired flag, and an export refuses them until a password is given again (or security without the flag is given).
2026-11-03 22:52:30 +07:00
Dylan M. Taylor ac391b0f85 DXF import: charge every dash copy and symbol name, name the block-work limit
Follow-up to #5288. A dashed compound path keeps its dash pattern on the compound node and on each loop, so the dash budget is charged for every copy. A symbol's name is charged against the text budget before the symbol is kept. Running out of block work now says so instead of reporting more than 2,000,000 objects.
2026-11-03 22:52:28 +07:00
Dylan M. Taylor 30ce0e3a42 Threads: a frame left alone by a dropped repeat is flowed again
Follow-up to #5303. When deduplication shortens a thread ([[a, b], [b, c]] -> [[a, b], [c]]) and no frame changed, the fast path dropped [c] without clearing its threaded continuation. A thread that lost a listing now counts as changed and is flowed again.
2026-11-03 22:52:27 +07:00
Dylan M. Taylor f0f3320d39 Brushes: a brush name the library lacks doesn't make art draw a brushed stroke
Follow-up to #5293. draws_brushed rejected masks, symbol instances and pattern paints whose art names a brush the library doesn't have, though such a stroke draws plain. It now counts only brush names that resolve.
2026-11-03 22:52:25 +07:00
Dylan M. Taylor bc50fa782e Place: a placement read again when it completes stays within the roots it was read in
Follow-up to #5306. A DXF placed off the UI thread against an artboard that changed meanwhile is read again in finish(), on the UI thread, outside the automation roots captured when the read started. Pending now keeps that scope and poll runs finish inside it.
2026-11-03 22:17:45 +07:00
Dylan M. Taylor 1574dfe729 fix: anchor positions and Simplify measure curves through the guarded arc length 2026-11-03 22:17:45 +07:00
Dylan M. Taylor 1806da580c fix(mcp): busy replies don't repeat a long request id 2026-11-03 22:17:45 +07:00
Dylan M. Taylor 61d9a1c3e4 fix(engine): recovery writes and reads an image entry shared by several keys once 2026-11-03 22:17:45 +07:00
Dylan M. Taylor 24e63b8b4f fix(eps): Illustrator import looks swatch names up in a set 2026-11-03 22:17:45 +07:00
Dylan M. Taylor 43e391918f fix(engine): Create from Guides stops at one past the slice limit 2026-11-03 22:17:45 +07:00
Dylan M. Taylor dabb9ae380 fix(engine): Delete Design handles each listed name once 2026-11-03 22:17:45 +07:00
Dylan M. Taylor f854b7a2cf fix(metafile): a full WMF object table is not rescanned for every creation 2026-11-03 22:17:45 +07:00
Dylan M. Taylor 824310e611 fix: brush and library names number repeats without rescanning 2026-11-03 22:17:45 +07:00
Dylan M. Taylor ffe1ee62ac fix: gradients drawn pixel by pixel find their stops by binary search 2026-11-03 22:17:45 +07:00
Dylan M. Taylor 891e90bfee fix(engine): preset imports number duplicate names in linear time 2026-11-03 22:17:45 +07:00
Dylan M. Taylor 706c8f850e fix(engine): refuse network paths outside the roots before resolving them 2026-11-03 22:17:45 +07:00
Dylan M. Taylor 4bca3c15f1 fix(color): recolor clustering seeds each colour once 2026-11-03 22:17:45 +07:00
Dylan M. Taylor d68652a8f2 fix(format): a replacement takes no inherited ACL the old file lacked 2026-11-03 22:17:45 +07:00
Dylan M. Taylor 9b10a40709 fix: Templates folder needs write access; portal saves keep exact file names 2026-11-03 22:17:45 +07:00
Dylan M. Taylor 1c4162b2c9 fix(doc): a refused placed-document read shows the preview, not a cached full read 2026-11-03 22:17:45 +07:00
Dylan M. Taylor 4d0ecb264c fix(engine): link watch and Link Info read within the asking caller's roots 2026-11-03 22:17:45 +07:00
Dylan M. Taylor 40b9fa4717 fix(engine): recovery reads only plain files in its own areas 2026-11-03 22:17:45 +07:00
bflatastic 9d3c45a7b5 .ai import: the nested-arrays refusal uses the translated nesting message 2026-11-03 22:17:45 +07:00
Dylan M. Taylor e3ef19142f fix(eps): refuse Illustrator arrays nested past the depth limit 2026-11-03 22:16:56 +07:00
Dylan M. Taylor 4aea3cc95c fix(effects): a dash pattern whose period overflows draws solid 2026-11-03 22:16:55 +07:00
NetterSilverandClaude Opus 5.5 2264edd0c9 Lasso picks gradient mesh points instead of dropping the mesh
Fixes #5351

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-03 22:16:53 +07:00
dotCooCoo 2b63bf1b67 Type: keep composition spacing along the line when characters rotate 2026-11-03 21:38:02 +07:00
bflatastic 96330fb54e SVG import: a style sheet too large to match opens with a warning; fuzz reaches the pass 2026-11-03 21:12:41 +07:00
dotCooCoo b751dce8e3 SVG import preserves selector matches while retaining metadata 2026-11-03 21:09:57 +07:00