dotCooCoo
16b8aeb6b7
PDF/.ai import: a .ai whose page has a UserUnit opens with its layers at the page's size
...
A PDF page's UserUnit (PDF 1.6) sets the size of its user space unit
in multiples of 1/72 inch. The PDF reader has applied it since #1894 , so
a page with /UserUnit 10 and a 36 × 50.4 media box opens at 360 × 504
pt. A .ai whose editing data has its artboards in the page's own units
then no longer matched its PDF part. It opened from the PDF part,
without its layers, its hidden objects and the art outside its
artboards, and with its artboards in a row instead of where the
editing data puts them. document.pdfInfo gave such a page's size in
points and its boxes in the file's numbers.
Editing data whose first artboard has the page's size in the page's
units, and not in points, is now compared with the PDF part scaled
down by the UserUnit. The document read from it is then scaled up by
the UserUnit, with its stroke weights, dashes, effects and pattern
tiles. When the layers can't be read, the artboard layout taken from
the editing data is scaled the same way. document.pdfInfo gives the
boxes in points, as it gives the size.
Docs: docs/mcp.md, docs/target-app-parity.md.
2026-10-16 03:36:20 +07:00
dotCooCoo
dc179c3671
.ai import: CMYK images in the editing data keep their ink amounts
...
When a .ai file, or an EPS with editing data, opened from its editing
data, the reader converted each embedded 8-bit CMYK image to RGB and
stored it as a PNG, so the document lost the image's ink amounts. When
the same .ai opens from its PDF part, the PDF importer keeps them in a
CMYK TIFF.
The reader now stores those samples with ImageBlob::cmyk_tiff, as the
PDF importer does (crates/pdf/src/import_image.rs). An alpha channel
that hides part of the image becomes the image's opacity mask, a
grayscale image over it, as in PDF import. Grayscale, RGB and 1-bit
images still open as RGBA PNGs.
Docs: docs/file-format-parity.md, docs/target-app-parity.md.
2026-10-16 03:36:20 +07:00
bflatastic
8af0459232
AI import: a gradient mesh keeps at most 65,536 points, however its patches are cut
2026-10-16 03:36:20 +07:00
EricKuck and Claude Opus 5.5
76888366e7
AI import: a mesh patch's anchors run in the mesh's direction whatever their key
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-16 03:36:20 +07:00
EricKuck and Claude Opus 5.5
1682d59b65
AI import: a gradient mesh patch's edges bend through the anchors listed between its corners
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-16 03:36:20 +07:00
EricKuck
e93ba4c83f
AI import: a gradient in a pattern's definition is placed from the canvas, as the file's PDF part draws it
2026-10-16 03:36:20 +07:00
EricKuck and Claude Opus 5.5
9ebd30b8bb
AI import: a styled object read in place of its drawn look keeps the transparency written on the look
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-16 03:36:20 +07:00
EricKuck and Claude Opus 5.5
6545d8b886
AI import: a drawn look that is an image stands for its object, as one of paths does
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-16 03:36:19 +07:00
EricKuck and Claude Opus 5.5
fb6fc437c3
AI import: a clipping path alone in a group clips the clipping group around it
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-16 03:36:19 +07:00
midasmatterhorn
d5a672fda2
eps: an opacity mask in the editing data is named, not drawn whole ( #2004 )
2026-10-16 03:36:19 +07:00
bflatastic
312a939646
eps: rustfmt the layer transparency change
2026-10-16 03:36:19 +07:00
midasmatterhorn
6feec01d85
eps: a layer's own transparency in the editing data is read ( #2003 )
2026-10-16 03:36:19 +07:00
NetterSilver and Claude Haiku 5.5
dfdb98463f
Open PDFs and .ai files with an image over 256 MB decoded
...
Fixes #2005
Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com >
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com >
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-16 03:36:19 +07:00
BFlat
2cdd00cf7b
Merge pull request #2278 from storytold/fix/properties-flip-labels
...
Properties: the flip buttons keep the reference app's Properties names (#1910 )
2026-10-16 03:23:19 +07:00
BFlat
8958dfe60a
Merge pull request #2274 from dotCooCoo/feat/type-reset-tracking
...
Type: Cmd/Ctrl+Alt+Q resets tracking to 0 and kerning to Auto
2026-10-16 03:22:55 +07:00
BFlat
e5c12d0487
Merge pull request #2272 from dotCooCoo/feat/layers-eye-outline-others
...
Layers: Ctrl/Cmd+Alt-click on an eye switches the other layers between Outline and Preview
2026-10-16 03:22:39 +07:00
BFlat
e797b68220
Merge pull request #1920 from sanyamsingh001/codex/r65-width-finite
...
G1: Fix intermediate overflow in adjoining width adjustments
2026-10-16 03:22:21 +07:00
BFlat
f4b0e0f27b
Merge pull request #1926 from marcoarnulfo/fix/paste-in-place-off-artboard
...
Paste in Place: art copied from off the artboards goes back where it was
2026-10-16 03:22:02 +07:00
BFlat
2480017af0
Merge pull request #1939 from dotCooCoo/fix/issue-1692-hex-field-tab
...
Fix #1692 : tabbing through a hex field no longer resets the color
2026-10-16 03:21:46 +07:00
BFlat
312456a769
Merge pull request #1937 from dotCooCoo/fix/issue-1692-tab-order
...
Part of #1692 : Tab in the Color Picker goes through one color model's fields before the next
2026-10-16 03:21:29 +07:00
BFlat
bbda88bc71
Merge pull request #1951 from marcoarnulfo/fix/type-color-while-typing
...
Type: a colour picked while typing keeps what was typed
2026-10-16 03:21:13 +07:00
BFlat
a324b0e25f
Merge pull request #1967 from switch87/fix/1952-optional-number-strings
...
Transform commands: a string for an optional number is an error (#1952 )
2026-10-16 03:20:58 +07:00
BFlat
39faa02fe5
Merge pull request #1988 from MarekSpodBiedry/issue-1970
...
Paint: picking another pattern swatch keeps the pattern transform (#1970 )
2026-10-16 03:20:40 +07:00
BFlat
57ec0e6d7f
Merge pull request #2047 from AyberkA0/i18n-eps-layers-note
...
i18n: the notes for an EPS or .ai whose layers weren't read are translated (#2035 )
2026-10-16 03:20:23 +07:00
BFlat
6341519444
Merge pull request #2048 from AyberkA0/doc-loadprofile-lifetime
...
color.loadProfile: say that a loaded profile lasts for the run (#1955 )
2026-10-16 03:20:07 +07:00
BFlat
d4fa50f262
Merge pull request #2146 from AyberkA0/add-anchor-plus
...
Shortcuts: + selects the Add Anchor Point tool (#2142 )
2026-10-16 03:19:50 +07:00
BFlat
6c4804383a
Merge pull request #2155 from dotCooCoo/fix/inflate-one-edge-index
...
3D and Materials: Inflate builds its edge index once
2026-10-16 03:19:34 +07:00
BFlat
263fcff7b1
Merge pull request #2157 from dotCooCoo/fix/export-params-list-ai
...
Export: the export commands' params and the MCP export tool list the .ai format
2026-10-16 03:19:18 +07:00
BFlat
3c9fda57df
Merge pull request #2183 from dotCooCoo/fix/export-for-screens-formats-text
...
Export for Screens: the params text and the format error list every format a row writes
2026-10-16 03:19:03 +07:00
BFlat
59dfe0834c
Merge pull request #2198 from marcoarnulfo/fix/pdf-title-document-name
...
PDF: an untitled document saved to a file exports titled after it
2026-10-16 03:18:47 +07:00
BFlat
b70ba0f82b
Merge pull request #2255 from dotCooCoo/docs/print-system-service
...
Docs: the Print section describes printing through the system's print service
2026-10-16 03:18:31 +07:00
BFlat
3a0d1ce970
Merge pull request #2261 from dotCooCoo/fix/ru-isolate-latin-letter
...
i18n: Russian Isolate and Sublayer rows use Cyrillic letters only
2026-10-16 03:18:14 +07:00
BFlat
6048fd6b8e
Merge pull request #2275 from thejdubb02/fix/cmyk-page-group-isolated
...
PDF export: a CMYK page without blending through is an isolated group (#2156 )
2026-10-16 03:17:57 +07:00
BFlat
e479e62317
Merge pull request #2271 from gorkematlyn/upstream-pdf-panic
...
PDF.R1: never panic on a damaged array or dictionary in an imported PDF
2026-10-16 03:17:40 +07:00
BFlat
8f1d730ccb
Merge pull request #2214 from dotCooCoo/feat/outline-object-type-art
...
Type: type drawn as glyph outlines keeps its underline, stroke weight, gradients and patterns
2026-10-16 03:17:22 +07:00
BFlat
043f2dff3c
Merge pull request #2215 from dotCooCoo/fix/export-selection-keeps-effects
...
Export Selection: the crop takes in what each object's effects draw
2026-10-16 03:17:05 +07:00
BFlat
b8d1bdea40
Merge pull request #2219 from dotCooCoo/feat/print-fallback-font-warning
...
Print: Print and Print Preview warn when type prints in the fallback font
2026-10-16 03:16:49 +07:00
BFlat
8ca5615dca
Merge pull request #2242 from dotCooCoo/fix/data-set-sets-objects-in-groups
...
Variables: selecting a data set sets the objects inside a group that it shows
2026-10-16 03:16:35 +07:00
BFlat
0a0d22df57
Merge pull request #2250 from dotCooCoo/fix/variable-binding-errors
...
Variables: binding errors name the command and say when a layer is hidden
2026-10-16 03:16:19 +07:00
BFlat
f3eab99283
Merge pull request #2226 from dotCooCoo/feat/update-data-set-keeps-own-values
...
Variables: Update Data Set writes only the variables the active data set holds
2026-10-16 03:16:03 +07:00
BFlat
f253d2b3e3
Merge pull request #2229 from dotCooCoo/fix/pen-cursor-asterisk
...
Pen: the new-path asterisk leaves the pointer once a path is started
2026-10-16 03:15:47 +07:00
BFlat
70723a799b
Merge pull request #2234 from dotCooCoo/feat/proof-setup-tritanopia
...
View: Proof Setup simulates tritanopia
2026-10-16 03:15:32 +07:00
BFlat
9bbe74bd19
Merge pull request #2236 from dotCooCoo/feat/transform-alt-enter-copy
...
Transform: Alt+Enter applies a value to a copy of the selection
2026-10-16 03:15:17 +07:00
BFlat
f3363bddc2
Merge pull request #2246 from dotCooCoo/feat/pencil-keep-selected
...
Pencil and Paintbrush: with Keep selected off, a drawn path is not left selected
2026-10-16 03:14:56 +07:00
BFlat
80f084d8cf
Merge pull request #2247 from dotCooCoo/feat/new-swatch-global-process
...
Swatches: Ctrl/Cmd+Shift-click on New Swatch makes a global process color
2026-10-16 03:14:41 +07:00
BFlat
f614428a92
Merge pull request #2252 from dotCooCoo/feat/drop-shadow-darkness
...
Effects: Drop Shadow has Darkness, the object's own colors with black added
2026-10-16 03:14:23 +07:00
BFlat
7f899ef293
Merge pull request #2254 from dotCooCoo/feat/shift-tab-panels
...
Window: Shift+Tab shows and hides the panels but leaves the toolbar and the Control bar
2026-10-16 03:14:03 +07:00
BFlat
e3e290d43b
Merge pull request #2256 from dotCooCoo/feat/draw-inside-double-click
...
Draw Inside: a double-click outside the object returns to Draw Normal
2026-10-16 03:13:41 +07:00
BFlat
b069019cdd
Merge pull request #2257 from dotCooCoo/feat/sample-color-from-screen
...
Color: Sample Color from Screen picks a color anywhere on the screen
2026-10-16 03:13:25 +07:00
BFlat
e55122afc5
Merge pull request #2258 from dotCooCoo/feat/control-bar-isolation
...
Control bar: buttons isolate the selected object and exit isolation mode
2026-10-16 03:13:08 +07:00