Tool System Todo #55036

Open
opened 2018-05-12 12:09:20 +02:00 by William Reynish · 40 comments

//This task is a TODO for Campbell Barton (other devs welcome!), during the code-quest, and afterwards,
These tasks are needed for the tool system to be generally useful and pleasant to use.//

  • General Tool System Improvements
    • Keymap

      • There must be a default tool for every mode ed83075402
      • Tool Settings are separated from last used settings 96a7ed8a15
      • Move scene Orientation setting to Top Bar, aligned to the right, next to mode settings 90b2e4ce28
      • Support for easily accessible number buttons. #55039
      • Change design to match #55039
  NOTE: Now we have have HUD interfaces (new redo panel), we can use this in more places.
  This could be added as part of manipulators API (see camera frame manipulator in T54661).
  • Other related things

      • Move ‘Auto-Merge’ to Mesh Options in top bar 1422c0650c
      • Move Snapping & Snapping Options into one popover.
      • Move Proportional Edit & Proportional Edit Options into one popover.
      • Move Show/Hide Manipulator into Overlays. 90b2e4ce28
      • Remove internal/unneeded options from the operator redo panels. #54858
      • Update the design of the viewport navigation manipulator to follow design doc. #54723
      • Rotate tool widget should display snapping tick marks when holding Ctrl. See design task: #54661
      • Make the delta of movement clearer when using manipulators. See design task: #54661
      • Add option to show/hide tool manipulators (mapped to Ctrl-Tild)
      • Add option to show/hide viewport navigation widgets
  • Toolbar

      • Display shortcut key when toolbar is expanded. 06a786f12d
      • Make paint modes work with the toolbar (display shortcuts & make the active brush same as active tool)
      • Display ‘insta-tips’ while hovering over icon-only toolbar. Just shows the name of the tool.
      • Display proper tooltips that explains what each tool does, along with a keyboard shortcut to switch to that tool.
  • Implement Spin Widget

      • Make it use scene Orientation in top bar (#54661)
      • Implement drag-to-spin circular motion
      • Implement floating ‘redo’ panel to set the spin steps
  • Add Settings to Box Select, Circle Select & Lasso Select:

      • Add, Remove should be added for Circle Select
      • Select Through if possible (respect X-ray option in Object Mode)
  • Bevel tool

      • Add tool tweak settings in 3D View #55039
      • Add Tool Settings options for Segments and Verts Only d31932b6d7
  • 3D Cursor tool

      • Make it use the scene Orientation tool setting (Changes how the 3D Cursor orients itself when clicking) 3c8e4e4180
      • Option to ‘Ignore scene Orientation’: Does not copy orientation when placed.
      • Add Snapping setting, so that it can snap to verts, edges, faces etc.
      • The raycasting fails very often, and wrong orientation is often set. Glitchy behaviour.
  • Make Loop Cut tool work well

      • Make the preselect highlighting feature work as a manipulator, so that it doesn’t require an extra step 79ecfc99fd
      • Add Tool Settings option to initialise the loop cut at the mouse location, not the center, enabled by default
      • Make it so you can simply click and drag to set the cut - don’t require an extra click. cf038bcb15
      • Make multicut be properly proportionally offset when the cut is not in the middle
  • Make Improvements to Extrude tool

      • Change display: Use plus icon for making new extrusions, arrow for adjusting c3b061278e
      • When set to Local or Global, use XYZ manipulator, but with a plus on each arrow. c3b061278e
      • Make it properly update when switching orientations 0cfe9f95df
      • For Normal orientation, Z would be hidden, since it is redundant. dc4f94783d
      • Should use regular scene Orientation control dc4f94783d
      • Extrude tool always has a Normal orientation arrow dc4f94783d
      • Make entire Extrude widget slightly smaller
      • Add 'Show All Axes' option to Tool Settings which toggles display of the X Y and Z handles (off by default)
      • Add 'Click Anywhere' option, same as for the Transform tools, to define whether dragging anywhere in the 3D View executes an Extrude operation
  • Sculpt Mode

      • Combine Options, Appearance & Overlays panels inside the Options panel f047224458
  Note: For now move Appearance into overlay panel, since "Options" is a different panel for every mode, where as "Appearance/Overlay" are the same panel for all modes.
  • Hair Particle Mode

      • Make hair mode use toolbar
      • Put tool settings in the tool settings
  • Add primitive tool: MOVED to #57210

    • Add Bend tool to toolbar
    • Uses orientation plane setting
    • Option to Clamp
    • Create a bend manipulator (See design task: #54661)
    • Add Extrude Along Normals tool to toolbar (It exists in 2.7)
 We should probably add this as an option to the Extrude Region tool
    • Add new Polygon Draw tool
    • Uses orientation plane setting

    • Option to fill

      • Clicking creates verts

      • Once you have 3, the last two are selected (last one active).

      • Clicking further, adds a vertex on the edge after the selected edge.

      • If the user doesn't have two adjacent verts selected...

        • If nothing is selected, create a new polygon.
        • If something is selected - add more points to the NGon - at the closest selected vertex to the cursor.

    This way, we can move the odd Poly Build nested behind this one.

    • Curved Extrude tool (bonus)
      • An example of the kinds of tools which is now possible in 2.8
      • It has two handles on each end of the extrusion, and a Move/Rotate manipulator for moving the extrusion. See: #54661
    • Vertex Paint mode (long term TODO, see #54902)
    • Unify the transform operator settings for compensating for custom data layers. This is sometimes called 'Correct UV's', 'Interpolate'. We will call it 'Slip Face Data' and enable it by default for all the tools
    • Always Expose both X, Y and Z rotation values, even if it is a view aligned rotation

      *Note: this isn't just a UI change, the operator internals will have to be handled differently for this to work ~ @ideasman42* 
      
  • Status Bar (Refer to design task #54861)

      • Add Status Bar
      • Display a context sensitive active keymap for the active tool for the current editor.
      • Add mouse button glyphs and rounded corners around keyboard buttons (#54861) aed82dafff
      • Includes the old stats
      • Improve stats by using icons for verts, faces, edges etc
      • Includes Jobs & Notifications
      • Add option in Window menu to disable Status Bar
  • Tool Settings Editor (long term todo)

      • Refer to design task: #55043
      • The same settings should always be accessible both in Top Bar and Tool Settings tab, in case users have top bar collapsed. This is often not the case currently.
      • Implemented as a tab in Properties,
      • We could also include a Tool Adjust panel here, which is basically just the Redo panel.

      Comment: Support for redoing in a different area was possible but error prone and doesn't work well so it has been removed, redo panel needs to be in the area the operator runs in. This is because the original area can be modified or joined after an operator executes ~ ideasman42

//This task is a TODO for Campbell Barton (other devs welcome!), during the code-quest, and afterwards, These tasks are needed for the tool system to be generally useful and pleasant to use.// * General Tool System Improvements * Keymap * - [x] Add ability for active tools to be activated via a hotkey. cee39da318 698dbd6500 3b1b625ead * - [x] Way of accessing the toolbar, when toolbar is not the dominant way of accessing tools - eg spacebar+G for the Grab tool. ddebf1ea3b d3c89f50a0 * - [x] The active tool is stored per mode edf6676a77 * - [x] There must be a default tool for every mode ed83075402 * - [x] Tool Settings are separated from last used settings 96a7ed8a15 * - [x] Each tool can have its own cursor 17852b079c & b6a2dbbec2 * - [x] Move scene Orientation setting to Top Bar, aligned to the right, next to mode settings 90b2e4ce28 * - [x] Support for easily accessible number buttons. #55039 * - [ ] Change design to match #55039 ``` NOTE: Now we have have HUD interfaces (new redo panel), we can use this in more places. ``` ``` This could be added as part of manipulators API (see camera frame manipulator in T54661). ``` * Other related things * - [x] Move ‘Auto-Merge’ to Mesh Options in top bar 1422c0650c * - [x] Move Snapping & Snapping Options into one popover. * - [x] Move Proportional Edit & Proportional Edit Options into one popover. * - [x] Move Show/Hide Manipulator into Overlays. 90b2e4ce28 * - [x] Remove internal/unneeded options from the operator redo panels. #54858 * - [x] Update the design of the viewport navigation manipulator to follow design doc. #54723 * - [x] Rotate tool widget should display snapping tick marks when holding Ctrl. See design task: #54661 * - [ ] Make the delta of movement clearer when using manipulators. See design task: #54661 * - [x] Add option to show/hide tool manipulators (mapped to Ctrl-Tild) * - [x] Add option to show/hide viewport navigation widgets * Toolbar * - [x] Display shortcut key when toolbar is expanded. 06a786f12d * - [x] Make paint modes work with the toolbar (display shortcuts & make the active brush same as active tool) * - [x] Display ‘insta-tips’ while hovering over icon-only toolbar. Just shows the name of the tool. * - [x] Display proper tooltips that explains what each tool does, along with a keyboard shortcut to switch to that tool. * Implement Spin Widget * - [x] Make it use scene Orientation in top bar (#54661) * - [x] Implement drag-to-spin circular motion * - [x] Implement floating ‘redo’ panel to set the spin steps * Add Settings to Box Select, Circle Select & Lasso Select: * - [x] Add, Remove, Difference e88e80a6a0 * - [x] Add, Remove should be added for Circle Select * - [x] Select Through if possible (respect X-ray option in Object Mode) * Bevel tool * - [x] Add tool tweak settings in 3D View #55039 * - [x] Add Tool Settings options for Segments and Verts Only d31932b6d7 * 3D Cursor tool * - [x] Make it use the scene Orientation tool setting (Changes how the 3D Cursor orients itself when clicking) 3c8e4e4180 * - [x] Option to ‘Ignore scene Orientation’: Does not copy orientation when placed. * - [x] Add Snapping setting, so that it can snap to verts, edges, faces etc. * - [x] The raycasting fails very often, and wrong orientation is often set. Glitchy behaviour. * Make Loop Cut tool work well * - [x] Make the preselect highlighting feature work as a manipulator, so that it doesn’t require an extra step 79ecfc99fd * - [ ] Add Tool Settings option to initialise the loop cut at the mouse location, not the center, enabled by default * - [x] Make it so you can simply click and drag to set the cut - don’t require an extra click. cf038bcb15 * - [x] Add tool tweak UI for setting the steps #55039 f6778ea63a * - [ ] Make multicut be properly proportionally offset when the cut is not in the middle * Make Improvements to Extrude tool * - [x] Change display: Use plus icon for making new extrusions, arrow for adjusting c3b061278e * - [x] When set to Local or Global, use XYZ manipulator, but with a plus on each arrow. c3b061278e * - [x] Make it properly update when switching orientations 0cfe9f95df * - [x] For Normal orientation, Z would be hidden, since it is redundant. dc4f94783d * - [x] Should use regular scene Orientation control dc4f94783d * - [x] Extrude tool always has a Normal orientation arrow dc4f94783d * - [x] Make entire Extrude widget slightly smaller * - [x] Add 'Show All Axes' option to Tool Settings which toggles display of the X Y and Z handles (off by default) * - [ ] Add 'Click Anywhere' option, same as for the Transform tools, to define whether dragging anywhere in the 3D View executes an Extrude operation * Sculpt Mode * - [x] Remove 3D Cursor tool 5203ebbaad * - [x] Combine Options, Appearance & Overlays panels inside the Options panel f047224458 ``` Note: For now move Appearance into overlay panel, since "Options" is a different panel for every mode, where as "Appearance/Overlay" are the same panel for all modes. ``` * - [x] Fill/Deepen has no plus/minus icons 4e41a44400 * Hair Particle Mode * - [x] Make hair mode use toolbar * - [x] Put tool settings in the tool settings * Add primitive tool: MOVED to #57210 * - [ ] Add Bend tool to toolbar * Uses orientation plane setting * Option to Clamp * Create a bend manipulator (See design task: #54661) * - [x] Add Extrude Along Normals tool to toolbar (It exists in 2.7) ``` We should probably add this as an option to the Extrude Region tool ``` * - [ ] Add new Polygon Draw tool * Uses orientation plane setting * Option to fill * Clicking creates verts * Once you have 3, the last two are selected (last one active). * Clicking further, adds a vertex on the edge after the selected edge. * If the user doesn't have two adjacent verts selected... * If nothing is selected, create a new polygon. * If something is selected - add more points to the NGon - at the closest selected vertex to the cursor. *This way, we can move the odd Poly Build nested behind this one.* * - [ ] Curved Extrude tool (bonus) * An example of the kinds of tools which is now possible in 2.8 * It has two handles on each end of the extrusion, and a Move/Rotate manipulator for moving the extrusion. See: #54661 * - [x] Vertex Paint mode (long term TODO, see #54902) * - [ ] Unify the transform operator settings for compensating for custom data layers. This is sometimes called 'Correct UV's', 'Interpolate'. We will call it 'Slip Face Data' and enable it by default for all the tools * - [ ] Always Expose both X, Y and Z rotation values, even if it is a view aligned rotation *Note: this isn't just a UI change, the operator internals will have to be handled differently for this to work ~ @ideasman42* * Status Bar (Refer to design task #54861) * - [x] Add Status Bar * - [x] Display a context sensitive active keymap for the active tool for the current editor. * - [x] Add mouse button glyphs and rounded corners around keyboard buttons (#54861) aed82dafff * - [x] Includes the old stats * - [ ] Improve stats by using icons for verts, faces, edges etc * - [x] Includes Jobs & Notifications * - [x] Add option in Window menu to disable Status Bar * Tool Settings Editor (long term todo) * - [x] Refer to design task: #55043 * - [x] The same settings should always be accessible both in Top Bar and Tool Settings tab, in case users have top bar collapsed. This is often not the case currently. * - [x] Implemented as a tab in Properties, * - [ ] We could also include a Tool Adjust panel here, which is basically just the Redo panel. *Comment: Support for redoing in a different area was possible but error prone and doesn't work well so it has been removed, redo panel needs to be in the area the operator runs in. This is because the original area can be modified or joined after an operator executes ~ ideasman42*
Campbell Barton was assigned by William Reynish 2018-05-12 12:09:20 +02:00

Added subscriber: @WilliamReynish

Added subscriber: @WilliamReynish

Added subscriber: @TonatiuhdeSanJulian

Added subscriber: @TonatiuhdeSanJulian

Hello, maybe we can use the 3D cursor in sculpt mode, for example to control the center of the rotate brush, I think it can be pretty usefully. Also the pinch and magnify brush can use that feature.

Hello, maybe we can use the 3D cursor in sculpt mode, for example to control the center of the rotate brush, I think it can be pretty usefully. Also the pinch and magnify brush can use that feature.

Added subscriber: @DavidKozma

Added subscriber: @DavidKozma

Hi guys,

Have you ever considered using the active tools without pre-selected elements?
I believe it's tedious and reduntant to do every single item selection separately before using a tool. Especially since you want to make it work continuously.
(If I want to work on multiple elements at once I'd have to select them first for sure)
But many of the tools could simply work with Left Clicking on the elements themselves.
Extrude on polygons would be (/w drag) Click,click, click instead of select, click, select, click, select, click.

Or this wanders into the same shady street as pre-selection highlights?

Hi guys, Have you ever considered using the active tools without pre-selected elements? I believe it's tedious and reduntant to do every single item selection separately before using a tool. Especially since you want to make it work continuously. (If I want to work on multiple elements at once I'd have to select them first for sure) But many of the tools could simply work with Left Clicking on the elements themselves. Extrude on polygons would be (/w drag) Click,click, click instead of select, click, select, click, select, click. Or this wanders into the same shady street as pre-selection highlights?

David: Yes, we have thought of that. Loop Cut will work this way, somewhat like it did in 2.79 and earlier, with no selection needed, and using a kind of 'preview', which is essentially a kind of pre-selection highlighting.

We might expand this to other tools, or perhaps have a tool setting to use the active tool this way.

David: Yes, we have thought of that. Loop Cut will work this way, somewhat like it did in 2.79 and earlier, with no selection needed, and using a kind of 'preview', which is essentially a kind of pre-selection highlighting. We might expand this to other tools, or perhaps have a tool setting to use the active tool this way.

This setting would be so good...

Assuming that the movement will NOT be screen-space but will happen in the normal direction :)

This setting would be so good... Assuming that the movement will NOT be screen-space but will happen in the normal direction :)

Added subscriber: @JonDoe286

Added subscriber: @JonDoe286

@ideasman42 @WilliamReynish Hi Guys, Amazing updates on the Tools Systems & Icons so far. Thanks for ALL the hard work. :) Really love the new Click > Drag > Release method for the Active Tools. Would be awesome if we could have the same functionality on the operations when invoked via Shortcut too. Because I noticed that the action hasn't changed for those. (Yet)

Since most of us work with shortcuts to invoke the same tools, would be amazing if we could have the same functionality for both. Active Tools from Toolbar & Shortcuts alike. :)

Might I suggest a setting in the User Prefs. to avoid any pitch-forks being raised as it does for any changes that are made these days. Lol

User Prefs. > Editing > Edit Mesh Tools, Mesh Tools -or- Tools (Semantics) > Release Confirms. Just like the setting for the Transform.


Using this new system with the active tools has been extremely fluid and natural. I really like how it eliminates the struggle when using a stylus as before this; Clicking to activate, hovering over the tablet to position -or- change values and clicking down to confirm has always been so inaccurate due to micro hand movements while hovering, then tapping down to confirm.

Now with the Click > Drag > Release. Much better control. But felt it was a bit of a bummer that it's limited to only active tools.

Also for the Loop-Cut+Slide Tool. Click to add a loop-cut in middle. Click, Drag 'n Release to slide and place is very well done. Would be nice if scroll up/down to change number of cuts would return during pre-highlighting though. If it's possible. Right now it just adjusts zoom. --- And maybe an in-editor/on-screen pop-up to change cuts for stylus users who don't have a scroll wheel. :)


Also noticed a few inconsistencies in how the Active Tools operate between having LMB Select Vs. RMB Select in User Prefs.

Shortcut Method

Actions seems to be consistent between LMB/RMB Select prefs. --- Shortcut (Invoke Operation) > LMB-Click to Confirm > RMB-Click to Cancel

Active Tool Method

LMB Select: RMB Activates Tool / LMB Confirms
RMB Select: LMB Activates Tool / RMB Cancels

LMB Select: RMB Click > Drag > Release method isn't available for some of the tools like Inset, Bevel, Etc. (Gotta LMB to Confirm)
RMB Select: LMB Click > Drag > Release to perform action works as intended.

LMB Select: (Loop-Cut & Slide Tool): Click > Drag > Release --- Click > Drag > LMB-Click, does the same thing. Not a bad thing, just felt a bit inconsistent compared to RMB Select action of the same tool.
RMB Select: (Loop-Cut & Slide Tool): LMB-Click > Drag > Rlease, works as intended. --- Click > Drag > RMB-Click, Cancels/Snaps Cut to Center.

TL;DR: Would love to see more consistency between how the Active Tools operate between LMB/RMB. Nothing major but would definitely make things more polished. I know we're getting there. :) And also to see the same QoL improvements made to Active Tools also make it into Shortcut Tools. At least an option in preferences to make them work similarly.

Thanks again for all the hard work guys. Hope this small critiques made sense. Cheers 'n have a great week. Code-On! \m/

@ideasman42 @WilliamReynish Hi Guys, Amazing updates on the Tools Systems & Icons so far. Thanks for ALL the hard work. :) Really love the new **Click > Drag > Release** method for the Active Tools. Would be awesome if we could have the same functionality on the operations when invoked via **Shortcut** too. Because I noticed that the action hasn't changed for those. *(Yet)* Since most of us work with shortcuts to invoke the same tools, would be amazing if we could have the same functionality for both. Active Tools from Toolbar & Shortcuts alike. :) Might I suggest a setting in the User Prefs. to avoid any pitch-forks being raised as it does for any changes that are made these days. Lol User Prefs. > Editing > Edit Mesh Tools, Mesh Tools -or- Tools *(Semantics)* > **Release Confirms**. Just like the setting for the Transform. ___ Using this new system with the active tools has been extremely fluid and natural. I really like how it eliminates the struggle when using a stylus as before this; Clicking to activate, hovering over the tablet to position -or- change values and clicking down to confirm has always been so inaccurate due to micro hand movements while hovering, then tapping down to confirm. Now with the Click > Drag > Release. Much better control. But felt it was a bit of a bummer that it's limited to only active tools. Also for the Loop-Cut+Slide Tool. Click to add a loop-cut in middle. Click, Drag 'n Release to slide and place is very well done. Would be nice if scroll up/down to change number of cuts would return during pre-highlighting though. If it's possible. Right now it just adjusts zoom. --- And maybe an in-editor/on-screen pop-up to change cuts for stylus users who don't have a scroll wheel. :) ___ Also noticed a few inconsistencies in how the **Active Tools** operate between having LMB Select Vs. RMB Select in User Prefs. **Shortcut Method** Actions seems to be consistent between LMB/RMB Select prefs. --- Shortcut (Invoke Operation) > LMB-Click to Confirm > RMB-Click to Cancel **Active Tool Method** LMB Select: RMB Activates Tool / LMB Confirms RMB Select: LMB Activates Tool / RMB Cancels LMB Select: RMB Click > Drag > Release method isn't available for some of the tools like Inset, Bevel, Etc. *(Gotta LMB to Confirm)* RMB Select: LMB Click > Drag > Release to perform action works as intended. LMB Select: (Loop-Cut & Slide Tool): Click > Drag > Release --- Click > Drag > LMB-Click, does the same thing. Not a bad thing, just felt a bit inconsistent compared to RMB Select action of the same tool. RMB Select: (Loop-Cut & Slide Tool): LMB-Click > Drag > Rlease, works as intended. --- Click > Drag > RMB-Click, Cancels/Snaps Cut to Center. TL;DR: Would love to see more consistency between how the Active Tools operate between LMB/RMB. Nothing major but would definitely make things more polished. I know we're getting there. :) And also to see the same QoL improvements made to Active Tools also make it into Shortcut Tools. At least an option in preferences to make them work similarly. Thanks again for all the hard work guys. Hope this small critiques made sense. Cheers 'n have a great week. Code-On! \m/

