Sorry for being a bit late with this Weekly Dev Log! Yesterday was a crazy day, for multiple reasons (mostly good), and getting this done simply wasn't in the cards.
I've been working on #141, which went pretty well until I started to extract the triangle mesh data structure into a separate crate. I realized that this code could use a good cleanup, which required changes to the triangulation code (#105), which required more clean-ups... the usual virtuous cycle of getting distracted by more and more productive tasks.
Unfortunately, that didn't lead to the same mad rush of activity that I've become accustomed to over the last few weeks. Some of the those cleanups required a lot of thinking, a really tedious activity that tends to distract from all the doing I'd prefer to get into instead.
Can't be helped! Things are moving in the right direction, which is what counts.
In other news, I got to merge a lot of contributions last week, some of those from first-time contributors, fixing warnings in Fornjot's output, cleaning up code, as well as improving the CI build and the CD infrastructure.
Fornjot is supported by @webtrax-oz, @lthiery, @Yatekii, @martindederer, 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.
App and Documentation
Improvements to the Fornjot application and documentation, that are relevant to end users.
- Fix warnings in output due to misuse of graphics API (#397; special thanks to first-time contributor @liubog2008!)
Improvements to the Fornjot ecosystem that are relevant to developers who are building on top of Fornjot components.
- Distinguish between exterior and interior cycles (#401)
- Add convenient APIs to build
- Add methods to construct unit vectors (#390)
Improvements that are relevant to developers working on Fornjot itself.
- Consolidate platform-specific code behind trait (#383, #384; special thanks to first-time contributor @ozghimire!)
- Update dependencies (#385)
- Consolidate triangulation code in single module (#386)
- Clean up approximation code (#388)
- Run models as part of CI build (#389; special thanks to first-time contributor @homersimpsons!)
- Create GitHub Release via CD workflow (#391; thanks to @hendrikmaus!)
- Fix and improve CI/CD build (#392, #393, #396; thanks to @hendrikmaus!)
- Clean up internal implementation of
ShapeAPI (#402, #404)
Issue of the Week
Fornjot support sweeping 2D sketches into 3D solids, along a straight line. Right now, sweeping is only possible along the z-axis, although on the kernel side, all code that's involved in that accepts an arbitrary vector.
If you want to get involved with Fornjot, why not give #192 - Support sweeping in arbitrary directions a try?
My office computer broke! This is not catastrophic, my laptop can fill in for now, but it does throw all of my short-term plans into disarray. While the office PC is out for repair, I don't have access to all my recent work-in-progress.
Chances are, I'll have it back and in working order later this week, so I don't think it makes sense to re-create any work that's on there. I'll find other tasks to fill the time with, but at this time, I have no idea what those might be.