Skip to content

Live Corners: with Direct Selection, a click on a widget selects its corner - #1239

Open
zakariayacine wants to merge 1 commit into
storytold:mainfrom
zakariayacine:fix-corner-widget-direct
Open

zakariayacine wants to merge 1 commit into
storytold:mainfrom
zakariayacine:fix-corner-widget-direct

Conversation

@zakariayacine

@zakariayacine zakariayacine commented Oct 11, 2026 •

Copy link
Copy Markdown
Contributor

What and why

Reworked after review. The first version made a Direct Selection drag on a whole-path selection round one corner; the
documented workflow is to select the corner first, then drag its widget, so a drag keeps rounding every shown corner
as before.

What was missing is the first half of that workflow on the widget itself: with Direct Selection, a plain click on a
corner widget (press and release, no drag) now selects that corner, exactly as a click on the corner's anchor does
(#1237), and Shift-click toggles it. The widget is then the only one showing and the next drag on it rounds that
corner alone. Selecting a corner by its round, then dragging it, is how long-time users remember rounding a single
corner.

Unchanged: a drag on a whole-path selection rounds every corner with both tools, Alt-click still cycles the corner
kind, the Selection tool's click on a widget still does nothing, and corners picked by their anchors edit together.

How it was tested

  • corners::tests::a_click_on_a_widget_with_direct_selection_selects_its_corner: on a rounded live rectangle, the
    click returns select.anchors {mode: "set"} with the corner's two drawn anchors, Shift-click {mode: "toggle"};
    with those anchors selected only that corner's widget shows; the Selection tool's click returns nothing.
  • The existing drag, Alt-click, star and several-paths tests pass unchanged (35 tests in corners:: and direct::).
  • cargo xtask ci: all 7 steps passed (fmt, clippy, test, assets, brands, layers, wasm).

Developed with AI assistance (Claude Code); tested locally on Windows 11.

Checklist

  • cargo xtask ci passes.
  • No panics in shipped code.
  • Clean-room: nothing copied from Adobe products or GPL/AGPL code.
  • No new assets.

🤖 Generated with Claude Code

@bflatastic

Copy link
Copy Markdown
Member

Thanks @zakariayacine. I'm holding this one for the owner to decide, because I'm not sure Illustrator works this way.

The sentence you quote can be read two ways. Tutorials and forum answers describe a different workflow. With the whole path selected, dragging any widget rounds every corner, even with Direct Selection. To round one corner, you first click that corner's anchor with Direct Selection so it's the only one selected, then drag its widget. This PR would make a widget drag on a whole-path selection round one corner only, which goes against that.

Your companion PR #1237 (a click on an already selected anchor selects it alone) makes the "click the anchor, then drag its widget" workflow work, and I'm merging that one. The owner will decide whether this PR should land as well.

…corner

Rounding a single corner is done by selecting that corner, then
dragging its widget: a drag on a path selected whole rounds every
corner with both tools, as before. What was missing is selecting the
corner on the widget itself. With the Direct Selection tool a plain
click on a corner widget (press and release, no drag) now selects that
corner, as a click on the corner's anchor does; Shift-click toggles it.
The widget is then the only one showing, and the next drag on it rounds
that corner alone.

Unchanged: Alt-click cycles the corner kind, the Selection tool's click
on a widget does nothing, corners picked by their anchors edit together.

Test: corners::tests::a_click_on_a_widget_with_direct_selection_selects_its_corner.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
@zakariayacine
zakariayacine force-pushed the fix-corner-widget-direct branch from 3b8d1fc to 4ff682f Compare October 11, 2026 18:55
@zakariayacine zakariayacine changed the title Live Corners: with Direct Selection, dragging a widget rounds that corner alone Live Corners: with Direct Selection, a click on a widget selects its corner Oct 11, 2026
@zakariayacine

Copy link
Copy Markdown
Contributor Author

Thanks, and fair point: the sentence I quoted can be read both ways, and the "click the anchor, then drag its widget" workflow is the documented one. I've reworked the PR so it no longer changes what a drag does.

What I was after is the other half of that workflow, which I've used for years in Illustrator: you can select a corner by its round, not only by its anchor. With the Direct Selection tool, a plain click on a corner widget (press and release, no drag) now selects that corner, exactly as a click on its anchor does since #1237, and Shift-click toggles it. That corner's widget is then the only one showing, and the next drag on it rounds it alone. A drag on a path selected whole still rounds every corner with both tools, Alt-click still cycles the kind, and the Selection tool's click on a widget still does nothing.

Force-pushed as one commit; title and description updated; full local gate passed. If the owner would rather keep widgets click-inert, closing is fine with me.

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants