Commit Graph
5838 Commits
Author SHA1 Message Date
BFlat 6b3ae1c2f8 Merge pull request #7705 from dotCooCoo/fix/installed-script-runs-checked-text
Scripts: File › Scripts runs the text its check read, with includes from the checked folder
2026-11-15 11:38:16 +07:00
BFlat 225947af05 Merge pull request #7728 from dotCooCoo/feat/3d-lighting-widget
3D and Materials: the Lighting tab's widget moves lights around the object
2026-11-15 11:38:09 +07:00
BFlat 2607a98c1f Merge pull request #7726 from dotCooCoo/feat/eraser-tip-variations
Eraser: Angle, Roundness and Size vary with Random, Pressure, Tilt, Bearing or Rotation
2026-11-15 11:37:51 +07:00
BFlat f3c093b6cd Merge pull request #7740 from dotCooCoo/feat/assign-profile-choices
Color management: Assign Profile offers Don't Color Manage, the working space or a profile
2026-11-15 11:37:43 +07:00
BFlat 511f36ed4c Merge pull request #7721 from dotCooCoo/fix/glyph-forms-review
Type: glyph forms and width forms follow the OpenType rules
2026-11-15 11:37:33 +07:00
BFlat dc8149cdf1 Merge pull request #7723 from dotCooCoo/fix/pdf-page-links-review
Import PDF: linked pages refuse placeholder .ai files, read the file once and keep blank pages
2026-11-15 11:37:26 +07:00
BFlat 3a2a8772f5 Merge pull request #7730 from dotCooCoo/fix/hpgl-9slice-art-bounds
Export: the HP-GL plot of the art's bounds places 9-slice and filtered symbol art before measuring
2026-11-15 11:37:09 +07:00
BFlat 23be0cf916 Merge pull request #7634 from dotCooCoo/fix/svg-data-url-decode-bounded
SVG import: image data URLs are decoded once each, within 512 MB per import
2026-11-15 11:36:57 +07:00
BFlat c7ed93dc31 Merge pull request #7736 from dotCooCoo/feat/pattern-move-tile-with-art
Pattern Options: Move Tile with Art moves the tile with the pattern's art
2026-11-15 11:36:50 +07:00
BFlat 3ce7b256b6 Merge pull request #7735 from dotCooCoo/fix/ai-cs-type-from-editing-data
.ai import: files saved for version 11 take their type from the text document
2026-11-15 11:36:41 +07:00
BFlat 94432bf2d0 Merge pull request #7729 from dotCooCoo/fix/pdf-image-profile-to-destination
PDF export: CMYK and other RGB destinations convert tagged images from their profile
2026-11-15 11:36:32 +07:00
BFlat 0c1ac3bdc5 Merge pull request #7241 from dotCooCoo/fix/toggle-touch-mode-error
Tools: commands return the error when a tool cannot be chosen
2026-11-15 10:46:51 +07:00
BFlat 26878d3d0e Merge pull request #7715 from dotCooCoo/fix/svg-open-path-type-before-start
Type on a path: type on an open path can start before the path
2026-11-15 10:46:42 +07:00
BFlat 98b5d31f77 Merge pull request #7568 from dotCooCoo/fix/graph-design-art-aligned-rows
Graphs: aligned rows given with a design's art stay rows of its stack
2026-11-15 10:46:33 +07:00
BFlat d094a3c449 Merge pull request #7601 from ruchirguitar/feat/brush-tech-circuit
Brushes: built-in Tech Circuit brush library
2026-11-15 10:45:11 +07:00
dotCooCoo 82d2b15946 Merge main into fix/svg-data-url-decode-bounded 2026-11-14 19:28:36 -08:00
dotCooCoo e9cd607aae Merge main into fix/glyph-forms-review 2026-11-14 19:20:09 -08:00
dotCooCoo 263ef16632 i18n: Gujarati rows for the Assign Profile choices
The docs lines move next to the related entries.
2026-11-14 19:08:34 -08:00
dotCooCoo f80c97ec14 Merge main into feat/pattern-move-tile-with-art 2026-11-14 19:00:56 -08:00
dotCooCoo e328b4178e Merge main into fix/ai-cs-type-from-editing-data 2026-11-14 19:00:51 -08:00
dotCooCoo 106133133b Merge main into fix/hpgl-9slice-art-bounds 2026-11-14 19:00:44 -08:00
dotCooCoo 5b36fa6587 Merge main into feat/3d-lighting-widget 2026-11-14 18:55:58 -08:00
dotCooCoo 397adce4c8 Merge main into feat/eraser-tip-variations 2026-11-14 18:55:44 -08:00
dotCooCoo 750716f348 Merge main into feat/assign-profile-choices 2026-11-14 18:51:37 -08:00
dotCooCoo 936ef9509d Color management: Assign Profile offers Don't Color Manage, the working space or a profile
The Assign rows of the Separations panel's Color Settings section (where
Edit > Assign Profile... goes) offer the three choices of the help's
"Assign or remove a color profile": Don't Color Manage This Document, the
working space of the document's color mode with its name, and Profile with
the other profiles of that kind.

