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

Simplify topology types #286

Merged
merged 12 commits into from Mar 4, 2022
Merged

Simplify topology types #286

merged 12 commits into from Mar 4, 2022

Conversation

hannobraun
Copy link
Owner

Simplify some topology types, mostly Vertex and Edge. This came out of my work on #280, and these simplifications will make addressing that issue much easier.

`Vertex` is going to lose all `Copy`, which this function relies on.
I'm working on elimianting the redundancy of the topological data, which
requires the respective types to have references or handles to other
types, instead of owning them.

Those handles won't be `Copy`, which means the topological types won't
be able to be that either.
See previous commit about un-deriving `Copy` from `Edge`.
Its presence is making the changes I'm working on more complicated.
Removing it makes the tests that use it only a little bit more
complicated, which I think is an okay trade-off.
This is an issue I went back and forth on a few time already.

It seems less robust, as nothing prevents these vertices from having
nothing to do at all with the curve they are supposed to be on, and I
can think of reasons why it can't stay this way long-term.

But the facts are, storing edge vertices in 1D isn't necessary right
now, makes things more complicated, and makes my ongoing work right now
a million times more difficult.

I'm pretty sure I'll want to revert this decision again some time in the
future, but for now, this is the right call.
@hannobraun hannobraun merged commit e21b660 into main Mar 4, 2022
@hannobraun hannobraun deleted the topology branch March 4, 2022 15:55
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.

None yet

1 participant