Commit Graph
10099 Commits
Author SHA1 Message Date
dotCooCoo cd7dd5f3cc Merge main into fix/plugin-stale-grant 2026-11-08 22:03:18 -08:00
BFlat 17aec531d1 Merge pull request #6284 from dotCooCoo/fix/new-document-name-caption
New Document: the name field is labeled Document Name
2026-11-09 14:02:12 +08:00
dotCooCoo 65ff9df849 Plug-ins: a grant left behind stops counting when its module can't go back
plugin.install and plugin.remove count an entry of grants.json that this
version can't use when it can't be removed. plugin.install stops counting
a grant it can't remove when the old module can't be written back to the
Plug-ins folder.
2026-11-08 22:00:26 -08:00
BFlat 03b4c9568b Merge pull request #6283 from dotCooCoo/fix/plugin-pixels-omitted-doc
Plug-ins: docs say when pixelsOmitted is set
2026-11-09 13:52:48 +08:00
BFlat fbf43fccf0 Merge pull request #5200 from dotCooCoo/fix/ai-os23-3678
.ai import: objects with a centered variable-width stroke come in as their drawn outline
2026-11-09 13:48:39 +08:00
BFlat 609f23651c Merge pull request #6279 from dotCooCoo/fix/mcp-duplicate-save-file-row
Docs: docs/mcp.md lists save_file once
2026-11-09 13:44:24 +08:00
BFlat 271469a249 Merge pull request #6280 from vecteza/feat/tools-dock-right
Workspace: the Tools panel docks on the right too, left of the panels
2026-11-09 13:44:15 +08:00
dotCooCoo 1756672a20 Merge main into fix/plugin-stale-grant 2026-11-08 21:32:32 -08:00
dotCooCoo 7177438feb Plug-ins: plugin.install's params text and docs/mcp.md state when a grant is kept
A refused install keeps the grant, a failed write of the module to the
plug-in store leaves the grant in the store, and a stored module that is
disabled or not read in Safe Mode keeps the grant for its id. This
matches docs/plugins.md.
2026-11-08 21:26:13 -08:00
BFlat d90cc305fa Merge pull request #6148 from magyarb/fix/ai-right-aligned-tabs
.ai/EPS import: type keeps its tab stops, and right-aligned lines with tabs lay out as the file's page
2026-11-09 13:18:23 +08:00
dotCooCoo db280aa87e New Document: the name field is labeled Document Name
The name field under Preset Details had no label and sat directly above the
Preset Name row, so it read as the name of the preset. It now has a Document
Name caption. Every catalog already translates that string.
2026-11-08 21:17:57 -08:00
dotCooCoo 2f42feb848 Plug-ins: docs say when pixelsOmitted is set
An embedded image also comes with pixelsOmitted: true when its data is missing, its width or height is 0, its data cannot be decoded within the decoder's memory limit, or its dimensions differ from pixelSize. The entry tells plug-ins to check the flag before reading pixelsBase64.
2026-11-08 21:17:22 -08:00
BFlat cc02f7b35e Merge pull request #4379 from dotCooCoo/fix/shape-builder-merge-off-ui-thread
Shape Builder: a large selection merges on another thread
2026-11-09 13:10:54 +08:00
BFlat 1b8f273255 Merge pull request #6277 from dotCooCoo/fix/titlebar-variable-doc
Linux: docs say which VECTORCRAFT_TITLEBAR values take precedence
2026-11-09 13:06:49 +08:00
dotCooCoo 7af608276e Merge main into fix/plugin-stale-grant 2026-11-08 21:00:56 -08:00
dotCooCoo d3d56f01ce Merge main into fix/ai-os23-3678 2026-11-08 20:58:09 -08:00
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
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 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 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 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 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
dotCooCoo 5cb09720a4 Merge main into feat/plugin-filter-inputs 2026-11-08 19:34:12 -08:00
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 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
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