Commit Graph
14127 Commits
Author SHA1 Message Date
dotCooCoo ae05540f70 Merge main into feat/cjk-tsume 2026-11-13 22:46:57 -08:00
dotCooCoo cbdd3b4706 Merge main into fix/reflected-dimension-line 2026-11-13 22:46:36 -08:00
dotCooCoo fa18d200eb Merge main into feat/da-complete-messages 2026-11-13 22:44:28 -08:00
BFlat 2e9c9ab200 Merge pull request #7392 from dotCooCoo/fix/hindi-literal-values
i18n: messages keep bracketed field names and accepted values in English
2026-11-14 13:44:17 +07:00
BFlat 9ce826bc24 Merge pull request #7358 from dotCooCoo/feat/actions-button-mode
Actions: Button Mode shows actions as colored buttons that play on a click
2026-11-14 13:44:09 +07:00
BFlat 05409f76f5 Merge pull request #7394 from dotCooCoo/fix/ai-linked-image-warp
.ai save: a linked image with a Warp keeps its live Warp and its link
2026-11-14 13:44:00 +07:00
dotCooCoo 4aba706e1a Merge main into fix/export-bakes-symbol-art-effects 2026-11-13 22:43:58 -08:00
BFlat 44aebeba77 Merge pull request #7393 from dotCooCoo/fix/recovery-keeps-open-notes
Recovery: restoring documents keeps their linked-file lines and warnings
2026-11-14 13:43:52 +07:00
BFlat 6beeb9e2a4 Merge pull request #7262 from dotCooCoo/feat/smooth-cursor-without-path
Smooth: the cursor shows Not Allowed when no path is selected to smooth
2026-11-14 13:43:44 +07:00
BFlat 27f8cf90f5 Merge pull request #7351 from dotCooCoo/fix/titlebar-pref-note
Preferences: System Title Bar says when the desktop keeps the title bar either way
2026-11-14 13:43:36 +07:00
BFlat 2169e229f6 Merge pull request #7376 from dotCooCoo/fix/int-param-wrong-type
MCP: an integer given as a string or a fraction is refused as the wrong type, not reported as missing
2026-11-14 13:43:27 +07:00
BFlat 508ff987f5 Merge pull request #7374 from dotCooCoo/fix/shape-builder-hover-ended
Shape Builder, Live Paint Selection: hover highlights go when the pointer leaves the canvas
2026-11-14 13:43:20 +07:00
BFlat ab959b95a8 Merge pull request #7369 from dotCooCoo/fix/ai-hidden-ruler-guide
.ai import: hidden ruler guides open as ruler guides with their own state
2026-11-14 13:43:11 +07:00
dotCooCoo 1d9ebeef56 Merge main into fix/rtl-tab-end-trim 2026-11-13 22:43:03 -08:00
BFlat d3ac2434f5 Merge pull request #7397 from dotCooCoo/fix/dimension-first-preview
Dimension tool: the first preview of a drag-out is drawn at the pointer
2026-11-14 13:43:03 +07:00
dotCooCoo 7bb88deb2c Merge main into fix/warichu-rtl-gap-caret 2026-11-13 22:42:56 -08:00
BFlat 18266da1e1 Merge pull request #7328 from dotCooCoo/fix/save-unused-option-notes
Save, Export for Screens: warnings name an option the file doesn't read
2026-11-14 13:42:55 +07:00
BFlat 0f88bb1fa9 Merge pull request #7372 from dotCooCoo/feat/home-learn-section
Home: a Learn section lists the tutorials and the Quick skill guide
2026-11-14 13:42:47 +07:00
BFlat 0ca2952093 Merge pull request #7363 from dotCooCoo/fix/stained-instance-export
Symbols: a stained instance keeps its stain in SVG, PDF and the other exports
2026-11-14 13:42:39 +07:00
BFlat aa5b635b32 Merge pull request #7388 from dotCooCoo/fix/snap-glyph-parametric-slice
Smart Guides: Parametric Shape and Slice tools snap as the drawing tools do
2026-11-14 13:42:31 +07:00
BFlat be93e4b3f2 Merge pull request #7377 from dotCooCoo/fix/symbol-expand-reset-bbox
Symbols: Break Link and Expand keep an instance's bounding box
2026-11-14 13:42:23 +07:00
dotCooCoo 76b631a2f1 Merge main into fix/pl-missing-message-rows 2026-11-13 22:42:16 -08:00
BFlat 2a56e33953 Merge pull request #7355 from dotCooCoo/fix/cs-message-rows
i18n: Czech translates 1,813 of the status and error messages the untranslated report lists
2026-11-14 13:42:12 +07:00
dotCooCoo c69bd7cf49 Merge main into fix/de-missing-message-rows 2026-11-13 22:42:08 -08:00
dotCooCoo bb11ee6d4d Merge main into fix/art-brush-proportional-weight 2026-11-13 22:42:05 -08:00
dotCooCoo 17d1845c0e Merge main into fix/type-dialogs-story-wide 2026-11-13 22:42:05 -08:00
BFlat 4b3df93745 Merge pull request #7371 from dotCooCoo/fix/batch-swatch-default-paint
Swatches: swatch steps in a batch change the paints for new art
2026-11-14 13:42:04 +07:00
BFlat 7fd4564c0c Merge pull request #7390 from dotCooCoo/fix/hyphenation-exceptions-relayout
Type: hyphenated type lays out again when the hyphenation exceptions change
2026-11-14 13:41:57 +07:00
BFlat 57933a8046 Merge pull request #7385 from dotCooCoo/fix/type-panels-story-wide
Type: Character and Paragraph panel changes apply to every frame of a selected story
2026-11-14 13:41:46 +07:00
dotCooCoo dcba7a76b8 i18n: Polish translates 114 status and error messages that no catalog had
untranslated_report lists 167 status and error messages under "messages,
all 23 languages checked". pl.tsv gains @msg rows for 114 of them, in one
commented block at the end of the file: image export and encoding
errors, color profiles, color books and swatch exchange files, binary
DXF and DWG import, 3D and Revolve limits, and script, zip, line and
file errors. Placeholders, parameter names, command ids and literal
values stay as the English writes them.

