100 Commits
Author SHA1 Message Date
Trevor BrownandClaude Sonnet 5.5 9303b73991 .fig import: the round-trip test asserts the scaled size; text on a path takes the instance's size (#2100 review)
The scaled-instance round-trip test now asserts the scaled width and height instead of printing them. text_path read the layer's raw size, so a text on a path inside a scaled instance kept the main's path length; it now uses the scaled or fitted size.

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-07 22:58:07 -05:00
Trevor BrownandClaude Sonnet 5.5 c7c5a4f87d .fig import: a nested instance's own rows take its scale; blur positions and swapped styles are not rescaled (#2100 review)
- A nested instance's override and derived rows (and its text property values) are written in the enclosing main's space: OverrideRow carries the factor of the layer that supplied it and View::with takes (row, scale) pairs. Test: a_nested_instances_own_rows_are_at_its_enclosing_mains_scale.
- Progressive blur startOffset and endOffset are unit-box fractions, not lengths: only offset and noiseSize scale. Test: a_progressive_blurs_positions_are_not_lengths.
- An effect or grid style takes the factor of the layer that links it (1 when an instance row swaps it), not the main's. Test: an_effect_style_takes_the_scale_of_the_layer_that_links_it.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Model-Effort: Opus 5.5 drove; Fable 5.1 reviewed; Sonnet 5.5 wrote at high
2026-11-07 22:23:39 -05:00
Trevor BrownandClaude Sonnet 5.5 62d761a7bc M6: .fig import draws a scaled instance's layers at its scale factor (#2091)
An instance scaled with the Scale tool in Figma stores `symbolData.uniformScaleFactor`; the importer never read it, so the layers of a 128 px instance of a 256 px component came in at 256 px with the main's radii, strokes and spacing. Layers of an instance now take the main's lengths times the factor (composed through nested instances), the same values the Scale tool scales, unless an override or derived row gives the value, which is already at the instance's scale. Eight tests: the reproducer, the round trip, a derived size row not scaled twice, override rows, auto layout gap/padding/text, nested composition, factor 1 or none, and junk factors ignored.

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 high
2026-11-07 22:06:35 -05:00
Trevor Brown 3c607075f9 Merge remote-tracking branch 'upstream/main' into fix/layers-component-contrast
# Conflicts:
#	crates/ui-egui/src/panels/layers.rs
#	docs/ui-parity.md
2026-11-06 23:53:00 -05:00
Trevor Brown 0f8f780c19 Merge remote-tracking branch 'upstream/main' into fix/scrub-speed 2026-11-06 23:49:05 -05:00
Trevor Brown 39b93b7950 Merge remote-tracking branch 'upstream/main' into feat/pick-select 2026-11-06 23:49:01 -05:00
Trevor Brown 203777a43a Merge branch 'fix/geom-bounded-sizes' of https://github.com/TrevorBrown-dev/figcraft into fix/geom-bounded-sizes 2026-11-06 23:48:16 -05:00
Trevor Brown cc4fcd5827 Merge remote-tracking branch 'upstream/main' into fix/geom-bounded-sizes
# Conflicts:
#	crates/geom/src/lib.rs
2026-11-06 23:48:15 -05:00
Trevor BrownandClaude Fable 5.1 7ca01645c3 Layers panel: one row per item in the parity table, and the hidden component name reaches 3:1 on its selected row (#1911 issue)
The merge's docs union left the UI3 layout and light/dark themes rows twice; each is one row again. Dim text (text_tertiary) goes from #8A8A8A to #848484 in the light theme: 2.93:1 became 3.18:1 on the selected component row, and the theme floor test now covers the component rows.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-11-06 22:56:48 -05:00
Trevor BrownandClaude Sonnet 5.5 a794e57e3d Merge upstream/main into fix/layers-component-contrast
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-06 22:53:39 -05:00
Trevor BrownandClaude Sonnet 5.5 6c2aa44f92 Merge upstream/main into fix/page-background-opacity
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-06 22:51:10 -05:00
Trevor BrownandClaude Sonnet 5.5 454d504231 Merge upstream/main into fix/scrub-speed
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-06 22:48:22 -05:00
Trevor BrownandClaude Sonnet 5.5 18b2bdcb54 Merge upstream/main into feat/layers-horizontal-scroll
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-06 22:45:07 -05:00
Trevor BrownandClaude Fable 5.1 3647d9b4c2 Merge upstream/main into fix/control-arrows-pan
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-11-06 22:39:52 -05:00
Trevor BrownandClaude Fable 5.1 b4ccfd54dc Merge upstream/main into fix/padding-all-sides
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-11-06 22:39:49 -05:00
Trevor BrownandClaude Fable 5.1 13937c70eb Merge upstream/main into feat/region-fills
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-11-06 22:39:44 -05:00
Trevor BrownandClaude Fable 5.1 bce99a53c8 Merge upstream/main into feat/pick-select
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-11-06 22:39:41 -05:00
Trevor BrownandClaude Fable 5.1 ea1ae05d16 Merge upstream/main into feat/suggest-auto-layout-1823
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-11-06 22:39:35 -05:00
Trevor Brown a037c774e1 Merge remote-tracking branch 'upstream/main' into feat/pick-select
# Conflicts:
#	crates/ui-egui/src/canvas/input.rs
#	docs/ui-parity.md
2026-11-06 21:59:18 -05:00
Trevor BrownandClaude Fable 5.1 0257f53bb9 Test: a connector saved with its path starts 4 pt outside its sides, as main's connectors do
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-11-06 21:55:50 -05:00
Trevor Brown 4b351d9468 Merge remote-tracking branch 'upstream/main' into fix/jam-connector-control-points
# Conflicts:
#	crates/doc/src/lib.rs
#	docs/boards-parity.md
#	docs/file-format-parity.md
2026-11-06 21:55:49 -05:00
Trevor BrownandClaude Fable 5.1 11d808833c Layers panel: a hidden component row uses the faded colour, keeping the 3:1 floor (#1911 issue)
The tint at half alpha composited to about 2.4:1 (dark) and 2.2:1 (light) on the panel, under the 3:1 floor for dim text. Hidden rows now use the faded colour; shown rows keep the tint.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-11-06 21:48:31 -05:00
Trevor BrownandClaude Fable 5.1 fd1a78bbb8 Local variables: the docs say bulk actions skip inherited variables (#2002)
Delete, Move to group and Scope act on the selected local variables; inherited ones are left out and the bulk menu needs two or more local variables selected.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-11-06 21:41:58 -05:00
Trevor BrownandClaude Fable 5.1 09338adbac Merge upstream/main into fix/control-arrows-pan
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-11-06 21:40:27 -05:00
Trevor BrownandClaude Fable 5.1 a0cb09c017 Merge upstream/main into fix/padding-all-sides
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-11-06 21:40:18 -05:00
Trevor BrownandClaude Fable 5.1 e4b3815439 Merge upstream/main into feat/region-fills
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-11-06 21:40:15 -05:00
Trevor BrownandClaude Fable 5.1 38b2b78ebc Merge upstream/main into feat/web-embed-scripts
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-11-06 21:40:10 -05:00
Trevor BrownandClaude Fable 5.1 4dae256074 Merge upstream/main into feat/suggest-auto-layout-1823
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-11-06 21:39:54 -05:00
Trevor BrownandClaude Fable 5.1 47c5796ed5 Merge upstream/main into feat/variables-multi-select-2002
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-11-06 21:39:51 -05:00
Trevor Brown 681d92355b Merge branch 'feat/suggest-auto-layout-1823' of https://github.com/TrevorBrown-dev/figcraft into feat/suggest-auto-layout-1823 2026-11-06 21:06:16 -05:00
Trevor BrownandClaude Fable 5.1 68b9423748 Suggest auto layout: the parity doc says a band overlapping on both axes stays Fixed (#1823)
A band frame hugs only when its own split gives it auto layout; a band whose layers overlap along both axes stays a Fixed frame with a warning. The parity row, its revision entry and the code comment now say so.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-11-06 21:06:10 -05:00
Trevor Brown 6d6acd9e5a Merge branch 'feat/variables-multi-select-2002' of https://github.com/TrevorBrown-dev/figcraft into feat/variables-multi-select-2002 2026-11-06 21:02:42 -05:00
Trevor Brown 01d3645998 Merge remote-tracking branch 'upstream/main' into feat/web-embed-scripts 2026-11-06 20:59:54 -05:00
Trevor Brown 9973b5e2ce Merge remote-tracking branch 'upstream/main' into feat/web-embed-scripts
# Conflicts:
#	crates/text/build.rs
2026-11-06 20:59:53 -05:00
Trevor Brown 50f203b678 Merge branch 'feat/variables-multi-select-2002' of https://github.com/TrevorBrown-dev/figcraft into feat/variables-multi-select-2002 2026-11-06 20:59:41 -05:00
Trevor BrownandClaude Fable 5.1 bc55ca1463 Local variables: the bulk menu scrolls when it is taller than the window (#2002)
The Move-to-group and Scope rows now sit in a vertical ScrollArea capped at 60% of the screen height, so a collection with many groups no longer pushes rows past the window. The test harness gains a settable screen size.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-11-06 20:59:35 -05:00
Trevor Brown 8f1a3a35ff Merge remote-tracking branch 'upstream/main' into feat/region-fills 2026-11-06 20:52:20 -05:00
Trevor Brown ad2c120191 Merge remote-tracking branch 'upstream/main' into feat/region-fills
# Conflicts:
#	crates/ui-egui/src/panels/right/paints.rs
#	docs/ui-parity.md
2026-11-06 20:52:20 -05:00
Trevor BrownandClaude Fable 5.1 aae6f55592 Merge upstream/main into fix/ui-script-fallbacks-2014
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-11-06 20:44:15 -05:00
Trevor Brown 546f4843f5 Merge the maintainer's merge of main (origin/fix/place-crosshair) into the local branch 2026-11-06 20:42:57 -05:00
Trevor Brown 67d5706d3a Merge the maintainer's merge of main (origin/feat/text-style-paragraph) into the local branch 2026-11-06 20:42:55 -05:00
Trevor Brown c0a27b90ad Merge the maintainer's merge of main (origin/feat/pick-select) into the local branch 2026-11-06 20:42:52 -05:00
Trevor Brown b4b4cb718a Merge the maintainer's merge of main (origin/feat/text-direction-1830) into the local branch 2026-11-06 20:42:50 -05:00
Trevor Brown c6c857bda1 Merge the maintainer's merge of main (origin/fix/ui-script-fallbacks-2014) into the local branch 2026-11-06 20:42:48 -05:00
Trevor Brown 52ba2d31f9 Merge the maintainer's merge of main (origin/feat/suggest-auto-layout-1823) into the local branch 2026-11-06 20:42:46 -05:00
Trevor Brown 6703b46671 Merge the maintainer's merge of main (origin/feat/variables-multi-select-2002) into the local branch 2026-11-06 20:42:43 -05:00
Trevor BrownandClaude Fable 5.1 08958b47ba Merge upstream/main into fix/control-arrows-pan
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-11-06 20:40:54 -05:00
Trevor BrownandClaude Fable 5.1 fccefb1f39 Merge upstream/main into fix/field-alt-scrub
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-11-06 20:40:52 -05:00
Trevor BrownandClaude Fable 5.1 8a7414e3b0 Merge upstream/main into fix/text-mixed-fill-section
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-11-06 20:40:49 -05:00
Trevor BrownandClaude Fable 5.1 d7f9ef953a Merge upstream/main into fix/padding-all-sides
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-11-06 20:40:47 -05:00
Trevor BrownandClaude Fable 5.1 c838f2f587 Merge upstream/main into fix/place-crosshair
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-11-06 20:40:45 -05:00
Trevor BrownandClaude Fable 5.1 6876caff7f Merge upstream/main into fix/scrub-speed
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-11-06 20:40:42 -05:00
Trevor BrownandClaude Fable 5.1 1ba0e1d62a Merge upstream/main into feat/text-style-paragraph
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-11-06 20:40:40 -05:00
Trevor BrownandClaude Fable 5.1 973b43c1e2 Merge upstream/main into feat/pick-select
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-11-06 20:40:37 -05:00
Trevor BrownandClaude Fable 5.1 2a51a47e24 Merge upstream/main into fix/layers-component-contrast
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-11-06 20:40:34 -05:00
Trevor BrownandClaude Fable 5.1 180437539a Merge upstream/main into feat/layers-horizontal-scroll
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-11-06 20:40:31 -05:00
Trevor BrownandClaude Fable 5.1 0df97a91bb Merge upstream/main into fix/justify-cjk
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-11-06 20:40:26 -05:00
Trevor BrownandClaude Fable 5.1 171fcd2d8b Merge upstream/main into fix/vector-rounded-fill
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-11-06 20:40:23 -05:00
Trevor BrownandClaude Fable 5.1 5a63c08a78 Merge upstream/main into feat/text-direction-1830
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-11-06 20:40:21 -05:00
Trevor BrownandClaude Fable 5.1 f66b51c7f7 Merge upstream/main into fix/ui-script-fallbacks-2014
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-11-06 20:40:19 -05:00
Trevor BrownandClaude Fable 5.1 dd8b8ffac5 Merge upstream/main into feat/suggest-auto-layout-1823
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-11-06 20:40:17 -05:00
Trevor BrownandClaude Fable 5.1 7aad58cf2d Merge upstream/main into feat/variables-multi-select-2002
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-11-06 20:40:15 -05:00
Trevor BrownandClaude Fable 5.1 36b728304b Minimize: a held press keeps its page point when the canvas moves, not only when it narrows (#2051)
While a press that went down on the canvas is held, the view centre now follows the canvas rect's own move as well as its size change, so a still pointer keeps its page point when the left sidebar or rail appears mid-press.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-11-06 13:43:32 -05:00
Trevor BrownandClaude Fable 5.1 5d21ca8791 Minimize: a click that shows the right sidebar no longer moves the frame it selects (#2051)
The view keeps its centre when the canvas is resized, so the right panel appearing (minimized UI, on the press that selects) shifted the pointer's page point by half the width over the zoom and the move handling took it as a drag. While a button that went down on the canvas is held, a resize now keeps the top-left instead.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-11-06 12:51:52 -05:00
Trevor BrownandClaude Fable 5.1 d7a78ac358 Line up the boolean menu's labels: reserve the check and icon columns for every entry
menu_icon_item drew the check mark as a text prefix, so a checked entry's label sat about 14 px left of the others, and Flatten (no icon) started further left still. The check now has its own fixed column ahead of the icon slot, and Flatten uses the same row with an empty icon slot.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-11-06 01:07:59 -05:00
Trevor BrownandClaude Fable 5.1 2d4e1ce4e8 Merge upstream/main into feat/boolean-button-icons-2003
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-11-05 17:38:32 -05:00
Trevor BrownandClaude Fable 5.1 e3ce3e46bb Merge upstream/main into fix/justify-cjk
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-11-05 17:38:31 -05:00
Trevor BrownandClaude Fable 5.1 bd4654d2bc Merge upstream/main into feat/variables-multi-select-2002
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-11-05 17:38:31 -05:00
Trevor BrownandClaude Fable 5.1 023762b7c6 Merge upstream/main into fix/vector-rounded-fill
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-11-05 17:38:30 -05:00
Trevor BrownandClaude Fable 5.1 ee033de32e Merge upstream/main into fix/ui-script-fallbacks-2014
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-11-05 17:38:30 -05:00
Trevor BrownandClaude Fable 5.1 17db5b0f7f Merge upstream/main into feat/suggest-auto-layout-1823
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-11-05 17:38:29 -05:00
Trevor BrownandClaude Fable 5.1 49d1e2e31c pick select: a Prototype-tab press clears the pick like any canvas press
A press on a connection handle or noodle returns from the canvas input before the ordinary press reset, so the pick (and keyboard box) stayed up. Clear them on that press too.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-11-05 17:32:30 -05:00
Trevor BrownandClaude Fable 5.1 9e356096e3 text.rs keeps its LF line endings
The previous commit saved the file with CRLF endings; only the 30 changed lines are a real change.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-11-05 17:22:53 -05:00
Trevor BrownandClaude Fable 5.1 0d1801db93 text styles: applying one to the whole layer reaches a trailing empty paragraph
take_paragraph_style went through para_span, which leaves out the empty paragraph after a final newline, so its list style stayed as it was and the layer did not fold back to one list. The whole-layer path now addresses every paragraph by index; para_span's selection semantics are unchanged.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-11-05 17:21:18 -05:00
Trevor BrownandClaude Fable 5.1 a3e96bbb47 docs: ui-parity status line dated 2026-11-05 with its history row
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-11-05 17:06:55 -05:00
Trevor BrownandClaude Fable 5.1 e8854215d2 docs: ROADMAP status line dated 2026-11-05 with its history row
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-11-05 17:06:53 -05:00
Trevor BrownandClaude Fable 5.1 c0052b3d5d Merge upstream/main into feat/boolean-button-icons-2003
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-11-05 16:51:34 -05:00
Trevor BrownandClaude Fable 5.1 5e82adfaa9 Merge upstream/main into feat/variables-multi-select-2002
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-11-05 16:51:34 -05:00
Trevor BrownandClaude Fable 5.1 cf2dd3bcf8 Merge upstream/main into fix/justify-cjk
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-11-05 16:50:38 -05:00
Trevor BrownandClaude Fable 5.1 a695f15e4b Merge upstream/main into fix/vector-rounded-fill
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-11-05 16:50:37 -05:00
Trevor BrownandClaude Fable 5.1 42d67b97b7 Merge upstream/main into fix/ui-script-fallbacks-2014
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-11-05 16:50:37 -05:00
Trevor BrownandClaude Fable 5.1 50ea611f63 Merge upstream/main into feat/suggest-auto-layout-1823
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-11-05 16:50:36 -05:00
Trevor BrownandClaude Fable 5.1 282bad7f72 Merge upstream/main into fix/padding-all-sides
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-11-05 16:45:02 -05:00
Trevor BrownandClaude Fable 5.1 25cc0eb643 Merge upstream/main into fix/place-crosshair
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-11-05 16:45:02 -05:00
Trevor BrownandClaude Fable 5.1 2e331ecd70 Merge upstream/main into feat/text-style-paragraph
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-11-05 16:45:00 -05:00
Trevor BrownandClaude Fable 5.1 334a2b5b8d Merge upstream/main into fix/layers-component-contrast
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-11-05 16:44:59 -05:00
Trevor BrownandClaude Fable 5.1 cd1409e089 Merge upstream/main into fix/control-arrows-pan
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-11-05 16:41:41 -05:00
Trevor BrownandClaude Fable 5.1 fffdf98c0f Merge upstream/main into fix/field-alt-scrub
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-11-05 16:41:40 -05:00
Trevor BrownandClaude Fable 5.1 1cc9fb5535 Merge upstream/main into fix/text-mixed-fill-section
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-11-05 16:41:39 -05:00
Trevor BrownandClaude Fable 5.1 5d08d7ae78 Merge upstream/main into fix/scrub-speed
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-11-05 16:41:39 -05:00
Trevor BrownandClaude Fable 5.1 5bff399210 Merge upstream/main into feat/region-fills
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-11-05 16:41:38 -05:00
Trevor BrownandClaude Fable 5.1 ce5158e2ce Merge upstream/main into feat/pick-select
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-11-05 16:41:37 -05:00
Trevor BrownandClaude Fable 5.1 ed828edff2 Merge upstream/main into feat/layers-horizontal-scroll
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-11-05 16:41:36 -05:00
Trevor BrownandClaude Fable 5.1 b7a7f2891a Merge upstream/main into fix/justify-cjk
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-11-05 16:41:36 -05:00
Trevor BrownandClaude Fable 5.1 d5d8f1e8ed Merge upstream/main into fix/vector-rounded-fill
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-11-05 16:41:35 -05:00
Trevor BrownandClaude Fable 5.1 7c6bc49e9f Merge upstream/main into feat/text-direction-1830
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-11-05 16:41:34 -05:00
Trevor BrownandClaude Fable 5.1 81a2afe724 Merge upstream/main into fix/ui-script-fallbacks-2014
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-11-05 16:41:34 -05:00
Trevor BrownandClaude Fable 5.1 2baaa452ec Merge upstream/main into feat/boolean-button-icons-2003
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-11-05 16:41:33 -05:00
Trevor BrownandClaude Fable 5.1 6b83eaa331 Merge upstream/main into feat/suggest-auto-layout-1823
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-11-05 16:41:33 -05:00
Trevor BrownandClaude Fable 5.1 527307178e Merge upstream/main into feat/variables-multi-select-2002
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-11-05 16:41:32 -05:00