Weekly Dev Log - 2022-W20
My focus last week was the ongoing change to approximating faces in surface coordinates (#568), a cleanup that is necessary to make further progress on implementing the union operation (#42). This work necessitated some further cleanups (#399, #601, #602), which I've completed.
Meanwhile, @chrisprice added support for exporting to STL, while @freylint added optional Serde support to the fj
crate.
Sponsors
Fornjot is supported by @webtrax-oz, @lthiery, @Yatekii, @martindederer, @hobofan, @ahdinosaur, @thawkins, 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.
End-user improvements
Improvements to Fornjot and its documentation that are visible to end-users.
- Update list of sponsors (#585)
- Add support for exporting to STL (#594, #599, #604; thanks to @chrisprice!)
- Remove restrictions from 2D difference operation (#598)
- Add Serde support to
fj
(#610; thanks to @freylint!)
Ecosystem improvements
Improvements to the Fornjot ecosystem that are relevant to developers who are building on top of Fornjot components.
fj-kernel
- Close down
LocalForm
(#588) - Continue introduction of local coordinates (#589, #590, #591, #592, #593)
- Extend
Shape
API (#595, #605, #608) - Make working with b-rep faces easier (#597)
- Prefer returning cloned
Handle
s (#606) - Improve error message for structural validation failure (#607)
- Add
Surface::plane_from_points
(#611)
fj-math
- Add
Triangle::normal
(#600; thanks to @chrisprice!)
Internal Improvements
Improvements that are relevant to developers working on Fornjot itself.
- Update dependencies (#586, #587)
- Simplify names of
topology
modules (#596) - Make some cleanups within
shape
module (#603) - Clean up sweep algorithm (#609, #612)
Issue of the Week
The fj
library, which users use to define CAD models in Fornjot, uses straight floating point numbers to represent angles, and interprets those as radians. This has lead to confusion in the past, as users assumed those numbers represented degrees.
Let's fix this once and for all with #263 - Use static typing to distinguish between degrees and radians. Interested in getting an introduction to the fj
library? This might be the issue for you!
Outlook
The priority for the coming week remains #568, and I have lots of unfinished code in local branches that I need to polish up and get merged. There are bugs though, and the lack of geometric validation (#613) is making it difficult to figure out what's wrong. That's what I will address first.