Skip to content

v0.16.0

Compare
Choose a tag to compare
@github-actions github-actions released this 19 Sep 11:05
· 7051 commits to main since this release
469efb4

This release announcement is also available on the Fornjot website

At the beginning of last week, I had just wrapped up a round of cleanups and was about to return to #993, which is blocking further work on the union operation (#42). Instead, I found another problem that I need to address first (#1079).

All of this is relatively complex, concerning the architecture of the CAD kernel data structures. If you're interested in the details, check out those issues, but here's my attempt at a high-level summary:

  • For the the union operation (#42), lots of intersection testing code needs to be written.
  • One of those intersection tests needs to determine whether two edges are equal, which isn't really possible right now (#993).
  • Fixing that isn't possible, because curves can't really compared for equality either (#1079).
  • The best way to fix that involves having a central data store for curves (#1021).

I've made good progress on #1079 and started working on #1021. I ran into some trouble with that, preventing the work I already have in a local branch from getting merged on Friday.

Meanwhile, @payload addressed a very confusing problem with the Fornjot app, making sure the GUI is displayed, even if there's a problem with loading the model.

Sponsors

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

  • Fix GUI not being loaded, if model is not available (#1095; thank you, @payload!)

Ecosystem improvements

Improvements to the Fornjot ecosystem that are relevant to developers who are building on top of Fornjot components.

fj-math

fj-kernel

  • Improve validation of HalfEdge and Vertex (#1075)
  • Expand builder API (#1076, #1083)
  • Expand sweep test suite (#1077)
  • Perform various cleanups (#1080, #1084)
  • Replace CurveKind with SurfacePath/GlobalPath (#1081)
  • Make path approximation deterministic (#1089, #1090, #1094)
  • Future-proof curve approximation code (#1082, #1091, #1092, #1096)
  • Un-derive Copy from various object types (#1097)

Internal Improvements

Improvements that are relevant to developers working on Fornjot itself.

  • Update dependencies (#1071, #1072, #1074)
  • Update release procedure (#1073)
  • Expand release automation (#1078)
  • Update list of sponsors in README (#1098)

Issue of the Week

Fornjot models can have parameters, and those can be provided by the user as command-line arguments. But if the user provides an argument that the model doesn't actually use (which could be the result of a simple typo), that argument just gets ignored. This is confusing.

If you're interested in how the Fornjot application interacts with models, maybe issue #821 - Exit with error, if user provides unused parameters could be your way to get into that.

Outlook

I've been doing some thinking over the weekend, and I believe I've come up with solutions for the issues that prevented my work on #1021 from getting merged last week. I expect to make enough progress there to start finishing up #1079, and after that, the road should be clear for #993.

I said something similar last week, so take it with a grain of salt. More issues popping up and needing to be addressed first, wouldn't be a surprise.