Gibran: I can answer a few of your questions:

  • Scroll wheel to increase cuts for Loop Cut tool can't work, because it's already used for zoom. Since the active tools are persistent, we can't override basic keys.
  • The new tools currently don't work well with LMB-select, because if LMB is select, then that button can't also be used to manipulate the tools. Other apps mainy get around this by having a separate Select tool, or a way to 'drop' your tool, so you return to selection. I think we should solve this by making improvements to the Select Border tool, so it can act as a proper select tool, mainly for tablet users who don't have a comfortable way to use RMB.
Gibran: I can answer a few of your questions: - Scroll wheel to increase cuts for Loop Cut tool can't work, because it's already used for zoom. Since the active tools are persistent, we can't override basic keys. - The new tools currently don't work well with LMB-select, because if LMB is select, then that button can't also be used to manipulate the tools. Other apps mainy get around this by having a separate Select tool, or a way to 'drop' your tool, so you return to selection. I think we should solve this by making improvements to the Select Border tool, so it can act as a proper select tool, mainly for tablet users who don't have a comfortable way to use RMB.

@WilliamReynish Hi, Thanks William for the info. Appreciate it. :)

Hmmm. That's understandable about scroll wheel not being able to work with Loop-Cut Tool. It still works with the Ctrl+R shortcut and I guess when we have on-screen mini-panels to change # of cuts, etc. No loss there. :) Thanks for explaining this though, I'm sure many others will find the information useful. (Before pitch-forks. Lol)

