Fornjot

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

Weekly Release - Progressed Extremely Well

Last week has been awesome! No spending days or weeks tracking down some complicated bug. No fumbling around, trying to come up with the solution to a design limitation. Just cleaning up code, making it much better than it was before. And lots of that!

Work on the ongoing kernel cleanup has progressed extremely well (#1589). I've removed redundant data from the object graph, instead computing it on-demand and caching it where that's necessary to guarantee correctness (#1586, #1634). And I've simplified the object graph a lot, consolidating all the redundant references that I'm aware of (#1525, #1643).

We shouldn't get used to weeks like this, of course. Sooner or later a really hard problem will crop up again. And even though bashing my head against that won't feel as productive, it will be just as necessary to make progress.

The last big item that's left in the cleanup (as of now; I might be thinking of more ideas!) is the unification of full and partial objects (#1570). It's not fully clear to me how that's going to work yet, but I'm optimistic that I can come up with something.

While I was busy dealing with technical debt that an earlier, less seasoned version of me introduced in the first place, @Jzow has updated the installation instructions for macOS, which will hopefully help interested users in the future!

Sponsors

Fornjot is supported by @webtrax-oz, @reivilibre, @lthiery, @ahdinosaur, @Yatekii, @martindederer, @bollian, @rozgo, and my other awesome sponsors. Thank you!

If you want Fornjot to be 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 Fornjot components that are relevant to developers building on top of those. These have an indirect effect on end users, through fixed bugs and improved robustness.

fj-kernel

Internal Improvements

Improvements that are relevant to developers working on Fornjot itself.