Commit Graph
11025 Commits
Author SHA1 Message Date
vecteza b31c09bc28 Workspace: the Tools panel docks on the right too, left of the panels
The Tools panel docked only on the left (the window's edge, or beside the
canvas with Keep Tools Beside the Canvas). Dropped on the canvas's right
edge, just left of the panels, or anywhere along the window's right edge,
it now docks on the right, between the canvas and the panels: it is drawn
inside the canvas panel at its right edge, which reserves room for it, so it
follows the panels however they are arranged. Dragged back to the left it
docks there again; Escape puts it back on the side it came from.

- The side is kept with the preferences and in saved workspaces (built-in
  workspaces and state saved without it dock it on the left).
- Tool flyouts and the Edit Toolbar drawer open toward the canvas from a
  toolbar docked right (toolbar::room / toolbar::beside).
- window.panel.dock {panel: "tools", side?: left|right (or Start|End)},
  default the side it docked at last; replies carry the side. The grip's tip
  names both edges; translated in every catalog.
- Test: the_tools_panel_docks_on_the_right_left_of_the_panels.
2026-11-09 09:53:40 +05:00
dotCooCoo a4612ea88b Docs: docs/mcp.md lists save_file once
The tools table had two save_file rows. The shorter one is out of date, so it is removed and the current row is unchanged.
2026-11-08 20:51:42 -08:00
BFlat a32bd3dc92 Merge pull request #6234 from dotCooCoo/fix/save-screens-unknown-options
Save: the save commands and Export for Screens refuse an unknown option key
2026-11-09 12:49:37 +08:00
BFlat baa7248e76 Merge pull request #5158 from dotCooCoo/fix/ai-os23-2831
.ai import: names that aren't UTF-8 can be read in a legacy code page
2026-11-09 12:46:30 +08:00
M Balazs PC 68133cc731 Merge remote-tracking branch 'origin/main' into fix/ai-right-aligned-tabs
# Conflicts:
#	docs/file-format-parity.md
2026-11-09 05:45:48 +01:00
dotCooCoo 9e655ae2e6 Merge main into fix/plugin-stale-grant 2026-11-08 20:38:46 -08:00
dotCooCoo 6cce39dd7f Plug-ins: a grant that can't be removed stops counting for the session
When loading the plug-in store can't remove the grant of an id whose stored
module lists no permissions, or can't read grants.json, the entry stays on
disk and still approved the bytes it covers. plugin.install has the same case
when the grant can't be removed and no earlier module can be put back.

The session now keeps those ids and does not count their grants in
plugin.inspect, plugin.install, plugin.reload or a later load of the store. A
successful update of the grant for the id ends that, and so does attaching a
different store.
2026-11-08 20:38:03 -08:00
BFlat 02714bbe35 Merge pull request #6275 from dotCooCoo/chore/craft-update-1b34eba41
Updates: take craft-update from craft-libs main at 1b34eba41
2026-11-09 12:34:59 +08:00
ruchirguitar e0aade5229 Merge remote-tracking branch 'origin/main' into SidePanelCollapseArrow
Co-authored-by: Cursor <cursoragent@cursor.com>