Also about the LMB for Active Tools + Select. I'm totally fine with LMB being 'Select' and RMB being 'Tool'. This works as expected, so that's not really the inconsistency I was referencing. :)

When RMB is set as 'Select'. LMB Click > Drag > Release works as intended.

But when LMB is set as 'Select', RMB Click > Drag works. But if when you release RMB it Cancels and you need to LMB-Click to Confirm.

It's only in a couple of tools I regularly use that I noticed, (Inset, Bevel Tool, Etc.) Might be in more. But it basically boils down to RMB not working as a Click > Drag > Release method when in a LMB Select setup. Other than that, totally fine with LMB being 'Select' and RMB being 'Active Tool' when setup as such in Prefs. I'm sorry if there was any confusion in the way I worded my post regarding this difference. :)

Agreed on the Select Border Tool though. Lotta artists use tablets now more for health purposes than just artistic needs. So having comfortable hotkey & tool setups with on-screen edit-panels (sliders/values) that pop-up under or close to mouse pointer are definitely the way to go.

@WilliamReynish Hi, Thanks William for the info. Appreciate it. :) Hmmm. That's understandable about scroll wheel not being able to work with Loop-Cut Tool. It still works with the Ctrl+R shortcut and I guess when we have on-screen mini-panels to change # of cuts, etc. No loss there. :) Thanks for explaining this though, I'm sure many others will find the information useful. *(Before pitch-forks. Lol)* Also about the LMB for Active Tools + Select. I'm totally fine with LMB being 'Select' and RMB being 'Tool'. This works as expected, so that's not really the inconsistency I was referencing. :) When RMB is set as 'Select'. LMB Click > Drag > Release works as intended. But when LMB is set as 'Select', RMB Click > Drag works. But if when you release RMB it Cancels and you need to LMB-Click to Confirm. It's only in a couple of tools I regularly use that I noticed, *(Inset, Bevel Tool, Etc.)* Might be in more. But it basically boils down to RMB not working as a Click > Drag > Release method when in a LMB Select setup. Other than that, totally fine with LMB being 'Select' and RMB being 'Active Tool' when setup as such in Prefs. I'm sorry if there was any confusion in the way I worded my post regarding this difference. :) Agreed on the Select Border Tool though. Lotta artists use tablets now more for health purposes than just artistic needs. So having comfortable hotkey & tool setups with on-screen edit-panels (sliders/values) that pop-up under or close to mouse pointer are definitely the way to go.

