Commit Graph
6401 Commits
Author SHA1 Message Date
BFlat 941a03c518 Merge pull request #4474 from el-j/feat/isolation-bar-navigation-4468
Isolation mode: breadcrumbs are clickable to navigate hierarchy levels (#4468)
2026-10-29 20:21:07 +07:00
BFlat 01e7a0cb30 Merge pull request #4580 from storytold/fix/no-new-layer-in-mask-editing
Fix #4538: New Layer and New Sublayer are refused while an opacity mask is edited
2026-10-29 20:20:51 +07:00
BFlat e16d0b2a8f Merge pull request #4579 from storytold/fix/dialogs-hide-canvas-hover
Fix #4518: a dialog or floating panel over the canvas hides the pointer from it
2026-10-29 20:20:34 +07:00
BFlat c332447c32 Merge pull request #4578 from storytold/fix/color-settings-shows-panel
Fix #4542: Edit › Color Settings… and Assign Profile… show the Separations Preview panel
2026-10-29 20:20:19 +07:00
BFlat d09d9a634e Merge pull request #4577 from el-j/fix/4567-input-field-vertical-centering
Fix #4567: vertically center numbers and text in input fields
2026-10-29 20:19:55 +07:00
BFlat 5a74615440 Merge pull request #4442 from dotCooCoo/feat/library-gradients-patterns
Libraries: gradients and patterns can be added to a library and applied from it
2026-10-29 20:19:34 +07:00
BFlat c4f8763df3 Merge pull request #4071 from dotCooCoo/feat/image-trace-saved-presets
Image Trace: Manage Presets saves, renames and deletes custom tracing presets
2026-10-29 20:19:14 +07:00
BFlat 0be9090643 Merge pull request #4447 from dotCooCoo/fix/blend-tool-replaces-stale-first-pick
Blend: a click picks again when the Blend tool's first pick is gone
2026-10-29 20:18:53 +07:00
BFlat 5cd56ef1ae Merge pull request #4169 from Taha-Mahmoodi/fix/3089-expand-with-effects
Fix #3089: a stroked line with an effect expands to a stroked line, then Expand outlines it
2026-10-29 20:18:31 +07:00
BFlat 40db966f5e Merge pull request #4458 from dotCooCoo/fix/pattern-and-mask-editing-exclusive
Transparency: pattern editing mode and opacity mask editing can't be entered from each other
2026-10-29 20:18:08 +07:00
BFlat 78473679f3 Merge pull request #4257 from dotCooCoo/fix/place-refuses-undecodable-image
Place: an image whose pixels can't be read is refused instead of placed blank
2026-10-29 20:17:50 +07:00
BFlat bb0510fdf2 Merge pull request #4396 from dotCooCoo/fix/trace-library-fills-link-swatches
Image Trace: Document Library fills link to the document's global swatches
2026-10-29 20:17:34 +07:00
BFlat 72e5d80161 Merge pull request #4372 from dotCooCoo/feat/zoom-marquee-space-moves
Zoom tool: Space held while dragging moves the zoom marquee
2026-10-29 20:17:17 +07:00
BFlat e895cd0854 Merge pull request #4454 from dotCooCoo/feat/blend-tool-click-again-finishes
Blend: choosing the Blend tool again finishes the blend
2026-10-29 20:16:59 +07:00
BFlat a79a4fcc3c Merge pull request #4473 from dotCooCoo/fix/more-load-sensitive-tests
Tests: the MCP concurrency, folder search and artboard export tests pass on a loaded machine
2026-10-29 20:16:43 +07:00
bflatastic 098c147b60 Isolation bar: step up a level without indexing 2026-10-29 19:54:57 +07:00
el-j 6e2e0740b0 Isolation mode: breadcrumbs are clickable to navigate hierarchy levels (#4468) 2026-10-29 19:54:35 +07:00
bflatastic 9534a36416 Fix #4538: New Layer and New Sublayer are refused while an opacity mask is edited
While an opacity mask is edited the Layers panel lists only the mask, so a new layer was added where no row showed it, and only the panel's layer count went up. Both commands are now disabled then, as isolation commands already are (outside_mask_editing).
2026-10-29 19:54:34 +07:00
bflatastic 536a98d17f Tests: give the covering window its sizing pass 2026-10-29 19:54:33 +07:00
bflatastic 8f5d14c7f7 Format 2026-10-29 19:54:33 +07:00
bflatastic 2c1713e90b Fix #4518: a dialog or floating panel over the canvas hides the pointer from it
The document point under the pointer (Object Highlighting, the rulers' marks, the status bar and the Info panel) was taken wherever the pointer was over the canvas's rectangle, even over a dialog, a floating panel or a menu on top of it, so objects under the Print or Export for Screens dialog lit up as the pointer moved over the dialog. It now takes the same check as the tool's hover (the canvas's own layer under the pointer), except during a drag that began on the canvas.
2026-10-29 19:54:33 +07:00
bflatastic 5438ed12d3 Fix #4542: Edit › Color Settings… and Assign Profile… show the Separations Preview panel
The commands opened the panel as an icon column's flyout, but Separations Preview isn't in an icon column, so the dock dropped the request on the next frame and nothing showed. They now show it the way Window › Separations Preview does (in its group, its remembered place, or floating), and leave it showing when it already does.
2026-10-29 19:21:34 +07:00
el-j 752bbb050d Fix #4567: vertically center numbers and text in input fields
In single-line text and numeric inputs across panels and dialogs, egui
0.37 defaulted TextEdit alignment to Align2::LEFT_TOP, placing the text
galley at the very top of the allocated input box (e.g. 1pt top margin,
11pt bottom margin in 26pt rows).

Align single-line TextEdit instances to Align2::LEFT_CENTER across
recessed_text, opt_field_named (dash/gap cells), hex fields, search
fields, and dialog inputs, matching DesignCraft's vertical centering.
Add regression assertions in look_tests verifying balanced vertical
spacing.
2026-10-29 19:21:33 +07:00
dotCooCoo cdf4453051 Libraries: gradients and patterns can be added to a library and applied from it
Squashed from #4442 onto main.
2026-10-29 19:21:33 +07:00
dotCooCoo c9853094d4 Image Trace: Manage Presets saves, renames and deletes custom tracing presets
Squashed from #4071 onto main.
2026-10-29 19:21:32 +07:00
dotCooCoo e492c4298c Blend: a click picks again when the Blend tool's first pick is gone
Squashed from #4447 onto main.
2026-10-29 19:21:32 +07:00
bflatastic c4d23f4af7 i18n: drop two stale Georgian rows the #4169 squash brought back 2026-10-29 19:21:32 +07:00
BFlat 73a854bc3f Merge pull request #4560 from el-j/perf/edited-root-refresh-4554
perf(engine): gate post-edit Shaper and Text-Wrap maintenance via edited-root diffing (#4554)
2026-10-29 19:11:16 +07:00
BFlat 96a23cf893 Merge pull request #4547 from ham9zah/fix/ai-versioned-content
Import: dimension labels from Illustrator files come in once, right to left
2026-10-29 19:11:05 +07:00
BFlat 4192d44189 Merge pull request #4313 from Hassan1305/fix-4283-wheel-animated-zoom
Fix #4283: a wheel notch zooms at once without Animated Zoom
2026-10-29 19:10:49 +07:00
BFlat 4e27c03150 Merge pull request #4552 from nevarem/fix/drag-masked-selection
Selection: a press where a mask hides a selected object's art grabs it
2026-10-29 19:10:24 +07:00
BFlat 954fbbda10 Merge pull request #4572 from nevarem/feat/properties-guide-transform
Properties: selected ruler guides show their position in a Transform section
2026-10-29 19:10:08 +07:00
BFlat 5fb4382cd4 Merge pull request #4575 from dotCooCoo/fix/hide-unselected-layers-guides
Object: Hide Unselected Artwork keeps a selected layer's art and groups that hold locked guides
2026-10-29 19:09:52 +07:00
BFlat 6ee59bba10 Merge pull request #4571 from Silvertree2010/fix/h3903-object-path-smooth-at-level-0-mo
Keep Smooth's closed-path start corner within the tolerance
2026-10-29 19:09:37 +07:00
BFlat 0287f5e45c Merge pull request #4570 from TheGalitube/fix/4558-bug-report-vectorcraft-rearrange
Retain spacing when rearranging artboards
2026-10-29 19:09:25 +07:00
BFlat 7597330291 Merge pull request #4557 from dotCooCoo/fix/svg-darkness-test-checks-it-ran
Tests: the non-sRGB Drop Shadow test fails when its child test does not run
2026-10-29 19:09:09 +07:00
BFlat e3f93ee032 Merge pull request #4553 from TheGalitube/fix/h1650-svg-css-comment-markers-inside-s
Preserve comment markers inside CSS strings
2026-10-29 19:08:53 +07:00
Taha-Mahmoodi b41599f657 Fix #3089: a stroked line with an effect expands to a stroked line, then Expand outlines it
Squashed from #4169 onto main.
2026-10-29 18:54:59 +07:00
dotCooCoo 3cfdb58b90 Transparency: pattern editing mode and opacity mask editing can't be entered from each other
Squashed from #4458 onto main.
2026-10-29 18:54:45 +07:00
dotCooCoo c8a7420b93 Place: an image whose pixels can't be read is refused instead of placed blank
Squashed from #4257 onto main.
2026-10-29 18:54:38 +07:00
dotCooCoo e764d770db Image Trace: Document Library fills link to the document's global swatches
Squashed from #4396 onto main.
2026-10-29 18:50:56 +07:00
dotCooCoo 3aebccaf06 Zoom tool: Space held while dragging moves the zoom marquee
Squashed from #4372 onto main.
2026-10-29 18:50:45 +07:00
dotCooCoo 74b408e8da Blend: choosing the Blend tool again finishes the blend
Squashed from #4454 onto main.
2026-10-29 18:50:34 +07:00
dotCooCoo 6fd042e4be Tests: the MCP concurrency, folder search and artboard export tests pass on a loaded machine
Squashed from #4473 onto main.
2026-10-29 18:50:24 +07:00
el-j 31a482bade perf(engine): rerun objects_on_path when dimension refresh mutates artwork 2026-10-29 18:46:48 +07:00
ham9zah 0cd82d8d7d Import: the page's type of a right-to-left or turned label is its text object's
A file's PDF part draws a right-to-left paragraph's words in the order
they show ("mm 120.5"), while its text object keeps them in the order
they are typed (" 120.5 mm "). The page's type was matched to the text
objects by their letters in order, so it matched none and stayed beside
the label as a second copy. It is now matched word by word.

A point type label turned a quarter (a vertical dimension's) lay outside
the box its text object was looked for in, which was always level; that
box now runs along the type's baseline.
2026-10-29 18:46:47 +07:00
HassanKhan 1c1ca30a11 Fix #4283: a wheel notch zooms at once without Animated Zoom
Squashed from #4313 onto main.
2026-10-29 18:46:47 +07:00
nevaremandClaude Opus 5.5 87fc61df79 Selection: a selected object's masked art is reached the way a click goes
The check of a selected object's masked art looked at its own place
only. A click goes down from the layer (or the isolated container) and
never reaches a Shaper group's original shapes outside Construction
mode, however deep the object lies in them; and below a layer whose
Preview is off it hits art in outline. A press inside such a path's
fill, or on a path in a Shaper group's hidden shapes, started a move.

The way down to the selected object is now checked as a click goes:
a Shaper group's part a click can't reach on it rules the object out,
and a Preview-off layer on it (below the isolated container) makes the
object count by its outline.

Tests also cover Shift with Direct and Group Selection (a marquee) and
an object a click hits over the masked art (it is selected).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01EjfPR4a1jPek7r3nyFFNYv
2026-10-29 18:46:47 +07:00
nevaremandClaude Opus 5.5 a7db76bdfb Properties: selected ruler guides show their position in a Transform section
With ruler guides selected on their own (a click on one), the
Properties panel showed the Document sections, so a guide's position
could be typed only in the Transform panel.

The panel now has a Guides heading and a Transform section with the
Transform panel's guide fields (#1597): X moves the vertical guides and
Y the horizontal ones, together. With art selected too, it shows the
art's sections as before.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01EjfPR4a1jPek7r3nyFFNYv
2026-10-29 18:46:47 +07:00
dotCooCoo d93657c631 Object: Hide Unselected Artwork keeps a selected layer's art and groups that hold locked guides
With a layer selected, Object > Hide > Unselected Artwork hid every object
on that layer, since the selected layer was dropped from the objects to
keep. The objects of a selected layer now count as selected.

While Lock Guides is on, a group that held a guide path was hidden whole,
which hid the guide with it. Guide paths now count as selected, so the
command keeps such a group visible and hides its other members one by one.
2026-10-29 18:46:47 +07:00