Fornjot

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

Weekly Release - 2022-W30

Last week wasn't one of those super-focused work weeks that I like most. I spent Monday dealing with the new weekly release procedure; Tuesday I was out sick; Wednesday and much of Thursday, I accidentally distracted myself into doing some cleanup work that was useful, but not immediately important.

Thursday and Friday I finally managed to get back on track with boolean operations. Or rather, the latest detour from boolean operations. I mentioned last week that I could really use a low-level shape updating API for use in unit test, and I've been looking into that.

No definite results so far, but I've come up with some changes to the kernel APIs that would be required to make it happen. And since I very much liked those changes on their own terms, I've just ended up making them, as I look into the topic of the update API more deeply.

Meanwhile, I've had some awesome help from contributors again this week! @hendrikmaus has fixed some issues with the release automation; @Michael-F-Bryan has started improving the API we expose to models, as well as aspects of the host/model interface; and @willhansen has contributed a test case for an open bug, which should make that bug much easier to fix.

Sponsors

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

If you want Fornjot to be stable and 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.

fj-interop

fj-kernel

Internal Improvements

Improvements that are relevant to developers working on Fornjot itself.

Issue of the Week

Fornjot is still in its infancy, and an area where that really shows is usability. One especially annoying issue, is that errors or status messages are not shown anywhere in the UI, being relegated to the command-line instead.

If you're interested in GUI, especially egui, then #856 - Add UI element that displays status updates might be an interesting issue for you.

Outlook

I'm still looking into the potential low-level shape update API, as that would be very useful for my further work on boolean operations, and pretty much any other kernel work down the line.

I'm currently experimenting with what the syntax could be, and how it would work. I expect that very soon, I'll come to a decision between either going on with the implementation, deferring it, or abandoning the effort.