Commit Graph
14127 Commits
Author SHA1 Message Date
dotCooCoo aeafc359ea Measure tool: Shift keeps the end on the pointer's step after the grid rounds it
With a Constrain Angle other than 0, the grid point a Shift-drag's end
rounds to can lie nearer another 45-degree step, and the measurement then
reported that step. A Shift-drag from (0, 0) to (5, -3) with a 30-degree
Constrain Angle and a 9 pt grid measured -15 degrees instead of 30. The
end is now turned back onto the step nearest the pointer's direction,
keeping its length.
2026-11-04 08:12:37 +07:00
dotCooCoo 4c0e0b959a Commit pending dimensions only on pointer release 2026-11-04 08:12:34 +07:00
dotCooCoo aca6e98423 Keep Blend reset after a dropped press 2026-11-04 08:12:31 +07:00
dotCooCoo 19edd2bcc9 Docs: replace quoted help-page sentences with plain statements
docs/mcp.md (dataset.import) and docs/gaps.md (Recolor Artwork ›
Assign, Average & Join) quoted sentences from the reference app's help
pages. Each quote is replaced by a plain statement of the behavior, and
each help-page link stays as the source.
2026-11-04 08:12:28 +07:00
dotCooCoo 309b092f72 Remove copied Action Options wording from documentation 2026-11-04 08:12:25 +07:00
dotCooCoo 9fd7d0a733 Type: place a contour-point caret on a composite as the outline is drawn
With SCALED_COMPONENT_OFFSET, a component's offset now scales each axis
by the length of that axis's basis vector, as the outline loader does,
instead of going through the whole matrix. A rotated or skewed
component's caret no longer lands away from its drawn point.
UNSCALED_COMPONENT_OFFSET now turns the scaling off when both flags are
set.
2026-11-04 08:12:22 +07:00
dotCooCoo 98ef01a6d3 Type: bound the glyphs a contour-point caret lookup reads
A composite glyph whose components expand into glyphs with no points
could make the contour-point caret lookup read billions of glyphs. The
whole lookup now shares a budget of 65,536 glyph reads and gives no
caret when it runs out, so the caret falls back to dividing the advance.
2026-11-04 08:12:22 +07:00
dotCooCoo 817bfceda3 Resolve GDEF contour-point ligature carets 2026-11-04 08:12:22 +07:00
dotCooCoo cdd014c4e7 Type: the stop inside an upright ligature on a vertical path follows its drawn cell
On a path, vertical type turns an upright glyph about its pen, so its cell
runs from 0.12 em before the pen to 0.88 em after it without the font's
vertical metrics. The ligature caret, a click and the selection measured
the cell from the pen instead. They now take the cell where the glyph's
transform draws it, with its placement, baseline shift, Horizontal Scale
and Skew.
2026-11-04 08:12:18 +07:00
dotCooCoo 9250f2bfe6 Clear stale Find Font warning after successful replacement 2026-11-04 08:12:15 +07:00
dotCooCoo 1ad74d1ddf Type: reject doubly signed OpenType feature tags 2026-11-04 08:12:12 +07:00
dotCooCoo c6e47fece3 Render: keep the automatic thread helper out of Wasm libraries 2026-11-04 08:12:09 +07:00
dotCooCoo 37be676881 Spiral: apply decay once per full wind 2026-11-03 17:02:04 -08:00
dotCooCoo 41477041ea .ai save: the editing copy keeps artboard display marks and dense patterns
Each artboard's DisplayMark was written as 0. It now holds the center
mark (1), cross hairs (2) and video safe areas (4), as the reader reads
them.

