It's been another productive week of Fornjot development! On a high level, my priority right now is to implement constructive solid geometry (CSG) operations. This requires a lot of refactoring and clean-up first, and I keep finding myself in this recursive mode of having to first tackle another clean-up, before I can wrap up the current one. A requires B, requires C, required D, ...usually I'm finding myself 5 layers down that chain before I hit on something that I can actually implement right now.
This is slow-going work, but it's also very satisfying. Every little clean-up I merge, makes the CAD kernel a bit more robust, and better able to handle future requirements. I just need to keep taking these steps, until all the hurdles are out of the way, and I can implement the CSG algorithms themselves.
In other news, new contributor Hendrik Maus did some great work improving the build infrastructure!
Fornjot is supported by @lthiery, @Yatekii, and my other awesome sponsors. Thank you!
If you're interested in helping to make the project sustainable long-term, please consider supporting me too.
Improvements and fixes
- Add missing space to error message (#144)
- Re-enable logging (#148)
- Fix handling of duplicate points in approximation (#158)
- Update README (#162)
- Update dependencies (#135, #136, #137, #142)
- Make some minor clean-ups (#147, #160, #165, #169, #172, #177)
- Add approximation test suite (#149, #150, #159, #167)
- Add infrastructure to make vertices less error-prone (#161, #166)
- Clean up
Circlecode (#163, #164)
- Add bounding vertices to
- Make edge approximation more robust (#170)
Lineto point-vector form (#174)
- Provide pre-compiled binaries for each build of
mainbranch (#175, #179; special thanks to first-time contributor Hendrik Maus)
- Add Weekly Dev Log (#20, #28)
- Simplify footer (#21)
- Refer to newsletter in blog posts (#22)
- Make some tweaks to the design (#23, #24)
<aside>s on top of blog posts (#25)
- Cross-post article from my website (#26)
- Generate Atom feed (#27)
- Improve title (#29)
- Add Sponsor page (#30)
I managed to finish a lot of clean-ups last week, the big-ticket item being #138. The goal remains to address #97, but I'm aware of a few more clean-ups I need to make before I can tackle this directly. As mentioned above, the last operation that needs to be updated for #97 is the sweep operation, and to do that, I need to add support sweeping curves into surfaces, which is up next. After that, I'm foreseeing the need to make the triangulation code a bit more flexible.
No idea how far I'll get until the next Weekly Dev Log rolls around.