Commit Graph
3225 Commits
Author SHA1 Message Date
BFlat 80178d9902 Merge pull request #1938 from Messhias/feat/g6-actions-batch
G6: action.batch (File › Automate › Batch)
2026-10-16 05:13:23 +07:00
BFlat 28fe30ce58 Merge pull request #1941 from Messhias/feat/g6-graph-variables
G6: graph variables (CSV data merge)
2026-10-16 05:13:07 +07:00
BFlat 5f7f9f6d37 Merge pull request #1929 from Messhias/feat/g6-dataset-csv
G6: dataset CSV import/export
2026-10-16 05:12:50 +07:00
BFlat 1060bc6bed Merge pull request #1908 from Messhias/feat/g6-image-variables
G6: image variables (VariableKind::Image)
2026-10-16 05:12:35 +07:00
BFlat 1ea496a04f Merge pull request #1959 from Messhias/feat/symbol-registration
G5: Symbol Options Registration 9-point grid
2026-10-16 05:12:19 +07:00
BFlat a302783f32 Merge pull request #2053 from sanyamsingh001/codex/r76-warp-options
G1: Add Warp Options controls for live effects
2026-10-16 05:12:08 +07:00
BFlat bb66ec13e2 Merge pull request #1961 from Messhias/feat/assets-export-seam-test
G11: Asset Export seam regression and supersampled thumbs
2026-10-16 05:11:50 +07:00
BFlat 9ab58ba536 Merge pull request #1922 from sanyamsingh001/codex/r68-guide-escape
G1: Cancel existing-guide drags with Escape
2026-10-16 05:11:32 +07:00
BFlat 756d05d7ca Merge pull request #1982 from sanyamsingh001/codex/r76-open-anchor-delete
G11: Preserve gaps when deleting open-path anchors
2026-10-16 05:11:16 +07:00
BFlat 6dc60a6697 Merge pull request #1921 from sanyamsingh001/codex/r65-artboard-document-switch
G1: Keep the displayed artboard selected after switching documents
2026-10-16 05:11:01 +07:00
BFlat 5d3d28d56f Merge pull request #2095 from switch87/feat/1763-intertwine
G13: Object › Intertwine: Make, Edit, Release and the Intertwine tool (#1763)
2026-10-16 05:10:43 +07:00
BFlat 832ca236d3 Merge pull request #1936 from marcoarnulfo/fix/macos-title-bar-double-click
Title bar: a double-click on the macOS app bar zooms the window
2026-10-16 05:10:27 +07:00
BFlat 82d5e31be4 Merge pull request #2125 from switch87/feat/2113-batch-draw
MCP command_batch: draw_path and draw_shape run as steps (#2113)
2026-10-16 05:10:12 +07:00
BFlat 3fb463052e Merge pull request #2124 from switch87/feat/2112-draw-options
MCP draw_path / draw_shape: dash, cap, join, opacity, name and effects (#2112)
2026-10-16 05:09:57 +07:00
BFlat 65c06f3a57 Merge pull request #2128 from switch87/feat/2127-gradient-span
paint.setFill / setStroke: one gradient across the targets (span: "selection") (#2127)
2026-10-16 05:09:42 +07:00
BFlat 93e92d8a91 Merge pull request #2137 from switch87/feat/2130-ids-select-first
Selection-only commands take ids: the objects are selected first (#2130)
2026-10-16 05:09:27 +07:00
BFlat 5e2dd693ae Merge pull request #1962 from marcoarnulfo/fix/pdfx-icc-once
PDF export: the output intent shares the stream of the profile that tags the colours
2026-10-16 05:09:12 +07:00
BFlat dcb759011e Merge pull request #2121 from switch87/fix/2110-gui-help
vectorcraft --help prints the usage before the app starts (#2110)
2026-10-16 05:08:56 +07:00
BFlat 13a1b60d28 Merge pull request #1947 from marcoarnulfo/fix/text-center-shortcut-and-autosize
Text: Ctrl+Shift+C aligns centre off the Mac, a double-click on area type's bottom handle turns on Auto Size
2026-10-16 05:08:41 +07:00
BFlat 2c1bb5f839 Merge pull request #1981 from marcoarnulfo/fix/maximize-work-area
Windows: a maximized window stays clear of the taskbar
2026-10-16 05:08:26 +07:00
bflatastic 8412b4658f i18n: catalog rows for the new strings (#1938) 2026-10-16 04:55:01 +07:00
bflatastic 08dde8783e Actions: Batch… stays in the Actions panel menu, as the reference app has it (#1938) 2026-10-16 04:55:01 +07:00
bflatastic b3e484702f i18n: catalog rows for the new strings (#1941) 2026-10-16 04:50:07 +07:00
bflatastic 799f94ecf1 i18n: catalog rows for the new strings (#1929) 2026-10-16 04:50:07 +07:00
bflatastic a38c824066 Variables: an image variable keeps the object's bounds with the Placement Options API on main (#1908) 2026-10-16 04:50:07 +07:00
Fabio William ConceiçãoandCursor 0fe70314b8 G6: action.batch for File › Automate › Batch
Play an action on every file in a folder or every data set, with destination
and Override Open/Save/Export. Actions panel and File › Automate › Batch…
open the dialog; new strings in pt-br.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-16 04:50:07 +07:00
bflatastic 568008dd47 Variables: graph values go through the dataset CSV too (#1941) 2026-10-16 04:50:07 +07:00
bflatastic 192a671d4f Variables: dataset CSV keeps line breaks in quoted cells and reads a file only up to its cap (#1929) 2026-10-16 04:50:07 +07:00
Fabio William ConceiçãoandCursor dc390aba37 G6: graph variables (CSV data merge)
VariableKind::Graph binds a graph root; dataset rows supply CSV as graph.setData.
Make Graph Dynamic, Variables dialog, capture/apply, and pt-br for the new strings.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-16 04:50:07 +07:00
Fabio William Conceição 5ef090a0c2 G6: dataset CSV import/export with PT-BR UI labels
Load and save variable datasets as CSV for data-merge pipelines, and
translate the new Variables panel commands in Brazilian Portuguese.

Co-authored-by: Cursor <cursoragent@cursor.com>

# Conflicts:
#	docs/target-app-parity.md
2026-10-16 04:50:07 +07:00
bflatastic 699856f7d5 i18n: catalog rows for the new strings (#1908) 2026-10-16 04:45:08 +07:00
Fabio William Conceição 41c8bd2a2d G6: image variables swap linked files and keep bounds
Add VariableKind::Image with path values on datasets, makeImageDynamic,
panel/dialog UI, and MCP docs so data merge can drive placed images.
2026-10-16 04:45:06 +07:00
bflatastic c8310edea1 i18n: Bulgarian row for Symbol Options Registration (#1959) 2026-10-16 04:45:04 +07:00
sanyamsingh001andCodex 848d902354 G1: Add Warp Options controls for live effects
Expose existing Warp styles, orientation and percentage controls through the shared live effect dialog while preserving preview history and effect targets. Keep ordinary Enter owned by focused non-searchable combo controls.

Co-authored-by: Codex <noreply@openai.com>
2026-10-16 04:45:03 +07:00
Fabio William ConceiçãoandCursor 80090e7623 G5: Symbol Options Registration 9-point grid
Store the registration point with the symbol and place instances so that point lands on (x, y). Symbol Options exposes the same 9-point control as Transform.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-16 04:45:03 +07:00
Fabio William Conceição ed6d474042 G11: Asset Export seam regression and supersampled thumbs
assets.export of abutting fills must leave no ghost edge (#983 / #1037); panel thumbnails use the same Art Optimized supersample. Progress docs mark the gap closed.
2026-10-16 04:45:01 +07:00
sanyamsingh001andCodex 74573d6bad G1: Cancel existing-guide drags with Escape
Co-authored-by: Codex <noreply@openai.com>
2026-10-16 04:44:59 +07:00
sanyamsingh001andCodex 67f9d134ed G11: Preserve gaps when deleting open-path anchors
Keep surviving drawable runs separate when Delete or Backspace removes an open-path anchor. Preserve appearance, selection and one-step Undo.

Co-authored-by: Codex <noreply@openai.com>
2026-10-16 04:44:58 +07:00
sanyamsingh001andCodex a1b3c4804f G1: Keep the displayed artboard selected after switching documents
Co-authored-by: Codex <noreply@openai.com>
2026-10-16 04:44:56 +07:00
bflatastic 9eddeeb952 Legacy .ai export writes Intertwine groups as their art (#2095) 2026-10-16 04:44:54 +07:00
bflatastic 5e75d26d29 i18n: Bulgarian rows for Intertwine (#2095) 2026-10-16 04:44:54 +07:00
Gert Pellin 3ae6cf28e4 G13: Intertwine tool, Object › Intertwine › Edit, menu and translations (#1763)
Make and Edit choose the Intertwine tool: hovering highlights the overlap
area under the pointer, a click swaps which object is on top there, and a
path drawn around overlaps (Shift: a rectangle) arranges every overlap
inside it; Esc or Enter goes back to the tool chosen before. The overlap
faces move to vectorcraft-tools, shared by the tool and the command.

Clicks inside a raised area pick the member drawn on top there, the
Object menu gets the Intertwine submenu, and the new labels and the
predicate message are translated in the complete catalogs. docs/gaps.md
records what landed under G13.
2026-10-16 04:44:53 +07:00
Marco Arnulfo 20325b1a89 Title bar: a double-click on the macOS app bar zooms the window (fixes #1932) 2026-10-16 04:44:52 +07:00
Gert Pellin ba254a7481 MCP command_batch: draw_path and draw_shape run as steps (#2113)
A step whose id is draw_path or draw_shape runs that tool with its params,
checked as tools/call checks arguments; its result is the tool's, so later
steps can use "$N.id". The reply lists the ids the drawing steps made
under created. The unknown-argument check is shared with tools/call.
2026-10-16 04:44:52 +07:00
Gert Pellin 49fcfbd145 MCP draw_path / draw_shape: dash, cap, join, opacity, name and effects (#2112)
The drawing tools style the object they draw in the same call: dash, cap
and join go to the stroke.set that strokeWidth already sends, opacity and
name to object.setProps, and effects are applied in order as apply_effect
does. The options are checked (effect ids against effect.list) before
anything is drawn, so a bad one leaves no half-styled object behind.
2026-10-16 04:44:52 +07:00
bflatastic 5fc7072600 i18n: catalog rows for the new strings (#2128) 2026-10-16 04:44:52 +07:00
Gert Pellin 74c391c7ba G13: Object › Intertwine: Make, Release and arranging overlap areas (#1763)
An Intertwine group keeps its objects as they are, in their own stacking
order; each member can be drawn over the others in an area of its own.
The group draws, hits, saves and exports through its live expansion, so the
members stay editable and Release gives them back unchanged.

object.intertwine.arrange picks an overlap area by a click point or by a
closed path drawn around overlaps and toggles which member is on top
there, or brings a member to the front or sends it to the back where three
or more objects overlap.
2026-10-16 04:44:52 +07:00
Gert Pellin e7aacec852 Selection-only commands take ids: the objects are selected first (#2130)
object.group, ungroup, the clipping mask and compound path Make/Release,
the Arrange commands, lock, hide, edit.duplicate, object.move, rotate,
scale, reflect, shear and the Pathfinder commands acted only on the
selection, so a script had to send select.set first. Given ids, they now
select those objects (select.set, with its checks) and run as on the
selection, in the same undo step; without ids nothing changes.
2026-10-16 04:44:50 +07:00
Gert Pellin 736abd811d paint.setFill / setStroke: span "selection" places one gradient across the targets (#2127)
A gradient given to several objects fits each one's own bounds. With
span: "selection", a linear or radial gradient without its own vector is
placed once on the union of the targets' bounds, at its angle and aspect,
and every target gets that vector in document coordinates, so the ramp
runs on across them. A solid colour, a swatch, a freeform gradient or an
explicit start/end with it is refused before anything changes; the next
object drawn still fits the gradient to itself.
2026-10-16 04:44:50 +07:00
Gert Pellin 265552d5f4 Tests: a gradient spanning the selection (#2127) 2026-10-16 04:44:50 +07:00