# Conflicts:
#	docs/gaps.md
#	docs/roadmap.md
#	docs/target-app-parity.md
#	docs/ui-parity.md
2026-11-09 10:00:54 +05:30
BFlat 5402f17f15 Merge pull request #6276 from dotCooCoo/fix/plugin-last-error-origin
Plug-ins: lastError keeps a failed run's error, and hit tests follow swatch changes
2026-11-09 12:26:56 +08:00
dotCooCoo 09cbf2b8f9 Merge main into fix/ai-os23-3678 2026-11-08 20:24:23 -08:00
dotCooCoo 05e3b99bf7 Linux: comments say which VECTORCRAFT_TITLEBAR values take precedence 2026-11-08 20:24:12 -08:00
dotCooCoo 73e5715f6b Plug-ins: the input kinds fuzz test installs with request grants allowed
The fuzz test from #6223 passes grant to plugin.install, which a plain
session now refuses, so its cases stopped installing the module. The
docs line for a filter that lists inputs now says installing it needs a
person's approval.
2026-11-08 20:23:54 -08:00
dotCooCoo fc728b909e Merge main into fix/shape-builder-merge-off-ui-thread 2026-11-08 20:23:21 -08:00
dotCooCoo edaf6cbc07 Linux: docs say which VECTORCRAFT_TITLEBAR values take precedence
Only app, system and desktop override the frame choice. Any other value, such as unknown, is ignored, so System Title Bar still applies.
2026-11-08 20:20:27 -08:00
dotCooCoo bff7f0ad54 Merge main into fix/plugin-grant-app-approval 2026-11-08 20:16:56 -08:00
Don Omondi 6199fcccf3 Merge remote-tracking branch 'upstream/main' into fix/eps-sampled-function-shading
# Conflicts:
#	docs/file-format-parity.md
2026-11-08 23:15:30 -05:00
dotCooCoo 0b19003214 Merge main into fix/save-screens-unknown-options 2026-11-08 20:13:09 -08:00
BFlat 6ced5794ee Merge pull request #6016 from mockydevs/feat/ai-import-stacked-fills
EPS/.ai editing data: paths keep art styles of several fills and strokes live
2026-11-09 12:13:08 +08:00
BFlat 6b978fea4f Merge pull request #6223 from dotCooCoo/feat/plugin-filter-inputs
Plug-ins: filters can ask to read type, images and symbol instances
2026-11-09 12:09:05 +08:00
dotCooCoo 6d91fe6914 Merge main into fix/plugin-grant-app-approval 2026-11-08 19:59:30 -08:00
dotCooCoo 5635abd00a Merge main into fix/plugin-stale-grant 2026-11-08 19:52:08 -08:00
dotCooCoo e2fea88c77 Plug-ins: lastError reports the latest of a refused reference and a failed run 2026-11-08 19:50:57 -08:00
M Balazs PC b64cfed610 Merge remote-tracking branch 'origin/main' into fix/ai-right-aligned-tabs
# Conflicts:
#	crates/text/src/layout/flow.rs
#	docs/file-format-parity.md
#	docs/roadmap.md
#	docs/target-app-parity.md
2026-11-09 04:48:48 +01:00
BFlat 36f83042e6 Merge pull request #6272 from dotCooCoo/fix/plugin-remove-revision-under-lock
Plug-ins: removing a plug-in moves the revision while it holds the set
2026-11-09 11:47:33 +08:00
dotCooCoo 08f38a5068 Updates: take craft-update from craft-libs main at 1b34eba41 2026-11-08 19:45:26 -08:00
dotCooCoo 3258785476 Merge main into fix/ai-os23-2831 2026-11-08 19:44:24 -08:00
BFlat cc369817fd Merge pull request #6273 from dotCooCoo/fix/tool-options-reload-keep-drag
Tools: setting another tool's option leaves a drag's options alone
2026-11-09 11:43:23 +08:00
dotCooCoo 89b61de7f1 Merge main into fix/ai-os23-3678 2026-11-08 19:39:45 -08:00
dotCooCoo df100e978f Merge main into fix/ai-os23-3678
Only a Stroke Style filter's widths written as one centered array come in as the drawn look. A Stroke Offset stroke and widths written for each side stay live with their profile.
2026-11-08 19:39:44 -08:00
dotCooCoo 3b1f901202 Merge main into fix/plugin-stale-grant 2026-11-08 19:38:35 -08:00
dotCooCoo 623d8fdd83 Plug-ins: the settings file test passes remove_plugin_storage its callback 2026-11-08 19:37:01 -08:00
dotCooCoo 71c3a7c8e2 Merge main into fix/plugin-grant-app-approval 2026-11-08 19:36:52 -08:00
dotCooCoo 5d715a5051 Plug-ins: an effect that paints nothing clears a refused reference's error
Only a painted effect's references are checked, so a refusal recorded for a painted effect stayed in plugin.info after an effect that paints nothing replaced it under the same id.
2026-11-08 19:35:50 -08:00
Don Omondi 534c44a871 Merge remote-tracking branch 'upstream/main' into fix/eps-sampled-function-shading
# Conflicts:
#	docs/file-format-parity.md
2026-11-08 22:34:40 -05:00
dotCooCoo 5cb09720a4 Merge main into feat/plugin-filter-inputs 2026-11-08 19:34:12 -08:00
ruchirguitarandCursor 3deac491ca M2.1: merge current main and keep path-deletion evidence (#3380)
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-11-09 09:03:17 +05:30
ruchirguitarandCursor 48fa6179b4 M2.1: keep the stronger Pen Cut split checks while merging the fork (#3380)
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-11-09 09:02:03 +05:30
BFlat c040fa7a55 Merge pull request #2279 from dotCooCoo/feat/color-wheel-panel
Part of #978: Window › Color Wheel picks colors on a hue ring and a saturation and brightness square
2026-11-09 11:30:27 +08:00
dotCooCoo 36755be821 Merge main into fix/plugin-grant-app-approval 2026-11-08 19:30:19 -08:00
dotCooCoo 9f9cf9e7ea Merge main into fix/plugin-stale-grant 2026-11-08 19:29:45 -08:00
dotCooCoo 93f98257e4 Plug-ins: test a grants file over its size limit and the unread case
The unread grants test replaces the plain module it installed earlier,
as plugin.install now asks. A grants file over 1 MiB approves nothing,
so the new module stays in the store.
2026-11-08 19:27:47 -08:00
dotCooCoo fe7b71b857 Plug-ins: the clear-cache test installs with request grants allowed
plugin.install refuses grant from a request unless the session was started
to allow it, so the test from main that installs with grant turns that on.
The install dialog's comment names OK's Sense::click.
2026-11-08 19:26:55 -08:00
BFlat fcdc591e39 Merge pull request #6270 from dotCooCoo/fix/docs-plugin-grant-without-permissions
Docs: a plug-in with no permissions list needs no grant
2026-11-09 11:26:18 +08:00
BFlat dc654af50a Merge pull request #6274 from dotCooCoo/fix/push-in-keeps-inline-art-gap
Type: a pushed-in line leaves the gap after inline art open
2026-11-09 11:22:12 +08:00
BFlat 8eb3d4166a Merge pull request #2552 from dotCooCoo/feat/print-copies-per-sheet
Print: Copies per Sheet prints as many copies of each artboard as fit the sheet
2026-11-09 11:17:48 +08:00
BFlat 0089e494f5 Merge pull request #6269 from dotCooCoo/fix/plugin-storage-kept-settings
Plug-ins: settings and the cache total stay in memory between storage calls
2026-11-09 11:13:41 +08:00
dotCooCoo f29c75a231 Plug-ins: hit tests re-evaluate live art when a swatch or color group changes
A painted live effect's pieces name swatches, so a kept evaluation could outlive a swatch that was renamed or removed and answer a click with art the document no longer draws. The kept evaluation now holds the document's swatches and color groups and is stale when they change.
2026-11-08 19:13:37 -08:00
dotCooCoo 3123b4af74 Plug-ins: a passed reference check keeps a failed run's error
A painted effect's cached result passed its swatch and pattern check and cleared the error of a failed run, so plugin.info reported none while the effect still failed on another object. A run and a reference check now record their errors separately, and each clears only its own.
2026-11-08 19:13:37 -08:00
dotCooCoo 67e3d6f13f Merge main into fix/save-screens-unknown-options 2026-11-08 19:13:11 -08:00