The other 53 are translated by #7211, #7378 and #7405 and are left out.
2026-11-13 22:41:37 -08:00
BFlat 8cc8ab0781 Merge pull request #7352 from dotCooCoo/fix/zh-hant-message-rows
i18n: Traditional Chinese has a row for 1,813 of the messages the untranslated report lists
2026-11-14 13:41:36 +07:00
BFlat d8f180006a Merge pull request #7382 from ncic/pencil-alt-close-straight
Pencil: a closed stroke closes with a straight segment
2026-11-14 13:41:27 +07:00
BFlat 19dfce800a Merge pull request #7384 from storytold/fix/font-menu-test-settle
Tests: font menu tests draw until the menu stays put
2026-11-14 13:41:17 +07:00
BFlat ecd4b80af2 Merge pull request #7395 from storytold/fix/warichu-test-text-ops
Tests: warichu PDF check reads only text objects
2026-11-14 13:41:10 +07:00
dotCooCoo 984b93a282 Merge main into fix/remove-breaks-named-locked-type 2026-11-13 22:41:03 -08:00
dotCooCoo 8887806cb2 Undo: no step when Randomize Opacity or a type setting changes nothing
- addon.arrange.randomizeOpacity, type.orientation.vertical and .horizontal,
  type.opticalMarginAlignment, type.systemLayout and type.fractionalWidths
  run through edit_if_changed (the Edit Colors helper) and record an undo step
  only when an opacity, a direction or a setting changes.
- A test for each command; the params text says so, and docs/mcp.md for the
  commands it describes.
2026-11-13 22:40:01 -08:00
dotCooCoo 5aeb42c6ee Merge main into fix/more-int-param-wrong-type 2026-11-13 22:39:06 -08:00
dotCooCoo c109d15896 Merge main into fix/3d-export-builds-once 2026-11-13 22:38:52 -08:00
dotCooCoo 019f604e91 Artwork Cleanup: text tools act on the locked or hidden type ids name
Remove Breaks, Break Text, Combine Point Text, Join Point Text, Set
Alignment, Keep Position and Reset Text Transform skipped locked and
hidden type even when `ids` named it, or named the group or layer
holding it, while other commands such as text.convertListToText act on
named locked or hidden objects.

