After taking a week off, I'm back this week with another release! Aside from some relaxing and a lot of hiking, I spent most of my time since the last release on cleaning up and expanding the intersection testing infrastructure. Intersection testing is a necessary building block for implementing the union operation (#42). I maintain a list of the building blocks still required, according to my current understanding.
Meanwhile, @Michael-F-Bryan has upgraded/rewritten the host/model API to switch to a model-driven concept. This is invisible to users right now, but it's a prerequisite for many future improvements. @devanlooches and @connor-lennox have worked on improving the status updates that have recently been added to the Fornjot app.
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.
Improvements to Fornjot and its documentation that are visible to end-users.
- Display the last few status updates (#919, #945, #952; thank you, @devanlooches!)
- Add table of contents to README (#942)
- Display model compile times in status updates (#960; thank you, @connor-lennox!)
Improvements to the Fornjot ecosystem that are relevant to developers who are building on top of Fornjot components.
- Clean up and expand intersection testing code (#940, #941, #946, #947, #948, #949, #950, #951)
Improvements that are relevant to developers working on Fornjot itself.
- Switch to model-driven host API (#885, #934; thank you, @Michael-F-Bryan!)
- Update list of sponsors in README (#921, #961)
- Update dependencies (#922, #923, #924, #925, #926, #928, #929, #930, #931, #933, #953, #954, #956, #957, #958, #959)
- Update release procedure (#932)
Issue of the Week
Fornjot is still at an early stage, and one way that manifests is in its error messages, which can be pretty raw and not very helpful. An example of that, is when a user forgets to define that a model is to be compiled to a dynamic library.
It should be able to prevent that case outright, by using a different Cargo command to compile Fornjot models, and passing the right parameters. If playing around with Rust and Cargo to get an introduction to Fornjot sounds appealing to you, why not take a look at #938 - Use
cargo rustc to compile models as dynamic libraries?
I'll be busy writing intersection testing code for the foreseeable future, as part of the process of implementing the union operation (#42).