The rows act on the profile of the document's color mode, so an RGB
document's RGB profile can be assigned here; before, the row always set
the CMYK profile. Picking the working space assigns its profile, which
stays when the working space changes later. A choice the document already
has runs nothing, and the other model's profile stays as it is.

Params text, docs/mcp.md and the evidence line in
docs/target-app-parity.md are updated, with catalog rows for the new
labels.
2026-11-14 18:51:33 -08:00
dotCooCoo 0680b68b6d Merge main into fix/pdf-page-links-review 2026-11-14 18:51:27 -08:00
dotCooCoo 7221b7cf28 Merge main into fix/installed-script-runs-checked-text 2026-11-14 18:50:49 -08:00
BFlat 78d45ee14a Merge pull request #7699 from dotCooCoo/fix/panel-view-command
Panels: ui.panelView sets the Swatches, Graphic Styles and Symbols panel views
2026-11-15 09:47:37 +07:00
BFlat 7c12d660af Merge pull request #7627 from dotCooCoo/feat/ai-save-graph-records
.ai save: live graphs are written as graph records
2026-11-15 09:47:28 +07:00
BFlat 40f096f32b Merge pull request #7213 from dotCooCoo/feat/rotated-box-scale-reflect
Transform: Scale and Reflect act along a rotated bounding box
2026-11-15 09:47:18 +07:00
BFlat 3e68e4117a Merge pull request #7712 from dotCooCoo/feat/rough-pastels-load-texture
Effects: Rough Pastels loads its texture from an image file
2026-11-15 09:47:09 +07:00
BFlat e81f676ef4 Merge pull request #7720 from dotCooCoo/feat/object-distribute-menu
Object: a Distribute submenu runs the Align panel's distribute buttons
2026-11-15 09:47:01 +07:00
BFlat b46fb077b7 Merge pull request #7566 from dotCooCoo/fix/tool-overlays-reuse-settled-outline
Blob Brush: a long drag's settled outline is reused from frame to frame
2026-11-15 09:46:53 +07:00
BFlat 237fe27e50 Merge pull request #7713 from dotCooCoo/feat/psd-clipping-path
PSD: a file's clipping path clips its merged image on Open and Place
2026-11-15 09:46:45 +07:00
BFlat 563f075764 Merge pull request #7707 from dotCooCoo/feat/opentype-hv-style-roman-italics
OpenType panel: H or V Style and Roman Italics set kana and Latin forms
2026-11-15 09:46:29 +07:00
BFlat 55c2bb5194 Merge pull request #7511 from dotCooCoo/fix/live-paint-make-drawn-rows
Live Paint: Make keeps every fill and stroke row that draws on the source
2026-11-15 09:46:20 +07:00
BFlat 3f90b8ff4c Merge pull request #7719 from dotCooCoo/fix/unit-parse-long-expression
Units: a very long expression reads as nothing instead of overflowing the stack
2026-11-15 09:46:13 +07:00
dotCooCoo 1a4dd4f800 PDF export: limit the own-profile rule to destinations other than sRGB
An sRGB destination converts tagged gray and RGB images to sRGB even when the
document's own RGB profile is sRGB, so the statement that the document's own
profile as destination keeps tagged images applies only to other RGB profiles.
2026-11-14 18:39:38 -08:00
dotCooCoo 4887305f00 .ai import: files saved for version 11 take their type from the text document
Files saved for version 11 write the keys of their text document by name
(/DocumentResources, /FontSet, /StreamTag) and the kinds of its strikes
by their long names (/FrameStrike). The reader found no stories in them,
so their text objects were filled with the page's type in painting
order: type outside the artboards was lost, and type on them could land
in another text object.

The keys the reader uses now get their numbers from the dictionary they
sit in, from the root down, before the document is read. A run whose
style is written by name as a style's number takes that style. Files
saved for later versions that write a newer key by name among the
numbered ones (a font record's VersionString, a paragraph's
ParagraphDirection) have those keys read too.
2026-11-14 18:26:22 -08:00
dotCooCoo f55e42343e PDF export: state that the document's own RGB profile as destination keeps tagged images
With Convert to Destination and an RGB destination that is the document's
own RGB profile, RGB colors and RGB images keep their numbers, so an image
that carries an ICC profile keeps it. The export contract and progress line
now say so, and the test checks it.
2026-11-14 18:19:33 -08:00
dotCooCoo a20cf07fe3 Pattern Options: Move Tile with Art moves the tile with the pattern's art
Pattern Options gets the Move Tile with Art checkbox under Size Tile to
Art. With it on, a move of all of the tile art in pattern editing mode
moves the tile as far as the art moved, pixel-grid snapping included:
object.move, object.nudge, object.transform with a translation, and
drags with the Selection tool. A group counts as moved when each of its
members moved. A move of only
some of the art, a copy, a rotation, a scale and a move of
direct-selected anchors leave the tile where it is. The option is off
for a new pattern.

