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

Clean up surface-related code; prepare for deeper integration into partial object API #1340

Merged
merged 17 commits into from
Nov 12, 2022

Conversation

hannobraun
Copy link
Owner

Splits off the math-y parts of Surface into a separate struct. This allows these math-y parts to be reused without a Surface having to be present, for example in a partial version of Surface.

This pull request adds this partial version, PartialSurface, but doesn't really make use of it yet. I've been running into some hurdles (in the form of test failures) when trying to do that, and I believe this will become much easier to clean up once I clean up the partial object API further (#1249).

I'm about to add new types that are similar to the path types, and
having them in a common parent module makes sense. `geometry` isn't the
greatest name for that new module (it's not like the things outside of
it aren't geometry), but it's what I can come up with right now.
This is only the start of this particular refactoring. Eventually, all
the math-y parts of `Surface` will live in `SurfaceGeometry`. This has
the advantage of decoupling those math-y parts from the existence of a
`Surface`, which means they can be used as part of a hypothetical
`PartialSurface`.
It won't be able to support all of them going forward.
@hannobraun hannobraun merged commit 35a0254 into main Nov 12, 2022
@hannobraun hannobraun deleted the surface branch November 12, 2022 17:11
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

Successfully merging this pull request may close these issues.

1 participant