100 Commits
Author SHA1 Message Date
BFlat ff9deee46d Merge pull request #6015 from helenkwok/web/page-api
vectorcraft-web: window.vectorcraft takes its request functions from craft-web-api
2026-11-07 10:32:48 +08:00
BFlat 2b13421da5 Merge pull request #6012 from dotCooCoo/fix/ai-legacy-vertical-type
.ai import: legacy type keeps its writing direction, Tate-chu-yoko runs and upright Roman characters
2026-11-07 10:32:31 +08:00
BFlat c54679d4a7 Merge pull request #5985 from dotCooCoo/fix/text-story-current-thread
Type: story-wide panel changes follow the story's current thread
2026-11-07 10:32:10 +08:00
BFlat 845306373b Merge pull request #6017 from dotCooCoo/fix/ai-drawn-look-count
.ai import: drawn looks in pattern and brush art count in the note
2026-11-07 10:15:26 +08:00
BFlat 936f6034da Merge pull request #6014 from mockydevs/fix/ai-import-eid-heading
EPS/.ai editing data: a transparency set inside a clipping group stays after it
2026-11-07 10:15:10 +08:00
BFlat 7e3601d11c Merge pull request #6011 from mockydevs/fix/ai-import-blend-straight-spine
EPS/.ai editing data: blends with no spine written come in live
2026-11-07 10:14:54 +08:00
BFlat 7db6d41ec0 Merge pull request #5992 from mockydevs/fix/ai-symbols-before-art-styles
EPS/.ai editing data: symbols defined before the art styles take them
2026-11-07 10:14:38 +08:00
BFlat d2b82d6b32 Merge pull request #6005 from dotCooCoo/fix/prefs-set-folder-check
Preferences: prefs.set refuses a missing or unusable recovery or plug-ins folder
2026-11-07 09:57:12 +08:00
BFlat 4802247106 Merge pull request #6004 from dotCooCoo/fix/dialog-enter-repeat
Dialogs: a held Enter or Escape stops at the dialog it opened or closed
2026-11-07 09:56:52 +08:00
BFlat 0864d63ee2 Merge pull request #5988 from dotCooCoo/fix/offset-contour-check-index
Offset Path: the spurious-contour check tests only the source segments near each contour
2026-11-07 09:56:37 +08:00
BFlat 3637aebc5f Merge pull request #5983 from dotCooCoo/feat/artboard-context-menu
Artboards: the Artboard tool's canvas menu cuts, copies, pastes, renames, rearranges and exports artboards
2026-11-07 09:56:22 +08:00
BFlat 2908e6f9f8 Merge pull request #6008 from dotCooCoo/fix/trace-logo-fit-cap
Image Trace: the logo fitter keeps no piece over its tolerance
2026-11-07 09:36:04 +08:00
BFlat 389e6faf7a Merge pull request #6003 from mockydevs/fix/eps-huge-image-skips-data
EPS import: an image too large to read skips its data instead of failing the file
2026-11-07 09:35:49 +08:00
BFlat baab0eadbe Merge pull request #6002 from mockydevs/fix/eps-cvi-radix
EPS import: cvi and cvr read radix numbers (eps2write spot colours with spaces)
2026-11-07 09:35:34 +08:00
BFlat cddf45801e Merge pull request #6001 from mockydevs/fix/eps-subfile-long-count
EPS import: SubFileDecode reads counts past 4 MiB (eps2write files with long streams open)
2026-11-07 09:35:19 +08:00
BFlat b207e3f7a9 Merge pull request #6000 from mockydevs/fix/eps-bind-readonly-procs
EPS import: bind leaves the procedures it already bound alone (Ghostscript eps2write files open)
2026-11-07 09:35:04 +08:00
BFlat fde645e32e Merge pull request #5993 from dotCooCoo/fix/mcp-save-warning-labels
Save: notes on unread save options name the legacy or non-PDF-compatible .ai, in every save command
2026-11-07 09:34:47 +08:00
BFlat c38f1cc1ee Merge pull request #5990 from dotCooCoo/fix/ai-mask-lone-object
.ai import: opacity mask art of one object opens as that object
2026-11-07 09:34:37 +08:00
BFlat 6cf98654f6 Merge pull request #5989 from dotCooCoo/fix/pdf-password-docs
Docs: PDF password export says when the file ID and the bytes vary
2026-11-07 09:34:22 +08:00
BFlat 4dbc16acf8 Merge pull request #5986 from dotCooCoo/fix/artboards-menu-new-active
Artboards: the panel menu's New Artboard makes the new artboard active
2026-11-07 09:34:06 +08:00
BFlat 9592b6a5ca Merge pull request #5982 from dotCooCoo/fix/link-watch-worker-gone
Links: a link check whose worker ends without a result no longer stops later checks
2026-11-07 09:11:28 +08:00
BFlat 60f1bff1d8 Merge pull request #5978 from dotCooCoo/fix/ai-image-knockout-shape
.ai import: images, meshes, blends and styled objects keep the knockout shape flag
2026-11-07 09:11:07 +08:00
BFlat d0d915a721 Merge pull request #5977 from kylekanouse/fix/svg-textpath-anchor
SVG: centred and right-aligned type on a path keeps its place
2026-11-07 09:10:51 +08:00
BFlat 4e16340f2c Merge pull request #5946 from ruchirguitar/fix/4947-indic-hyphenation
Add hyphenation for eleven Indian languages
2026-11-07 09:10:37 +08:00
BFlat 4b29225c30 Merge pull request #5965 from dotCooCoo/feat/ai-editing-data-s5
.ai save: the editing copy keeps type as type
2026-11-07 09:10:24 +08:00
BFlat 51aea90f07 Merge pull request #5972 from dotCooCoo/fix/selection-overlay-per-frame
Canvas: selection outlines and anchors are reused between frames
2026-11-07 09:10:03 +08:00
BFlat afdc490d3a Merge pull request #5971 from slafebre/fix/5964-gradient-dash-corner
Part of #5964: stroke gradients cover an arrowhead to the end of its reach
2026-11-07 09:09:47 +08:00
BFlat 073923ee30 Merge pull request #5969 from dotCooCoo/fix/eyedropper-keeps-story-selection
Type: switching to the Eyedropper keeps a whole-story selection
2026-11-07 09:09:33 +08:00
BFlat 085bbf5495 Merge pull request #5968 from slafebre/fix/5714-smooth-width-profiles
Fix #5714: widths run smoothly between width points
2026-11-07 09:09:19 +08:00
BFlat ee4f711fbe Merge pull request #5967 from dotCooCoo/fix/ai-brushed-paths
.ai import: paths with an Art brush open with the brush on their stroke
2026-11-07 09:09:01 +08:00
BFlat 7adc7fa40c Merge pull request #5966 from dotCooCoo/fix/ai-envelope-stroked-box
.ai import: envelopes map from their stroked box when the file saves its size
2026-11-07 09:08:45 +08:00
BFlat 9950bde2e7 Merge pull request #5963 from dotCooCoo/fix/pdf-export-cost
PDF export: members of a plain group or layer are measured once to leave out off-page art, and the link walk measures only what it reads
2026-11-07 09:08:28 +08:00
BFlat e940a55cb6 Merge pull request #5959 from dotCooCoo/fix/ai-symbol-section-strings
.ai import: ASCII85 data in a section does not hide the section's end
2026-11-07 09:08:13 +08:00
BFlat aeb697c8ea Merge pull request #5958 from FractalEncrypt/fix/shape-tool-centre-and-rotate
Shape tools: move the selection from its centre point and turn it outside a corner
2026-11-07 09:07:57 +08:00
BFlat b59e31203e Merge pull request #5957 from FractalEncrypt/fix/transform-fields-tab-order
Transform fields: Tab moves from one field to the next, one press each
2026-11-07 09:07:42 +08:00
BFlat 5a07696a8e Merge pull request #4732 from SofiaAFigueredo/feat/4684-unify-home-screen-ui
UI: centre the Home screen and use the accent for the Discord button (#4684)
2026-11-07 09:07:26 +08:00
BFlat 4244b96afc Merge pull request #5955 from dotCooCoo/fix/open-text-layout
Type: layout keeps each font face's shaping plans
2026-11-07 09:07:10 +08:00
BFlat 8df48df103 Merge pull request #5953 from mockydevs/fix/legacy-ai-smooth-image-clip-5264
Legacy .ai export: a flattened transparent image's clip follows its edge smoothly
2026-11-07 09:06:50 +08:00
BFlat 4db8bbc97c Merge pull request #5952 from dotCooCoo/feat/ai-pathfinder-effect-commands
.ai import: the other Effect › Pathfinder operations open as live effects on a group
2026-11-07 09:06:14 +08:00
BFlat 3bceade119 Merge pull request #5951 from dotCooCoo/fix/ai-active-artboard
.ai save: the editing copy names the active artboard
2026-11-07 09:05:42 +08:00
BFlat 76eca8e98e Merge pull request #5950 from mockydevs/feat/progress-indicator-5930
Opening a slow file shows a progress window with Cancel and Continue in Background
2026-11-07 09:05:27 +08:00
BFlat b497793902 Merge pull request #5948 from Hamza0101/feat/bulgarian-text-language
Languages: Bulgarian, with its quote marks and the fonts' Bulgarian forms (#5945)
2026-11-07 09:05:15 +08:00
BFlat 98c6e8ab5d Merge pull request #5947 from mockydevs/fix/grid-snap-anchors
Direct Selection: with Snap to Grid, a dragged straight segment lands its anchors on the grid
2026-11-07 09:04:57 +08:00
BFlat 0ebce55584 Merge pull request #5942 from mockydevs/feat/paste-spreadsheet-table
Paste: cells copied from a spreadsheet paste as a table of type over gridlines
2026-11-07 09:04:38 +08:00
BFlat d79c3574af Merge pull request #5940 from dotCooCoo/fix/paint-without-bounds
Appearance and Eyedropper: reading an object's paint does not measure its bounds
2026-11-07 09:04:16 +08:00
BFlat af4f590b6b Merge pull request #5939 from mockydevs/feat/alt-numpad-codes-5108
Type: Alt + numeric-keypad codes (Alt+0176 → °) type their character on Windows; type.insert takes a code
2026-11-07 09:03:59 +08:00
BFlat 84fc4b74ac Merge pull request #5938 from mockydevs/feat/3d-effects-on-groups
3D effects: Extrude & Bevel, Inflate and Rotate apply to groups, turned about one shared axis
2026-11-07 09:03:47 +08:00
BFlat e688fbea0e Merge pull request #5937 from mockydevs/feat/glyph-bounds-corners-5112
Snap to Glyph: each glyph's bounding-box corners are snap points, and the box turns with rotated type
2026-11-07 09:03:27 +08:00
BFlat bc57bdaee3 Merge pull request #5932 from Hamza0101/fix/paste-into-new-type-keeps-formatting
Type: pin that a Type-range paste into new point type keeps its formatting (#5929)
2026-11-07 09:03:09 +08:00
BFlat 8029748283 Merge pull request #5931 from mockydevs/fix/perspective-plane-offsets
Perspective grid: a grid dragged off its preset reports no preset name
2026-11-07 09:02:47 +08:00
BFlat c14ec164a2 Merge pull request #5928 from adikshan11/fix/library-untitled-format-copies
Don't copy a library on every save when its format keeps no title
2026-11-07 09:02:27 +08:00
BFlat d074756192 Merge pull request #5927 from mockydevs/fix/transform-effect-copies-5920
Effects: a Transform effect's copies of a filled and stroked path stack one above another
2026-11-07 09:02:10 +08:00
BFlat 0f0ded95b4 Merge pull request #5924 from jayzed80/fix/text-huge-gutter-stall
fix(text): a gutter too huge to step past no longer stalls area type layout
2026-11-07 09:01:34 +08:00
BFlat 145a10c2db Merge pull request #5922 from Hamza0101/fix/find-whole-word-across-runs
Find Whole Word: a change of style inside a word is not a word boundary (#5901)
2026-11-07 09:01:14 +08:00
BFlat 9ef87c19e5 Merge pull request #5921 from Hamza0101/fix/find-replace-respects-group-lock
Find and Replace: type inside a locked or hidden group is left alone (#5900)
2026-11-07 09:00:51 +08:00
BFlat 4166d31a54 Merge pull request #5918 from mockydevs/feat/drop-shadow-colour-picker
Drop Shadow: a swatch beside Color opens the Color Picker (#5364)
2026-11-07 09:00:28 +08:00
BFlat c0a40216ce Merge pull request #5917 from mockydevs/fix/boolean-area-check
Path booleans: check the windings against the operands' areas and resolve the operands when they don't add up (#5478)
2026-11-07 08:59:49 +08:00
bflatastic 53b40161f3 Docs: record kept selection marks in the parity status 2026-11-07 07:36:26 +07:00
bflatastic ccdccb1299 Tests: an image next to type keeps its knockout shape flag 2026-11-07 07:36:26 +07:00
bflatastic 7913c481aa Docs: keep the effects status entries 2026-11-07 00:17:14 +07:00
BFlat f3d9970f69 Merge pull request #5916 from mockydevs/feat/effect-dialog-spinners
Drop Shadow and Outer Glow: spinner arrows step Opacity, the offsets, Blur and Darkness (#5367, #5368)
2026-11-06 18:27:56 +08:00
BFlat 278c8de572 Merge pull request #5915 from Silvertree2010/fix/5902-cross-document-paste-loses-a-sym
Keep a symbol's options when pasting it into another document
2026-11-06 18:27:41 +08:00
BFlat e83bfa5fa1 Merge pull request #5914 from adikshan11/fix/library-file-name-collision
Keep the other library when two names share a file name
2026-11-06 18:04:04 +08:00
BFlat 85978cc2e4 Merge pull request #5913 from mockydevs/fix/svg-filter-mask-regions-5876-5875
SVG import: filter and mask regions clip what they declare (#5876, #5875)
2026-11-06 17:51:53 +08:00
BFlat 9195f43901 Merge pull request #5910 from mockydevs/feat/stroke-weight-shortcuts
Stroke Weight Up and Down: Cmd/Ctrl+Alt+. and , step the selected strokes' weight (#5797)
2026-11-06 17:31:49 +08:00
BFlat f4b56474d4 Merge pull request #5909 from mockydevs/fix/svg-blur-linearrgb-5877
SVG import: Gaussian blurs keep color-interpolation-filters; Gaussian Blur can blur in linear light (#5877)
2026-11-06 17:19:02 +08:00
BFlat 702f4100fd Merge pull request #5908 from mockydevs/feat/pdf-export-url-links-5785
PDF and .ai export: objects' URLs become clickable links (#5785)
2026-11-06 17:01:56 +08:00
BFlat a0d496251a Merge pull request #5906 from dotCooCoo/fix/legacy-ai-colorized-images
Legacy .ai export: black-and-white colorized images save as image masks
2026-11-06 16:47:09 +08:00
BFlat 8dc5da6d1f Merge pull request #5905 from mockydevs/fix/svg-gradient-linearrgb-5878
SVG import: gradients with color-interpolation="linearRGB" mix their stops in linear light (#5878)
2026-11-06 16:46:52 +08:00
BFlat 54c975a085 Merge pull request #5903 from dotCooCoo/fix/ai-swatch-name-collisions
.ai import: a pattern or color named as another swatch keeps its swatch
2026-11-06 16:46:34 +08:00
BFlat 543762c599 Merge pull request #5904 from mockydevs/fix/blend-spine-review
Blend spine: moveAnchor refuses `with` alongside `handle`; spine built once per overlay and drag
2026-11-06 16:46:18 +08:00
BFlat 07c814597d Merge pull request #5899 from dotCooCoo/fix/tab-stops-string-params
Reject invalid Tab Stop string parameters
2026-11-06 16:32:38 +08:00
BFlat 5788e043d9 Merge pull request #5828 from mockydevs/feat/f2-rename-5324
Layers: F2 renames the selected layer, group or object (#5324)
2026-11-06 16:32:21 +08:00
BFlat 683ccdf8dc Merge pull request #5897 from dotCooCoo/fix/restyled-empty-frame-keeps-style
Text: a restyled empty frame keeps its style before an unedited empty frame
2026-11-06 16:09:53 +08:00
BFlat 5e7c331745 Merge pull request #5896 from adikshan11/fix/automation-superscript-device-names
Automation roots: refuse COM¹ to LPT³ as Windows device names
2026-11-06 15:46:42 +08:00
BFlat 91efec6cec Merge pull request #5895 from kler/swedish-ui-2026-11-06
i18n(sv): translate 1432 new strings, use the agreed terms in 2
2026-11-06 15:34:21 +08:00
BFlat 267ea8a852 Merge pull request #5894 from jayzed80/fix/eps-bitshift-min
fix(eps): bitshift by the most negative integer no longer overflows on negation
2026-11-06 15:34:06 +08:00
BFlat ab95d51b1f Merge pull request #5893 from dotCooCoo/fix/empty-thread-frame-style
Text: empty later frames preserve an edited paragraph style
2026-11-06 15:21:27 +08:00
BFlat 1444ce9e0f Merge pull request #5892 from dotCooCoo/docs/ai-symbols-need-layers
Docs: .ai symbols are read with the file's layers
2026-11-06 15:04:23 +08:00
BFlat c7b717d801 Merge pull request #5888 from dotCooCoo/fix/flag-params-switch-or
Commands: true/false flags reject other values everywhere
2026-11-06 14:48:04 +08:00
BFlat 804c3b09d8 Merge pull request #5886 from dotCooCoo/fix/ai-no-layers-active-artboard
.ai import: a file whose editing data has no layers also opens on its active artboard
2026-11-06 14:47:49 +08:00
BFlat 4fc4c65763 Merge pull request #5885 from dotCooCoo/fix/ai-tab-stops-shared
.ai import: legacy type keeps one copy of tab stops its paragraphs share
2026-11-06 14:34:55 +08:00
BFlat 08be8b2d7c Merge pull request #5883 from dotCooCoo/fix/profile-stroke-crop
Rendering: open width-profile strokes outline only near the view
2026-11-06 13:56:09 +08:00
BFlat 8585fd28c2 Merge pull request #5884 from dotCooCoo/test/fitted-text-scale-changes-fit
Tests: a fitted text test changes its fit scale
2026-11-06 13:55:59 +08:00
BFlat 27e9f331ad Merge pull request #5882 from ruchirguitar/i18n/hindi-complete
i18n: add Hindi interface and message catalog
2026-11-06 13:55:48 +08:00
BFlat 1ab03cb2a1 Merge pull request #5881 from dotCooCoo/fix/selected-hover-widgets
Selection: empty-canvas hover skips distant widgets in large selections
2026-11-06 13:18:56 +08:00
BFlat 6b3a34f016 Merge pull request #5880 from dotCooCoo/docs/format-parity-guides-known-failures
Docs: the .ai notes no longer list guides as a known failure
2026-11-06 13:04:43 +08:00
BFlat 22ff7db4ce Merge pull request #5879 from dotCooCoo/perf/direct-cursor-single-hit
Reuse hit result for Direct Selection cursor
2026-11-06 12:43:57 +08:00
BFlat 17e56e3dc9 Merge pull request #5874 from dotCooCoo/fix/new-art-basic-boolean-param
Reject invalid New Art Basic parameters
2026-11-06 12:31:07 +08:00
BFlat 3c7d9e1f90 Merge pull request #5873 from dotCooCoo/perf/long-path-hover
Speed up hover hits on long plain paths
2026-11-06 12:14:58 +08:00
BFlat ad747b15f7 Merge pull request #5872 from dotCooCoo/fix/guide-lock-boolean-param
Reject invalid Guide Lock parameters
2026-11-06 11:56:38 +08:00
BFlat 56c1033820 Merge pull request #5871 from dotCooCoo/fix/ai-symbol-reader-shares-budgets
.ai import: symbol, pattern and brush definitions share the file's blend and envelope limits
2026-11-06 11:40:23 +08:00
BFlat 1e0efa77d1 Merge pull request #5869 from dotCooCoo/fix/transparency-grid-boolean-param
Reject invalid Transparency Grid parameters
2026-11-06 11:27:54 +08:00
BFlat 2628ee3069 Merge pull request #5868 from dotCooCoo/perf/transform-many-lookups
Reuse selected object locations for large transforms
2026-11-06 11:10:32 +08:00
BFlat 83f9b2953f Merge pull request #5867 from dotCooCoo/fix/slice-toggle-boolean-params
Reject invalid Slice toggle parameters
2026-11-06 10:58:17 +08:00
BFlat f7fe3a0f43 Merge pull request #5866 from dotCooCoo/fix/char-strokes-scale-reuse
Rebuild fitted text geometry after scaling
2026-11-06 10:37:39 +08:00
BFlat ac5a3c5163 Merge pull request #5865 from dotCooCoo/perf/char-strokes-move
Reuse text outlines across moves
2026-11-06 10:06:39 +08:00
BFlat be3845d1f0 Merge pull request #5863 from mockydevs/feat/properties-artboard-transform-5219
Properties: Edit Artboards shows a Transform section above the artboard options (#5219)
2026-11-06 09:48:10 +08:00
BFlat 6d40518ce4 Merge pull request #5864 from storytold/fix/cmd-box-test-texture-delta
Tests: the Cmd bounding box test clears its texture delta
2026-11-06 09:47:55 +08:00
bflatastic 138bab6fd3 Tests: the Cmd bounding box test clears its texture delta
The render worker's frame can land in any of its frames, and dropping a
delta that is not empty panics.
2026-11-06 08:34:25 +07:00