Fornjot

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

Weekly Release - 2022-W41

I've continued the slow work of expanding the scope of the centralized object storage (#1021). Including a new object in the centralized object storage opens opportunities for making any validation code that deals with that object more strict, which helps to prevent bugs. I wrote documentation about that, in case you're interested in the details.

The gist of it is, that sometimes you expect two references to an object to be the same. You can check that using equality (do they look the same?) or identity (are they actually the same object?), the latter being much stricter and less error-prone. The bulk of the work is to update any code that triggers to fulfill those stricter requirements.

Last week, I've integrated Curve and GlobalVertex into the centralized object storage, but most code creating GlobalVertex instances has not been updated to meet the stricter validation requirements yet.

Sponsors

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

None this week. Still busy improving the kernel!

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.

Outlook

I'm continuing my systematic approach of increasing the strictness of the validation code, thereby increasing the general robustness of the kernel code. As a side effect, this should take care of #1162, which then clears the road for further progress on the union operation (#42).