Skip to content

Package feature isolation #24

@UserAB1236872

Description

@UserAB1236872

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?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions