7BIndustries / Semblage

Semblage is an open source CAD GUI backed by a programmatic CAD API named CadQuery.
https://semblage.7bindustries.com/en/latest/
GNU Lesser General Public License v2.1
48 stars 3 forks source link

Combine History Tree into Components Tree #62

Closed jmwright closed 3 years ago

jmwright commented 3 years ago

Right now the two are separate and it seems to be a detriment. A separate data structure is being used to track each component and their associated history, and it is easy to miss some code and have that data structure and what is shown in the GUI get out of sync. What the user sees in the GUI needs to be the ground truth or things get very confusing, very fast. Once everything is in the Components tree, that tree will be the data structure for all components and their histories, and can be walked during a render to get the resulting script. It will also be possible to add a setting to have the History items collapsed under their component by default, keeping things clean for new users.

This is going to be tackled early on in this release because it should help address #60 and #61 without adding more temporary code to keep the back end data structure in sync.

There is also currently no way to remove a component, which is an oversight that will be corrected as part of this implementation.

jmwright commented 3 years ago

Completed in commit d5061f4ddbb0f4bfd7551a8e6dde2d70901410a8