NetterSilver and Claude Haiku 5.5
ec9b1197c9
Save the PDF from File > Export frames to PDF
...
Fixes #437
Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com >
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-15 10:37:47 +00:00
NetterSilver and Claude Haiku 5.5
43e6cba2ef
Keep committed line height and letter spacing in the text style editor
...
Fixes #438
Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com >
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-15 12:26:22 +02:00
NetterSilver and Claude Haiku 5.5
8e56820168
Fix variable.update scopes: null not resetting to all supported
...
Fixes #443
Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com >
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com >
2026-10-15 10:14:49 +00:00
NetterSilver and Claude Haiku 5.5
376d524a57
Keep the colour picker and open settings on their item after a removal
...
Fixes #442
Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com >
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-15 12:09:40 +02:00
NetterSilver and Claude Haiku 5.5
61bc027072
Fix MCP layer screenshots exceeding maxSize
...
Fixes #445
Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com >
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-15 11:56:32 +02:00
NetterSilver and Claude Haiku 5.5
dee13aefc5
Keep hidden export roots from enlarging the exported image
...
Fixes #447
Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com >
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-15 11:48:39 +02:00
NetterSilver and Claude Haiku 5.5
7dd71bc2da
Brace variable names in expression text that would not read back
...
Fixes #448
Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com >
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-15 09:45:13 +00:00
NetterSilver and Claude Haiku 5.5
ef10edfe29
Skip missing segments when starting a region loop walk
...
Fixes #449
Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com >
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-15 11:39:06 +02:00
NetterSilver and Claude Haiku 5.5
c3330c4260
Leave missing vertices out of region point queries
...
Fixes #451
Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com >
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-15 09:33:53 +00:00
NetterSilver and Claude Haiku 5.5
e4b4fb0cac
Fix paint bucket leaving a face filled when its region is duplicated
...
Fixes #450
Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com >
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-15 11:32:07 +02:00
NetterSilver and Claude Haiku 5.5
4f9cbf702f
Merge text runs made identical by style updates
...
Fixes #452
Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com >
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-15 11:23:44 +02:00
NetterSilver and Claude Haiku 5.5
6a2eeec928
Make empty ranges link and unlink text styles on all characters
...
Fixes #453
Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com >
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-15 11:16:00 +02:00
NetterSilver and Claude Haiku 5.5
c6fdf9bd4c
Keep layer text and string defaults unchanged in rem code output
...
Fixes #454
Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com >
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-15 11:08:53 +02:00
NetterSilver and Claude Haiku 5.5
e8a30df944
Give case-colliding variant properties distinct data attributes
...
Fixes #456
Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com >
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-15 10:57:13 +02:00
Patrik Lermon and Claude Opus 5.5
ee2640d18e
Swedish interface translation (sv)
...
Adds Swedish (Svenska) as an interface language: 2165 strings, written from the English source.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-15 10:34:20 +02:00
bflatastic
8959030255
Merge #262 : M7: follow system theme from the first frame (@VanTan666)
...
# Conflicts:
# contributors/people.toml
# docs/ui-parity.md
2026-10-15 15:10:11 +07:00
bflatastic
1d71fb4044
Merge #277 : fix(pen): show the bezier handles while drawing ( #256 ) (@Nael-Nathanael)
2026-10-15 15:09:44 +07:00
bflatastic
8c8c00fcba
Merge #283 : fix(engine): Alt-drag copies snap to their original; Cmd+D repeats the step ( #256 ) (@Nael-Nathanael)
2026-10-15 15:09:41 +07:00
bflatastic
990cb4993f
Merge #375 : Copy and paste through the system clipboard in the browser (@mateusvillain)
2026-10-15 15:09:38 +07:00
bflatastic
b321ff48d0
Merge #324 : fix(home): keep a long path from drawing over the file name in Open files (@patlux)
2026-10-15 15:09:05 +07:00
bflatastic
ec83040535
Merge #355 : M7: the Small caps sample in Type settings draws without a box (@StrajnarFilip)
2026-10-15 15:09:01 +07:00
bflatastic
55a476053a
Merge #318 : fix(home): recent files notice files deleted while the home screen is open (@rcoenen)
2026-10-15 15:08:58 +07:00
bflatastic
eededda4fd
Merge #390 : Keep text selection highlight inside the box at the end of the text (@Silvertree2010)
2026-10-15 15:08:55 +07:00
bflatastic
92d00ca04a
Merge #388 : Keep corner resize cursors diagonal on wide and tall layers (@Silvertree2010)
2026-10-15 15:08:52 +07:00
bflatastic
b93ace5cbf
Merge #275 : fix(ui): gradient type icons that show their gradient ( #256 ) (@Nael-Nathanael)
2026-10-15 15:08:48 +07:00
bflatastic
f4a7b39731
Merge #444 : Fix Send to back leaving layers above siblings across frames (@Silvertree2010)
...
# Conflicts:
# crates/engine/src/tests.rs
2026-10-15 15:08:45 +07:00
bflatastic
f9b7dcf9d1
Merge #276 : fix(ui): disable alignment when the selection can't be aligned ( #256 ) (@Nael-Nathanael)
2026-10-15 15:08:11 +07:00
bflatastic
663c203914
Merge #265 : M7: a slice's export preview shows the page content under it (@ahmed-226)
2026-10-15 15:08:05 +07:00
bflatastic
36c6cf6bd2
Merge #311 : fix(pages): inherit the current page background when adding pages (M1) (@tylerjenningsw)
...
# Conflicts:
# ROADMAP.md
2026-10-15 15:08:00 +07:00
bflatastic
23b82e1f00
Merge #327 : M1: SVG export keeps a nested frame's fill and stroke inside its parent's clip (@marcoarnulfo)
2026-10-15 15:07:22 +07:00
bflatastic
4ac1d80fe8
Merge #386 : Outline stroke on every selected layer, not just the first (@Silvertree2010)
2026-10-15 15:07:19 +07:00
bflatastic
2f0369a7ad
Merge #372 : fix(engine): new text is readable on the frame it is drawn in ( #362 ) (@vxMacDev)
2026-10-15 15:07:17 +07:00
bflatastic
457c688872
Merge #293 : M1: a press on a corner handle resizes instead of picking the corner-radius handle (@marcoarnulfo)
2026-10-15 15:07:14 +07:00
bflatastic
0b364ae1fe
Merge #271 : M7: double-clicking a page in the Pages list no longer closes the app (@marcoarnulfo)
2026-10-15 15:07:11 +07:00
Andrii Volkov and Claude Opus 5.5
9eadb37622
perf(ui): look for CJK names in edits, not on every pan
...
Each frame checks the active document's names for CJK scripts, to install
faces for them. The check was keyed on the revision, which pans and zooms
bump too, so every frame of a pan read every layer name. In a 900 000-layer
file that was ~70 ms a frame: panning ran at ~14 fps whatever the canvas cost.
It now keeps the document version it read: the same version (a pan, a zoom)
is skipped, and a new one reads only the layers that changed since
(`Document::changed_ids`, sized by the edit), or every name past 10 000
changes. On that file the UI frame while panning went from ~71 ms to ~3 ms.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_01YQxjkNSUJhTkTfY74aNeki
2026-10-15 10:47:23 +03:00
Reva Doni Aprilio and Claude Opus 5.5
627933ae06
M9: Indonesian draft catalog
...
Adds crates/ui-egui/locales/id.toml, a draft Indonesian catalog covering
every UI string (1,577 keys), command label (557) and menu wording (31),
machine-drafted and marked "draft — needs native review".
Indonesian keeps a noun unchanged after a count, so plural entries give
only `other` and plural_one needs no change. Preferences ▸ Language lists
Bahasa Indonesia; System maps id / id_ID to it (new assertion in
i18n_tests.rs) and `id` joins the cjk can-show list. Docs updated.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-15 14:39:08 +07:00
Andrey
17a3e2b6d6
Merge branch 'main' into fix/224-variables-collection-crash
2026-10-15 10:15:49 +03:00
Andrey
e4126949bf
Merge branch 'main' into fix/255-shadow-behind-blur
2026-10-15 10:15:46 +03:00
Andrey
15ca8d4881
Merge branch 'main' into fix/203-189-image-memory-budgets
2026-10-15 10:15:42 +03:00
Andrey
704831830e
Merge branch 'main' into fix/210-deep-nesting-stack
2026-10-15 10:15:39 +03:00
Andrey
4e5ff2bd46
Merge branch 'main' into fix/style-folder-rename-focus
2026-10-15 10:15:32 +03:00
Andrey
6fbf3ca9aa
Merge branch 'main' into fix/333-engine-tests-scan-fonts
2026-10-15 10:15:29 +03:00
NetterSilver and Claude Haiku 5.5
7f2f8ee09a
Refuse negative or fractional indexes in page.select and doc.switch
...
Found while testing crates/engine/src/cmd/page.rs:50
Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com >
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-15 08:02:06 +02:00
IanHollow
611fb324b9
M7: find Unix user fonts under XDG_DATA_HOME
...
Assisted-by: GPT-6
Signed-off-by: IanHollow <72767437+IanHollow@users.noreply.github.com >
2026-10-14 22:59:17 -07:00
Rob Coenen
1b67ac1e6d
Merge remote-tracking branch 'origin/main' into claude/wonderful-neumann-adc42b
2026-10-15 01:15:53 -04:00
Losminek and Claude Opus 5.5
49a2c643c6
i18n: add Czech (cs) UI catalog as a draft
...
Adds crates/ui-egui/locales/cs.toml with all 2165 entries (ui, commands,
menu), marked "draft — needs native review" and kept out of COMPLETE.
Plurals use one/other only; the other form is worded count-neutral so it
reads correctly for 2-4 as well. Lists cs in the pref.language help text,
adds a cs_CZ.UTF-8 detection test and updates the localization docs.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-15 07:01:27 +02:00
Rob Coenen and Claude Opus 5.5
996852d15c
M4: hanging punctuation test holds for fonts that kern with x offsets
...
On macOS without craft-fonts the default face is Helvetica Neue, whose
kerning comes out of the shaper partly as an x offset (e.g. on the "e" of
"here."), so a glyph's x + advance is not its pen end. The layout was
right (the full stop's pen sits exactly on the edge); the test assumed no
offsets. Each hanging line is now compared with the same line set flush:
every glyph must move by exactly the hanging mark's advance, and the flush
right line must end on the edge.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-15 00:55:43 -04:00
NetterSilver and Claude Haiku 5.5
1199f690ad
Fix Send to back leaving layers above siblings across frames
...
Found while testing crates/engine/src/cmd/arrange.rs:327-330
Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com >
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-15 06:12:21 +02:00
Rob Coenen
099465212e
Merge remote-tracking branch 'origin/main' into vector-edit-canvas-stays-put
...
# Conflicts:
# crates/ui-egui/src/home_tests.rs
2026-10-14 23:57:57 -04:00
Andrey
8482c3e85b
M7: home tests wait for the recent files reader instead of a fixed frame count ( #351 ) ( #354 )
2026-10-15 05:53:18 +02:00