Add shapemoves subpackage based on conway
#257
Draft
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
After some review, I've decided it makes more sense to include my shape move operators in
coxeter
rather than as a separateconway
package. I get a fair few requests for the ability to modify geometries, and would like to bundle these features into this package.Current Plan
I'm starting with a few example methods (vertex truncation and pyramid augmentation) to get a sense for the appropriate layout, which I will expand into the rest of the operators I have implemented in time. Many of the families in
conway.seeds
can be ported tocoxeter.families
, which minor changes to the documentation.Longer term, coxeter's families provide a nice manner by which I can define composable high-dimensional families, the continuous extension of the original "string sequence" operations (see example). This was the ultimate goal of
conway
, but consolidating the code in coxeter minimizes code duplication while maximizing visibility.For this PR:
CanonicalTrapezohedron
family and testsMotivation and Context
While the generality of code in
conway
isn't a 1 to 1 match withcoxeter
, there are portions of it that I'd like to have generally available. I hope this refactor will reduce confusion for users hoping to modify geometries, and it will certainly reduce the total administration required for releases and CI updates. More generally though, Conway already relies on coxeter for computing intermediate properties of multiple shape moves. Tyingconway
more tightly into coxeter will allow for better performance for sequences of moves, and will give me a chance to finally enable incremental vertex addition as an option for Convex PolyhedraTypes of Changes
1The change breaks (or has the potential to break) existing functionality.
Checklist: