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

Add shapemoves subpackage based on conway #257

Draft
wants to merge 7 commits into
base: master
Choose a base branch
from

Conversation

janbridley
Copy link
Collaborator

@janbridley janbridley commented Mar 4, 2025

Description

After some review, I've decided it makes more sense to include my shape move operators in coxeter rather than as a separate conway 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 to coxeter.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:

  • Port truncate/kis
  • Port tests for truncate/kis
  • Update docs for truncate/kis - show examples and explain uniformity with truncated dipyramid
  • Port (Base)|(Tip)TruncatedDipyramid family (based on Sangmin clathrate paper)
  • Port CanonicalTrapezohedron family and tests

Motivation and Context

While the generality of code in conway isn't a 1 to 1 match with coxeter, 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. Tying conway 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 Polyhedra

Types of Changes

  • Documentation update
  • Bug fix
  • New feature
  • Breaking change1

1The change breaks (or has the potential to break) existing functionality.

Checklist:

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