247 Commits
Author SHA1 Message Date
24cf70329b M5: Locked layers follow Figma's rules: no nudge, a locked parent's children stay locked (#1560) (#2219)
* M5: Locked layers follow Figma's rules: no nudge, a locked parent's children stay locked (#1560)

Pins Figma's locked-layer behaviour (measured in Figma's web app, 2026-11-10; help center "Lock and unlock layers") in a new lock_behaviour_tests suite. Fixes the divergences: transform.nudge and transform.nudgeSize skip locked layers, object.toggleLock without a value counts a child of a locked parent as locked (so it never locks the child on its own), and the Layers panel padlock on such a child is inert.

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

* Layers panel: a padlock sweep skips the children of a locked layer (#1560)

A padlock drag sweep no longer collects rows with `locked_above`, so
dragging across a locked frame's children leaves their own flags alone
and draws no swept value on them. An eye sweep is unchanged.

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

* M5: Lock/Unlock leaves a locked layer's child alone in a mixed selection (#1560)

With a locked frame's child and an unlocked layer selected, Lock/Unlock set both own flags, so
the child stayed locked once the frame was unlocked. With no explicit `locked` value, the command
now skips a layer whose parent is locked, as its padlock does; an explicit value (scripts) still
sets it.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Model-Effort: Opus 5.5 drove and wrote

---------

Co-authored-by: Claude Sonnet 5.5 <noreply@anthropic.com>
Co-authored-by: FredApps <FredApps@users.noreply.github.com>
2026-11-11 21:06:56 +01:00
Trevor BrownandClaude Sonnet 5.5 2dd1b5a53a Menus: the main menu and its submenus stay inside the window and scroll when taller (#2217) (#2220)
Submenus of the main menu were not constrained to the window (constrain: false, so they sit
beside their row), so the Object submenu ran past the bottom edge with its lowest commands out of
reach. Menus and submenus are now held within the window's height (moved up, never above the top,
8 pt margins, still beside their row so menu-aim is unchanged), and a panel taller than that
scrolls with the wheel; the keyboard's focus scrolls into view.


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-11 15:32:21 +01:00
skylar taylor-barrick 3839fe4a0c Naming: use Developer Mode instead of Figma's Dev Mode (#2135)
Figma holds a US registration for DEV MODE (US 7574348). Display text only: the view.devMode label, Inspect tab, shortcut row, refusal messages, CLI help, docs and all locale catalogs now say Developer Mode. Command ids, preference keys and saved fields are unchanged; "Dev Mode" stays a search alias in the Actions palette. Adds a naming guard test.
2026-11-09 06:24:44 +01:00
bflatastic 2c09046a27 Merge main into #1729 2026-11-07 12:47:51 +07:00
bflatastic 4106c26e8c Merge main into #1729 2026-11-07 12:30:05 +07:00
bflatastic 70821e3645 Merge main into #1879 2026-11-07 12:29:18 +07:00
bflatastic 3f6aa299ea Merge main into #1873 2026-11-07 12:15:09 +07:00
bflatastic 9278ee5451 Merge main into #1729 2026-11-07 12:14:41 +07:00
bflatastic 12293e2e55 Merge main into #1879; shortcut counts with #1858's row 2026-11-07 12:14:30 +07:00
bflatastic 1546d29a66 Merge main into #1729 2026-11-07 12:07:03 +07:00
bflatastic 6304904317 Merge main into #1911 2026-11-07 11:58:09 +07:00
bflatastic 651a7743c1 Merge main into #1873 2026-11-07 11:57:34 +07:00
bflatastic e056dc7608 Merge main into #1879 2026-11-07 11:56:47 +07: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
BFlat 5999408d1e Merge pull request #1858 from TrevorBrown-dev/fix/padding-all-sides
M2: a Cmd/Ctrl-click on a padding field sets all four sides with the value typed
2026-11-07 12:49:06 +08: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
bflatastic 30e89c81c1 Merge main into #1912 2026-11-07 11:34:16 +07:00
bflatastic 17cbab31b7 Merge main into #1911 2026-11-07 11:33:42 +07:00
bflatastic 2d25f29cb3 Merge main into #1873 2026-11-07 11:33:07 +07:00
bflatastic 5087bf05dd Merge main into #1879 2026-11-07 11:31:30 +07:00
bflatastic 442d1d66f3 Merge main into #1858 2026-11-07 11:30:58 +07:00
BFlat d578f44742 Merge pull request #1878 from TrevorBrown-dev/feat/region-fills
M8: a fill per region: the Fill section and the fill commands edit the regions selected in vector edit mode (#1875)
2026-11-07 12:29:43 +08:00
bflatastic c1ff1de7a9 Merge main into #1858 2026-11-07 11:28:03 +07:00
BFlat 305fc686b2 Merge pull request #1854 from TrevorBrown-dev/fix/control-arrows-pan
Control channel: ui.key arrows pan the view when nothing is selected, as the window does
2026-11-07 12:26:48 +08:00
bflatastic c4d40d254b Merge main into #1879 2026-11-07 11:19:53 +07:00
BFlat f490a9b323 Merge pull request #1762 from dotCooCoo/feat/selection-colors-library
M3: Selection colors rows apply library color styles and create a style
2026-11-07 12:18:35 +08:00
bflatastic 184452c9b3 Docs: region fills row in our own words 2026-11-07 11:12:40 +07:00
bflatastic f9d50abbad Pick select: say what it does in our own words 2026-11-07 11:12:02 +07:00
bflatastic 16ae1b2273 Region fills: say it in our own words; one row per item after the merge 2026-11-07 11:10:41 +07:00
bflatastic 77bf42538c Merge main into #1858 2026-11-07 11:09:30 +07:00
bflatastic 45ef37fc61 Docs: one row per item after the merge 2026-11-07 11:07:35 +07: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 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
bflatastic 9488088d48 Merge main into #1857 2026-11-07 10:21:28 +07:00
bflatastic a7fc90a7aa Merge main into #1857 2026-11-07 10:08:45 +07:00
bflatastic ba695199f2 Merge main into #2050 2026-11-07 10:06:56 +07: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
bflatastic a7ba9fb460 Merge main into #1855 2026-11-07 09:51:12 +07:00
bflatastic 235a2f3a53 Merge main into #1857 2026-11-07 09:50:38 +07:00
bflatastic 4d909edf19 Merge main into #1873 2026-11-07 09:50:06 +07:00
bflatastic 18d0853d9e Merge main into #2050 2026-11-07 09:49:37 +07: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 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