Ok, that could be a bug/mistake. This kind of thing can happen if we mix 'action mouse' and 'left mouse'. When the user then switches to LMB select, only the action mouse events are flipped, which can cause conflicts.

Ok, that could be a bug/mistake. This kind of thing can happen if we mix 'action mouse' and 'left mouse'. When the user then switches to LMB select, only the action mouse events are flipped, which can cause conflicts.

In #55036#529668, @WilliamReynish wrote:
Ok, that could be a bug/mistake. This kind of thing can happen if we mix 'action mouse' and 'left mouse'. When the user then switches to LMB select, only the action mouse events are flipped, which can cause conflicts.

Yeah. Exactly what I was thinking too. Other than that slight inconsistency between how the Click > Drag > Release Mouse works in LMB Vs. RMB Select. No other issues with how selection and active tool is mapped to both clicks. :) I only noticed it in Bevel and Inset tools. But it might be in other tools also. Will definitely test and let you guys know if I find any.

Also, would love to have the same functionality of Click > Drag > Release to Confirm for these same tools in their shortcut form. SO convenient as a Mouse/Tablet user. At least a setting in User Prefs. as to not take away current functionality from users who are used to Click > Confirm. :)

PS: Also noticed C key for (C)lamp function doesn't work when using Loop-Cut+Slide in Shortcut or Tool. Alt works as a Hold Toggle. But C key doesn't Toggle the Clamp On/Off.