A pattern fill that would place more tiles than a fill places came back
with no tiles and was written as an empty group, so the shape was
missing from the editing copy. Such a shape is now filled gray, as a
pattern that isn't found is, with a warning.
2026-11-03 16:19:15 -08:00
Taha-Mahmoodi 08c1ba8d58 Merge remote-tracking branch 'origin/main' into fix/ruler-double-click-guide 2026-11-04 04:46:13 +04:30
Taha-Mahmoodi a0ccbdbd58 Fix #5239: a ruler double-click needs both clicks on that ruler and follows a rotated view (review) 2026-11-04 04:33:24 +04:30
dotCooCoo f87ba9224c .ai save: artboards larger than the canvas are written on a large canvas
Artboards that together did not fit on the 16,383 pt canvas were
written with %AI24_LargeCanvasScale: 1, so part of them lay outside
the canvas. The editing data now declares a scale of 10 for them and
writes the art, boxes, artboards, strokes and effects at 1/10 of their
size, symbol and pattern art included.

Reading such a .ai, the editing data comes in at its declared scale
when it matches the page that way rather than in the units of the
page's UserUnit, also when the PDF part can't be read, and a file saved
without its PDF part applies the declared scale too.
2026-11-03 16:02:28 -08:00
Taha-Mahmoodi f1f49b4e59 Merge remote-tracking branch 'origin/main' into fix/import-document-title 2026-11-04 04:25:36 +04:30
vangel76andClaude Sonnet 5.5 c95d711d4b Web: document the browser minimums the SIMD build needs (#2786)
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-04 00:45:25 +01:00
vangel76andClaude Sonnet 5.5 7cdd83d3ca Merge upstream/main into perf/web-wasm-simd128-2786
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-04 00:18:11 +01:00
Taha-Mahmoodi 15993912de Fix #3626: .svgz keeps its title and the file-name fallback is cleaned (review) 2026-11-04 03:22:46 +04:30
Dylan M. Taylor 4338ef75e3 MCP: render_preview and window captures decode the app's PNG under size limits (#5445) 2026-11-03 17:28:38 -05:00
Taha-Mahmoodi 3a711184ec Fix #5239: double-clicking a ruler adds a guide there
A double-click on the top ruler adds a vertical guide at the pointer's x, one on the left ruler a horizontal guide at its y, through guide.add (one undo step, shown even with guides hidden, an artboard guide with the Artboard tool as a drag from a ruler makes one).
2026-11-04 02:53:38 +04:30
dotCooCoo d2c5ea127a Merge commit 'refs/check/4968-main' into feat/ai-editing-data 2026-11-03 13:05:54 -08:00
dotCooCoo 6d38e94f19 Merge current main into Kinsoku Shori Type 2026-11-03 12:25:55 -08:00
Taha-Mahmoodi 27ab77377b Fix #3626: an imported document takes the title the file carries
An SVG's root <title> and a PDF's XMP dc:title (else Info Title) title the imported document; a file that gives none, or only the Untitled-N name, takes its file name without the extension. Native files and documents restored from editing data keep their own title.
2026-11-04 00:27:13 +04:30
dotCooCoo c4a8c43dc5 Batch: a folder source's artboard files do not replace another source file
A folder source's stem is picked once the file is open, so the files a
save or export writes for each artboard count, as they do for data sets.
With the destination folder the same as the source folder, saving
a.vectorcraft with separateArtboards wrote a-Artboard-1.vectorcraft over
the source file of that name; a.vectorcraft is now saved as a-2.
2026-11-03 11:43:07 -08:00
datatimp c02b62dacb Merge remote-tracking branch 'upstream/main' into fix/3260-halftone-radius-pixels 2026-11-03 14:27:49 -05:00
BFlat 1008166fa7 Merge pull request #5420 from ruchirguitar/fix/open-focuses-existing-document
Fix #5369: every way of opening a file focuses its open tab
2026-11-04 00:17:09 +07:00
BFlat a41da81c60 Merge pull request #5366 from dotCooCoo/fix/touch-type-rtl-move
Type: move right-to-left characters with Touch Type
2026-11-04 00:16:51 +07:00
ruchirguitar 5bb682c61e Fix #5369: every way of opening a file focuses its open tab
Squashed from #5420 onto main.
2026-11-03 23:58:01 +07:00
dotCooCoo cdae392fe0 Type: guard Touch Type movement at direction boundaries 2026-11-03 23:57:53 +07:00
dotCooCoo dfc25c85e4 Type: move right-to-left characters with Touch Type 2026-11-03 23:57:53 +07:00
BFlat ce9761d08f Merge pull request #5362 from dotCooCoo/feat/super-lasso
Add Enclosing Lasso as an optional tool
2026-11-03 23:56:05 +07:00
BFlat 75242074ac Merge pull request #5404 from dotCooCoo/feat/kashida-characters
Type: Character menu Kashidas controls selected text
2026-11-03 23:55:47 +07:00
BFlat 4950798e64 Merge pull request #5419 from storytold/fix/sec-testkit-temp-owner
Testkit: a reused temp dir must belong to this user
2026-11-03 23:55:29 +07:00
BFlat 5657281a9b Merge pull request #5418 from storytold/fix/sec-ui-carry-automation-scope
UI: opening, file picks and the render worker keep the automation roots they started under
2026-11-03 23:55:12 +07:00
BFlat 311c42bcef Merge pull request #5417 from storytold/fix/sec-ui-automation-handoffs
UI: automation can't open the browser or viewer; Preview in Browser stays in its folder; Graph Data is bounded
2026-11-03 23:54:56 +07:00
BFlat 8fbf1f20c0 Merge pull request #5416 from storytold/fix/sec-font-checkout-confinement
Fonts build: craft-fonts manifest paths stay inside the checkout; licences are published as text
2026-11-03 23:54:41 +07:00
BFlat 6711da4d8c Merge pull request #5415 from storytold/fix/sec-render-fx-symbol-budget
Render: symbol instances with effects use the symbol budget; CMYK decodes are admitted; checked Targa size
2026-11-03 23:54:25 +07:00
BFlat 5d02c43eec Merge pull request #5414 from storytold/fix/sec-text-paragraph-runs
Type: a paragraph looks only at its own runs
2026-11-03 23:54:11 +07:00
BFlat e8d1e486d3 Merge pull request #5412 from storytold/fix/sec-trace-raster-bounds
Trace: empty and mismatched rasters, and large swatch libraries, take bounded work
2026-11-03 23:53:56 +07:00
BFlat 138f023247 Merge pull request #5411 from storytold/fix/sec-tools-bounded-loops
Tools: Shape Builder hatch lines are counted; Liquify simplification is linear
2026-11-03 23:53:40 +07:00
BFlat ed6bfddf75 Merge pull request #5410 from storytold/fix/sec-pdf-import-bounds
PDF: bound marked-content lookup, ASCII85, editing-data hashing, image decodes and ink warnings
2026-11-03 23:53:24 +07:00
BFlat 97d440ebe6 Merge pull request #5408 from storytold/fix/sec-svg-css-string-escapes
CSS export: line breaks and angle brackets in names can't end a CSS string
2026-11-03 23:53:08 +07:00
BFlat e3fc6c4339 Merge pull request #5407 from storytold/fix/sec-svg-glyph-raster-only
SVG glyphs: keep only typed raster data URLs, and no links
2026-11-03 23:52:53 +07:00
BFlat a4f614f3d3 Merge pull request #5406 from storytold/fix/sec-svg-entity-estimate
SVG: the entity expansion cap counts every declaration and refuses names it can't follow
2026-11-03 23:52:38 +07:00
BFlat caf6e2baf9 Merge pull request #5405 from storytold/fix/sec-svg-name-suffixes
SVG: CSS class names and imported symbol names take linear work
2026-11-03 23:52:22 +07:00
bflatastic 66c4393018 Enclosing Lasso: a neutral tool id, a longer loop cap, the screen-reader test keeps its doc comment 2026-11-03 23:31:00 +07:00
dotCooCoo bbbce4318f Add Enclosing Lasso as an optional tool
Squashed from #5362 onto main.
2026-11-03 23:30:06 +07:00