Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

0.6 Update #2

Closed
13 tasks done
IamTheCarl opened this issue Mar 31, 2024 · 5 comments
Closed
13 tasks done

0.6 Update #2

IamTheCarl opened this issue Mar 31, 2024 · 5 comments

Comments

@IamTheCarl
Copy link
Owner

IamTheCarl commented Mar 31, 2024

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

New features

  • More advanced ways to represent 2D objects
    Please note that these features may be cancelled depending on how this conversation goes.
    • Arcs
    • Bézier curves
    • Rastor - pushing to a later release
      • Add a new unit type for pixels

Tech Debt payoff

  • Struct Proc Macros
  • Automatic conversion of scalars to
    • Numbers
    • Lengths
    • Angles
  • Find a cleaner way to check the dimension of vectors and scalars for built in functions
  • Add support for mutable value
  • Begin parser overhaul
@IamTheCarl
Copy link
Owner Author

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
Copy link
Owner Author

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
Copy link
Owner Author

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
Copy link
Owner Author

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
Copy link
Owner Author

Complete: #4

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant