early-stage b-rep CAD kernel, written in Rust

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.


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.

Ecosystem improvements

Improvements to the Fornjot ecosystem that are relevant to developers who are building on top of Fornjot components.



Internal Improvements

Improvements that are relevant to developers working on Fornjot itself.

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!


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.