> In #55036#529668, @WilliamReynish wrote: > Ok, that could be a bug/mistake. This kind of thing can happen if we mix 'action mouse' and 'left mouse'. When the user then switches to LMB select, only the action mouse events are flipped, which can cause conflicts. Yeah. Exactly what I was thinking too. Other than that slight inconsistency between how the Click > Drag > Release Mouse works in LMB Vs. RMB Select. No other issues with how selection and active tool is mapped to both clicks. :) I only noticed it in Bevel and Inset tools. But it might be in other tools also. Will definitely test and let you guys know if I find any. Also, would love to have the same functionality of Click > Drag > Release to Confirm for these same tools in their shortcut form. SO convenient as a Mouse/Tablet user. At least a setting in User Prefs. as to not take away current functionality from users who are used to Click > Confirm. :) PS: Also noticed **C** key for (C)lamp function doesn't work when using Loop-Cut+Slide in Shortcut or Tool. Alt works as a *Hold* Toggle. But C key doesn't Toggle the Clamp On/Off.

Added subscriber: @xrg

Added subscriber: @xrg

The new tools currently don't work well with LMB-select, because if LMB is select, then that button can't also be used to manipulate the tools.

I thought the whole purpose of the widgets was to perform the action?

LMB = Select on any tools that require a selection to work. Brushes and certain tools like Knife would be exceptions.
LMB-Drag = Border Select (or whatever selection tool is selected). Border select is how those of us that already use LMB select can select "through" manipulators.
Active tool widget = Perform the action

I guess maybe I don't understand the purpose of the widgets. If we have something selected we can click anywhere to perform the action without the widget. If we have nothing selected, most of the tools appear to be broken since clicking LMB will just fail silently.

It seems like an odd implementation to add widgets and then not really use them.

> The new tools currently don't work well with LMB-select, because if LMB is select, then that button can't also be used to manipulate the tools. I thought the whole purpose of the widgets was to perform the action? LMB = Select on any tools that require a selection to work. Brushes and certain tools like Knife would be exceptions. LMB-Drag = Border Select (or whatever selection tool is selected). Border select is how those of us that already use LMB select can select "through" manipulators. Active tool widget = Perform the action I guess maybe I don't understand the purpose of the widgets. If we have something selected we can click anywhere to perform the action without the widget. If we have nothing selected, most of the tools appear to be broken since clicking LMB will just fail silently. It seems like an odd implementation to add widgets and then not really use them.

xrg: I'm confused by your question.

The purpose of the widgets is to manipulate your scene in a visual way. By default, tools are used with LMB, so you drag in the viewport to use whatever tool is active.