pattern.options takes moveTileWithArt and pattern.list reports it. A
pattern.options call that changes nothing no longer records an undo
step.
2026-11-14 18:19:17 -08:00
dotCooCoo 3cd57bca02 Merge feat/pdf-srgb-destination-converts-images into fix/pdf-image-profile-to-destination
# Conflicts:
#	crates/pdf/src/export/images.rs
#	crates/pdf/src/images.rs
#	docs/mcp.md
#	docs/target-app-parity.md
2026-11-14 18:11:47 -08:00
dotCooCoo 18e5e393d2 PDF export: warn when a tagged image can't be decoded for sRGB conversion
With Convert to Destination and an sRGB destination, a gray or RGB image
with an ICC profile whose pixels can't be decoded (a header past the
decoding allowance) was kept with its profile and no warning. It now
reports that the image is not converted. When the image is left out of
the file as well, only the warning that it is missing is given.
2026-11-14 17:57:51 -08:00
dotCooCoo 3b788515d1 Import PDF: linked pages on their trim boxes keep the bleed between artboards
Linked pages on their trim boxes were spaced by the 36 pt gap alone, so
with a large bleed one page's bleed box reached into the next artboard
and a page export could show part of its neighbor. The artboards are
now laid out once the document's bleed is known, 36 pt apart plus the
bleed on both sides: the document's bleed, or a page's own bleed box
where it reaches farther.
2026-11-14 17:56:30 -08:00
dotCooCoo 4ec16519a4 Export: the HP-GL plot of the art's bounds places 9-slice and filtered symbol art before measuring
The art's bounds no longer clip art that 9-slice guides place, or refuse
art that an instance shows through a nested instance:

- An instance whose art goes through 9-slice guides, at any depth, is
  measured as its art placed through the guides, with the objects the
  plot leaves out hidden after placing. Leaving them out first changed
  the box the guides cut.
- Hidden art is not placed, so it does not use up the limit on placed
  objects that the visible instances share.
- The copy of a dynamic symbol that an instance's changes are measured
  on keeps the symbol's 9-slice guides and natural size.
- The changes of the instances in a dynamic symbol's art are collected
  from all of the art, also from objects at 0% opacity or without paint,
  which an instance of the symbol can change.
2026-11-14 17:52:29 -08:00
ruchirguitar 1ab2743f8e G5: resolve Tech Circuit documentation merge conflict
Merge current main and retain both the Pencil snapping documentation and Tech Circuit library evidence. Only docs/mcp.md required manual conflict resolution. Focused checks passed: no conflict markers or whitespace errors, all 28 catalogs retain four unique nonempty labels, and brush implementation/tests remain unchanged. No full local Cargo CI rerun.
2026-11-15 07:21:46 +05:30
dotCooCoo 5956076b9f PDF export: CMYK and other RGB destinations convert tagged images from their profile
With Output › Convert to Destination and a CMYK destination, or an RGB
destination other than sRGB that images are converted to, an RGB image
that carries an ICC profile had its numbers read as sRGB, so a Display
P3 image came out with the wrong colors. Such an image is now converted
from its profile to sRGB with the color settings' rendering intent, then
to the destination.

- An untagged image converts from sRGB as before.
- A gray image keeps its profile, as gray is not converted.
- A profile the color engine can't read leaves the numbers read as sRGB,
  with a warning.
- Preserve Numbers is unchanged.

docs/mcp.md, the document.exportPdf params text and the progress doc
describe the behavior.
2026-11-14 17:44:50 -08:00
dotCooCoo 0939157d12 3D and Materials: the Lighting tab's widget moves lights around the object
The panel's Lighting tab shows a sphere above the list of lights with
every light of the selected 3D effect at its Rotation and Height, filled
in front of the object and hollow behind it. Dragging a light moves it
on its side of the object, previewed while the pointer is down and one
undo step on release; a press selects it in the list. Move Light to Back
and Move Light to Front change the selected light's side. Each light
takes the keyboard focus, where the arrow keys move it (Shift steps
15 degrees), and screen readers name it with its settings. The widget
sends effect.setParams like the light settings below it.
2026-11-14 17:37:56 -08:00
BFlat 6016d6200f Merge pull request #7206 from dotCooCoo/fix/hindi-label-senses
i18n: Hindi labels use the interface sense of their English
2026-11-15 08:25:53 +07:00
BFlat 34ffc46cb5 Merge pull request #7687 from dotCooCoo/feat/links-copy-info
Links: Copy Info in the panel menu copies the selected links' file names
2026-11-15 08:25:44 +07:00