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

Deprecate and remove the SimplexNoise classes #270

Open
devoncarew opened this issue Aug 15, 2022 · 8 comments
Open

Deprecate and remove the SimplexNoise classes #270

devoncarew opened this issue Aug 15, 2022 · 8 comments

Comments

@devoncarew
Copy link
Collaborator

We plan to deprecate and remove the SimplexNoise classes (both the vector_math and vector_math_64 library versions). Some details and discussion are here: #269.

From investigation, we believe there's little to no use of this API (we couldn't find any existing uses). For people who had been using this API however, it could be worth investigating whether the https://pub.dev/packages/fast_noise package could serve as a replacement.

The deprecation will happen shortly, in this current major version of vector_math. We'd then follow-up with the removal; that could either happen in the current major version (2.0.0) or in a rev'd version (3.0.0), depending on which we determine is least breaking to the ecosystem.

@devoncarew
Copy link
Collaborator Author

Deprecation done in #271.

@unicomp21
Copy link

Why did we do this?!

@devoncarew
Copy link
Collaborator Author

The reasons are laid out in the issue referenced in the first comment here. To briefly in-line that:

  • the SimplexNoise class was brought in here as essentially a vendored package
  • that code had a separate license from the rest of this package
  • vector_math itself made no use of the code, and from investigation, there was very little use of this in the ecosystem

We expect existing uses can either migrate to https://pub.dev/packages/fast_noise (or perhaps to a new ecosystem maintained package specific to SimplexNoise).

@spydon
Copy link
Collaborator

spydon commented Feb 7, 2023

From investigation, we believe there's little to no use of this API (we couldn't find any existing uses).

You can't have done a very thorough investigation if you didn't even look at Flame which is the package with the most pub likes that depend on vector_math (and uses simplex_noise). 😄

But we understand your reasons, we'll either migrate or roll our own simplex noise.
The fast_noise package hasn't seen any activity in almost two years though so I hope that will get maintenance when needed.

@devoncarew
Copy link
Collaborator Author

You can't have done a very thorough investigation if you didn't even look at Flame which is the package with the most pub likes that depend on vector_math (and uses simplex_noise). 😄

Ah - see the comment here: #269 (comment). The usage from flame was initially hidden by a bug in our api usage tool.

But we understand your reasons, we'll either migrate or roll our own simplex noise. The fast_noise package hasn't seen any activity in almost two years though so I hope that will get maintenance when needed.

If you do develop or find a reasonable replacement, please do link it back here; thanks!

@unicomp21
Copy link

SimplexNoise is a staple for game programming, right? vector_math was originally created for game programming? While John McCutchan understands game programming, I guess nobody else on the dart team understands game programming? Either way, is there an argument, for at a minimum, putting SimplexNoise in it's own standard dart package? With webassembly on the horizon, game programmers will likely want to use dart in combination with webgpu for game programming? At this point, we will likely want simplex noise implementations for both webgpu and cpu?

@unicomp21
Copy link

@spydon
Copy link
Collaborator

spydon commented May 27, 2023

Either way, is there an argument, for at a minimum, putting SimplexNoise in it's own standard dart package?

You can use the fast_noise package, no need to create a new package with the deprecated class.

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

No branches or pull requests

3 participants