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

Weekly Dev Log - 2022-W08

It's been another productive week of cleanups! I continue working towards addressing #97, although I've been forced to take a bit of a detour through #176 and #242. Sometimes I worry that this lack of user-visible changes over the last few weeks looks, from the outside, as if Fornjot isn't making any real progress. But I can assure you, this is not true!

All those cleanups happen in response to problems that I encounter while working towards supporting constructive solid geometry (CSG) operations. And every problem forces me to come up with a solution that makes the CAD kernel a bit more flexible, robust, and better able to handle future challenges.

This is necessary work, and I'm really excited about the progress I'm making. I hope you are too!


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.

User-visible improvements

Internal improvements

Issue of the week

If you're interested in getting involved with Fornjot but aren't sure where to start, why not look into issue #9 - Make --model parameter of host application more flexible?

Fornjot tries to load models from a models/ directory, which is convenient for development, because we have such a directory in the repository. But it's one of those things that make Fornjot inconvenient, if someone tries to use Fornjot outside of the repository.

This issue is a small step towards making Fornjot more usable, while also being relatively small and self-contained, making it a good first issue for new Fornjot contributors.


As I alluded to above, I'm currently on a bit of a detour on my way to fixing #97. I've already started working towards #242, which I hope to wrap up quickly. After that, I'll be in a good position to clean up, and write a test suite for, the sweep operation. This should put #97 into reach, as the sweep operation is the last piece of code that still resists that change.