Fornjot

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

Weekly Dev Log - 2022-W26

I've recently spent a lot of time cleaning up code, thinking about better ways to clean up code, and struggling to clean up code that is really committed to stay dirty. All that effort paid off last week, and what a payoff it was!

The overly complicated Shape API: removed (#697)! Handling of local forms: simplified (#691)! Approximations of faces in surface coordinates: implemented (#568)!

There's always more to do, of course, but all the improvements I deemed impactful enough to work on immediately are finished now. Nothing else is blocking further progress on boolean operations (#42, #43, #44).

Meanwhile, @eLVas has fixed an annoying issue with export-validator (a tool that exports and validates the test models from the Fornjot repository), and @jeevcat has encountered and fixed a UI-related performance issue.

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-kernel

fj-operations

Internal Improvements

Improvements that are relevant to developers working on Fornjot itself.

Issue of the Week

Making releases is a pain for a lot of projects, and so it is for Fornjot. I'm thankful that we have some automation in place to ease the burden, but of course, there's always room for improvement!

If you're into this kind of build infrastructure and automation work, why not take a look at #479 - release-operator should automatically determine which crates to publish?

Outlook

With all that cleanup work out of the way, I'm ready to resume work on implementing the union operation (#42). However, I want to publish a new release first. Now seems as good a time as any, and the last one is already two months old. Waiting longer will only make it more difficult.