<html><head><style>body{font-family:Helvetica,Arial;font-size:13px}</style></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;"><div id="bloop_customfont" style="font-family:Helvetica,Arial;font-size:13px; color: rgba(0,0,0,1.0); margin: 0px; line-height: auto;">Whoops, my previous email sent too soon. Here’s the full message.</div><div id="bloop_customfont" style="font-family:Helvetica,Arial;font-size:13px; color: rgba(0,0,0,1.0); margin: 0px; line-height: auto;"><br></div><div id="bloop_customfont" style="margin: 0px;"><div id="bloop_customfont" style="color: rgb(0, 0, 0); font-family: Helvetica, Arial; font-size: 13px; margin: 0px;">Hey all!</div><div id="bloop_customfont" style="color: rgb(0, 0, 0); font-family: Helvetica, Arial; font-size: 13px; margin: 0px;"><br></div><div id="bloop_customfont" style="color: rgb(0, 0, 0); font-family: Helvetica, Arial; font-size: 13px; margin: 0px;">What with my unplanned absence, I thought I’d write up a few of my thoughts (and hopes) for focus during the workflow sprint. I have three main topics that I’d love to see explored:</div><ol style="color: rgb(0, 0, 0); font-family: 'helvetica Neue', helvetica; font-size: 14px;"><li><b>Tool Workflow as it relates to&nbsp;utilizing tools from hotkeys, menus, and toolbars</b></li><li><b>Universal (simplified) keymap with an emphasis on selection + transformation that leaves&nbsp;room for customization</b></li><li><b>Make Modals truly non-blocking or else remove them entirely</b></li></ol><div style="color: rgb(0, 0, 0);"><font face="helvetica Neue, helvetica"><span style="font-size: 14px;"><b><br></b></span></font></div><div style="color: rgb(0, 0, 0);"><font face="helvetica Neue, helvetica"><span style="font-size: 14px;">To expand on each of these...</span></font></div><div style="color: rgb(0, 0, 0);"><font face="helvetica Neue, helvetica"><span style="font-size: 14px;"><br></span></font></div><div style="color: rgb(0, 0, 0);"><font face="helvetica Neue, helvetica"><span style="font-size: 14px;"><b>Tool Workflow:</b></span></font></div><div><font face="helvetica Neue, helvetica"><span style="font-size: 14px;">The key challenge I see is the disconnect between operators when they’re activated from a hotkey versus from a menu or toolbar. This impacts modal operators more than anything. It’s&nbsp;particularly&nbsp;problematic for mouse-location-driven operators, such as Scale, Translate, Rotate etc. Most of these operators are applicable to most all objects and modes, including Edit/Object, meshes and curves, F-Curves and Nodes, etc.&nbsp;</span></font></div><div><font face="helvetica Neue, helvetica"><span style="font-size: 14px;"><br></span></font></div><div><font face="helvetica Neue, helvetica"><span style="font-size: 14px;">Aside from making the interaction&nbsp;of the operators problematic, it also results in many of&nbsp;these operators being effectively useless when activated from the Toolbar. It’s even worse if you’re trying to work on a tablet-pc.</span></font></div><div><font face="helvetica Neue, helvetica"><span style="font-size: 14px;"><br></span></font></div><div><font face="helvetica Neue, helvetica"><span style="font-size: 14px;"><i>My hope is we can re-examine the Selection &gt; Action paradigm and find a way to blend this with the inverse, maintaining the incredibly fast usage that Blender is known for (with hotkeys) while also providing a more devise-agnostic and beginner-friendly </i>workflow from non-hotkey activations of operators.&nbsp;</span></font></div><div><font face="helvetica Neue, helvetica"><span style="font-size: 14px;"><br></span></font></div><div><font face="helvetica Neue, helvetica"><i><span style="font-size: 14px;">An operators usefulness, or interaction </span><span style="font-size: 14px;">should not </span><span style="font-size: 14px;">vary based on how you&nbsp;choose to activate it.</span></i></font></div><div style="color: rgb(0, 0, 0);"><font face="helvetica Neue, helvetica"><span style="font-size: 14px;"><b><br></b></span></font></div><div style="color: rgb(0, 0, 0);"><font face="helvetica Neue, helvetica"><span style="font-size: 14px;"><b><br></b></span></font></div><div style="color: rgb(0, 0, 0);"><font face="helvetica Neue, helvetica"><span style="font-size: 14px;"><b>Universal keymap:&nbsp;</b></span></font></div><div style="color: rgb(0, 0, 0); font-family: 'helvetica Neue', helvetica; font-size: 14px;">The current keymap, while incredibly powerful and great for veteran users, is awfully difficult to learn, cumbersome to customize, and past a point (that point being G,S,R,E,M) it stops following any kind of sensible pattern.</div><div style="color: rgb(0, 0, 0); font-family: 'helvetica Neue', helvetica; font-size: 14px;"><br></div><div style="color: rgb(0, 0, 0); font-family: 'helvetica Neue', helvetica; font-size: 14px;">My goal (as has been discussed extensively in&nbsp;<span style="color: rgb(0, 0, 0);"><a href="https://developer.blender.org/T37417">T37417</a>)&nbsp;</span>is to introduce a simplified, more universally consistent keymap that leaves plenty of room for customization. This simplified keymap is something I’ve been working on for a while and absolutely plan to have done for 2.8.</div><div style="color: rgb(0, 0, 0); font-family: 'helvetica Neue', helvetica; font-size: 14px;"><b><br></b></div><div style="color: rgb(0, 0, 0); font-family: 'helvetica Neue', helvetica; font-size: 14px;">The specifics of the keymap are irrelevant to the workshop, though.</div><div style="color: rgb(0, 0, 0); font-family: 'helvetica Neue', helvetica; font-size: 14px;"><br></div><div style="color: rgb(0, 0, 0); font-family: 'helvetica Neue', helvetica; font-size: 14px;">For the the workshop, the parts that I’m interested in seeing discussed are these:</div><ul><li>Better hotkey conflict detection and resolution</li><li>Ability to set custom hotkeys via RMB for any operator or settings list (e.g. shading, PET, sculpting brushes, selection modes). The latter of which requires Python to do at present.</li></ul><div><font face="helvetica Neue, helvetica"><span style="font-size: 14px;"><i>A user should not be so hindered in their ability to set a new hotkey.</i></span></font></div><div style="color: rgb(0, 0, 0); font-family: 'helvetica Neue', helvetica; font-size: 14px;"><b><br></b></div><div style="color: rgb(0, 0, 0); font-family: 'helvetica Neue', helvetica; font-size: 14px;"><b>Non-Modal and Non-Blocking</b></div><div><font face="helvetica Neue, helvetica"><span style="font-size: 14px;">This paradigm was an original goal of the&nbsp;</span></font><a href="https://wiki.blender.org/index.php/Dev:2.5/Source/UI/UIParadigms" style="color: rgb(0, 0, 0); font-family: Helvetica, Arial; font-size: 13px;">Blender 2.5 project</a><font face="helvetica Neue, helvetica"><span style="font-size: 14px;">&nbsp;and I’d venture to say it’s one of the least consistent areas for tools right now. There are many tools (particularly modeling and selection tools) that are both modal </span><i style="font-size: 14px;">and </i><span style="font-size: 14px;">blocking. For example:</span><ul><li><span style="font-size: 14px;">Circle and Box select are both modal and completely block all events.&nbsp;From a end-user perspective <i>w</i></span><i style="font-size: 14px;">hy can’t we navigate we navigate in modal selections?! </i><span style="font-size: 14px;"><i>Why can’t I select during the Knife modal, nothing is greyed out? The same goes for Python modals.</i></span></li></ul><div><span style="font-size: 14px;">These are not easy problems but they’re absolutely solvable.&nbsp;</span></div><div><span style="font-size: 14px;"><br></span></div></font><font face="helvetica Neue, helvetica"><div><span style="font-size: 14px;"><i>A tool should not block the user from doing something else unless there’s a very good reason.</i></span></div><div><span style="font-size: 14px;"><br></span></div><div><span style="font-size: 14px;">There’s no reason to block&nbsp;navigation during Circle/Box select, other than that MMB is used for navigation </span><i style="font-size: 14px;">and&nbsp;</i><span style="font-size: 14px;">de-selection (see topic 2). Also, when&nbsp;considering the Selection &gt; Action paradigm, the fact that many modal tools, like Knife, completely ignore selections by default is in complete contradiction of the paradigm.&nbsp;</span></div><div><span style="font-size: 14px;"><br></span></div><div><span style="font-size: 14px;"><br></span></div><div><span style="font-size: 14px;">------</span></div></font></div><div><br></div><div style="color: rgb(0, 0, 0); font-family: 'helvetica Neue', helvetica; font-size: 14px;"><b><br></b></div><div style="color: rgb(0, 0, 0); font-family: 'helvetica Neue', helvetica; font-size: 14px;">As a final thought:&nbsp;<i>what can we remove? What’s no longer needed, redundant, or otherwise poorly implemented that’s not doing anyone any good? </i>It’s always easy to add new features, tools, and settings, but it’s hard to remove things. We can’t simply add, add, add, or else we’ll continue to introduce more complexity, more corner cases, and more areas of failure.</div><div style="color: rgb(0, 0, 0); font-family: 'helvetica Neue', helvetica; font-size: 14px;"><br></div><div style="color: rgb(0, 0, 0); font-family: 'helvetica Neue', helvetica; font-size: 14px;">One thing we can remove is all the UI theme options!&nbsp;</div><div style="color: rgb(0, 0, 0); font-family: 'helvetica Neue', helvetica; font-size: 14px;"><br></div><div style="color: rgb(0, 0, 0); font-family: 'helvetica Neue', helvetica; font-size: 14px;">Cheers! I’m still bummed I’m not there to enjoy the fun and exchange of ideas.</div><div style="color: rgb(0, 0, 0); font-family: 'helvetica Neue', helvetica; font-size: 14px;"><i><br></i></div></div> <br> <div id="bloop_sign_1480043976465153024" class="bloop_sign"><div>--&nbsp;<br>Jonathan Williamson</div></div> <br><p class="airmail_on">On November 24, 2016 at 9:19:25 PM, Jonathan Williamson (<a href="mailto:jonathan@cgcookie.com">jonathan@cgcookie.com</a>) wrote:</p> <blockquote type="cite" class="clean_bq"><span><div><div id="bloop_customfont" style="color: rgb(0, 0, 0); font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; font-family: Helvetica, Arial; font-size: 13px; margin: 0px;">Hey all!</div><div id="bloop_customfont" style="color: rgb(0, 0, 0); font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; font-family: Helvetica, Arial; font-size: 13px; margin: 0px;"><br></div><div id="bloop_customfont" style="color: rgb(0, 0, 0); font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; font-family: Helvetica, Arial; font-size: 13px; margin: 0px;">What with my unplanned absence, I thought I’d write up a few of my key thoughts (and hopes) for focus during the workflow sprint. I have three main topics that I’d love to see explored:</div><div id="bloop_customfont" style="color: rgb(0, 0, 0); font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; font-family: Helvetica, Arial; font-size: 13px; margin: 0px;"><br></div><ol style="color: rgb(0, 0, 0); font-family: 'helvetica Neue', helvetica; font-size: 14px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;"><li><b>Tool Workflow as it relates to&nbsp;utilizing tools from hotkeys, menus, and toolbars</b></li><li><b>Universal (simplified) keymap with an emphasis on selection + transformation that leaves&nbsp;room for customization</b></li></ol><div style="color: rgb(0, 0, 0); font-family: 'helvetica Neue', helvetica; font-size: 14px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;"><b><br></b></div><div style="color: rgb(0, 0, 0); font-family: 'helvetica Neue', helvetica; font-size: 14px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;"><b><br></b></div><div style="color: rgb(0, 0, 0); font-family: 'helvetica Neue', helvetica; font-size: 14px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;">As a final thought:<span class="Apple-converted-space">&nbsp;</span><i>what can we remove? What’s no longer needed, redundant, or otherwise poorly implemented that’s not doing anyone any good?</i></div></div></span></blockquote></body></html>