Commit Graph
9204 Commits
Author SHA1 Message Date
BFlat d360c35d8c Merge pull request #5041 from dotCooCoo/feat/function-keys-cut-copy-paste-r
Shortcuts: F2, F3 and F4 also cut, copy and paste on Windows and Linux
2026-11-09 01:16:47 +08:00
BFlat 41b996b299 Merge pull request #5040 from dotCooCoo/feat/typed-markers-distinct-bullets-r
Type: typed `+`, `#` and `>` start lists with a hollow circle, square and dash
2026-11-09 01:16:32 +08:00
BFlat d6ec81bc82 Merge pull request #5039 from dotCooCoo/feat/typed-lists-preference-r
Type: add a VectorCraft preference for typed list detection
2026-11-09 01:16:16 +08:00
BFlat 0cdec14ccc Merge pull request #5034 from dotCooCoo/fix/image-cache-follows-memory-r
Render: the decoded-image cache can grow to a quarter of installed memory on every desktop OS
2026-11-09 01:15:58 +08:00
BFlat 7feb683ca6 Merge pull request #5027 from dotCooCoo/feat/type-orientation-follows-thread-r
Type: Type Orientation is a setting of the whole thread
2026-11-09 01:15:39 +08:00
BFlat 7d7d6f8d21 Merge pull request #5025 from dotCooCoo/fix/paragraph-reset-panel-mojikumi-tabs-r
Paragraph: Reset Panel also resets the Mojikumi Set and tab stops
2026-11-09 01:15:22 +08:00
BFlat 0121890cba Merge pull request #5023 from dotCooCoo/feat/wheel-ctrl-scrolls-sideways-r
Canvas: a General option makes Cmd/Ctrl-wheel scroll the canvas sideways
2026-11-09 01:15:04 +08:00
BFlat 970150b01a Merge pull request #5015 from dotCooCoo/fix/batch-save-close-data-sets
Actions: Batch over data sets keeps Save and Close and warns when each data set saves over one file
2026-11-09 01:14:45 +08:00
BFlat 8e1a35daa2 Merge pull request #4058 from dotCooCoo/feat/trace-expand-by-color
Image Trace: Expand can group the traced paths by color
2026-11-09 01:14:26 +08:00
BFlat 8cd371e1fc Merge pull request #3995 from dotCooCoo/feat/document-compare-image
Document: document.compare measures how far an artboard's render is from an image
2026-11-09 01:14:08 +08:00
BFlat 90506ff84e Merge pull request #3946 from dotCooCoo/feat/flat-logo-named-colors-only
Image Trace: Flat Logo can trace only the named colors, without a white of its own
2026-11-09 01:13:52 +08:00
BFlat 38a019a47e Merge pull request #2642 from dotCooCoo/fix/one-text-variable-per-object
Variables: a second text variable on one type object is refused
2026-11-09 01:13:32 +08:00
bflatastic def2471454 Layers: the rename test allows F2's Cut alternate 2026-11-08 23:50:36 +07:00
dotCooCoo eaa42374a3 Shortcuts: F2, F3 and F4 also cut, copy and paste on Windows and Linux
Squashed from #5041 onto main.
2026-11-08 23:50:36 +07:00
bflatastic 2464ac02be Type: a continued paragraph's list test types *, since # now starts a square bullet 2026-11-08 23:50:35 +07:00
dotCooCoo 6fce6d1884 Type: text.startList names the bullet each typed trigger starts
The command catalog said "* ", "# ", "> " and "+ " all start a list
with the filled dot. It now names the filled dot, hollow circle,
filled square and dash. The text.startList test checks each of the
four triggers and the marker the layout draws.
2026-11-08 23:50:35 +07:00
dotCooCoo 246b8ed8cd Type: typed +, # and > start lists with a hollow circle, square and dash
Typed list detection gave every bulleted trigger the filled dot. Now
`*` and a space start a list with the filled dot (•), `+` with the
hollow circle (◦), `#` with the filled square (▪) and `>` with the dash
(–), each one of the existing Bullets presets. `1.`, `1)`, `A.` and `A)`
start the same numbered lists as before.

Only the list a typed trigger starts changes. Lists already in a
document keep their bullets, pasted triggers start no list, and Undo
and Redo of a typed list work as before.

