Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

v3.0 #1024

Open
wants to merge 2 commits into
base: master
Choose a base branch
from
Open

v3.0 #1024

wants to merge 2 commits into from

Conversation

elalish
Copy link
Owner

@elalish elalish commented Nov 5, 2024

This is a huge release! We've packed in all the requested breaking changes to put us on a solid path of API stability going forward. We have removed all of our required dependencies (no more Thrust or GLM!) and dramatically simplified our directory structure and CMake. We have upgraded internally to double precision and added MeshGL64 for those who need to access it. And we have simplified and improved the API in many ways and added a few powerful new features. Please check out our new and improved C++ and TypeScript docs pages!

Breaking Changes

New Features

Bindings

Bug Fixes

Performance Improvements

Build/CI Updates

Tests

Documentation

New Contributors

Full Changelog: v2.5.1...v3.0.0

@elalish elalish self-assigned this Nov 5, 2024
@elalish
Copy link
Owner Author

elalish commented Nov 5, 2024

I think we should probably update the README some more here, but I need to think about it a bit more. Suggestions welcome.

@pca006132 WDYT, are we ready for v3.0 release? Anything we should hold for?

@pca006132
Copy link
Collaborator

I think the only potential blocker is the C binding stuff, as that is a breaking change. I think we can just go ahead with the changes if no one opposes to it.

  1. Some of the dependency description is not formatted correctly in the README (' vs `):

    image

  2. We are using nanobind instead of pybind11.

  3. Should probably mention the dependency name instead of its name in Ubuntu ppa (e.g. not libtbb-dev but tbb).

  4. Offline building: Missing FETCHCONTENT_SOURCE_DIR_CLIPPER2.

  5. Can remove the remarks about Emscripten version. We are already using 3.1.61 in our CI.

  6. Should probably remove the part about fuzzing support, as it is not working for now.

  7. Can add a shell command about using of the formatting script, and maybe git precommit hook for it (we should probably use it ourselves...).

  8. Windows shenanigans: Not sure if this is important now, considering we only have one main dll. Probably need someone more familiar with windows to decide. We can keep it for now.

  9. I can probably find some time and write instructions for developing on nix.

@pca006132
Copy link
Collaborator

pca006132 commented Nov 6, 2024

@SovereignShop btw is it possible for you to make the Clojure binding depends on the C binding alone? Also @geoffder. i.e. without the need for a fork. We can try to integrate the changes needed before we release v3.0.

@elalish
Copy link
Owner Author

elalish commented Nov 6, 2024

Okay, SG - we'll hold this release for the C bindings update if you have time to take care of it. I'm not very comfortable with C myself. Meanwhile I'll update the README - thanks for the comments.

@geoffder
Copy link
Collaborator

geoffder commented Nov 6, 2024

@SovereignShop btw is it possible for you to make the Clojure binding depends on the C binding alone? Also @geoffder. i.e. without the need for a fork. We can try to integrate the changes needed before we release v3.0.

Unfortunately my hiatus has meant I haven't found time to update my OCaml Manifold library in some time, but I already wasn't depending on a fork, just an unadulterated git submodule. If I'm understanding your question correctly.

@pca006132
Copy link
Collaborator

@geoffder yeah if you can use the C binding directly already, it is good.

@elalish I will try to find some time to do it, I am stretched really thin recently.

@elalish
Copy link
Owner Author

elalish commented Nov 7, 2024

@pca006132 Thanks, but don't burn yourself out over these C bindings. We can put out v3.0 without it too if it's unreasonable in the near term. I don't have a good sense of how much work it will be.

@elalish elalish mentioned this pull request Nov 7, 2024
@elalish
Copy link
Owner Author

elalish commented Nov 7, 2024

One more question: should I remove the deterministic option for v3.0? I'm concerned it makes the library harder to test, and is it really deterministic even when true? If we remove it, which branch should we keep?

@pca006132
Copy link
Collaborator

  1. Yeah, we can remove it. I think we can just keep the deterministic version, iirc it is fast enough. Not sure if it is fully deterministic, but ideally it should be.
  2. I don't think C binding requires too much work. But it is still some work that I need to find time to do :)

@starseeker
Copy link
Contributor

@elalish so does releasing 3.0 warrant another blog post? ;-)

@elalish
Copy link
Owner Author

elalish commented Nov 7, 2024

@elalish so does releasing 3.0 warrant another blog post? ;-)

Yeah - I should write some on the smoothing and SDF work I've done too. All in my copious spare time...

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants