Commit Graph
10704 Commits
Author SHA1 Message Date
BFlat e1137877ac Merge pull request #6424 from Messhias/feat/g5-style-lib-game-hud
G5: built-in Game HUD graphic style library
2026-11-10 22:19:35 +07:00
BFlat a991ec8dd6 Merge pull request #6432 from ruchirguitar/fix/3565-direct-select-type-path
Direct Selection shows and drags type on a path's direction handles (#3565)
2026-11-10 22:11:14 +07:00
makesomethingshit 0d198483f6 #6369: Merge main and preserve halftone preview notes 2026-11-11 00:00:30 +09:00
BFlat 0e63933019 Merge pull request #6431 from ruchirguitar/test/verify-stale-high-issues
Regression tests for #3566 (SVG entities in element content) and #3084 / #2096 (Export for Screens JPGs)
2026-11-10 21:52:51 +07:00
Fabio William Conceição df6065b5b4 G5: assert Mana Glow appearance after addFromLibrary 2026-11-10 14:26:37 +00:00
Fabio William Conceição 710e14a33a G5: built-in Game HUD graphic style library 2026-11-10 14:26:37 +00:00
ruchirguitarandClaude Opus 5.5 b29f02a42e Test #3084: test that Export for Screens JPGs open in every colour model
Exports RGB, CMYK and grey JPGs at qualities 100, 80 and 50, at 1x and 2x,
and decodes each one. It also checks that only the CMYK files leave out the
JFIF segment (#3140). Covers #2096 too.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-10 19:39:18 +05:30
ruchirguitarandClaude Opus 5.5 5fe12c205c Test #3566: test entity references in element content against the expansion limit
The existing entity tests are unit tests that place the references in
attributes. This adds an import-level test with the references inside
<desc>, which the import refuses, and checks that the namespace entities
drawing apps write (&ns_svg;) still import.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-10 19:39:18 +05:30
ruchirguitar 74ae6fdd05 #3565: Direct Selection shows and drags type on a path's direction handles
Direct Selection showed and dragged the anchors of type on a path's path
(#3980) but not their direction handles: handle_anchors read only a
path's own data, and the canvas draws only a path's handles.

- text.setPathHandle moves a handle of type on a path's path, in
  document space, as path.setHandle moves a path's; the brackets keep
  their fractions and the text reflows. One undo step.
- Direct Selection draws the handles of selected type on a path and
  drags them with it (Alt: one side, Shift: 45 degree steps).
2026-11-10 19:35:29 +05:30
BFlat 73dc058596 Merge pull request #6352 from christianlappin/codex/fix-6318-thumbnail-test-race
Tests: synchronize the thumbnail queue priority assertion
2026-11-10 20:19:11 +07:00
BFlat 207091564e Merge pull request #6349 from juliusvaart/5421-line-arrowhead
Stroke: Line Arrow arrowhead (part of #5421)
2026-11-10 20:19:01 +07:00
BFlat d80e73b76e Merge pull request #6342 from christianlappin/codex/fix-6322-rotate-view-mcp
MCP: handle Rotate View gestures in the desktop canvas
2026-11-10 20:10:24 +07:00
BFlat 776e468e89 Merge pull request #6242 from annoybot/fix/pdf-gradient-forms-macos
M4: fix PDF gradient placement in transparency groups
2026-11-10 20:05:34 +07:00
makesomethingshit 129ef8a83b #6369: Merge main and retain halftone roadmap evidence 2026-11-10 22:05:29 +09:00
BFlat f680f8b1fd Merge pull request #6339 from christianlappin/codex/fix-6323-kashida-test-order
Tests: preserve duplicate glyph order in kashida ownership checks
2026-11-10 20:05:25 +07:00
BFlat 67190e6737 Merge pull request #6243 from z3r0pix3l/fix/6072-pdf-arabic-ligatures
PDF import: Arabic ligatures keep their letters in order (#6072)
2026-11-10 20:01:04 +07:00
BFlat 8365bba400 Merge pull request #6397 from AhmedKhan-GH/fix/virtiofs-enotty-full-flush
Fall back to a plain flush when F_FULLFSYNC fails with ENOTTY
2026-11-10 20:00:55 +07:00
ruchirguitarandFredApps 243bdb3f63 Fix #5713: resizable icon flyouts and bottom-aligned panel footers (#5973)
* Fix #5713: resize icon flyouts and anchor panel footers

* Fix #5713: reconcile parity evidence with upstream docs

* Fix #5713: keep Actions rows above the pinned footer

* Fix #5713: align documentation dates and regression claims

* Fix #5713: keep short Glyphs grids above the footer

* Fix #5713: pin craft-ui host minimum-size correction

---------

Co-authored-by: FredApps <153173854+FredApps@users.noreply.github.com>
2026-11-10 13:40:55 +01:00
HassanKhan c88828d877 Merge remote-tracking branch 'upstream/main' into feat-4936-edit-custom-dictionary
# Conflicts:
#	docs/gaps.md
#	docs/roadmap.md
#	docs/target-app-parity.md
2026-11-10 16:59:20 +05:00
BFlat c86e66239e Merge pull request #6383 from jmverges/fix/3179-envelope-type-note
.ai import: a note for type in an envelope (part of #3179)
2026-11-10 18:58:09 +07:00
makesomethingshit 3eea6f1475 #6369: Clarify halftone preview documentation 2026-11-10 20:54:35 +09:00
dotCooCoo 2fb8c9e516 Merge main into fix/undo-history-follows-memory-r 2026-11-10 03:33:23 -08:00
jmverges 636c7951f9 Merge main into fix/3179-envelope-type-note
# Conflicts:
#	docs/file-format-parity.md
2026-11-10 11:00:42 +00:00
Julius van der Vaart c65613aaf0 Merge branch 'main' of github.com:storytold/vectorcraft into 5421-line-arrowhead
# Conflicts:
#	docs/target-app-parity.md
2026-11-10 11:56:48 +01:00
BFlat d5ad6a817d Merge pull request #6416 from Messhias/feat/g5-symbol-lib-map-markers
G5: built-in Map Markers symbol library
2026-11-10 17:48:27 +07:00
HassanKhan 0437d987fb #4936: Edit › Edit Custom Dictionary… dialog
The custom dictionary's words in a list, with an Entry field and Add, Delete
and Change, applied on Done, as the public Check and correct spelling page
describes it. The menu item moves from the Spelling submenu to the Edit menu,
where the page puts it.
2026-11-10 15:09:55 +05:00
Fabio William Conceição db97802ce6 G5: record Map Markers on the M10 milestone 2026-11-10 10:09:35 +00:00
Fabio William Conceição e3a17716ed G5: built-in Map Markers symbol library 2026-11-10 10:09:21 +00:00
Julius van der Vaart 2f662ca509 Merge branch 'main' of github.com:storytold/vectorcraft into 5421-line-arrowhead 2026-11-10 10:06:42 +01:00
dotCooCoo d358eb0d90 Merge main into fix/3d-more-object-kinds 2026-11-10 01:00:01 -08:00
dotCooCoo 711b776fae 3D: deep clipping paths and deep groups in resolved art are refused
A clipping path nested past the depth limit, and a group at the limit
that holds further groups, are refused before they are walked, instead
of being followed to any depth. The clipping path's check follows the
members its outline is built from: the first member of a nested
clipping group and the shown members of other groups. The group check
skips hidden members and treats a compound path as one shape, as the
solid builder does.
2026-11-10 00:59:41 -08:00
BFlat 3290350b90 Merge pull request #6413 from jmverges/fix/envelope-check-white-art
.ai import: the live envelope and warped type check sees white art (#6412)
2026-11-10 15:50:33 +07:00
Julius van der Vaart 5b7325483a Merge branch 'main' of github.com:storytold/vectorcraft into 5421-line-arrowhead
# Conflicts:
#	docs/target-app-parity.md
2026-11-10 09:50:32 +01:00
BFlat 1341833542 Merge pull request #6407 from Hassan1305/feat-4936-context-menu-auto-spell
#4936: Spelling › Auto Spell Check in the context menu of type
2026-11-10 15:48:01 +07:00
BFlat d7ebc2f5ba Merge pull request #6411 from dotCooCoo/feat/script-run
Scripts: File › Scripts › Other Script… runs JavaScript files
2026-11-10 15:47:19 +07:00
dotCooCoo d3055e264e 3D: an image a clipping group hides wholly does not refuse its 3D effect
An image in a clipping group whose bounds lie wholly outside the clipping
path's bounds draws nothing, so a 3D effect leaves it out instead of
refusing it. An image with effects, fills or strokes of its own, or one in
a group with effects inside the clipping group, is still refused, since
those can draw it inside the clip.
2026-11-10 00:44:03 -08:00
dotCooCoo cca1977a64 3D: clipped groups keep their members' transparency and count their pieces
- When a group's geometry effects reshape its members inside a clipping
  group, each member's piece goes back into groups with the opacity and
  blending mode of the groups it was in.
- A clipped shape's pieces (its fills and each stroke) are counted against
  the 4,096-object and work limits before they are cut.
2026-11-10 00:36:07 -08:00
BFlat a76d3b9dbb Merge pull request #6409 from dotCooCoo/fix/dimension-anchor-clicks
Dimension tool: a click on an anchor of any path takes that anchor
2026-11-10 15:31:18 +07:00
dotCooCoo bad4b986f5 3D: resolving art for a 3D effect has a work limit and keeps geometry effects
- Resolving the symbol instances, blends and clipping groups a 3D effect
  builds from counts every object it visits or makes and stops past
  262,144 with an error. Nested symbol instances that end in hidden art
  are refused instead of being expanded at every level. Each object is
  visited once; a group is no longer walked again for each level above it.
- A symbol instance, blend or clipping group inside a 3D group keeps its
  appearance, so its geometry effects reshape the art it shows. A nested
  group's geometry effects now reshape its members inside a 3D group too,
  and inside a clipping group they apply before the clip cuts the art.
- Hidden members and guides of a group inside a clipping group build no
  solid.
- Tests cover an empty clipping group, a blend set to no steps, an
  instance of an empty symbol, a symbol holding a clipping group, the
  paint-copy budget across resolved art, and art past the limits drawing
  as it does without the effect.
2026-11-10 00:29:58 -08:00
BFlat cd9dc52c79 Merge pull request #6408 from dotCooCoo/fix/outline-mode-canvas
View: Outline draws on a white canvas, with artboards as their edges
2026-11-10 15:18:48 +07:00
Julius van der Vaart 8508c9c620 Merge branch 'main' of github.com:storytold/vectorcraft into 5421-line-arrowhead 2026-11-10 09:13:56 +01:00
dotCooCoo 0461b9c65f Merge main into fix/3d-more-object-kinds 2026-11-10 00:00:44 -08:00
jmvergesandClaude Opus 5.5 3b1b5c7d47 .ai import: the live envelope and warped type check sees white art (#6412)
The check that keeps a live envelope or warped type only where it draws
as the art saved with it renders each on its own, over nothing, and
compared the pixels as seen on white. White art over nothing looks like
nothing on white, so white contents that drew somewhere else passed and
opened live in the wrong place.

Pixels now also differ when they look different seen on black, so such
art keeps its saved art, as colored art does. Opaque colored art is
compared as before.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-10 07:59:02 +00:00
HassanKhan 9220c8526c #4936: the spell check revision rows go in each doc's Revision history 2026-11-10 12:56:29 +05:00
BFlat 8400af1065 Merge pull request #6405 from dotCooCoo/fix/escape-resets-rotation-once
View: one Escape resets a rotated view when it has nothing else to end
2026-11-10 14:47:22 +07:00
dotCooCoo 7b44ef5737 Merge main into feat/script-run 2026-11-09 23:43:37 -08:00
dotCooCoo 59791c8c0f Dimension tool: a click on an anchor of any path takes that anchor
With the Linear mode, two problems kept a click on an anchor from
taking it:

- A press on an anchor that moved more than 3 pixels before the release
  dragged out the dimension of the segment under the pointer and
  committed it almost on top of the art. A press on an anchor now picks
  it unless the pointer moves past the anchor's 8-pixel reach; a longer
  drag still dimensions the segment.
- A pick linked only an anchor of the segment nearest the pointer. An
  anchor of another path near that segment, for example one inside a
  group lying just inside another object's edge, was taken at most as a
  Smart Guides point with no link, so the dimension did not follow it
  when the art changed. A pick now links the nearest anchor of any
  visible, unlocked path within reach, in groups and compound paths too.
2026-11-09 23:38:23 -08:00
dotCooCoo a0c2dbb6da View: Outline draws on a white canvas, with artboards as their edges
In Outline the canvas kept the Preview pasteboard color and filled each
artboard with white paper. Paths and type draw as black hairlines, so
art on the pasteboard was close to invisible in the dark interface
brightnesses.

In Outline the whole canvas is now white in every interface brightness
and Canvas Color, pasteboard included. The artboards draw no paper and
show as their edges, so Simulate Colored Paper, an artboard's background
color and the paper of View > Hide Artboards no longer show in Outline.
The artboard names and the ruler origin's crosshair draw in dark gray
there. In split views and floating windows the artboard names follow
that window's own Outline setting, as the canvas already did.
2026-11-09 23:34:14 -08:00
HassanKhan 20b9aa9401 #4936: the M7 row and the Type advanced area rows name Spelling › Auto Spell Check 2026-11-10 12:33:53 +05:00
BFlat dc456e18c7 Merge pull request #6401 from dotCooCoo/fix/svg-export-mask-regions
SVG export: mask and filter regions cover the art they apply to
2026-11-10 14:31:02 +07:00