Docs: docs/mcp.md (typed list paragraph), docs/target-app-parity.md.
2026-11-08 23:50:35 +07:00
bflatastic 1e6c67a374 i18n: Hindi has the typed-list-markers preference label 2026-11-08 23:50:34 +07:00
dotCooCoo 455eb807a6 i18n: Bosnian and Catalan rows for Start Lists From Typed Markers
main added bs and ca as bundled languages, and the preference test
checks that every bundled language translates the checkbox label.
2026-11-08 23:50:34 +07:00
dotCooCoo 8f833f6a1e Tests: Start Lists From Typed Markers on again, and its preferences checkbox
- typed_lists_off_leaves_typed_markers_as_text turns the preference back
  on for each marker and checks that typing it in a new paragraph starts
  a list with a Bullets and Numbering undo step.
- start_lists_from_typed_markers_is_a_saved_type_preference: the Type
  page shows the checkbox, checked by default; unchecking it turns the
  preference off in the session and in the saved preferences, and every
  bundled language translates its label.
2026-11-08 23:50:33 +07:00
dotCooCoo c1164f271f Type: Start Lists From Typed Markers turns typed list detection off
Preferences > Type gets Start Lists From Typed Markers (`typedLists`, on
by default). With it off, a list marker and a space typed with the Type
tool at the start of a paragraph (`1. `, `1) `, `A. `, `A) `, `* `,
`# `, `> `, `+ `) stay as text and start no list. `text.startList`,
`text.setFormat {list}` and the Bullets and Numbered List buttons work
as before.

The preference reaches the Type tool through `ToolContext::typed_lists`.
The label has a row in every catalog.
2026-11-08 23:50:33 +07:00
dotCooCoo 3f4d1a2512 Render: the decoded-image cache can grow to a quarter of installed memory on every desktop OS
Squashed from #5034 onto main.
2026-11-08 23:50:32 +07:00
dotCooCoo be391e541a Type: Type Orientation is a setting of the whole thread
Squashed from #5027 onto main.
2026-11-08 23:50:32 +07:00
dotCooCoo 6cd4171fbd Paragraph: Reset Panel also resets the Mojikumi Set and tab stops
Squashed from #5025 onto main.
2026-11-08 23:50:31 +07:00
dotCooCoo a33d6a6ec8 Canvas: a General option makes Cmd/Ctrl-wheel scroll the canvas sideways
Squashed from #5023 onto main.
2026-11-08 23:50:31 +07:00
dotCooCoo 0d1a8b6ffa Actions: Batch Save and Close over data sets counts only saves that make the file the document's own
A recorded save in the template format writes a copy and leaves the
document's file as it was, so it no longer clears the warning or the
refusals. A recorded Save or Save As with its own path gives a never-saved,
converted or restored document its file before Save and Close, so the
batch runs and warns that every data set saves over that one file.
2026-11-08 23:50:30 +07:00
dotCooCoo 427029def6 Actions: Batch Save and Close over data sets follows a redirected Save step
With a destination folder and Override Save on, a recorded Save or Save As
step writes each data set to its own file in that folder and makes that
file the document's own, so Save and Close then saves each data set to its
own file. The batch no longer warns that every data set saves over one
file in that case, and no longer refuses a document that was never saved,
converted or restored, since the recorded step gives it a file first.
2026-11-08 23:50:30 +07:00
dotCooCoo 64cfa8b553 Actions: Batch over data sets warns about PDF, EPS, DXF and web exports and refuses Save and Close on converted documents
A recorded PDF, EPS, DXF, Save for Web or Save for Office Documents step
that gives a `path` writes the same file for every data set, because the
batch does not point these steps into the destination folder. The one-file
rule now counts them, so the dialog and `action.batch` warn.

