Commit Graph
1768 Commits
Author SHA1 Message Date
bflatastic 43f56a6dd3 Merge main into #2298 2026-11-14 00:03:42 +07:00
BFlat ec18cc67cb Merge pull request #2320 from TrevorBrown-dev/fix/native-code-every-fill-2271
M10: SwiftUI, Compose and Flutter code export writes every colour and gradient fill, in paint order (#2271)
2026-11-14 00:00:13 +07:00
BFlat 2472f99659 Merge pull request #2304 from TrevorBrown-dev/feat/fig-export-region-paints
M6: .fig export writes vector region paints (#2302)
2026-11-13 23:59:19 +07:00
bflatastic cae4a71c0c Merge main into #2308 2026-11-13 23:43:29 +07:00
bflatastic 8ab984c258 Merge main into #2298 2026-11-13 23:42:55 +07:00
bflatastic aef88e0197 Merge main into #2320 2026-11-13 23:39:40 +07:00
bflatastic c36c1754ca Merge main into #2304 2026-11-13 23:39:24 +07:00
BFlat 2f56e48930 Merge pull request #2139 from TrevorBrown-dev/feat/zoom-selection-margin
View: Zoom to selection leaves Figma's 40 pt margin and clears the bottom toolbar
2026-11-13 23:38:35 +07:00
BFlat b240de7362 Merge pull request #2324 from TrevorBrown-dev/feat/fig-export-text-path
M6: .fig export writes text on a path (#2323)
2026-11-13 23:36:56 +07:00
bflatastic 8932347ef8 Merge main into #2139 2026-11-13 23:23:44 +07:00
BFlat ef5a058a22 Merge pull request #2331 from denisg0mes/paste-over-next-to-selection
M1: Paste over selection puts the copies just above the selected layer
2026-11-13 23:21:50 +07:00
bflatastic 93e1cf1a52 Merge main into #2324 2026-11-13 23:18:36 +07:00
bflatastic 956e9c1642 Merge main into #2304 2026-11-13 23:18:03 +07:00
BFlat 373696ac88 Merge pull request #2292 from TrevorBrown-dev/feat/jam-native-shapes-1808
M9: .jam import: shapes with text come in as native board shapes (#1808)
2026-11-13 23:16:35 +07:00
bflatastic bbd8d7c661 Merge main into #2331 2026-11-13 23:06:07 +07:00
bflatastic e1647fba6a Merge main into #2139 2026-11-13 23:04:53 +07:00
BFlat c69a45382e Merge pull request #2288 from TrevorBrown-dev/docs/drag-modifiers-measured
Docs: drag modifiers measured in Figma
2026-11-13 23:03:31 +07:00
bflatastic b0b23d8c63 Merge main into #2324 2026-11-13 23:01:23 +07:00
bflatastic b6a49eaf87 Merge main into #2304 2026-11-13 23:00:50 +07:00
bflatastic 919df8fd80 Merge main into #2292 2026-11-13 23:00:17 +07:00
BFlat 3511511bfb Merge pull request #2301 from TrevorBrown-dev/feat/fig-export-image-adjustments-2297
M6: .fig export writes image adjustments (#2297)
2026-11-13 22:58:48 +07:00
bflatastic 953383fff8 Merge main into #2331 2026-11-13 22:54:24 +07:00
BFlat c56d5d22ad Merge pull request #2327 from TrevorBrown-dev/fix/mind-map-parent-default
M12: a mind map in a section or frame without a place starts at the view's centre
2026-11-13 22:51:44 +07:00
bflatastic a23bc45e8e Merge main into #2324 2026-11-13 22:51:09 +07:00
bflatastic e387b63fbf Merge main into #2292 2026-11-13 22:47:47 +07:00
bflatastic 996b16a75e Merge main into #2288 2026-11-13 22:47:14 +07:00
bflatastic 71e063de9f Merge main into #2139 2026-11-13 22:47:03 +07:00
BFlat 1448a91a54 Merge pull request #2086 from TrevorBrown-dev/fix/snap-threshold-measured
Smart guides: objects snap within 4.5 screen pixels, as measured in Figma
2026-11-13 22:45:56 +07:00
BFlat ec524f6cd3 Merge pull request #2315 from TrevorBrown-dev/fix/css-layered-background-2271
M10: CSS code export writes several fills as one layered background, top first, as Figma does (#2271)
2026-11-13 22:44:32 +07:00
bflatastic 0263ec8a3a Merge main into #2304 2026-11-13 22:43:54 +07:00
bflatastic c08a7c334b Merge main into #2301 2026-11-13 22:43:19 +07:00
BFlat ce7de19097 Merge pull request #2294 from TrevorBrown-dev/fix/fig-list-start-2273
M6: .fig import: a numbered list keeps its start only where it starts counting (#2273)
2026-11-13 22:41:46 +07:00
bflatastic 35906ea43b Merge main into #2292 2026-11-13 22:41:10 +07:00
Trevor BrownandClaude Sonnet 5.5 794a940aa1 Merge upstream/main into fix/align-auto-layout-child
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Model-Effort: Opus 5.5 drove; Opus 5.5 briefed; Sonnet 5.5 wrote at medium
2026-11-13 10:39:45 -05:00
BFlat ebc0260017 Merge pull request #2289 from TrevorBrown-dev/feat/sticky-size-menu
M12: Boards: a sticky's text-size menu (Small 16 to Huge 96), remembered for new stickies
2026-11-13 22:39:41 +07:00
Trevor BrownandClaude Sonnet 5.5 cdef36b543 Merge upstream/main into feat/polygon-count-handle
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Model-Effort: Opus 5.5 drove; Opus 5.5 briefed; Sonnet 5.5 wrote at medium
2026-11-13 10:39:31 -05:00
bflatastic 9baf13c2a4 Merge main into #2288 2026-11-13 22:39:06 +07:00
BFlat bdf14ae7f0 Merge pull request #2286 from TrevorBrown-dev/fix/icon-buttons-16pt-2238
M8: every 24 pt icon button paints its glyph at 16 pt (#2238)
2026-11-13 22:36:15 +07:00
bflatastic 83a0177310 Merge main into #2139 2026-11-13 22:29:54 +07:00
bflatastic 91d2caf9df Merge main into #2086 2026-11-13 22:29:18 +07:00
BFlat 6fb76233ec Merge pull request #2087 from TrevorBrown-dev/feat/variables-duplicate-group-2084
Variables: Duplicate group copies a group's variables as "<name> 2" in one undo step
2026-11-13 22:27:09 +07:00
BFlat b98f3dd39f Merge pull request #2241 from TrevorBrown-dev/fix/mirror-sharp-point-2110
M4: Vector edit: a mirror mode turns a sharp point smooth (#2110)
2026-11-13 22:24:58 +07:00
Trevor BrownandClaude Opus 5.5 193c3a3591 M6: the .fig export names the case of a multi-line instance text on its main's text path (#2323)
An override can't take its layer off the main component's text path, so an instance text of more than one line, whose main is on a path, stays on that path in the file. The export warned the general instance mismatch for it. It now says exactly that case: "an instance's text of more than one line stays on its main component's text path in the file, as an override can't take it off". FigCraft's own import reads such a layer as plain text. The docs' Left out list names the case.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Model-Effort: Opus 5.5 drove and wrote
2026-11-13 05:40:27 -05:00
Trevor BrownandClaude Sonnet 5.5 0de5559d4e Merge upstream/main into feat/jam-native-shapes-1808
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Model-Effort: Opus 5.5 drove; Opus 5.5 briefed; Sonnet 5.5 wrote at medium
2026-11-13 04:44:17 -05:00
Trevor BrownandClaude Sonnet 5.5 15261112b1 Merge upstream/main into fix/fig-list-start-2273
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Model-Effort: Opus 5.5 drove; Opus 5.5 briefed; Sonnet 5.5 wrote at medium
2026-11-13 04:43:43 -05:00
Trevor BrownandClaude Sonnet 5.5 9f09f56488 Merge upstream/main into feat/fig-export-image-adjustments-2297
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Model-Effort: Opus 5.5 drove; Opus 5.5 briefed; Sonnet 5.5 wrote at medium
2026-11-13 04:43:14 -05:00
Trevor BrownandClaude Sonnet 5.5 49a0d8564f Merge upstream/main into feat/fig-export-region-paints
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Model-Effort: Opus 5.5 drove; Opus 5.5 briefed; Sonnet 5.5 wrote at medium
2026-11-13 04:42:45 -05:00
Trevor BrownandClaude Sonnet 5.5 79e035c0af Merge remote-tracking branch 'upstream/main' into feat/fig-export-text-path
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Model-Effort: Opus 5.5 drove; Opus 5.5 briefed; Sonnet 5.5 wrote at medium
2026-11-13 04:34:42 -05:00
Trevor BrownandClaude Sonnet 5.5 fb9df220b1 M6: .fig export writes a page's prototype background (#2326) (#2328)
* M6: .fig export writes a page's prototype background (#2326)

The export writes a page's prototype background as prototypeBackgroundColor (field 141, a plain colour) when it differs from the default, as Figma does for a page whose background was set. The device-settings warning now fires only for the device, rotation, colour, custom size and responsive settings. Measured on a synthetic file saved from Figma's web app.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Model-Effort: Opus 5.5 drove; Opus 5.5 briefed; Sonnet 5.5 measured and wrote at medium

* M6: the .fig export writes a prototype background opaque and warns for its opacity, and its tests read the written record (#2326)

The colour is written with alpha 1, as the measured record has it and as the import reads it, and a background that isn't opaque warns that its opacity was left out. The tests now read the written record, and each device setting alone is checked.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Model-Effort: Opus 5.5 drove; Fable 5.2 reviewed; Sonnet 5.5 wrote at medium

* M6: the .fig export writes every page's prototype background, so Figma shows the same colour (#2326)

A page at FigCraft's default background used to write no field, so Figma showed its own default instead. Every page now writes its colour, opaque. The test for a default page reads the written record and the import.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Model-Effort: Opus 5.5 drove; Opus 5.5 briefed; Sonnet 5.5 wrote at medium

---------

Co-authored-by: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-13 09:34:55 +01:00
Denis GomesandClaude Opus 5.5 c74bcd0b0e M1: Paste over selection puts the copies just above the selected layer
Shift+Cmd/Ctrl+V pasted into the selected layer's parent at its top-left,
but appended the copies, so they went to the top of the parent's layers
whatever was selected. In an auto layout frame that put them at the end of
the flow, away from the layer they were pasted over.

They now go just above the selected layer, in the copied order: in the
Layers panel the row above it, in an auto layout frame the item after it.
A section pasted over a layer in a frame still goes on the page, on top
of its layers, as before. Paste to replace already kept the replaced
layer's place.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-13 01:41:48 -05:00