- With `ids`, the type they name is taken locked or hidden too (not
  type on a locked artboard); from the selection, only type that can
  be edited, as before.
- Remove Breaks reads a named threaded story with a locked frame as one
  text.
- Objects made from locked or hidden type are not selected.

Docs: docs/mcp.md (Text tools), docs/target-app-parity.md.
2026-11-13 22:38:38 -08:00
dotCooCoo 48f64fbe10 Merge main into fix/web-open-keeps-both-link-lines 2026-11-13 22:38:02 -08:00
dotCooCoo d1bd70fba9 Merge main into feat/colr-gradient-repeat 2026-11-13 22:37:59 -08:00
dotCooCoo de347b852e Merge main into fix/control-bar-narrow-fill-stroke 2026-11-13 22:37:57 -08:00
dotCooCoo fc14b8a78f EPS: a freeform gradient's image drawn more than once writes its samples once
A freeform gradient's image was sampled, encoded and written inline at
every fill, outside the reuse placed images have. Fields now go through
the same codes and placements: a fill whose encoded image (color setup,
image dictionary, filter, operator and samples) matches one already
kept draws from it, so its samples are written once in the setup as
VCim<i>. A field drawn once is still written where it is drawn.

A fill whose placement can't be drawn, or that arrives when the page is
already at the 256 MB limit, is no longer sampled first, and a field
image taken back with art that passed the limit is forgotten.
2026-11-13 22:34:26 -08:00
dotCooCoo 99501dea48 Merge main into feat/task-bar-blank-canvas 2026-11-13 22:34:04 -08:00
dotCooCoo 9685e1e312 Merge main into fix/mcp-docs-stack-file 2026-11-13 22:33:56 -08:00
dotCooCoo bb81d0d8b3 Merge main into feat/ai-art-brush-options 2026-11-13 22:33:50 -08:00
dotCooCoo 96d5cd78a9 Revolve: overlapping faces draw in the order of their depths where they overlap
Revolve sorted its faces by the depth of each face's middle only, so a
tilted profile with long edges, or a profile of several contours, could
draw a nearer face under a farther one where the two overlap.

- A revolved face carries its view-space plane (none when its corners lie
  off one plane or reach the eye), and Revolve (Classic)'s facets keep it.
- Revolve and Revolve (Classic) put each surface's faces through the local
  depth order Extrude & Bevel uses for its fill and strokes: when two
  overlapping faces are drawn the wrong way round, every pair of
  overlapping faces goes in the order of their depths at the middle of the
  overlap, within the same 4,000,000-comparison limit. A surface already
  in the right order keeps it.
- A group's members, sorted together by depth, go through the same order
  across members.

Docs: docs/revolve.md, docs/effects-parity.md, docs/target-app-parity.md.
2026-11-13 22:32:34 -08:00
dotCooCoo a98b800761 Export: live effects in symbol art apply in PDF, EPS, print and DXF
PDF, print, EPS and DXF wrote a symbol instance by placing its symbol's
art as stored, so live effects inside that art were missing: a square
moved 100 pt by a Transform effect stayed in place in the file while the
canvas drew it moved.

bake_document_placing_symbols replaces each instance of a symbol whose
art (or the art of a symbol nested in it) needs baking by that art
placed as the instance places it, then baked. The art is placed before
its effects apply, as on the canvas, so an instance that scales its art
does not scale what its effects do. A dynamic instance's own paint
changes apply before baking. Nesting stops at 32 levels and the placed
art at 16,000,000 objects per export; past them an instance stays an
instance. DXF places 9-slice cells unclipped, as its scene does. The
symbols' own art, SVG and the .ai editing data are unchanged, and HPGL
already baked each placed instance.
2026-11-13 22:31:48 -08:00
dotCooCoo 1d5c30d753 Merge main into fix/colored-light-seams 2026-11-13 22:31:14 -08:00
dotCooCoo be038e0a6f Merge main into fix/ko-message-rows 2026-11-13 22:29:34 -08:00