bflatastic
3c52dad774
Merge #353 : engine: long digit strings no longer overflow object.opacityKeys (@midasmatterhorn)
2026-10-15 17:54:23 +07:00
bflatastic
5a57388b8d
Merge #344 : doc: name counters stop at u64::MAX instead of overflowing (@midasmatterhorn)
2026-10-15 17:54:21 +07:00
bflatastic
7a3d2870c5
Merge #343 : collab: refuse sequence numbers a host cannot advance (@midasmatterhorn)
2026-10-15 17:54:20 +07:00
bflatastic
cc0c3fb10a
Merge #288 : Add Japanese labels for templates, recent files, and editor controls (@haranishi)
...
# Conflicts:
# ROADMAP.md
# crates/ui-egui/locales/ja.toml
# docs/localization-parity.md
2026-10-15 17:54:17 +07:00
bflatastic
5dc213820b
Merge #339 : M1: cursor and double-click tests scan the system fonts themselves ( #333 ) (@Barzabel)
2026-10-15 17:53:12 +07:00
bflatastic
f518d87b71
Merge #471 : M4: hanging punctuation test holds for fonts that kern with x offsets (@rcoenen)
2026-10-15 17:53:10 +07:00
bflatastic
1dae6a439d
Merge #472 : M1: Cmd+R rename test sends Ctrl+R only where Ctrl is the command key (@rcoenen)
2026-10-15 17:53:08 +07:00
bflatastic
022821211f
Merge #358 : Replace every occurrence in edit.findReplace when replacement contains find (@Silvertree2010)
2026-10-15 17:53:06 +07:00
bflatastic
03716da731
Merge #384 : Reject negative or fractional index in effect.set, export.update and export.remove (@Silvertree2010)
2026-10-15 17:53:04 +07:00
bflatastic
2420791015
Merge #475 : Refuse negative or fractional indexes in page.select and doc.switch (@Silvertree2010)
2026-10-15 17:53:02 +07:00
bflatastic
8ae567c06b
Merge #254 : fix(engine): read the documented gradient shorthand on every route ( #252 ) (@pcastro93)
2026-10-15 17:53:00 +07:00
bflatastic
a25952dc60
Merge #284 : fix(format): exclusive unique staging files for atomic save/export (@notdezzi)
2026-10-15 17:52:58 +07:00
bflatastic
4d93274eb1
Merge #282 : fix(engine): roll back failed commands during interactions too (@notdezzi)
2026-10-15 17:52:56 +07:00
bflatastic
a663e97a5d
Merge #301 : Keep the redo steps when a failed command batch rolls back ( #196 ) (@MarekSpodBiedry)
2026-10-15 17:52:54 +07:00
bflatastic
1778b2317c
Merge #330 : M1: deeply nested layers don't run the layout out of stack ( #210 ) (@Barzabel)
2026-10-15 17:51:46 +07:00
bflatastic
e5405f4eb6
Merge #337 : M3: renaming a style folder no longer closes the app (@Barzabel)
2026-10-15 17:51:44 +07:00
bflatastic
23bb8040ad
Merge #314 : M1: creating a variable collection no longer closes the app ( #224 ) (@Barzabel)
2026-10-15 17:50:49 +07: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
Andrey
17a3e2b6d6
Merge branch 'main' into fix/224-variables-collection-crash
2026-10-15 10:15:49 +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
Rob Coenen
1b67ac1e6d
Merge remote-tracking branch 'origin/main' into claude/wonderful-neumann-adc42b
2026-10-15 01:15:53 -04: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
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
NetterSilver and Claude Haiku 5.5
d1430e3054
Keep text selection highlight inside the box at the end of the text
...
Fixes #365
Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com >
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-15 03:56:27 +02:00
NetterSilver and Claude Haiku 5.5
fc6f52e852
Keep corner resize cursors diagonal on wide and tall layers
...
Fixes #370
Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com >
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-15 03:50:00 +02:00
NetterSilver and Claude Haiku 5.5
3c00ea6440
Outline stroke on every selected layer, not just the first
...
Fixes #378
Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com >
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-15 03:41:17 +02:00
NetterSilver and Claude Haiku 5.5
87b9a3a9ce
Reject negative or fractional index in effect.set, export.update and export.remove
...
Found while testing crates/engine/src/cmd/edit.rs:256 (effect.set), :305 (export.update), :317 (export.remove)
Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com >
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com >
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-15 01:08:36 +00:00
vxMacDev
12d4dbfbc9
fix(engine): new text is readable on the frame it is drawn in ( #362 )
...
The colour of new text in the app was chosen from the page alone, so
on a dark page text drawn in a white frame (a new frame's default) was
white and invisible. readable_text_fills now looks at what the text is
drawn on: the nearest layer from its parent out whose top visible fill
is a mostly opaque solid colour, else the page. The Text tool and
text.create / node.create pass the text's parent.
The two tests that asserted the page-only rule in a frame now expect
black text in a white frame; new cases cover dark, unfilled, nested,
faint and stacked fills, and the Text tool.
2026-10-14 18:35:21 -05:00