Commit Graph
7475 Commits
Author SHA1 Message Date
BFlat 048c8ad6dc Merge pull request #4845 from Taha-Mahmoodi/feat/units-east-asian-type
Units: Preferences › East Asian Type reads, with Q and Ha units (#394)
2026-11-02 14:56:57 +07:00
BFlat c51b3e4816 Merge pull request #5066 from mockydevs/feat/swatch-legend-4919
Fix #4919: Create Swatch Legend
2026-11-02 14:56:41 +07:00
BFlat 24be60b506 Merge pull request #4961 from el-j/perf/canvas-decoupled-worker-pipeline
perf(canvas): zero-copy texture upload and progressive worker frame acceptance (#4615)
2026-11-02 14:56:23 +07:00
BFlat 78fe4014e3 Merge pull request #4898 from WadahBadawi/fix/path-average
fix(path): recurse into groups and compound paths for path.average
2026-11-02 14:56:04 +07:00
BFlat 95e0783697 Merge pull request #4001 from Silvertree2010/fix/h1948-export-for-screens-date-parser-i
Validate hyphen placement and days in month in parse_date
2026-11-02 14:55:45 +07:00
BFlat 0b78753bb9 Merge pull request #5032 from dotCooCoo/feat/export-preset-files-r
Asset Export: Import Preset and Export Preset read and write preset files
2026-11-02 14:55:23 +07:00
BFlat 31b9990c49 Merge pull request #4277 from dotCooCoo/fix/bitmap-paste-off-ui-thread
Clipboard: a bitmap pasted from another app is decoded off the UI thread
2026-11-02 14:55:08 +07:00
BFlat 36c35b3961 Merge pull request #5031 from dotCooCoo/feat/pen-tilt-bearing-rotation-r
Brushes: Calligraphic and Scatter values follow pen tilt, bearing and rotation
2026-11-02 14:54:50 +07:00
BFlat 7afb83e991 Merge pull request #5038 from dotCooCoo/feat/new-toolbar-r
Toolbars: New Toolbar makes a named toolbar filled from the All Tools drawer
2026-11-02 14:54:33 +07:00
BFlat b511c25530 Merge pull request #5216 from dotCooCoo/feat/arrange-a
Window: Arrange > Tile shows every open document side by side
2026-11-02 14:54:04 +07:00
BFlat 0f1f08989e Merge pull request #5206 from dotCooCoo/feat/tate-chu-yoko-settings
Type: Tate-chu-yoko Settings move a block up, down, left or right
2026-11-02 14:53:50 +07:00
BFlat b119278490 Merge pull request #5209 from dotCooCoo/fix/ai-no-layer-files-read
.ai import: legacy files without layers open through the format reader
2026-11-02 14:53:32 +07:00
BFlat 5310276a86 Merge pull request #5210 from dotCooCoo/fix/drag-outline-overlay-limit
Selection: a drag with Real-time Drawing off shows the bounds of a selection too big to outline
2026-11-02 14:53:19 +07:00
BFlat 00f15967c2 Merge pull request #5208 from dotCooCoo/fix/bounding-box-moves-with-rtd-off
Selection: with Real-time Drawing off, the bounding box moves with a move drag
2026-11-02 14:53:07 +07:00
BFlat c4516d8821 Merge pull request #5207 from dotCooCoo/fix/tabs-above-min-width
Tabs: Above Text keeps the ruler at the zoom when the panel comes out wider
2026-11-02 14:52:50 +07:00
BFlat a3907f835f Merge pull request #5215 from dotCooCoo/fix/issue-5161
Fix #5161: Shape Builder merges across a line under a merged shape's edge
2026-11-02 14:52:34 +07:00
BFlat d0afe59fdf Merge pull request #5187 from dotCooCoo/fix/ai-os22-g2
.ai import: placed EPS files in the version 7 form are read
2026-11-02 14:52:23 +07:00
BFlat cfc386601c Merge pull request #5198 from dotCooCoo/fix/ai-open-group-at-end
.ai import: a group still open at the end of the art is an error
2026-11-02 14:52:06 +07:00
BFlat a816e28ce8 Merge pull request #5192 from dotCooCoo/feat/save-load-actions
Actions: Save Actions… and Load Actions… save a set to a file and load it back
2026-11-02 14:51:50 +07:00
BFlat f2faa0c484 Merge pull request #5194 from dotCooCoo/fix/shortcuts-commands-that-need-params
Keyboard Shortcuts: commands a key cannot run without a value are not listed
2026-11-02 14:51:33 +07:00
BFlat 0bffec57ce Merge pull request #5199 from dotCooCoo/fix/fonts-in-symbol-definitions
Fonts: Find Font and Replace Missing Fonts reach the type in symbols
2026-11-02 14:51:18 +07:00
BFlat 03e1af5a37 Merge pull request #5185 from dotCooCoo/fix/rtl-manual-kerning-moves-neighbor
Type: manual kerning in right-to-left text spaces the pair it is set on
2026-11-02 14:51:03 +07:00
BFlat a181262663 Merge pull request #5155 from dotCooCoo/fix/ai-os12
.ai import: the document's graphic styles open in the panel with their objects linked
2026-11-02 14:50:48 +07:00
BFlat 522280da7f Merge pull request #5176 from dotCooCoo/fix/ai-os19
.ai import: placed files are found by the folder they keep relative to the document
2026-11-02 14:50:30 +07:00
BFlat af9378b539 Merge pull request #5174 from dotCooCoo/fix/ai-os23-1671
.ai import: a line width of 0 draws as a hairline
2026-11-02 14:50:14 +07:00
BFlat 7dc14ebb8f Merge pull request #5148 from dotCooCoo/fix/ai-os10-path
.ai import: Offset Path, Outline Object and Outline Stroke open live
2026-11-02 14:49:47 +07:00
BFlat 9dbbc0e327 Merge pull request #5147 from dotCooCoo/feat/save-variable-library
Variables: Save Variable Library… writes the variables and data sets as an XML library
2026-11-02 14:49:06 +07:00
BFlat 99620be2eb Merge pull request #5172 from dotCooCoo/feat/action-options-rename
Actions: the panel menu's Action Options… renames the selected action
2026-11-02 14:48:37 +07:00
BFlat a74811c161 Merge pull request #5169 from dotCooCoo/fix/actions-current-set-after-restart
Actions: the current set is kept after a restart
2026-11-02 14:48:19 +07:00
BFlat 2fab3de7b3 Merge pull request #5162 from dotCooCoo/fix/issue-4995
Fix #4995: Above Text moves a Tabs panel that already floats
2026-11-02 14:48:03 +07:00
BFlat 0a5264d56a Merge pull request #5167 from dotCooCoo/fix/issue-785
Fix #785: commands refuse an id that isn't an object id instead of using the selection
2026-11-02 14:47:53 +07:00
Taha-Mahmoodi 1b5d11ef4b Units: Preferences › East Asian Type reads, with Q and Ha units (#394)
Squashed from #4845 onto main.
2026-11-02 14:36:08 +07:00
Don Omondi 15a5e64134 #4919: Create Swatch Legend becomes an add-on under Object › Plug-ins › Color Effects with a dialog
addon.color.swatchLegend replaces swatch.legend. The dialog sets columns, chip size, gap, the values shown
and whether to use only the swatches selected in the Swatches panel, with a preview; duplicate value
kinds are refused. The Swatches panel menu item is removed. Catalog rows in all 26 languages.
2026-11-02 14:36:08 +07:00
el-j 601ab957e6 perf(canvas): zero-copy texture upload and progressive worker frame acceptance (#4615)
Squashed from #4961 onto main.
2026-11-02 14:36:07 +07:00
Wadah Badawi 66e22f4ba1 M2.1: recurse into groups and compound paths for path.average 2026-11-02 14:36:07 +07:00
Don Omondi 236a3c264d Swatch legend: no unreachable! in the test
The workspace lints ban it; the test panics with a message instead.
2026-11-02 14:36:07 +07:00
Don Omondi aa71acc29f Swatch legend: linked chips, labels that fit, exact Gray
Each chip's fill links to its swatch as paint.setFill {swatch} does, so
editing a global or spot swatch recolours the legend. Labels are area
type the size of the chip that shrinks text to fit. Gray values use the
app's own Gray conversion, and fractional column counts are refused.
2026-11-02 14:36:07 +07:00
Don Omondi c823e7f5b2 Fix #4919: Create Swatch Legend
swatch.legend draws a grid of chips, one per colour swatch (the given
ones, else every one), each filled with and linked to its swatch and
labelled with its name and colour values (HEX, RGB, CMYK, Lab or
Grayscale; by default its own model; spot swatches marked), black on
light chips and white on dark ones, as one selected group in one undo
step. The Swatches panel menu's Create Swatch Legend draws the selected
colour swatches, else every one.
2026-11-02 14:36:07 +07:00
NetterSilverandClaude Sonnet 5.5 88d8a7839e fix: validate parse_date calendar dates with chrono
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-02 14:36:06 +07:00
NetterSilverandClaude Haiku 5.5 83ed70acce Validate hyphen placement and days in month in parse_date
Found while testing crates/engine/src/cmd/fileio/naming.rs:103

Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-02 14:36:06 +07:00
dotCooCoo 2fafe25c27 Asset Export: Import Preset and Export Preset read and write preset files
Squashed from #5032 onto main.
2026-11-02 14:33:29 +07:00
bflatastic 57a76f4f8d Paste: translate the two paste messages into Catalan 2026-11-02 14:33:02 +07:00
dotCooCoo e8e09af782 Brushes: Calligraphic and Scatter values follow pen tilt, bearing and rotation
Squashed from #5031 onto main.
2026-11-02 14:33:02 +07:00
dotCooCoo b1c98821d6 Clipboard: a bitmap pasted from another app is decoded off the UI thread
Squashed from #4277 onto main.
2026-11-02 14:33:02 +07:00
dotCooCoo 6d369d013c Toolbars: New Toolbar makes a named toolbar filled from the All Tools drawer
Squashed from #5038 onto main.
2026-11-02 14:33:01 +07:00
dotCooCoo adc3e75be4 Window: Arrange > Tile shows every open document side by side
Window > Arrange > Tile (window.arrange.tile) splits the document area
into one pane per open document, edge to edge, in a grid with as many
columns as the square root of the number of documents, rounded up. Each
document is fitted to its pane, and fitted again when its pane changes
size (a document opened or closed, the window resized) unless it was
zoomed or scrolled since. The current document's pane is the canvas;
the other panes draw their documents with their artboards, guides,
selected objects and Pixel Preview, and a press in one makes its
document the current one, as a click on its tab does. Window > Arrange >
Consolidate All Windows (window.arrange.consolidateAllWindows) goes back
to one document under its tab. It works the same on the desktop and the
web, and the arrangement is not saved.

Tile is enabled with two or more open documents, and Consolidate All
Windows while documents are tiled. ui.inspect reports tiled and the
panes.
2026-11-02 14:33:00 +07:00
bflatastic d5edca7452 Type: the East Asian character settings get their own method 2026-11-02 14:32:59 +07:00
dotCooCoo e13cf73ae0 Type: Tate-chu-yoko Settings move a block up, down, left or right
Squashed from #5206 onto main.
2026-11-02 14:32:59 +07:00
dotCooCoo f69f7976b7 .ai import: legacy files without layers open through the format reader
Squashed from #5209 onto main.
2026-11-02 14:32:58 +07:00
dotCooCoo ec0a98a77b Selection: a drag with Real-time Drawing off shows the bounds of a selection too big to outline
With Real-time Drawing and Editing off, a drag drew one outline per selected
object with no limit, so a selection with hundreds of thousands of points
built the overlay mesh that the canvas's 100,000-point limit keeps it from
drawing at rest (#525, #2460). Past the same number of points the drag now
draws the moved selection's bounds, as the canvas does for the selection at
rest.
2026-11-02 14:32:58 +07:00