Hey folks,
Since libfive has come up a few times on this list, I figure you would like to hear about the latest updates!
libfive is a kernel for solid modeling with functional expressions (
repo). Unlike Curv, it’s focused on pure arithmetic trees, without functional features like loops or conditionals. It targets CPU-side mesh generation, and is a pure backend library, without a dedicated DSL like Curv.
(I also spun off an experimental libfive-based GPU renderer that turned into a
research paper, but that’s a separate topic)
Anyways, there’s a
new libfive standard shapes library written in C/C++. Higher-level language bindings are now
autogenerated from the C header, which means it’s easier to maintain them. I used this to write Python bindings, since that’s more approachable than Scheme. The Python bindings also let people use the
Studio GUI on Windows (where Guile Scheme won't compile), and includes support for
push-pull direct modeling by hacking the Python AST.
Happy to answer questions here or on Github issues!
Regards,
Matt