The current canvas drawing code could almost certainly be quicker if it was implemented in Cython. This would also allow the helpers.pyx code to be folder into it. It'll need the 3.10 match/case code changed to equivalent if statements.
The enums are a bit of a mess as well, so it might be worth sorting those out too – I suspect that just using dictionaries would be easier.
The current canvas drawing code could almost certainly be quicker if it was implemented in Cython. This would also allow the
helpers.pyx
code to be folder into it. It'll need the 3.10match
/case
code changed to equivalentif
statements.The enums are a bit of a mess as well, so it might be worth sorting those out too – I suspect that just using dictionaries would be easier.