Merged
Conversation
…with empty STVAnimation class.
…imation branch. Add animations module with empty STVAnimation class.
- Remove double underscores - Remove wildcard imports - Change votekit imports to local imports - Minor changes
cdonnay
requested changes
Jul 25, 2025
cdonnay
requested changes
Jul 25, 2025
Collaborator
cdonnay
left a comment
There was a problem hiding this comment.
Alright review complete!
- This looks great already! I think you should feel confident moving onto your other todos.
- I'd encourage a little more modularization. You can see the code for
PreferenceProfileas an example of super tiny private methods that build into the bigger methods. Peter is a big fan of keeping functions short.
Collaborator
|
Since I am not a manim guy, I'm going to skip looking at that code for now since the animation clearly works. But the same overall review comments would apply; aim for super tiny private methods that build into bigger ones (up to reason). @peterrrock2 will check out your manim code when he gets a chance. |
… 'Rounds 3-7: 5 candidates eliminated.'
…left and right sides.
…ariable names to use consistent terminology, etc.
peterrrock2
requested changes
Feb 25, 2026
…file by explicitly calling a save method.
peterrrock2
requested changes
Feb 27, 2026
peterrrock2
requested changes
Feb 27, 2026
Collaborator
peterrrock2
left a comment
There was a problem hiding this comment.
This is looking great!
Small nit: I am trying to unify the doc string style across the repository. Can you modify the doc strings to look more like:
def foo( arg1: str | None, arg2: int = 3) -> str:
"""
Brief description (max 100 chars including indents)
More details (max 100 chars per line, but as many lines as you would like)
Example:
<Stuff goes here. This section is optional>
Args:
arg1 (str | None): description
arg2 (int, optional): description. Defaults to 3.
Returns:
str: The string "baz"
"""
...This is a mild modification of the Google-style doc string and adheres to the PEP 257 recommendation but with the line width modified to 100 chars rather than 80 (better for 16:9 screens IMO)
Co-authored-by: Peter <27579114+peterrrock2@users.noreply.github.com>
…3.0-stv-animation
peterrrock2
approved these changes
Feb 28, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Pursuant to issue #222. This PR adds support for animating STV elections using Manim. Given a votekit STV election called
election, the user can render an animation using, for example,Here is an example of a rendered scene.
ElectionScene2.mp4
This PR is a draft. I have yet to write robust testing for the animation pipeline (such as snapshot testing). I also have yet to implement a few requested features:
Before implementing these I wanted some feedback on my code so far.
Thanks!