Commit Graph
3251 Commits
Author SHA1 Message Date
dotCooCoo ee5b0938aa Windows: after a graphics driver crash, the next start leaves that adapter out
When a graphics driver crashed the process while the window started,
as Intel's Direct3D 12 driver (igd12umd64.dll) did on an Intel UHD
Graphics 605 (#2243), the next start picked the same adapter again. The
restart without a failing adapter and the first-frame watch run inside
the process, so the crash ended them along with it.

Each start now writes graphics-start.json in the log folder before the
graphics start, adds the adapter once one is picked, and clears both
when the first frame reaches the screen or the app ends without
crashing. A start that finds an earlier start still recorded there
leaves that adapter out, as a restart does, logs it and shows a note in
the status bar. When the crash came while the adapters were being
listed (wgpu's Direct3D 12 backend creates a device on each GPU to list
it), the next starts list OpenGL's adapters alone, except on macOS. The
adapters stay left out until the app version or the Graphics Processor
preference changes, a start shows its first frame on one, or no adapter
is left. WGPU_BACKEND and WGPU_ADAPTER_NAME choose regardless of the
record.

Docs: docs/development.md, docs/target-app-parity.md.
2026-10-16 06:16:34 +07:00
dotCooCoo 261b64251d PDF/.ai import: PDF and .ai files open with the File Info they carry
A PDF, PDF-compatible .ai or .ait opened from its pages had an empty
File Info. Nothing read the file's document information
dictionary or its XMP packet, so file.info reported no author,
description or keywords, even for a PDF that VectorCraft exported.

vectorcraft_pdf::file_info reads both. The author, description,
keywords, copyright status, notice and URL and the created and modified
dates come from the XMP packet (dc:creator, dc:description, dc:subject
or pdf:Keywords, xmpRights:Marked, dc:rights, xmpRights:WebStatement,
xmp:CreateDate, xmp:ModifyDate), else from the dictionary's Author,
Subject, Keywords, CreationDate and ModDate. document.open,
file.newFromTemplate and file.revert put each value through file.info's
checks and leave out a value that file.info refuses. A packet that is
not well-formed XML leaves the dictionary's values. File Info does not
set the title, and a file restored from the document it carries keeps
that document's File Info. vectorcraft-pdf depends on roxmltree 0.21,
which usvg already brings into Cargo.lock.

Docs: docs/mcp.md (File Info), docs/file-format-parity.md,
docs/target-app-parity.md.
2026-10-16 06:16:34 +07:00
dotCooCoo d1089270ba Fonts: a removed font that type used leaves the list at the next font scan
When type had used a font, removing the font while the app ran left
it in the font menus, and the type kept drawing in it until the app
restarted. The font list is the loaded faces plus the scanned catalog,
and a scan replaced the catalog but kept every loaded face.

A scan now drops each loaded face whose file it did not catalog, with
the face's cached outlines. A family with no face left leaves the font
lists, and type set in it lays out in the fallback font and is
reported missing, as when a document opens without the font. When the
font is installed again, the next scan lists it and the type draws in
it again. Bundled fonts and fonts added as bytes have no file and
stay.

Docs: docs/mcp.md, docs/target-app-parity.md.
2026-10-16 06:16:34 +07:00
BFlat 76d5ca8bfa Merge pull request #2304 from storytold/docs/2026-10-16-landings
Docs: the landings of 2026-10-15/16 in the ROADMAP log, and the new languages
2026-10-16 05:59:53 +07:00
bflatastic 080d90ed7f Docs: the landings of 2026-10-15/16 in the ROADMAP log, languages in the ROADMAP, README and localization parity 2026-10-16 05:56:27 +07:00
BFlat 68887a21c5 Merge pull request #1994 from Janiz-zzz/finnish-interface
Add Finnish interface language
2026-10-16 05:53:29 +07:00
BFlat 50152c9941 Merge pull request #2076 from Camthalion77/feature/greek-localization
Add Greek (el) localization
2026-10-16 05:53:10 +07:00
BFlat f29390c590 Merge pull request #2139 from kler/swedish-ui
i18n: Swedish (sv) interface translation
2026-10-16 05:52:52 +07:00
BFlat 872e86d3f6 Merge pull request #2002 from tastyhub/flatpak-font-manager-fonts
Flatpak: fonts a font manager activates into ~/.fonts are visible
2026-10-16 05:52:34 +07:00
BFlat d6e4366885 Merge pull request #1999 from tydude001/rpm-glibc-floor-libm
packaging: RPM glibc floor names libm's GLIBC_2.35, so RHEL 9 refuses it
2026-10-16 05:52:18 +07:00
bflatastic 094393959d i18n (fi): rows for the strings main added since the catalog was written
English keeps its own name, as the Language menu shows every language in its own name.
2026-10-16 05:44:50 +07:00
bflatastic ea164c1543 i18n (el): a complete catalog, with rows for the strings main added since it was written
English keeps its own name, as the Language menu shows every language in its own name.
2026-10-16 05:44:50 +07:00
Janiz-zzzandClaude Opus 5.5 280de29c86 Add Finnish interface language
Adds a Finnish (Suomi, `fi`) catalog with 4,770 entries, written in
sentence case from the English labels with ordinary Finnish
vector-illustration vocabulary. It covers menus, `tl!` literals and the
668 `@msg` status and error messages: `fi` is in KEEPS_MENU_NAMES and
COMPLETE_MESSAGES. Like the other complete catalogs, it leaves the
product, workspace and perspective preset names in English.

Plurals are one/other with the partitive singular after any number but
1 (1 taso, 2 tasoa). Any fi-* locale selects Finnish; sv-FI does not.

Tests: `cargo test -p vectorcraft-ui-egui --lib i18n` passes (47),
including the new finnish_reads_as_finnish and the bundled-font glyph
check.

Clean-room, AI-assisted (Claude Code) translation; a native speaker
checked it in the running app, but it has not been proofread line by
line.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-16 05:44:50 +07:00
bflatastic b68c467b45 i18n (sv): rows for the strings main added since the catalog was written 2026-10-16 05:37:33 +07:00
Γιώργος Αθενάκης afe0239600 Add Greek (el) localization 2026-10-16 05:37:33 +07:00
Patrik LermonandClaude Opus 5.5 a91129e422 Swedish interface translation (sv)
Adds Swedish (Svenska) as an interface language: 4770 strings, written from the English source.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-16 05:27:45 +07:00
Ryan WalkerandClaude Opus 5.5 ced45ec157 Flatpak: fonts a font manager activates into ~/.fonts are visible
Flatpak opens only /usr/share/fonts and ~/.local/share/fonts to a sandbox, so the
fonts a font manager such as FontBase activates into ~/.fonts were missing from the
font list while native apps showed them. Granted read-only: VectorCraft only reads
fonts.

Verified on the 0.11.0 release bundle by applying the same grant as a user override
(`flatpak override --user --filesystem=~/.fonts:ro`): in a fresh sandbox the FontBase
families went from none to all 167, `fc-match` resolved a family that had been missing
from the app, and the font then appeared in the font list.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-16 05:26:32 +07:00
tydude001andClaude Opus 5.5 e12a670c40 packaging: RPM glibc floor names libm's GLIBC_2.35, so RHEL 9 refuses it
#1290 (from #1275) declared the glibc floor as `libc.so.6(GLIBC_2.35)(64bit)`. That doesn't stop
RHEL 9: its current glibc, `2.34-283.el9_8`, provides `libc.so.6(GLIBC_2.35)` through backports. On
Rocky Linux 9, dnf upgrades glibc to that build, installs VectorCraft 0.10.0, and `vectorcraft-cli`
then fails with ``/lib64/libm.so.6: version `GLIBC_2.35' not found``. The binaries' only GLIBC_2.35
symbols are `hypot` and `hypotf`, from libm, and RHEL 9 doesn't provide `libm.so.6(GLIBC_2.35)`.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-16 05:26:32 +07:00
BFlat 82db3344bf Merge pull request #1928 from Messhias/feat/g16-pt-br-complete
G16: complete Brazilian Portuguese (pt-br) interface
2026-10-16 05:13:53 +07:00
BFlat 96ce65954e Merge pull request #1943 from Messhias/feat/g6-mcp-dataset-docs
G6: document dataset commands and command.batch in MCP guide
2026-10-16 05:13:38 +07:00
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 f7ab3277e0 Docs: one row per area and milestone after the stacked doc edits (#1928) 2026-10-16 04:55:02 +07:00
bflatastic 93d6411cce i18n: Brazilian Portuguese rows for the messages added since (#1928) 2026-10-16 04:55:02 +07:00
Fabio William ConceiçãoandCursor 4614821372 docs: note pt-br completion in target-app-parity status
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-16 04:55:02 +07:00
Fabio William Conceição 671136fa66 G16: complete Brazilian Portuguese (pt-br) interface
Finish the partial pt-br catalog so menus, tl! literals and status/error
messages stay translated under the completeness tests (#1914).
2026-10-16 04:55:02 +07:00
bflatastic 2ce3411493 Docs: one Variables and one Data sets entry in the MCP guide (#1943) 2026-10-16 04:55:01 +07:00
bflatastic 8412b4658f i18n: catalog rows for the new strings (#1938) 2026-10-16 04:55:01 +07:00
Fabio William ConceiçãoandCursor 7ca2763587 G6: document dataset commands and command.batch in MCP guide
Spell out dataset.list/capture/update/delete/rename and distinguish the MCP
command_batch tool from the engine command.batch Actions play.

Co-authored-by: Cursor <cursoragent@cursor.com>
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