You can't do two things at the same time with the same key. If LMB is using the tool, it can't be select at the same time.

It seems as if you are suggesting that tools should go into a select mode if nothing is selected?

xrg: I'm confused by your question. The purpose of the widgets is to manipulate your scene in a visual way. By default, tools are used with LMB, so you drag in the viewport to use whatever tool is active. You can't do two things at the same time with the same key. If LMB is using the tool, it can't be select at the same time. It seems as if you are suggesting that tools should go into a select mode if nothing is selected?

BTW, modo works that way. When you are done interacting with a tool, you have to 'drop' that tool to return to selection. Blender currently doesn't work like that.

For LMB-select users, we really need to make bigger changes to the keymap to support it in a good way, to avoid the conflict of using tool vs selecting. Many apps solve this by simply having a super easy way to switch to the select tool, which is often the Q key, next to WER for Move, Rotate, Scale. By default, the Select Border tool doesn't have a shortcut assigned in Blender, so it's currently a hassle to switch to it.

This thing shows you that the LMB-Select option that simply flips things around just isn't a very good option. We can and should support devices, such as tablets, where RMB is not available or uncomfortable to use, but it requires deeper changes than just flipping LMB and RMB.

BTW, modo works that way. When you are done interacting with a tool, you have to 'drop' that tool to return to selection. Blender currently doesn't work like that. For LMB-select users, we really need to make bigger changes to the keymap to support it in a good way, to avoid the conflict of using tool vs selecting. Many apps solve this by simply having a super easy way to switch to the select tool, which is often the Q key, next to WER for Move, Rotate, Scale. By default, the Select Border tool doesn't have a shortcut assigned in Blender, so it's currently a hassle to switch to it. This thing shows you that the LMB-Select option that simply flips things around just isn't a very good option. We can and should support devices, such as tablets, where RMB is not available or uncomfortable to use, but it requires deeper changes than just flipping LMB and RMB.

I guess right now the simple way to have the best of both worlds in Blender (which is the current setup anyway) is to have Select = LMB and Active-Tool = RMB. And vice versa if you use RMB to Select.

I totally get what William is referring to as having a different tool for Selection, so then when you drop that tool and pick up another tool. LMB is free to use for that specific tool. And RMB can act as a context sensitive options menu for that specific tool or specific editor window.

But in Blender we don't really have RMB menus used much in the 3D View yeah? So instead we have Selection which works on LMB -or- RMB depending on User Prefs. and the Alternating MB always works as a Active Tool. It's sure different but it works so. And practically speaking, I'd find it cumbersome to have to always switch to a dedicated 'Select' tool, while using another tool whenever I have to select something.

Eg:- Right now, if I wanna Bevel an edge, I can LMB-Click to select it and RMB-Click > Drag > Release to Bevel it with the Bevel Tool active. Select another edge to Bevel? Left-Click and RMB > Drag. It works right? :)

@xrg In a perfect world. It would be amazing to have the Selection + Tool Operation both in the same Mouse Button. LMB -or- RMB. At least what we have atm isn't overly confusing or annoying to use. And with the new Click > Drag >Release method makes it even more fluid to use rather than when you use a tool and forget to Click > Confirm. :)

PS: Thanks for sharing all the Important Dev updates on BA Forum. Follow your threads daily. Good Work mate. :)

I guess right now the simple way to have the best of both worlds in Blender *(which is the current setup anyway)* is to have Select = LMB and Active-Tool = RMB. And vice versa if you use RMB to Select. I totally get what William is referring to as having a different tool for Selection, so then when you **drop** that tool and **pick up** another tool. LMB is free to use for that specific tool. And RMB can act as a context sensitive options menu for that specific tool or specific editor window. But in Blender we don't really have RMB menus used much in the 3D View yeah? So instead we have Selection which works on LMB -or- RMB depending on User Prefs. and the Alternating MB always works as a Active Tool. It's sure different but it works so. And practically speaking, I'd find it cumbersome to have to always switch to a dedicated 'Select' tool, while using another tool whenever I have to select something. Eg:- Right now, if I wanna Bevel an edge, I can LMB-Click to select it and RMB-Click > Drag > Release to Bevel it with the Bevel Tool active. Select another edge to Bevel? Left-Click and RMB > Drag. It works right? :) @xrg In a perfect world. It would be amazing to have the Selection + Tool Operation both in the same Mouse Button. LMB -or- RMB. At least what we have atm isn't overly confusing or annoying to use. And with the new Click > Drag >Release method makes it even more fluid to use rather than when you use a tool and forget to Click > Confirm. :) PS: Thanks for sharing all the Important Dev updates on BA Forum. Follow your threads daily. Good Work mate. :)

Well, as far as I see it, there isn't much point in having LMB select if it means that tools are used with RMB. The entire reason why most people use LMB select is if they use a device where RMB is not easily accessible, and so RMB for tools is equally as bad, just in a different way.

Yes, you can flip it and it does work, but using tools with RMB is even more non-standard and weird than RMB-Select, so I almost don't see the point.

To make LMB-select work well, the whole setup needs bigger underlying changes, so that it's easy to switch between selection and other tools. This is part of the reason I think the Industry Standard keymap could be interesting for people, because it is designed with LMB-select and LMB tools from the start, without conflicting. It then uses RMB for right click context sensitive menus.

Well, as far as I see it, there isn't much point in having LMB select if it means that tools are used with RMB. The entire reason why most people use LMB select is if they use a device where RMB is not easily accessible, and so RMB for tools is equally as bad, just in a different way. Yes, you can flip it and it does work, but using tools with RMB is even more non-standard and weird than RMB-Select, so I almost don't see the point. To make LMB-select work well, the whole setup needs bigger underlying changes, so that it's easy to switch between selection and other tools. This is part of the reason I think the Industry Standard keymap could be interesting for people, because it is designed with LMB-select and LMB tools from the start, without conflicting. It then uses RMB for right click context sensitive menus.

