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

Package feature isolation #24

Open
UserAB1236872 opened this issue Jul 14, 2014 · 1 comment
Open

Package feature isolation #24

UserAB1236872 opened this issue Jul 14, 2014 · 1 comment

Comments

@UserAB1236872
Copy link
Member

As mentioned here:

#22

The core packages are getting a little big. I think it's worth discussing:

  1. Where do new features go?
  2. Should anything be separated out for the next release?

As the answer to 1. I think at this point, anything that's not directly Mat Vec or Quat is definitely out. This means I'll be modifying the AABB pull request to be committed to a separate path. The question is the path, I see two options

github.com/go-gl/mathgl/mgl[32|64]/feature[32|64?]

OR

github.com/go-gl/mathgl/feature[32|64]

While we can't do this due to my guarantee that the API won't break until Go 1.3.1 at the earliest, another option is

github.com/go-gl/mathgl/32/feature

This would move mgl[32|64] to the corresponding direction, e.g. github.com/go-gl/mathgl/32/mgl

As for 2, I'm kind of partial to keeping the current projection/transformation features as-is. You can think of Rotate3D, in a way, as a special constructor for a Mat3. The content in shapes.go is a bit more difficult, I think it could be worth putting that in a shapes or geom package. Thoughts?

@dmitshur
Copy link
Member

I'll comment on a small part of this issue (all I can do at this time):

As for 2, I'm kind of partial to keeping the current projection/transformation features as-is. You can think of Rotate3D, in a way, as a special constructor for a Mat3.

That sounds good.

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

2 participants