Replies: 7 comments 6 replies
-
Yeah, that's reasonable, but it still feels like 6 of one, half-dozen of the other. I'd like to avoid breaking changes where possible, so I'd rather avoid a rename here. Actually, this made me realize something - you swapped How does that sound? |
Beta Was this translation helpful? Give feedback.
-
Well, I suppose |
Beta Was this translation helpful? Give feedback.
-
Ah, I figured the change to CrossSection was desirable (I think we did talk about it before I did it) since it enforces the inputs to be intersection free (something that is totally up the user otherwise). Also it is better ergonomics to be able to give CrossSections straight to Extrude and Revolve, rather than always having to use ToPolygons. |
Beta Was this translation helpful? Give feedback.
-
In general I'm on the side of maximizing the ergonomics of the API over keeping things seperate in case someone wanted to spare themselves depending on the sublibraries (which are quite small compared to Manifold itself). Tangentially related, I'm personally looking forward to when module support improves, I might like to take a crack at reorganizing with then and see how much faster it makes the build. |
Beta Was this translation helpful? Give feedback.
-
Sorry to spam, but another thing came to mind that I'll add before I sleep and forget: RE breaking changes with Polygons, we have already recently changed the type by dropping the indexed struct. If we come to an agreement about names that would be better going forward, at least it isn't something that is too stable. Plus they are just aliases as is, so the old names could be easily deprecated with the new existing alongside for some time. |
Beta Was this translation helpful? Give feedback.
-
You make good points. I'm thinking it over; I'll get back to you. |
Beta Was this translation helpful? Give feedback.
-
Okay, I agree about keeping Extrude and Revolve taking CrossSections - you're right that forcing removal of self-intersections is important for the ergonomics. Yes, I did just make a breaking change to Polygon, but I still feel like changing their names now mostly amounts to needless churn - Contours doesn't evoke much difference in meaning to me. I think we'd be better off including clear descriptive docs for those aliases instead. Thanks for mentioning C++20 modules - I ended up reading up on them. Agreed, that sounds great once the compilers are ready for us (and it sounds like they're pretty close now). That would be ideal, because definitely part of my library design here was focused on keeping the compile time down to something reasonable. |
Beta Was this translation helpful? Give feedback.
-
I was thinking that it might be good to rename them to
Contour
andContours
respectively. That way they would line up a bit better with the way that they are talked about in the docs, and also convey more clearly thatPolygons
does not necessarily have any structure or relationship between the contours within (e.g. they can be intersecting and are not ordered into complex polygons in any way).Does that make sense?
Beta Was this translation helpful? Give feedback.
All reactions