v1.1 : A quiet revolution
This update breaks a small part of the API, but simplifies the interdependence between the various callables and between the two submodules.
Namely, it removes the seat radius from the geometry submodule entirely.
That enables and simplifies future feature additions, since they would complexify something that's less complex in the first place.
Visual changes
In the resulting diagrams, the vertical margin between the bottom-most seats and the bottom border is the same as between the top-most seat (when the outer row has an odd number of seats) and the top border.
The seat radius factor now defaults to 0.8 rather than 1.
Incompatible API changes
The get_seats_centers
function doesn't take a seat_radius_factor
anymore, and returns a plain dict with no attributes.
As a result, the seat_actual_radius
and nrows
values cannot be accessed directly after a call to get_seats_centers
.
The new get_row_thickness
function compensates this by allowing the actual radius (taken by the svg
submodule) to be computed from the radius factor and the number of rows, as follows : seat_actual_radius = seat_radius_factor * get_row_thickness(nrows)
.
As a reminder, nrows
itself can be computed from the number of seats by using the get_nrows_from_nseats
function.