Skip to content

Package feature isolation #24

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

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions