Hi Will, the fundamental problem is that style of real-time boolean is only really feasible to integrate with a kind of small drawing toolset and actually does not really work for a more general purpose type solution.
For example, one important function in MoI is being able to work with imported data.
If you want to be able to import some curves from an AI file and then use those in a boolean, as far as I could tell from the workflow of LWCAD, that is just not possible since the way those real-time booleans work they are all options that are built in to the UI of individual drawing commands (like drawing a circle, rectangle, etc...).
That is pretty cool for certain cases, but if I made booleans only work directly with drawing tools and nothing else, it would mean you could not perform a boolean on a curve that you had drawn previously, or that you wanted to import from someone else's file, etc...
For MoI it is a very important function to be able to process any kind of curve like this, not just a few special specific draw commands.
So if I were to change all the curve boolean functions in MoI to be just that style of booleans, I would actually lose a bunch of pretty basic functionality.
That's why the current system is set up the way it is - by picking objects to boolean instead of being baked into just some specific draw commands it keeps that boolean functionality to be much more general purpose and work in many additional situations.
I do want to enable the history function to be able to edit boolean operations in the future, once I get that together, it should be able to give you this same kind of feel for doing some editing and getting real-time boolean feedback, but without sacrificing the general purpose power behind the current system.
Don't get me wrong, those real-time booleans embedded in drawing commands definitely look cool! But I just can't afford to lose the power and flexibility that the current system provides.
- Michael
***Edit*** - above I wrote "If you want to be able to import some curves from an AI file and then use those in a boolean, as far as I could tell from the workflow of LWCAD, that is just not possible" - but looking it over there does seem to be a different non-real-time boolean in addition to the stuff embedded in the draw commands.
In MoI it is an important principle to try and avoid having large sections of redundant UI, I mean it would have to provide a pretty significant value for me to add a big section of boolean UI that showed up on every single draw command. I just don't see how that is providing significant enough value for the cost of the UI bloat. It will be a lot more natural and efficient UI-wise to provide this kind of feedback through a history editing function, rather than trying to bake it into a bunch of individual commands. I mean this is actually a pretty perfect example of how something like a simple circle command can end up being complex and unfriendly to use because of adding too many bells and whistles into what should be a basic building block function.
|