I’ve created a github for the ternary plots/voting stuff I’m currently working on in-case anyone wants to take a look at it. It’s the same code I used to make both these apportionment algorithm and single winner voting method visualizers:
When making both the apportionment algorithm and single winner voting method visualizers I hand coded the methods for the three specific types of votes I used for the ternary plots I used in the temp folder but doing that for more complicated methods can be a very error prone process and that code isn’t very generic so I decided to create a voting method library for all the methods for any combination of voters and candidates, so that’s what I have been working on. I plan to add a lot of methods over time so I’ve spent a lot of time planning out how I want to organize all the methods into various components and abstract classes to make adding new methods in the future a lot easier. Though it’s still a work in progress (most of the files are blank and are just placeholders for different methods that I might add in the future so when designing the architecture of the voting method library I can have a general idea of what types of voting methods I need to accommodate).
Because I’ve spent so much time on this voting method library I would love for it to be able to be used for future projects. The next thing I’m planning on working on after I create ternary plots for both multi-winner sequential and optimal voting methods is to create an automatic criterion checker. Does anybody have any suggestions for what else this library can be used for in the future?