Commit Graph
6901 Commits
Author SHA1 Message Date
BFlat d4c4dd3b46 Merge pull request #4798 from marshiyar/fix/3599-guard-history
Engine guard: a recovered panic restores every document's undo history and the active document (#3599)
2026-10-31 20:17:10 +07:00
BFlat a22c13aef1 Merge pull request #4793 from mockydevs/fix/eps-envelope-edited-contents
.ai/EPS import: an envelope's contents being edited aren't read as art
2026-10-31 20:16:55 +07:00
BFlat cafc13143e Merge pull request #4790 from mockydevs/fix/eps-dictionary-art-state
.ai/EPS import: a transparency set in a dictionary's art stays after it
2026-10-31 20:16:41 +07:00
BFlat 5047391eeb Merge pull request #4791 from mockydevs/fix/eps-area-type-first-line
.ai/EPS import: area type's first line goes where the file lays it out
2026-10-31 20:16:27 +07:00
BFlat a49ebdd850 Merge pull request #4801 from mockydevs/fix/ai-text-character-style
fix(ai-import): type from the text document takes its character style's attributes
2026-10-31 20:16:11 +07:00
BFlat 810841d3eb Merge pull request #4805 from Silvertree2010/fix/h4247-color-panel-hex-parser-accepts-s
Reject multiple leading '#' in the colour panel hex parser
2026-10-31 20:16:01 +07:00
BFlat ad13b8c578 Merge pull request #4810 from Silvertree2010/fix/h4122-unit-readout-shows-0-00-pt-for-t
Show 0.00 instead of -0.00 in Unit::readout for tiny negatives
2026-10-31 20:15:48 +07:00
BFlat 9e13259e79 Merge pull request #4823 from Silvertree2010/fix/h4293-smart-quotes-treat-a-closing-quo
Fix closing smart quote read as opening after same-glyph quote
2026-10-31 20:15:34 +07:00
BFlat 4b47e532bf Merge pull request #4850 from Taha-Mahmoodi/feat/snap-tangent-perpendicular-tools
Snapping: a line end dragged with Direct Selection snaps square to straight paths and tangent to curves (#2530)
2026-10-31 20:15:17 +07:00
BFlat f9560c5891 Merge pull request #4868 from Taha-Mahmoodi/fix/3604-ntfs-alternate-data-streams
Fix #3604: automation file access refuses an NTFS alternate data stream name on Windows
2026-10-31 20:15:07 +07:00
BFlat 9f9098283f Merge pull request #4802 from marshiyar/fix/3602-device-name
Swatch libraries: a library titled with a Windows device name is saved under another name (#3602)
2026-10-31 20:14:52 +07:00
BFlat a609ab659f Merge pull request #4871 from Taha-Mahmoodi/fix/995-width-stroke-zoomed-out
Fix #995: a width-profile stroke keeps its shape when the view zooms out
2026-10-31 20:14:36 +07:00
BFlat b5b35cc83f Merge pull request #4875 from Taha-Mahmoodi/fix/2651-repeat-options-preview
Fix #2651: Grid Repeat Options has a Preview checkbox
2026-10-31 20:14:21 +07:00
BFlat 7b8a849982 Merge pull request #4811 from mockydevs/fix/svg-mesh-flat-pieces
SVG export: a gradient mesh patch is cut no finer than its colour changes
2026-10-31 20:14:07 +07:00
BFlat b99f46ca75 Merge pull request #4876 from Taha-Mahmoodi/fix/3592-mesh-quad-budget
Fix #3592: a gradient mesh from a file is budgeted at about a million quads
2026-10-31 20:13:56 +07:00
BFlat ca8f7f6970 Merge pull request #4851 from dotCooCoo/fix/shortcut-layout-quote-key
Keyboard Shortcuts: a shortcut on the Turkish Q quotation-mark key shows " and runs
2026-10-31 20:13:39 +07:00
BFlat e3854a6023 Merge pull request #4782 from dotCooCoo/fix/paint-keys-shift-only
Shortcuts: Shift+Comma and Shift+Period follow key positions only with Shift alone
2026-10-31 20:13:23 +07:00
BFlat 58de20a4b1 Merge pull request #4846 from dotCooCoo/fix/homography-apply-finite
Geometry: a perspective point that overflows maps to nothing instead of infinity
2026-10-31 20:13:06 +07:00
BFlat 969f7f66c3 Merge pull request #4804 from dotCooCoo/feat/perspective-shift-constrains-move
Perspective Selection: Shift constrains a move to the plane's axes and diagonals
2026-10-31 20:12:52 +07:00
BFlat 9269e83b27 Merge pull request #4858 from dotCooCoo/fix/reduce-basic-keeps-selected-fill
Appearance: Reduce to Basic Appearance keeps the selected fill or stroke row
2026-10-31 20:12:37 +07:00
BFlat 62f2f327d4 Merge pull request #4863 from dotCooCoo/fix/add-new-fill-above-selected
Appearance: Add New Fill copies the selected fill row right above it
2026-10-31 20:12:22 +07:00
BFlat 73627d806b Merge pull request #4866 from dotCooCoo/fix/issue-3229
Part of #3229: setting type in a font or style that isn't available warns
2026-10-31 20:12:08 +07:00
BFlat f19e4ff806 Merge pull request #4852 from dotCooCoo/fix/replace-font-hidden-locked
Find Font: Change and Change All leave hidden and locked text alone
2026-10-31 20:11:51 +07:00
BFlat ec40a39749 Merge pull request #4853 from dotCooCoo/fix/opacity-mask-layers
Transparency: Make Opacity Mask over several layers masks their art
2026-10-31 20:11:36 +07:00
BFlat 4992600f0e Merge pull request #4787 from dotCooCoo/fix/pattern-undecoded-marks
Render: pattern tiles draw undecoded-image marks when the view does
2026-10-31 20:11:22 +07:00
BFlat 9fe12a7264 Merge pull request #4789 from dotCooCoo/fix/mask-root-node-mask
Render: an object used as an opacity mask keeps its own opacity mask
2026-10-31 20:11:06 +07:00
BFlat 94d2d068a9 Merge pull request #4828 from dotCooCoo/fix/brush-warp-mask
Brushes: opacity masks on art brush pieces bend with the art
2026-10-31 20:10:52 +07:00
BFlat 72a5442313 Merge pull request #4838 from dotCooCoo/feat/blob-brush-angle-roundness
Blob Brush: Tool Options set the brush's Angle and Roundness
2026-10-31 20:10:37 +07:00
BFlat 52a33d3d8d Merge pull request #4840 from dotCooCoo/fix/dxf-dxf-alter-paths-if-necessary
DXF export: Alter Paths for Appearance outlines only strokes a CAD line can't draw
2026-10-31 20:10:21 +07:00
BFlat 6dff0095ea Merge pull request #4841 from dotCooCoo/fix/dxf-dxf-ellipse
DXF export: ellipses and unevenly scaled circles are written as ELLIPSE
2026-10-31 20:10:07 +07:00
BFlat 6612400fb9 Merge pull request #4839 from dotCooCoo/fix/dxf-dxf-line-entity
DXF export: an open path of one straight segment is written as a LINE
2026-10-31 20:09:52 +07:00
BFlat 40c3519af1 Merge pull request #4842 from dotCooCoo/fix/assemble-keeps-visibility
Outline Stroke, Expand: hidden and locked objects stay hidden and locked
2026-10-31 20:09:38 +07:00
BFlat ce2ca3c017 Merge pull request #4843 from dotCooCoo/fix/select-font-hidden-locked
Find Font: Find leaves out hidden and locked text
2026-10-31 20:09:23 +07:00
BFlat 4094658641 Merge pull request #4844 from dotCooCoo/fix/swatch-delete-plural
Swatches: the delete prompt for several swatches uses each language's plural forms
2026-10-31 20:09:07 +07:00
BFlat 5796c886a4 Merge pull request #4847 from dotCooCoo/fix/docs-mcp-type-underline-fragment
Docs: the type.underline line no longer repeats the end of the sentence before it
2026-10-31 20:08:51 +07:00
BFlat 800c9b9f18 Merge pull request #4848 from dotCooCoo/fix/issue-4837
Fix #4837: the saved color scheme, accent and canvas color show at launch
2026-10-31 20:08:36 +07:00
BFlat d4f8733176 Merge pull request #4859 from dotCooCoo/fix/select-same-fill-live-paint
Select Same: Fill Color from a Live Paint face stays in its Live Paint group
2026-10-31 20:08:22 +07:00
BFlat 40eceb422c Merge pull request #4857 from dotCooCoo/fix/issue-4819
Fix #4819: Convert to Smooth and Corner convert a selected blend's spine
2026-10-31 20:08:07 +07:00
BFlat 31c51b7f45 Merge pull request #4874 from dotCooCoo/fix/issue-4516
Part of #4516: Windows renders start workers only for the cores the process may use
2026-10-31 20:07:53 +07:00
BFlat 2f2b731f03 Merge pull request #4869 from dotCooCoo/fix/issue-4864
Fix #4864: a search pick of an Asset Export command opens the panel
2026-10-31 20:07:37 +07:00
BFlat 257aa3e1f9 Merge pull request #4867 from dotCooCoo/fix/web-shortcut-key-before-text
Shortcuts: in the web build a key-position shortcut uses the key of the same press
2026-10-31 20:07:23 +07:00
marshiyar 4861fb9d85 Engine guard: a recovered panic restores every document's undo history and the active document (#3599)
run_guarded put back only the active document's art, selection and interaction.
An undo step pushed before the panic stayed (Undo then stepped to a state equal
to the current one) and Redo was lost; other documents a command touched kept
their half-applied edits; the active document was restored by index.

It now snapshots every open document with its history and restores them, and
the active document by uid.

Fixes #3599
2026-10-31 19:43:17 +07:00
Don Omondi 7403003fb1 fix(eps): an envelope's contents being edited aren't read as art
An envelope whose contents are being edited is written the other way
round from one that isn't: its contents, a group on `%_` lines, then
its dictionary, which holds the mesh that shapes them. Only a group of
meshes was left out before an envelope's dictionary, so those contents
were read as art and their undistorted shapes drew over the distorted
art that follows on plain lines (and that the page draws).

The group on `%_` lines before an envelope's dictionary is now left
out whatever it holds; text in it stays as hidden text, as the
dictionary's own source text does.

# Conflicts:
#	docs/file-format-parity.md
2026-10-31 19:43:17 +07:00
Don Omondi 5b15b3f56b fix(eps): a transparency set in a dictionary's art stays after it
Art inside a dictionary in the editing data, such as an area text's
frame (`/ConfiningPath`) or a mask's art, can set a transparency
(`Xy`). The writer goes on from it: the objects after an area text
whose frame sets one have no `Xy` of their own. The reader dropped
that state when the dictionary closed, so those objects took the
transparency before the dictionary instead; in a user's file a Lighten
glow before an area text made everything after it fade into the light
background.

The last transparency the art inside a dictionary sets is now the
current one after it (and the enclosing dictionary's). Dictionaries
outside the layers (the setup's styles) are left as they were.

# Conflicts:
#	docs/file-format-parity.md
2026-10-31 19:43:17 +07:00
Don Omondi 75d2736a2a fix(eps): area type's first line goes where the file lays it out
Area type made from the editing data's text document was laid out with
its first baseline the font's ascent below the frame's top. The text
document keeps where each of its lines starts, and the file's page draws
them there: for some fonts the first line sits well above the font's
ascent (Oswald's at about its cap height), so headings came in lower
than on the page and the layers were taken to differ from it.

When the file's first line is more than half a point from where it is
laid out here, the first baseline is now fixed where the file has it
(First Baseline: Fixed), measured in the text document's own frame so a
copied object's type moves with its frame.

# Conflicts:
#	docs/file-format-parity.md
2026-10-31 19:43:17 +07:00
Don Omondi 3602bd6ea3 fix(ai-import): type from the text document takes its character style's attributes
Type made from an Illustrator file's text document took each character
attribute its run doesn't set from the document's base attributes, not
from the character style the run names ([Normal Character Style] or
another of the file's). Where the two differ the type came in wrong: a
file whose base fill is white and whose Normal Character Style is black
came in with its text white, invisible, so the layers differed from the
page wherever the page's own type didn't stand in for it.

A run now takes its own attributes, then its character style's (and the
styles that one is based on, up to 16), then the document's.
2026-10-31 19:43:17 +07:00
NetterSilverandClaude Haiku 5.5 18709b0b63 Reject multiple leading '#' in the colour panel hex parser
Found while testing crates/ui-egui/src/panels/color.rs:199-205 (parse_hex)

Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-31 19:43:17 +07:00
NetterSilverandClaude Haiku 5.5 d0e1a045c1 Show 0.00 instead of -0.00 in Unit::readout for tiny negatives
Found while testing crates/doc/src/units.rs:163-165 (readout)

Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-31 19:43:17 +07:00
NetterSilverandClaude Haiku 5.5 a5a7c4638a Fix closing smart quote read as opening after same-glyph quote
Found while testing crates/doc/src/setup.rs:111-113 (Quotes::opens / is_open), used by Quotes::apply at :122-131

Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-31 19:43:17 +07:00
Taha-Mahmoodi f9a523b55e Docs: Snapping is no longer a main gap in the parity table (#2530)
The tangent and perpendicular case is done for every tool the public pages name; its evidence stays in the revision row and in gaps.md and ui-parity.md.
2026-10-31 19:43:17 +07:00