asny / three-d

2D/3D renderer - makes it simple to draw stuff across platforms (including web)
MIT License
1.33k stars 110 forks source link

Rename Gm struct To GeometryMaterial #262

Closed dbuch closed 2 years ago

dbuch commented 2 years ago

Hi,

I the distant memory i feel like i did this before? But i did a search and couldn't find it :man_shrugging:

While i'm still reading though your code i keep bumping into this lonely (in terms of naming convention) Gm type. I mean this is the only type that's defined by a short abreviation, no? Anyway I fixed it to match other three-d types.

There should be no functional difference, except i also made use of GeometryMaterial::new() tree wide.

asny commented 2 years ago

Hi.

Really nice with some feedback on naming, I always speculate if it makes sense to others (naming is hard!). And I don’t think Gm is necessarily a good name, but it was very much on purpose. It is a very special struct that you use a lot, so it was inspired by Rc and Arc. Also, it does have a very abstract purpose (combination of any geometry and material) so it doesn’t really have any obvious name. Maybe Object is a good candidate, but that is already taken by the trait. I also considered Glue because it glues together a geometry and object. GeometryMaterial is the obvious long name of Gm but it should maybe be more like CombinationOfGeometryAndMaterial which is not exactly nice to read when you use it a lot 😆

So what are your thoughts?

dbuch commented 2 years ago

I think you should leave it as-is. I by your Arc/Rc argument.