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

Weekly Dev Log - 2022-W22

Sorry for being a day late with this dev log! Yesterday was a public holiday here in Germany, and I spent most of it away from the computer.

I'm still working on #568, a cleanup that will pave the way for the implementation of boolean operations (#42, #43, #44). I seem to be stuck. It's very clear to me what needs to happen on a high level, but every time I dive down into the specifics, various problems prevent me from making progress. I'm going wrong somewhere, and I need to figure out where that is.

Fortunately that effort has resulted in lots of cleanup (in an effort to understand the code in question better), and improvements to the CAD kernel's debug and validation infrastructure.

Meanwhile, it has been a great week of contributor work! @gabsi26 implemented a procedural macro to make specifying models much more convenient, @chrisprice has been working on making the input/camera code work like it should, and @kamirr has fixed a long-standing memory leak.


Fornjot is supported by @webtrax-oz, @lthiery, @Yatekii, @martindederer, @hobofan, @ahdinosaur, @thawkins, @bollian, 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

Making changes to the source code of the currently loaded model should automatically reload that model, leading to the updated model being visible shortly after. There's an older issue about this behavior, #12 - Reloading the model doesn't work on macOS.

If you're a macOS user, why not take a look? It's not quite clear whether this issue is still present, so even testing that and reporting back would be a big help!


My priority for this week remains #568. I've been trying to take a step back and clear my head over the weekend, so hopefully I can take a fresh look and figure out what the problem with my current approach is.