- correct levo/dextro for variable-body length capsids
- add pinwheel tiles
- only re-render for non-svg export
- make facet outline optional
- add lattice generation
- add facet generation
- revert levo/dextro bug-fix, it was correct before...
- fix render bug in Google Chrome browser due to centroid sorting implementation
- fix net-generation bug
- fix levo/dextro bug
- fix SVG export bug
- un-inject paper scope
- add spherical models
- re-add levo/dextro models
- reimplement and optimize construction algorithms
- redesign ui
- add model error
- add beta python module for Blender and ChimeraX
- implement dual hex
- complete 2-fold construction
- fix 5-fold net construction
- complete 3-fold construction
- circle-cylinder intersection via hybrid bracket/bisection method
- set default line stroke to round
- manual testing for now
- algorithm to group and collapse fiber base points by distance threshold
- algorithm for face normal calculation
- some improvements to z-order algorithm
- conditional, centroid-based fiber placement
- complete 5-fold construction
- add h' and k' parameters
- add Q-number
- improve grid intersection algorithm
- fix centroid-based vertex coloring
- fix rotation bug
- remove need for face vertex connectivity index
- calculate vertex normals for fibers instead of another larger icosahedron
- implement elongated capsid with 5-fold symmetry
- avoid overplotting
- remove temporary objects from SVG output
- improve vertex coloring algorithm
- improve ui
- fix mode selection bug
- input degrees instead of radians
- add orthographic projections
- modernize UI