Commit Graph
6444 Commits
Author SHA1 Message Date
BFlat 59d67c274d Merge pull request #4600 from VoiceLessQ/fix/4150-windows-input-language-hang
Fix #4150: Windows doesn't start OpenGL unless a start needs it
2026-10-29 22:23:25 +07:00
BFlat dcfa67183a Merge pull request #4601 from storytold/fix/pdf-repeated-form-budget
Fix #3569: a PDF that draws one form over and over can't exhaust memory or hang the import
2026-10-29 22:05:36 +07:00
VoiceLessQ 2f9e72b419 Fix #4150: Windows doesn't start OpenGL unless a start needs it
wgpu's OpenGL backend on Windows keeps a hidden window on a helper
thread that pumps no messages (gfx-rs/wgpu#10504). Windows hands an
input-language change to every UI thread of the process and waits for
each, so switching the keyboard to another layout hung the whole app,
even while it drew with Direct3D 12. OpenGL was started on every
Windows start, as the fallback.

A Windows start now lists Direct3D 12 alone. OpenGL is still listed
where it is the fallback: after a start crashed on an adapter or while
listing them (#2243), after a restart that left an adapter out, and when
Direct3D 12 lists no adapter at all (Windows 7). WGPU_BACKEND still
picks the backends as before.
2026-10-29 21:50:02 +07:00
bflatastic a7125f9e9f PDF import: bound the objects an import makes and the form content a page walks (#3569)
A page drawing one form over and over made its art again for every drawing
with no limit (a 1 KB file took 877 MB), and a form decoding to 64 MiB drawn
a thousand times hung. The import now makes at most half the objects a saved
document may hold (2M, 256K on the web), leaving the rest out with a warning,
and the scan reads at most 2 GiB of form content per page before refusing it
as past the reader's limits.
2026-10-29 21:48:36 +07:00
BFlat 71d2f159cf Merge pull request #4592 from storytold/feat/roughen-pucker-sliders
Effects: Roughen, Pucker & Bloat and Tweak show sliders (#4488)
2026-10-29 21:35:33 +07:00
BFlat e256c4c438 Merge pull request #4390 from dotCooCoo/feat/character-field-shortcuts
Character: Cmd/Ctrl+Alt+K highlights the kerning and Cmd/Ctrl+Alt+Shift+F highlights the font name
2026-10-29 21:24:44 +07:00
BFlat 1f20fc71ff Merge pull request #4389 from dotCooCoo/feat/flare-tool-shift-space
Flare: make ray rotation independent of pointer event rate
2026-10-29 21:24:22 +07:00
BFlat ffc07f7d92 Merge pull request #4381 from dotCooCoo/feat/direct-selection-alt-climbs-groups
Direct Selection: a further Alt-click adds the path's group, then the next group up
2026-10-29 21:23:58 +07:00
bflatastic fc180279a6 Effects: Tweak shows Horizontal and Vertical sliders, and its dialog shares Zig Zag's rows (#4488) 2026-10-29 21:06:58 +07:00
bflatastic d0ef81e9f7 Effects: Roughen and Pucker & Bloat show sliders (#4488) 2026-10-29 21:06:58 +07:00
BFlat 087f36d266 Merge pull request #4594 from storytold/i18n/turkish-place
i18n: Turkish "Place" is the command (Yerleştir), not the noun (Yer)
2026-10-29 21:01:19 +07:00
BFlat f9db013ae7 Merge pull request #4591 from storytold/i18n/turkish-open
Fix #4564: Turkish "Open" reads "Aç" on buttons; the Arc tool's open arc keeps "Açık"
2026-10-29 21:01:02 +07:00
BFlat eb5a992ca5 Merge pull request #4589 from Ridzzz0Alam/fix/2033-eps-fallback-layers
Fix #2033: An EPS whose layers can't be used keeps its layer tree
2026-10-29 21:00:45 +07:00
BFlat 38406ee2b6 Merge pull request #4588 from storytold/fix/direct-double-click-exits-isolation
Fix #4466: a Direct Selection double-click outside isolated art leaves isolation mode
2026-10-29 21:00:28 +07:00
BFlat 28d1b9d829 Merge pull request #4587 from gjrtimmer/fix/icon
Web build: show the app icon as the tab and home-screen icon
2026-10-29 21:00:08 +07:00
BFlat b2528ef01e Merge pull request #4584 from Taha-Mahmoodi/fix/2754-soft-return
Fix #2754: Shift+Enter inserts a soft return (forced line break)
2026-10-29 20:59:48 +07:00
dotCooCoo 41dda1029f Character: Cmd/Ctrl+Alt+K highlights the kerning and Cmd/Ctrl+Alt+Shift+F highlights the font name
Squashed from #4390 onto main.
2026-10-29 20:48:21 +07:00
dotCooCoo 5fa538ee1c Flare: the docs say Space keeps the turn and moves the flare only after the drag starts 2026-10-29 20:48:00 +07:00
dotCooCoo 6f7a6b3e67 Docs: clarify initial Space sizing and record Flare history 2026-10-29 20:48:00 +07:00
dotCooCoo c479d2eeaf Flare: rotate rays by drag distance instead of event count 2026-10-29 20:47:57 +07:00
dotCooCoo ec2744f844 Flare: the rays turn a step for each drag update up or down, and Shift holds the turn
While the center was dragged out, the rays pointed at the pointer, as a
polygon's first corner does, and Shift put them back in their original
orientation. In the reference app they turn by a step for each update
of the drag as the pointer moves up or down, and Shift stops the turn
where it is.

Each update of the center drag in which the pointer's document y grows
now adds 0.1 radian (about 5.73°) to the rays' turn, one in which it
falls takes 0.1 radian away, and one at the same y leaves the turn as
it is. Shift held keeps the turn, and turning goes on from there once
Shift is let go. Space held moves the flare without turning the rays.
General › Constrain Angle no longer sets the turn under Shift.

Docs: docs/mcp.md, docs/target-app-parity.md.
2026-10-29 20:47:53 +07:00
dotCooCoo 997826c400 Flare: a release with Space held moves the flare to the release point
The release that places the rings' end point applied the pointer's last
movement to the end point only, so with Space held the flare changed
shape instead of moving. The release now moves the center by that
movement as well. The progress doc says how Shift and General >
Constrain Angle set the rays' orientation.
2026-10-29 20:47:50 +07:00
dotCooCoo 11d65eb8a8 Flare: the drag turns the rays, Shift keeps their orientation and Space moves the flare
The reference app's Flare tool rotates the rays as the center is dragged
out, Shift constrains them to their original orientation, and Space
held moves the shape being drawn. VectorCraft's Flare tool drew the
rays in one fixed orientation and ignored Shift and Space.

shape.flare takes rotation (degrees, clockwise), which turns the rays
about the center and leaves the halo, the center and the rings as they
are. While the center is dragged out, the rays turn with the pointer,
as a polygon's first corner does, and a drag straight up leaves them
unturned. Shift keeps them unturned, or turned by General › Constrain
Angle as a polygon drawn with Shift is. Space held during the center
drag or the drag that places the rings' end point moves the flare at
its current size, and the drag goes on from there when Space is let
go, as with the shape tools.

Docs: docs/mcp.md, docs/target-app-parity.md.
2026-10-29 20:47:47 +07:00
dotCooCoo 85a0adc5b8 Direct Selection: a further Alt-click adds the path's group, then the next group up
Squashed from #4381 onto main.
2026-10-29 20:47:39 +07:00
bflatastic e446a9a69b i18n: Turkish "Place" is the command (Yerleştir), not the noun (Yer)
The Place dialog's title and button, its undo step and the Libraries panel's Place item read "Yer" (a place, a location). They all name the command, "Yerleştir".
2026-10-29 20:36:15 +07:00
bflatastic 6b293a913b i18n: Turkish "Open" is the verb (Aç); the Arc tool's open arc keeps Açık (#4564)
The Turkish catalog translated the bare "Open" as the adjective (Açık), so the Home screen's Open button and the History panel's first row read "open" rather than "open it". The Arc tool's Type choice, where Open is the adjective, now looks its labels up in a "shape" context (falling back to the plain row in the other languages), and Turkish gives it Açık there.
2026-10-29 20:36:13 +07:00
Ridzzz0Alam 6661f2419b Fix #2033: an EPS whose layers can't be used keeps its layer tree
When the editing data's art is rejected (another page size, art the page
doesn't draw, too many text objects…), the file still comes in as its page,
but now on a layer above the editing data's layers. They come in empty, in
their order, with their names, visibility, lock, print option and sublayers.
The page's layer takes a free name when the file's layers have its Layer 1.
2026-10-29 20:36:11 +07:00
bflatastic 7afba9bde4 Keep the hit for the isolation check 2026-10-29 20:36:10 +07:00
bflatastic 3573d454c3 Fix #4466: a Direct Selection double-click outside isolated art leaves isolation mode
The Selection tool's double-click on nothing (or on art outside the isolated group) leaves isolation mode; Direct Selection's did nothing there. It now does the same.
2026-10-29 20:36:10 +07:00
G.J.R. Timmer 11f19da6dd Web build: show the app icon as the tab and home-screen icon
index.html had no icon link, so browsers requested /favicon.ico and got a 404. Trunk now copies the existing app icon (SVG, 32 px and 256 px PNG) from assets/app-icon into icons/ and index.html links them as icon and apple-touch-icon. No new artwork.
2026-10-29 20:36:09 +07:00
bflatastic 084f4f3240 Text: a line ending at the paragraph's start can't underflow 2026-10-29 20:36:07 +07:00
Taha-Mahmoodi 7511f84d5d Layout: end manual tate-chu-yoko at soft return, and use separator metrics for empty continuation line 2026-10-29 20:36:05 +07:00
Taha-Mahmoodi b6df1ef0b1 Type: handle soft return in no-break runs, event modifiers, trailing breaks, and tabs 2026-10-29 20:36:05 +07:00
Taha-Mahmoodi d89031848c Fix #2754: Shift+Enter inserts a soft return (forced line break)
In typography and Illustrator, Shift+Enter inserts a soft return (forced
line break) rather than ending the paragraph. Text wraps to the next line
without applying paragraph-level spacing (space before/after, first-line
indents), list continuation lines keep their parent item without repeating
markers, and justified text does not stretch lines ending with a soft return.

- Forward active modifier keys for Enter in ui-egui shortcuts so the tool
  detects Shift+Enter.
- Type tool inserts U+2028 (LINE SEPARATOR) on Shift+Enter.
- Text shaping and layout treat U+2028 as an invisible zero-advance control
  character, breaking the line in point and area type.
- Paragraph spacing and list markers apply once per paragraph as intended.
2026-10-29 20:36:05 +07:00
BFlat 84ed00e381 Merge pull request #4585 from storytold/fix/pencil-preview-lag
Fix #4565: preview Pencil and Paintbrush strokes at half a pixel at most
2026-10-29 20:21:56 +07:00
BFlat 3a38a06eec Merge pull request #4583 from storytold/fix/eyedropper-alt-click-applies-sample
Fix #4382: the Eyedropper's Alt-click applies what it picked up when nothing is selected
2026-10-29 20:21:40 +07:00
BFlat ad3e3c516d Merge pull request #4581 from storytold/feat/remember-native-save-options
Fix #4523: a new document's VectorCraft Options start as the last native save used them
2026-10-29 20:21:23 +07:00
BFlat 941a03c518 Merge pull request #4474 from el-j/feat/isolation-bar-navigation-4468
Isolation mode: breadcrumbs are clickable to navigate hierarchy levels (#4468)
2026-10-29 20:21:07 +07:00
BFlat 01e7a0cb30 Merge pull request #4580 from storytold/fix/no-new-layer-in-mask-editing
Fix #4538: New Layer and New Sublayer are refused while an opacity mask is edited
2026-10-29 20:20:51 +07:00
BFlat e16d0b2a8f Merge pull request #4579 from storytold/fix/dialogs-hide-canvas-hover
Fix #4518: a dialog or floating panel over the canvas hides the pointer from it
2026-10-29 20:20:34 +07:00
BFlat c332447c32 Merge pull request #4578 from storytold/fix/color-settings-shows-panel
Fix #4542: Edit › Color Settings… and Assign Profile… show the Separations Preview panel
2026-10-29 20:20:19 +07:00
BFlat d09d9a634e Merge pull request #4577 from el-j/fix/4567-input-field-vertical-centering
Fix #4567: vertically center numbers and text in input fields
2026-10-29 20:19:55 +07:00
BFlat 5a74615440 Merge pull request #4442 from dotCooCoo/feat/library-gradients-patterns
Libraries: gradients and patterns can be added to a library and applied from it
2026-10-29 20:19:34 +07:00
BFlat c4f8763df3 Merge pull request #4071 from dotCooCoo/feat/image-trace-saved-presets
Image Trace: Manage Presets saves, renames and deletes custom tracing presets
2026-10-29 20:19:14 +07:00
BFlat 0be9090643 Merge pull request #4447 from dotCooCoo/fix/blend-tool-replaces-stale-first-pick
Blend: a click picks again when the Blend tool's first pick is gone
2026-10-29 20:18:53 +07:00
BFlat 5cd56ef1ae Merge pull request #4169 from Taha-Mahmoodi/fix/3089-expand-with-effects
Fix #3089: a stroked line with an effect expands to a stroked line, then Expand outlines it
2026-10-29 20:18:31 +07:00
BFlat 40db966f5e Merge pull request #4458 from dotCooCoo/fix/pattern-and-mask-editing-exclusive
Transparency: pattern editing mode and opacity mask editing can't be entered from each other
2026-10-29 20:18:08 +07:00
BFlat 78473679f3 Merge pull request #4257 from dotCooCoo/fix/place-refuses-undecodable-image
Place: an image whose pixels can't be read is refused instead of placed blank
2026-10-29 20:17:50 +07:00
BFlat bb0510fdf2 Merge pull request #4396 from dotCooCoo/fix/trace-library-fills-link-swatches
Image Trace: Document Library fills link to the document's global swatches
2026-10-29 20:17:34 +07:00
BFlat 72e5d80161 Merge pull request #4372 from dotCooCoo/feat/zoom-marquee-space-moves
Zoom tool: Space held while dragging moves the zoom marquee
2026-10-29 20:17:17 +07:00