IamTheCarl / CommandCAD

A script driven CAD program with dimensional analysis.
GNU Affero General Public License v3.0
16 stars 0 forks source link

0.6 Update #2

Closed IamTheCarl closed 1 month ago

IamTheCarl commented 3 months ago

I would like to start exporting 2D objects for fabrication.

New features

Tech Debt payoff

IamTheCarl commented 2 months ago

The tech debt section has been updated, as its become apparent as I work on this that more needs to be paid off to add these new features.

IamTheCarl commented 2 months ago

It has been a long road but support for mutable values is getting close to ready. I went through a few experimental solutions, discovered a ton of unnecessary stuff I could safely remove, and boiled it down to a really simple solution.

I still need to convert the Fornjot types to this new layout but we'll soon be able to start adding new features. I've started some experimental stuff for the parser overhaul in a local branch (I may push that in the future). I think it can improve memory usage and parsing speeds but it doesn't really solve the complexity in error reporting very well yet. Still, I think I can call these early steps in the parser rework good enough for now.

IamTheCarl commented 2 months ago

Mutable values are now properly supported. I just updated to the latest commits of the master branch in Fornjot, but it's a bit ugly from the scripting language's perspective. I need to look more into why so many things now need to be passed surfaces, and how I can prevent so much manual passing of surfaces. Because I reuse a lot of structs in the scripting language, it just assumes everything needs surfaces now, even when they don't.

IamTheCarl commented 1 month ago

Added several more tech debt payoff goals. These are features that I've been thinking would be helpful. Today I realized that I need to add a lot of structs and unit conversion structures, so I'm using macros to automate a lot of that.

IamTheCarl commented 1 month ago

Complete: https://github.com/IamTheCarl/CommandCAD/pull/4