github storytold/vectorcraft v0.10.0
VectorCraft v0.10.0

4 hours ago

What's Changed

  • #1063: a fill or stroke chosen with characters selected colours just them by @bflatastic in #1075
  • Fix font size and horizontal scale after text/group scaling by @lollinoo in #1045
  • Type: Proportional Metrics — full-width glyphs on the font's proportional widths, palt (#966) by @imachus in #1067
  • Object: Align, Move, Arrange and other commands that change nothing record no undo step by @dotCooCoo in #1060
  • #1032: spot colours defined in Lab keep their Lab values by @bflatastic in #1076
  • Build: generated sources are rewritten only when they change by @bobtherobot in #1051
  • Gradient mesh: a fill colour recolours the point last clicked (#1050) by @MarekSpodBiedry in #1052
  • fix(ui): keep All Tools drawer compact on wide screens by @Ni-zav in #1054
  • fix(textwrap): reject malformed explicit object targets atomically by @Ni-zav in #1055
  • fix(gradient): reject malformed freeform line index lists by @Ni-zav in #1056
  • fix(corners): reject malformed explicit dialog targets by @Ni-zav in #1057
  • fix(views): validate saved-view coordinates and rotation by @Ni-zav in #1058
  • Tests: the command sweeps no longer skip junk scale, spacing and artboard values by @dotCooCoo in #1059
  • EPS: arc and arcn with huge angles no longer hang the import by @dotCooCoo in #1062
  • Align: a compound path or selected group that contains the key object stays in place by @dotCooCoo in #1074
  • #1068: a .ai read as its PDF part keeps its artboard layout by @bflatastic in #1084
  • fix(layers): validate explicit Layer Options targets by @Ni-zav in #1077
  • fix(shaper): reject invalid explicit scribble targets by @Ni-zav in #1078
  • fix(width): validate every explicit width-point removal index by @Ni-zav in #1079
  • fix(ui): show Preferences checkbox outlines in every theme by @Ni-zav in #1080
  • Adopt shared docking with panel menus and saved return locations by @skylartaylor in #1090
  • #885: every checkbox keeps a visible box at rest by @bflatastic in #1112
  • Width points: set and copy refuse a malformed index by @bflatastic in #1113
  • #1102: an EPS keeps its page and stacked text strokes through its layers by @bflatastic in #1120
  • #1085: the DMG's app passes codesign --strict by @bflatastic in #1121
  • Drops: libraries, presets and plug-ins open on a drop, as File › Open opens them by @dotCooCoo in #1083
  • Align: a key object needs two or more selected objects by @dotCooCoo in #1088
  • Align: Align to Artboard uses the active artboard by @dotCooCoo in #1105
  • Align, Reflect and Shear: object.align needs a direction; unknown choices are errors by @dotCooCoo in #1106
  • MCP: object.setProps removes the objects it hides or locks from the selection by @dotCooCoo in #1107
  • Part of #394: Align and Distribute move pattern tiles when Transform Pattern Tiles is on by @dotCooCoo in #1108
  • Object: Lock and Hide › All Artwork Above deselect the objects they lock or hide by @dotCooCoo in #1109
  • Swatches: swatch.library.save counts only the swatches the file holds by @dotCooCoo in #1110
  • #1095: an artboard's name stays at its corner in a rotated view by @bflatastic in #1122
  • #1111: Ctrl+Shift+L, C, R, J and F align paragraphs by @bflatastic in #1127
  • Fix #867: macOS file dialogs are sheets, and no dialog runs inside the event handler by @Emlembow in #1099
  • #893: Shape Builder merges leave no seams on grids of lines by @NoJuanNobody in #1081
  • Type: Proportional Metrics in vertical type — upright glyphs on the font's proportional heights, vpal (#966) by @imachus in #1082
  • Plug-ins: whole-number parameters keep their exact value and stay in range by @webdevtodayjason in #1091
  • PDF/.ai import: glyphs spaced each their own way keep their place by @p0lyg0n in #1101
  • Direct Selection: drag paths selected whole by an anchor; Alt-copy at any time, snapping by that anchor by @bobtherobot in #1104
  • #1129: the toolbar's paint buttons fit its width by @bflatastic in #1134
  • #1089: an image copied in a browser pastes as the picture, also from its markup by @bflatastic in #1135
  • #788: file.place frames an SVG by its viewBox when crop is given by @bflatastic in #1145
  • Part of #812: Ctrl/Cmd and Alt shape a star while it's dragged by @bflatastic in #1146
  • #1018: Edit Toolbar opens a drawer beside the toolbar; tools drag in and out by @bflatastic in #1149
  • Icons: the Selection arrow is black and Direct Selection's white in every theme by @bflatastic in #1150
  • fix(fonts): preserve highlighted font across menu list refreshes by @Ni-zav in #1116
  • Fix #662: the Windows installer offers a desktop shortcut by @mateususa in #1128
  • #819: more noise removal never gives more paths by @mateususa in #1130
  • Lint: clippy -D warnings passes for the wasm32 web build by @dotCooCoo in #1132
  • Fix #1140: gradient stops blend colour and opacity apart on the canvas, as the exports do by @Biromedic in #1142
  • Fix #1141: SVG import keeps a mask whose art is all hidden, so its object stays hidden by @Biromedic in #1143
  • #1139: Shift-click selects several artboards, which move and delete together by @bflatastic in #1154
  • Render: a shape far beyond any page is left undrawn, never crashing the app by @bflatastic in #1155
  • #1144: Live Corners round corners between curved segments too by @bflatastic in #1159
  • #1133: Zig Zag's dialog has sliders and radio buttons, as in Illustrator by @bflatastic in #1160
  • #1152: Offset Path opens on the values it was last applied with by @bflatastic in #1166
  • #1103: a marquee selects only the objects whose paths it touches by @bflatastic in #1167
  • #1151: Preferences › Performance › Linux Display Server opens the window through XWayland, where file drops work by @bflatastic in #1170
  • #1111: a selected gradient mesh shows its mesh lines and points by @bflatastic in #1171
  • #1111: a blend's spine bends into a curve by @bflatastic in #1174
  • #1158: Alt-click on a layer's eye or lock isolates that layer by @bflatastic in #1175
  • #1163: Release splits a path of several subpaths into one path each by @bflatastic in #1176
  • #1163: MCP render_preview takes an artboard index by @bflatastic in #1177
  • MCP: drawing tools describe inherited paint and export text options by @KnottyDyes in #1148
  • Reject malformed desktop automation root arguments before startup by @piero-83 in #1157
  • Review: house header for the root-argument integration test (#1157) by @bflatastic in #1178
  • PDF export: warn when raster effects render below the requested resolution by @KnottyDyes in #1147
  • #1163: command_batch can be one undo step by @bflatastic in #1179
  • #1163: file.list lists a folder for agents, held to the read root by @bflatastic in #1181
  • Type: Thai falls back to a font made for Thai by @bflatastic in #1185
  • Type: the caret steps over whole clusters (Thai marks, accents, emoji) by @bflatastic in #1186
  • Docs: type parity has one status line again by @bflatastic in #1187
  • Type: Thai, Lao, Khmer and Myanmar lines break between words by @bflatastic in #1188
  • Font menu: a Thai script filter by @bflatastic in #1190
  • Type: Noto Sans Thai from craft-fonts is the Thai fallback, on the web too by @bflatastic in #1191
  • Type: the caret and double-click take Thai word by word by @bflatastic in #1195
  • Release: embed the current craft-fonts (Thai, Arabic, Chinese) by @bflatastic in #1204
  • #1197: Make Compound Path cuts holes where paths overlap by @bflatastic in #1213
  • Test: the idle place test waits for the link scan in real time by @bflatastic in #1214
  • #1194: Direct3D 12 shaders compile with FXC by @bflatastic in #1215
  • #1180: Align aligns the selected anchor points by @bflatastic in #1216
  • #955: a move grabbed by an anchor lands it on another anchor by @bflatastic in #1217
  • .ai import: copied area type and type on a path keep their own place by @p0lyg0n in #1208
  • EPS/.ai import: a font is found by its exact PostScript name before the name is split by @p0lyg0n in #1207
  • Part of #1102: type from the text document keeps its line spacing across paragraphs by @DisasterAreaDesigns in #1206
  • pt-BR: translate the remaining UI labels and engine messages by @WladmirJunior in #1205
  • i18n: complete the Czech (cs) catalog: panels, dialogs, plurals and messages by @Losminek in #1189
  • Type: Digits — Default, Arabic, Hindi and Farsi numeral systems (Character panel menu, Middle Eastern options) by @zakariayacine in #1201
  • Linux: Automatic draws on the GPU the Wayland compositor draws with by @atoslins in #1200
  • perf: large documents (#1172): big selections 100×+, live effects 18×, Pathfinder 11–20×, 41% less undo memory by @arhammusheer in #1173
  • Docs: record the large-document performance work (#1173) by @bflatastic in #1240
  • fix: 複合パスの外観と塗り規則を修正する #1197 by @haranishi in #1225
  • Object: Lock, Transform Each, Perspective and other commands that change nothing record no undo step by @dotCooCoo in #1233
  • Part of #394: art moved or duplicated with an artboard follows Transform Pattern Tiles by @dotCooCoo in #1219
  • Shape Builder: a line's loose end past a crossing no longer runs out and back in most cases by @dotCooCoo in #1230
  • Align: Align to Key Object makes the topmost selected object the key by @dotCooCoo in #1221
  • MCP: select.key checks its id, and agents can read the key object by @dotCooCoo in #1222
  • Palette: the entry that cancels the key object reads Cancel Key Object by @dotCooCoo in #1224
  • Tests: the command sweeps and import fuzz tests fail when a command panics by @dotCooCoo in #1218
  • Tests: the envelope export test ignores the PDF's XMP dates and file ID by @dotCooCoo in #1220
  • fix: macOSの保存画面に形式選択を追加する #866 by @haranishi in #1235
  • Direct Selection: a click on an already selected anchor selects it alone by @zakariayacine in #1237
  • Hand and Zoom cursors drawn like the tool cursors (Windows showed the move arrows, no magnifier) by @zakariayacine in #1238
  • i18n (cs): Pathfinder Add reads "Sjednotit", plus the remaining looked-up strings by @Losminek in #1226
  • Fix Rectangular Grid click options dialog by @FredApps in #1169
  • Graph designs and marker designs: Object › Graph › Design… and Marker… by @IHAGI-c in #1092
  • Graph Data: Transpose and Switch x/y; | line breaks in labels; pie Legend, Position and Sort by @IHAGI-c in #1115
  • Graph Type: Add Drop Shadow and Add Legend Across Top by @IHAGI-c in #1119
  • Graph Type: widths past 100%, First Row and First Column in Front, Draw Filled Lines by @IHAGI-c in #1136
  • Graphs keep their label formatting when drawn again by @IHAGI-c in #1137
  • Graph Data: a worksheet window by @IHAGI-c in #1138
  • Preserve SVG data attributes and validate export artboard ranges by @sanyamsingh001 in #989
  • Correct Arabic shaping assertions and cover embedded PDF fonts by @sanyamsingh001 in #993
  • Fix Pen endpoint picking and commit handle previews by @sanyamsingh001 in #821
  • Preserve placed links in editable exports and honor AI artboard options by @sanyamsingh001 in #718
  • feat(ui): add horizontal and vertical center align button by @Muratv07 in #1073
  • Color params: one scale per CMYK colour, not per component by @japbcoelho in #1249
  • MCP: lost replies report uncertainty instead of replaying edits by @KnottyDyes in #1246
  • Trace: colour mode keeps close dark tones apart by @japbcoelho in #1247
  • Docs: ROADMAP progress for 2026-10-12 by @bflatastic in #1310
  • fix: 線の色追加時にゼロ幅を既定値へ戻す #1253 by @haranishi in #1256
  • Direct Selection: Shift-click deselects one anchor of a path selected whole by @itrycodinganditsbad in #1263
  • fix: Direct Selectionで線分だけを選択・削除する #1278 by @haranishi in #1300
  • fix: ロック中と隔離の外側の図形から色を取得する #1251 by @haranishi in #1260
  • fix: スポイトの通常カーソルを十字表示から修正する #1269 by @haranishi in #1288
  • fix: 動かないアンカー整列でUndo履歴を増やさない #1180 by @haranishi in #1276
  • fix: フォントのフルネームを正しい書体へ解決する #1258 by @haranishi in #1267
  • fix: Curvature Toolの点表示を整理する #1236 by @haranishi in #1284
  • Type: Proportional Metrics bring their kerning — apkn with palt, vkrn and vapk with vpal (#966) by @imachus in #1291
  • perf: テクスチャ効果の距離判定を軽くする #1257 by @haranishi in #1265
  • fix(packaging): RPMの必須依存を共有ライブラリ能力で宣言 (#1275) by @haranishi in #1290
  • G2: add Artistic Film Grain live effect by @Tevinhead in #1282
  • fix: Simplify後の選択を更新して点数を表示する #1272 by @haranishi in #1305
  • Pen + Alt converts anchors of paths in a selected group (#1273) by @itrycodinganditsbad in #1306
  • Part of #394: new and imported documents use the Gridline every and Subdivisions preferences by @dotCooCoo in #1314
  • Transform: Transform Again repeats the options of the transform it repeats by @dotCooCoo in #1303
  • Layers: Send to Current Layer refuses a hidden or locked current layer by @dotCooCoo in #1301
  • Links: Find in Folder… looks for missing linked files in a folder and its subfolders by @dotCooCoo in #1287
  • Fix Escape exiting Artboard editing by @LucaLorenz in #1296
  • Fix Document Setup → Edit Artboards dialog handoff by @LucaLorenz in #1294
  • Validate explicit targets in layer row commands (part of #785). by @FredApps in #1255
  • i18n (cs): translate labels that bypass the catalog lookup (file filters, diagnostics, credits, gradients, print marks) by @Losminek in #1259
  • i18n: add Hungarian (hu) UI translation by @Skaywalker in #1302
  • Artboards: the Artboard tool starts on the active artboard by @dotCooCoo in #1309
  • EPS: closepath no longer grows the path past its limit by @dotCooCoo in #1311
  • Snap to Point: drag a selection by the anchor pressed near (#1274) by @itrycodinganditsbad in #1313
  • Image Trace: an image over 64 megapixels is traced scaled down by @fabian-co in #1315
  • Type: Change Case, Smart Punctuation and other commands that change nothing record no undo step by @dotCooCoo in #1316
  • ci: upgrade actions to Node 24 to fix deprecation warnings by @dylanmtaylor in #1321
  • fix(cad): set the closed bit on DXF SPLINE entities so closed curves import into CAM (#1299) by @rollroyces in #1320
  • Docs: merge duplicated table rows, record the rest of 2026-10-12 by @bflatastic in #1323
  • Select: Select All skips hidden isolated groups, and menu commands stay within what it selects by @dotCooCoo in #1325
  • Plug-ins: whole-number fields keep values past 2^53 exactly as typed by @webdevtodayjason in #1327
  • EPS: shading functions in shared arrays no longer hang the import by @dotCooCoo in #1330
  • EPS: huge arcs, fine dashes and rectangle arrays in a loop no longer hang the import by @dotCooCoo in #1329
  • Paint: fill, stroke, gradient and Appearance panel commands that change nothing record no undo step by @dotCooCoo in #1331
  • EPS: loops under a long dash array no longer hang the import by @dotCooCoo in #1332
  • Docs: ROADMAP 2026-10-12 adds #1325, #1327, #1329–#1332 by @bflatastic in #1333
  • Transparency: opacity mask options that change nothing record no undo step by @dotCooCoo in #1336
  • Path: Simplify and Add Anchor Points record no undo step when they change no path by @dotCooCoo in #1337
  • perf: bound memory on large documents (#1244) by @arhammusheer in #1245
  • EPS: the PostScript reader reads many tiling patterns, spot inks and shadings in linear time by @dotCooCoo in #1341
  • Docs: ROADMAP 2026-10-12 adds #1245, #1336, #1337, #1341 by @bflatastic in #1343
  • Part of #1286: constant alpha masks are drawn white by @bflatastic in #1359
  • Adopt craft-print for desktop printing, preserving Windows 7 by @skylartaylor in #1324
  • G16: Korean interface (ko) by @Johau91 in #1352
  • PDF import: gradient-filled shapes open as one path, not a clipped rectangle (#1304) by @aguo890 in #1351
  • PDF/.ai import: a .ai opens on its artboard with its bleed round it (#1266) by @aguo890 in #1349
  • Part of #868: PDFs saved with the reference app's editing data open from it, as .ai files do by @dotCooCoo in #1345
  • Layers: art moved into a hidden or locked layer, or hidden by a data set, is deselected by @dotCooCoo in #1355
  • perf: deselect hidden and locked objects in linear time by @osaidahmed in #1353
  • Part of #394: art moved whole with direct-selected anchors follows Transform Pattern Tiles by @dotCooCoo in #1354
  • Part of #394: Appearance of Black › On Screen shows pure CMYK black as RGB black by @aguo890 in #1350
  • fix(cad): DXFの制御点SPLINEの閉鎖を読み込みに反映する (#1299) by @haranishi in #1318
  • fix(ui): 数値欄のフォーカス時にドラッグ選択を保つ (#1326) by @haranishi in #1339
  • fix(pathfinder): 開いた切断線で図形を分割する (#1307) by @haranishi in #1335
  • fix: Pathfinderの名前とSVG IDを保持する #1293 by @haranishi in #1308
  • Align: Object › Align follows Align To, and the choice is kept across restarts by @dotCooCoo in #1347
  • fix: 図形のクリックからアートボードを作成する #1227 by @haranishi in #1252
  • feat: 定規の原点を変更・リセットする #1212 by @haranishi in #1250
  • Live Corners: with Direct Selection, a click on a widget selects its corner by @zakariayacine in #1239
  • Add a Polar Grid canvas-click dialog by @FredApps in #1192
  • Part of #1264: an image on %_ lines of a .ai file's editing data is read as an image by @bflatastic in #1364
  • PDF export: art beyond 1,000,000,000 pt is left out, so dev and test builds no longer abort by @dotCooCoo in #1360
  • Part of #666: Affinity rectangles keep per-corner radii and straight corners by @callmeBalloch in #1369
  • Toolbar: centre the tool buttons inside the panel's border by @AyberkA0 in #1363
  • i18n(es): add 371 rows other catalogs already had by @diegozpy in #1371
  • Part of #1358: the Image Trace section no longer widens the Properties panel by @bflatastic in #1374

New Contributors

Full Changelog: v0.9.0...v0.10.0

Don't miss a new vectorcraft release

NewReleases is sending notifications on new releases.