bflatastic
7a9e9de38c
Merge #305 : M1: save files automatically ( #296 ) (@AganzeFelicite)
...
# Conflicts:
# crates/ui-egui/src/idle_tests.rs
# docs/mcp.md
2026-10-15 19:53:52 +07:00
Marco Arnulfo
1d5c9ae010
fix(ui): scroll a long pages list in its own area so the layers stay in view ( fixes #258 )
2026-10-15 14:44:31 +02:00
NetterSilver and Claude Haiku 5.5
8199623267
Include empty outlines in no-op shapeBuilder.merge response
...
Fixes #424
Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com >
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com >
2026-10-15 14:36:34 +02:00
midasmatterhorn
6ea957ec5d
doc: runs of a file that reach past the text can't overflow a text edit
...
StyleRun start/end are usize taken straight from a .figcraft document.json
(nothing clamps them on load; only the REST and SVG importers normalize),
so TextData::replace_range's p - removed + inserted panics in a debug or
test build and wraps to zero in release, where normalize then drops the
run and the layer silently loses its formatting.
Shift the runs with saturating arithmetic; normalize drops whatever is
left. Regression test: text_runs_past_the_text_never_overflow — panics
at crates/doc/src/text.rs:605 on main, passes with the clamp.
2026-10-15 15:36:06 +03:00
bflatastic
51549f9a60
#306 : say why the window can't open in the interface language
...
The message now comes from the UI crate (dialogs::window_failed) through
tr() and trf(), with entries in every catalog, and the app picks the
language from the preferences before the event loop starts, so the box
reads in it even though no frame was ever drawn. The commands to type stay
as written.
2026-10-15 19:36:00 +07:00
bflatastic
3d7191f4d3
people.toml: one entry per person after the merges
2026-10-15 19:35:24 +07:00
bflatastic
d25e302a57
README: list the Czech and Indonesian drafts
2026-10-15 19:35:02 +07:00
bflatastic
4004aecaea
Merge #477 : M9: Indonesian draft catalog (@RevDonz)
...
# Conflicts:
# contributors/people.toml
# crates/ui-egui/src/cjk.rs
# crates/ui-egui/src/i18n_tests.rs
# docs/translating.md
2026-10-15 19:34:49 +07:00
NetterSilver and Claude Haiku 5.5
b29cc01d55
Fix perf failing with 'no card' on small instance counts
...
Fixes #394
Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com >
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com >
2026-10-15 12:34:16 +00:00
bflatastic
5a10623414
Merge #469 : i18n: Czech (cs) UI catalog (draft) (@Losminek)
...
# Conflicts:
# contributors/people.toml
# crates/engine/src/cmd/view.rs
# docs/mcp.md
# docs/translating.md
2026-10-15 19:34:05 +07:00
bflatastic
be875da985
Merge #346 : Set the native window identity to match the desktop entry (@IanHollow)
2026-10-15 19:33:07 +07:00
bflatastic
2a3309902a
Merge #474 : M7: find Unix user fonts under XDG_DATA_HOME (@IanHollow)
2026-10-15 19:33:06 +07:00
bflatastic
f3e6b00e1a
Merge #310 : engine: refuse page.move for node ids that are not pages (@midasmatterhorn)
2026-10-15 19:33:02 +07:00
bflatastic
58e33f8fbb
Merge #361 : Make edit.findReplace replace case-insensitive matches (@Silvertree2010)
2026-10-15 19:32:55 +07:00
bflatastic
ef375c623e
Merge #326 : M1: memory budgets for decoded images and a file's images ( #203 , #189 ) (@Barzabel)
2026-10-15 19:32:43 +07:00
bflatastic
e4d0b92e55
Merge #300 : Text: colour emoji draw from their own colour tables ( #268 ) (@fede9234)
2026-10-15 19:32:34 +07:00
bflatastic
650049b469
Merge #281 : fix(format): import explicit variable modes referenced by asset key (@notdezzi)
2026-10-15 19:32:32 +07:00
bflatastic
731bb0247c
Merge #279 : M6: .fig import lays out the layers of resized instances by their constraints (@marcoarnulfo)
2026-10-15 19:32:30 +07:00
bflatastic
b13fbb52b3
Merge #332 : M0.9: every hidden window answers control requests, not only the main one ( #269 ) (@patlux)
2026-10-15 19:32:28 +07:00
bflatastic
48f75c92da
Merge #313 : M0.9: answer control requests while the window is hidden ( #269 ) (@AganzeFelicite)
2026-10-15 19:32:27 +07:00
bflatastic
f39b9a11fd
Merge #280 : Fix text edits rolling back prior document changes (@justinjohn0306)
2026-10-15 19:32:25 +07:00
bflatastic
120aa8a7a0
Merge #336 : M1: keep a recovery copy until this run has its own ( #187 ) (@Barzabel)
2026-10-15 19:32:23 +07:00
bflatastic
09ad21489b
Merge #331 : fix(recovery): keep the version history and branches in recovery copies ( #185 ) (@vxMacDev)
2026-10-15 19:32:22 +07:00
bflatastic
0a2ed2fb65
Merge #303 : Recovery: wait for the write in flight before an emergency save and before removing copies ( #202 ) (@MarekSpodBiedry)
2026-10-15 19:32:20 +07:00
bflatastic
4b29532261
Merge #253 : Avoid macOS file dialog reentrancy crashes (@justinjohn0306)
...
# Conflicts:
# contributors/people.toml
2026-10-15 19:32:18 +07:00
bflatastic
22d5f17828
Merge main and the community batch into #306
...
# Conflicts:
# apps/figcraft/src/main.rs
2026-10-15 19:27:31 +07:00
bflatastic
4dc7c1b59c
#317 : compute the backdrop once under a casting layer
...
With drop shadows the backdrop was read twice: before the content and
again after the shadows. The first read is only what backdrop effects
inside the content see, so it now runs only when the layer has such
descendants, and the content is copied for the shadow caster only when it
gets a layer blur, noise or texture. The output is unchanged.
2026-10-15 19:25:05 +07:00
NetterSilver and Claude Haiku 5.5
d0285d236e
Keep a Rectangle in the smallest synthetic perf documents
...
Fixes #393
Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com >
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com >
2026-10-15 14:23:20 +02:00
bflatastic
a89031eab2
#300 : emoji take a colour face before the symbol fonts, which drew them in one colour on Windows
2026-10-15 19:21:37 +07:00
bflatastic
7a819dd190
Merge main and the community batch into #317
2026-10-15 19:20:55 +07:00
bflatastic
6291e43605
#322 : use widgets::note for the vector edit hints
...
The wrapped hint label duplicated widgets::note (a wrapped secondary note
inside the panel's side padding); the two hints use it, and the copy and
the extra spacing after them go.
2026-10-15 19:20:32 +07:00
bflatastic
cc80bd2a5d
Merge main and the community batch into #322
...
# Conflicts:
# crates/ui-egui/src/lib.rs
2026-10-15 19:17:03 +07:00
NetterSilver and Claude Haiku 5.5
908906f3f4
Close a layer's colour picker when the selection changes
...
Fixes #396
Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com >
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-15 14:15:35 +02:00
bflatastic
9894ee0e65
#308 : pressing Design again keeps the pen path going
...
Design is already the mode while the pen draws, so re-pressing it leaves
nothing: only the Pencil goes back to Move there, as before. Leaving for
Prototype or Inspect still ends the path.
2026-10-15 19:14:46 +07:00
bflatastic
62a10ea460
Merge main and the community batch into #308
2026-10-15 19:13:08 +07:00
bflatastic
8f58c39bd7
#352 : keep the highlighted font in view in a shorter list
...
Where the window has less room the font list is shorter than its tallest,
and stepping down left the highlighted row cut off at the bottom. The
scroll now uses the list's height as last drawn.
2026-10-15 19:12:26 +07:00
Seun Samuel-Ipaye
2d78f40e60
Pen tool: a click's small wobble pulls out no handle
2026-10-15 08:11:40 -04:00
NetterSilver and Claude Haiku 5.5
f6437548ba
Keep a styled layer's fill variable through .fig round trips
...
Fixes #399
Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com >
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-15 12:08:55 +00:00
bflatastic
b2d5dfecc1
#477 : Indonesian for the alignment hint added since (draft)
2026-10-15 19:08:37 +07:00
bflatastic
62ed3452d6
#352 : name the font list's height once
...
The list's max height and the arrow keys' scroll offset now share one
LIST_HEIGHT const.
2026-10-15 19:07:26 +07:00
bflatastic
d96d03f452
Merge main and the community batch into #477
...
# Conflicts:
# ROADMAP.md
# contributors/people.toml
2026-10-15 19:06:54 +07:00
bflatastic
cf06f2ca30
Merge main and the community batch into #352
2026-10-15 19:06:22 +07:00
bflatastic
42c8e762a0
#469 : Czech for the alignment hint added since (draft)
2026-10-15 19:06:11 +07:00
bflatastic
dd84097b6d
#368 : revoke a download's object URL after a delay
...
Revoking it right after the click can cancel the download in some
browsers; it now goes 40 s later on a timer.
2026-10-15 19:04:16 +07:00
bflatastic
8de536960e
Merge main and the community batch into #469
...
# Conflicts:
# ROADMAP.md
# contributors/people.toml
# docs/localization-parity.md
# docs/roadmap.md
2026-10-15 19:03:31 +07:00
bflatastic
466bf6a813
Merge main and the community batch into #368
...
# Conflicts:
# apps/figcraft-web/src/web.rs
# crates/ui-egui/src/lib.rs
2026-10-15 19:02:58 +07:00
bflatastic
e100c165fb
#346 : FreeBSD's desktop entry matches the window class there (the binary's name)
2026-10-15 19:02:40 +07:00
bflatastic
370d9f7adc
Merge main and the community batch into #346
2026-10-15 19:00:48 +07:00
NetterSilver and Claude Haiku 5.5
fbe746a776
Cap startup operator problems at the latest 200
...
Fixes #409
Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com >
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com >
2026-10-15 13:58:59 +02:00
bflatastic
a51b8d2271
Merge main and the community batch into #474
...
# Conflicts:
# ROADMAP.md
2026-10-15 18:57:06 +07:00