@WilliamReynish Agreed on all points. And I think that's the same as what @xrg was trying to convey too. Point of Active-Tools/Widgets should be to use LMB-Click to Select (for tools that need selection first, like bevel, extrude, inset, etc.) and then Click > Drag > Release to Manipulate that selection via the selected tool or an on-screen manipulator and compliment that with pop-ups/widget panels (Options/Values/Sliders) that appear under or close to manipulator or mouse pointer. (I know you guys are working on manipulators & widget panels for the tools so super excited for when those get committed.)

Kinda like what add-ons such Hard-Ops, Box-Cutter, Speedflow, Etc. do by giving visual feedback on-screen while manipulating the selection with Click-Drag Events. --- But still having actual widgets and manipulators with control points/planes, manipulators, pop-ups with option boxes, slider, values would be Next Level for Blender. It'll be a dream, working in full-screen with just shortcuts or a single toolbar in the left corner and everything done with LMB-Click/Drags and RMB for Extra Options. :)

To make LMB-select work well, the whole setup needs bigger underlying changes, so that it's easy to switch between selection and other tools.

And therein lies the issue, It'll definitely be a lotta work. Re-doing an entire system, not to mention so many Blender Vets who would be ready with the torches to rally against the changes. Lol I for one would love if we could experiment and create such a build. But I'm no coder and the current hotkey editor breaks something somewhere deeper more than I can make changes to get it working properly. :( --- In a perfect world, but for now. at least the setup we have isn't too annoying to use. Sucks a lot for tablet users for sure when using LMB-Select. And RMB-Drag-Release for Tools. But it's a compromise for the time being.

Hope the Community + Devs can get together and come up with a setup where everything works so Fluently and Naturally from Mouse-Clicks-Drags to Shortcuts that nobody will find it a chore to get started in Blender.

This is part of the reason I think the Industry Standard keymap could be interesting for people, because it is designed with LMB-select and LMB tools from the start, without conflicting. It then uses RMB for right click context sensitive menus.

Would definitely be worth the try. I'm totally open to changes and adapting to them if it makes sense, isn't un-necessarily clunky/complicated and doesn't slow me down as an end-user. Looking forward to it. Thanks for all the effort you guys have been putting into it. :)

@WilliamReynish Agreed on all points. And I think that's the same as what @xrg was trying to convey too. Point of Active-Tools/Widgets should be to use LMB-Click to **Select** *(for tools that need selection first, like bevel, extrude, inset, etc.)* and then Click > Drag > Release to **Manipulate** that selection via the selected tool or an on-screen manipulator and compliment that with pop-ups/widget panels *(Options/Values/Sliders)* that appear under or close to manipulator or mouse pointer. *(I know you guys are working on manipulators & widget panels for the tools so super excited for when those get committed.)* Kinda like what add-ons such Hard-Ops, Box-Cutter, Speedflow, Etc. do by giving visual feedback on-screen while manipulating the selection with Click-Drag Events. --- But still having actual widgets and manipulators with control points/planes, manipulators, pop-ups with option boxes, slider, values would be **Next Level** for Blender. It'll be a dream, working in full-screen with just shortcuts or a single toolbar in the left corner and everything done with LMB-Click/Drags and RMB for Extra Options. :) > To make LMB-select work well, the whole setup needs bigger underlying changes, so that it's easy to switch between selection and other tools. And therein lies the issue, It'll definitely be a lotta work. Re-doing an entire system, not to mention so many Blender Vets who would be ready with the torches to rally against the changes. Lol I for one would love if we could experiment and create such a build. But I'm no coder and the current hotkey editor breaks something somewhere deeper more than I can make changes to get it working properly. :( --- In a perfect world, but for now. at least the setup we have isn't too annoying to use. Sucks a lot for tablet users for sure when using LMB-Select. And RMB-Drag-Release for Tools. But it's a compromise for the time being. Hope the Community + Devs can get together and come up with a setup where everything works so **Fluently** and **Naturally** from Mouse-Clicks-Drags to Shortcuts that nobody will find it a chore to get started in Blender. > This is part of the reason I think the Industry Standard keymap could be interesting for people, because it is designed with LMB-select and LMB tools from the start, without conflicting. It then uses RMB for right click context sensitive menus. Would definitely be worth the try. I'm totally open to changes and adapting to them if it makes sense, isn't un-necessarily clunky/complicated and doesn't slow me down as an end-user. Looking forward to it. Thanks for all the effort you guys have been putting into it. :)

Added subscriber: @TheRedWaxPolice

Added subscriber: @TheRedWaxPolice

Hi...
Any plans on making the "Rip Vertices and Fill (Alt + V)" tool as an active tool available in the toolbar?
This is a really powerful modeling tool, it would great to have it available there.

Thx. ?

Hi... Any plans on making the "Rip Vertices and Fill (Alt + V)" tool as an active tool available in the toolbar? This is a really powerful modeling tool, it would great to have it available there. Thx. ?

@TheRedWaxPolice fill is an option in the topbar.

@TheRedWaxPolice fill is an option in the topbar.

Hi @ideasman42 thanks for the tip, I totally missed that option.
Another thing, the true power of the Fill option is when you press "G" after you started using the tool, as it allows you to slide the edges. So if there was an option to initiate this tool in this mode already (without the need to press G) it would help a lot. Also an option to generate N-gons when sliding the edges would make this tool even more powerful.

?

Hi @ideasman42 thanks for the tip, I totally missed that option. Another thing, the true power of the Fill option is when you press "G" after you started using the tool, as it allows you to slide the edges. So if there was an option to initiate this tool in this mode already (without the need to press G) it would help a lot. Also an option to generate N-gons when sliding the edges would make this tool even more powerful. ?

Added subscriber: @0o00o0oo

Added subscriber: @0o00o0oo

Added subscriber: @Regnas

Added subscriber: @Regnas

Hi @ideasman42 any chance to have the Lasso mask available as a tool in the toolbar in sculpt mode? That one would be really useful. Currently we only have the Box mask in the toolbar.
Thank you.

Hi @ideasman42 any chance to have the Lasso mask available as a tool in the toolbar in sculpt mode? That one would be really useful. Currently we only have the Box mask in the toolbar. Thank you.

@Regnas fixed #65108 (Grease Pencil Box & Lasso Select Tool do not work in Sculpt Mode)