Save and Close over the data sets of a document converted from an older
version or restored by Data Recovery is refused with "save the document
with Save As before Save and Close" before a data set is selected. Saving
such a document does not write its file, so the batch reported success
without saving anything. The message has a row in each of the 26 catalogs.
2026-11-08 23:50:29 +07:00
dotCooCoo 2ad0268388 Actions: Batch over data sets keeps Save and Close and warns when each data set saves over one file
Batch… with a Data Sets source offers None, Save and Close and Folder again.
Save and Close saves the open document over its own file after each data
set. When every data set saves over the same file, the dialog shows a
warning and `action.batch` returns `warning`: with Save and Close, or with
a recorded step that writes a file and that the batch does not point into
the destination folder. A Save step without a path counts when it writes
the document's own file; Save As, Save a Copy, Save as Template and Export
steps count when they give a path; Export for Screens counts when its
folder, given or from its preset, names a folder. Save and Close over the
data sets of a document that was never saved is refused with "the
document has never been saved" before a data set is selected.
2026-11-08 23:50:28 +07:00
dotCooCoo 8a52d50154 i18n: French rows keep the no-break space before punctuation 2026-11-08 23:50:27 +07:00
dotCooCoo 7fd287238f Actions: Batch refuses Save and Close over data sets instead of saving each one over the open document
Data sets share one open document, so Save and Close saved every data set
over the same file and only the last one survived. action.batch now
returns an error for source datasets with destination saveAndClose before
it selects a data set or runs a step, and the Batch dialog offers None and
Folder for a Data Sets source, moving a Save and Close choice to Folder.
2026-11-08 23:50:27 +07:00
dotCooCoo f118cf6aa6 Image Trace: Expand can group the traced paths by color
Squashed from #4058 onto main.
2026-11-08 23:50:26 +07:00
bflatastic 743b8031d3 Document: the compare test expects main's wording for one missing linked image 2026-11-08 23:50:26 +07:00
dotCooCoo 8888128822 Image Trace: Flat Logo can trace only the named colors, without a white of its own
Squashed from #3946 onto main.
2026-11-08 23:50:25 +07:00
dotCooCoo 7c813e7171 Document: document.compare measures how far an artboard's render is from an image
Squashed from #3995 onto main.
2026-11-08 23:50:25 +07:00
dotCooCoo 4b4a97ce1e Variables: a second text variable on one type object is refused
Squashed from #2642 onto main.
2026-11-08 23:50:24 +07:00
FredApps 65adb7b211 Merge pull request #2480 from vangel76/fix/2414-svg-classes
SVG: keep CSS classes of imported elements on export (#2414)
2026-11-08 17:01:22 +01:00
FredApps ef4740f6f0 Merge pull request #5284 from vangel76/perf/web-wasm-simd128-2786
Fix #2786: the web build uses WebAssembly SIMD, so the canvas renders about 2.5x faster
2026-11-08 16:54:58 +01:00
BFlat 0a702cc0a5 Merge pull request #6190 from dotCooCoo/fix/plugin-bulk-memory-fuel
Plug-ins: a run keeps the fuel left in a slice at a bulk memory instruction
2026-11-08 14:42:28 +08:00
BFlat cc8770a57d Merge pull request #6188 from dotCooCoo/fix/ai-scatter-tints-brush-frame
.ai import: Scatter brushes in Tints open in Tints, and brush art drops its frame
2026-11-08 14:42:14 +08:00
BFlat 0a0ff46e9c Merge pull request #6187 from dotCooCoo/fix/generic-cmyk-solver-converges
Color: Generic CMYK separates nearby colors alike when an ink sits at 0 or 100%
2026-11-08 14:41:59 +08:00
BFlat 3fe5314fcc Merge pull request #6186 from dotCooCoo/fix/modal-dialogs-fit-content
Dialogs: New Workspace and New Toolbar fit their contents instead of opening 420 pt tall
2026-11-08 14:41:45 +08:00
BFlat 8c772c8a62 Merge pull request #6184 from dotCooCoo/feat/plugin-progress-cancel-log
Plug-ins: API level 2 lets a plug-in report progress, see Cancel and write log lines
2026-11-08 14:41:30 +08:00
BFlat cd4a23246d Merge pull request #6183 from dotCooCoo/feat/ai-legacy-binding-punctuation
.ai import: legacy binding punctuation opens as Burasagari's Force setting
2026-11-08 14:41:15 +08:00
BFlat 0633fe29de Merge pull request #6182 from dotCooCoo/feat/relink-replace-scopes
Links: Relink can replace all instances, the folder's missing links or each link separately
2026-11-08 14:41:00 +08:00
BFlat 158a1de4f7 Merge pull request #6177 from dotCooCoo/perf/swatch-used-colors
Swatches: Add Used Colors, Select All Unused and new swatch naming use hash lookups for colors and names
2026-11-08 14:40:44 +08:00
BFlat 0dbbfaa743 Merge pull request #6176 from dotCooCoo/feat/plugin-permissions
Plug-ins: manifests list permissions, the user grants them at install, and the host enforces the grant
2026-11-08 14:40:29 +08:00
BFlat 30d0ce15f2 Merge pull request #6173 from dotCooCoo/fix/envelope-type-glyph-bounds
Envelopes: type maps from its glyph outline bounds
2026-11-08 14:40:17 +08:00
BFlat 7acea20e3d Merge pull request #6172 from dotCooCoo/feat/hold-to-use-tool-keys
Shortcuts: holding a tool's single-key shortcut uses the tool until the key is let go
2026-11-08 14:40:01 +08:00
BFlat 21d3253a9c Merge pull request #6163 from dotCooCoo/fix/targets-id-param
Commands: an id that is not an object id is refused by commands that otherwise use the selection
2026-11-08 14:39:51 +08:00