Still some significant bugs to check out, thanks to you guys for finding them.
@insideitall I am just doing this for myself and sharing it for anybody to help out or use, I will submit for addition to blender when it is debugged enough, which should hopefully be pretty soon. The real work was done by @kio I’ve just added things to it.
@slowburn please show me a picture / video of the intersect doing the random stuff. I have encountered this before when I was doing select enclosed faces in a different way. It is perfectly reproducable so that you can test for it consistently, but sometimes it takes a little bit to find a specific collection of faces / verts/ edges to get it working weird where it does the random deselect thing. I’ll try to find out for myself of course, but it will be a while so if you could show me that would save me some time.
Question 1
The two modes do the same thing, but are not related at all. Keymap does not care whether the header button is on or not, and vice versa. They have different approaches to engaging select through, and its a workflow preference thing. You don’t have to do anything with the keymap mode to work besides click the checkbox inside the keymap for box/lasso/circle and then do the assigned shortcut while you are using whichever selection tool.
I initially made keymap select through way back when I first found this thread. I did it because I wanted a way to use select through indepently for each tool, and that was the first way I thought of. Since then I’ve figured out how to do that with the toggle version, I had actually removed the keymap from previous builds because I found that I prefer a toggle to an active keymap. I hadn’t really heard anything about the keymap version, it was always in addition to the toolsettings checkbox back when it was around. But it had enough votes on that poll I made so I put it back in.
It’s the sort of thing where it doesn’t hurt to have it in for anybody who prefers it. If you wanted to use a modifier key like ALT, you can’t really do that with a toggle, because you can’t assign to just a modifier by itself. Another reason would be if you wanted to make an active choice to select through each time, rather than a toggle, it makes sense. Lets say its been a little while since you’ve selected something, you never have to wonder if you are going to select through or look at the header button itself being lit up or not, because you’d do it by choice each time. That’s why I like the xray button to change, it lights up when select through is on, or auto xray too, but that one is a bit more obvious when its doing what it does. Speaking of header buttons
Question 2
As far as the header buttons working the way they do, its one of those things that keeps changing as new ideas come in. If the devs take this select through patch on, I imagine they will tinker with it quite a bit. If they need it, I’ll do whatever to assist with or maintain the stuff they want to pick and choose from this patch.
The way I am doing this is just my preference, with a lot of decisions and compromises to accomodate different features, all while not affecting default blender. Always open to changing stuff of course, but here’s my reasoning:
For now I prefer keeping the different methods for turning on xray in the same position of the current xray button, rather than over in the selection type area. That’s all this patch really does in the end, it engages xray in a couple different ways. I dealt with facedots, at least somewhat, because it’s worth doing, and then also the drag select options for edge and faces. Since those already have areas where they are dealth with, viewport overlay for facedots, and toolsettings for box/lasso/circle, I decided they go in there.
I didn’t want to add more buttons to the header, but I was ok with it before because it was worth having the feature more visible. But as I got to thinking more about it I thought of a way to replace what I consider a useless button, without removing it entirely for those who like it.
I’ve never cared for the xray button. I’ve always hidden it since I started messing with blender. If I want to turn it on I’m not clicking that button, I’m just going to assign it to a shortcut and comment it out of space_view3d.py. If I wanted to know if xray was on, all I’d need to do is look at what I’m working on, its either (more) transparent or not. I do however have a lot of gratitude for the xray button at the same time, because the way it works taught me quite a bit about how other things work, and gave me some ideas.
I think I’m ok with the level of confusion from hijacking the xray button. It’s worth the header space. None of the modes stop you from using xray manually, even for header button clickers, you could always open the popover to do that. You can even avoid opening a popover, that is where I eventually made the alternate header, check it out. Like xray, I do not need a button to tell me which shading mode I’m in. Not just one button, but four buttons, just to know what I already know. It’s usually pretty obvious if I’m in wireframe, solid, material, or render shading. All those 4 buttons do is switch between them. I’ll use the pie menu to do that, or just assign a specific mode to a toggle when I want it. So that led to me killing 4 buttons: xray, and 3 of the shader switches. With just one button, I can see which shading mode I’m in and whether xray is on or not. I needed something up there to attach to the viewport shading popover, you can just have it floating there by itself but it’s a bit weird. There is some redundancy in defualt xray and select through keymap, but for now it is an acceptable compromise. If you open the xray popover in those modes you have 3 xray buttons in the header: the xray button, the bottom of the xray popover, and the new viewport shading button that toggles xray.
@Hologram I’ll have a look at why intersect is acting like a new select. I’ve actually never seen where that decision is made, between new, add, subtract, intersect selection. Hopefully easy to track down, which has been the case since I found out that grep tools exist, I am using dnGrep for that. I used to just try to guess what script to check and what something might be called to do a find/replace for that specific script. Super slow.
Once I figure out the bug(s) I should be able to add object mode to auto xray without much trouble.
Installation
I’ve always kept the latest official blender release alongside all my different builds, usually to see if some behaviour is just my build or not (didn’t stop me from missing stuff like how enclosed edge selection works, but it can help). The custom builds work like a portable install as far as I’ve experienced. If you open the addons area it might say something about having redundant stuff in there, I dunno I’ve always just kinda followed what it asks for you to do, something about deleting this or that or picking which area to use to point the addons at. When everything is sorted out, devs will hopefully get at least some of these features added to the real thing, and most people would be covered to the point that they aren’t interested in a custom build enough to bother. I do appreciate you spreading the word though, thanks. I don’t know much about forks, but I do see a ton of them in there when I do a git branch -r
so if nothing else I’ll make a fork if that’s a thing I’m allowed to do.