@Regnas fixed #65108 (Grease Pencil Box & Lasso Select Tool do not work in Sculpt Mode)

@ideasman42 Sorry, but that's not what I mean.

I mean this:
image.png
As you can see, the Box Mask is available there as a tool in the toolbar, but the Lasso Mask isn't.

@ideasman42 Sorry, but that's not what I mean. I mean this: ![image.png](https://archive.blender.org/developer/F7090185/image.png) As you can see, the Box Mask is available there as a tool in the toolbar, but the Lasso Mask isn't.

Committed 9337ba7fa6

Committed 9337ba7fa6

Thank you very much. :)

Thank you very much. :)

Added subscriber: @hlorus

Added subscriber: @hlorus

Added subscriber: @Vyach

Added subscriber: @Vyach

One note about «Add primitive» tool.
It will be nice to have option «origin at center of base». Useful for creating things on the floor (cup) or surfaces (spikes).
Wondermesh addon have it for example (Centered by default)

Also. As far as tool have 2 options for draw origin, real origin can be placed, depending on this option: centered for «Center» and in the center of bas for «Base»
47354749.png

One note about «Add primitive» tool. It will be nice to have option «origin at center of base». Useful for creating things on the floor (cup) or surfaces (spikes). Wondermesh addon have it for example (Centered by default) Also. As far as tool have 2 options for draw origin, real origin can be placed, depending on this option: centered for «Center» and in the center of bas for «Base» ![47354749.png](https://archive.blender.org/developer/F8765399/47354749.png)

@ideasman42 Any hope to re-enable the 3D Cursor tool in sculpt mode? I believe it was removed when there was no transform tools in sculpt mode. Now the 3D Cursor tool might be actually useful there.

@ideasman42 Any hope to re-enable the 3D Cursor tool in sculpt mode? I believe it was removed when there was no transform tools in sculpt mode. Now the 3D Cursor tool might be actually useful there.

In #55036#1039102, @TheRedWaxPolice wrote:
@ideasman42 Any hope to re-enable the 3D Cursor tool in sculpt mode? I believe it was removed when there was no transform tools in sculpt mode. Now the 3D Cursor tool might be actually useful there.

+1
Why was it disabled? I mean, it's an overlay and can be hidden at any time. I don't understand.

> In #55036#1039102, @TheRedWaxPolice wrote: > @ideasman42 Any hope to re-enable the 3D Cursor tool in sculpt mode? I believe it was removed when there was no transform tools in sculpt mode. Now the 3D Cursor tool might be actually useful there. +1 Why was it disabled? I mean, it's an overlay and can be hidden at any time. I don't understand.

Agree. 3D cursor should be visible, since we have transform tools and GRS anytime.
But sculpt workspace can have 3d cursor switched off by default.
I miss this old tiny bro!

Agree. 3D cursor should be visible, since we have transform tools and GRS anytime. But sculpt workspace can have 3d cursor switched off by default. I miss this old tiny bro!

Added subscriber: @AndyCuccaro

Added subscriber: @AndyCuccaro
Member

Added subscriber: @kursadk

Added subscriber: @kursadk
Member

Can we please bring back 3d cursor to the sculpt mode? It is very useful when sculpting large scale objects where even couple cm matters, it helps for visually navigating and pinpointing areas especially for shot fixing.

Can we please bring back 3d cursor to the sculpt mode? It is very useful when sculpting large scale objects where even couple cm matters, it helps for visually navigating and pinpointing areas especially for shot fixing.
Sign in to join this conversation.
No Label
Interest
Alembic
Interest
Animation & Rigging
Interest
Asset Browser
Interest
Asset Browser Project Overview
Interest
Audio
Interest
Automated Testing
Interest
Blender Asset Bundle
Interest
BlendFile
Interest
Collada
Interest
Compatibility
Interest
Compositing
Interest
Core
Interest
Cycles
Interest
Dependency Graph
Interest
Development Management
Interest
EEVEE
Interest
EEVEE & Viewport
Interest
Freestyle
Interest
Geometry Nodes
Interest
Grease Pencil
Interest
ID Management
Interest
Images & Movies
Interest
Import Export
Interest
Line Art
Interest
Masking
Interest
Metal
Interest
Modeling
Interest
Modifiers
Interest
Motion Tracking
Interest
Nodes & Physics
Interest
OpenGL
Interest
Overlay
Interest
Overrides
Interest
Performance
Interest
Physics
Interest
Pipeline, Assets & IO
Interest
Platforms, Builds & Tests
Interest
Python API
Interest
Render & Cycles
Interest
Render Pipeline
Interest
Sculpt, Paint & Texture
Interest
Text Editor
Interest
Translations
Interest
Triaging
Interest
Undo
Interest
USD
Interest
User Interface
Interest
UV Editing
Interest
VFX & Video
Interest
Video Sequencer
Interest
Virtual Reality
Interest
Vulkan
Interest
Wayland
Interest
Workbench
Interest: X11
Legacy
Blender 2.8 Project
Legacy
Milestone 1: Basic, Local Asset Browser
Legacy
OpenGL Error
Meta
Good First Issue
Meta
Papercut
Meta
Retrospective
Meta
Security
Module
Animation & Rigging
Module
Core
Module
Development Management
Module
EEVEE & Viewport
Module
Grease Pencil
Module
Modeling
Module
Nodes & Physics
Module
Pipeline, Assets & IO
Module
Platforms, Builds & Tests
Module
Python API
Module
Render & Cycles
Module
Sculpt, Paint & Texture
Module
Triaging
Module
User Interface
Module
VFX & Video
Platform
FreeBSD
Platform
Linux
Platform
macOS
Platform
Windows
Priority
High
Priority
Low
Priority
Normal
Priority
Unbreak Now!
Status
Archived
Status
Confirmed
Status
Duplicate
Status
Needs Info from Developers
Status
Needs Information from User
Status
Needs Triage
Status
Resolved
Type
Bug
Type
Design
Type
Known Issue
Type
Patch
Type
Report
Type
To Do
No Milestone
No project
No Assignees
13 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: blender/blender#55036
No description provided.