Problem
The current implementation assumes the terminal cell space as the coordinate space for all drawing functions, which is why non-standard drawing functions tend to use f32s for the x and y arguments.
This implementation can be tricky to work with.
Solution
I'm thinking whether tiny coordinate space conversions could be used here effectively. I particularly like the idea of being able to reason about the local coordinate space in integers and having a nice alternative to magic mul/div operations right before drawing.
Alternatives
Alternatively we could explore making drawing functions operate directly on their own local coordinate space. Though I'm, not sure if this is the better solution or not.
This is somewhat related to #3.
Problem
The current implementation assumes the terminal cell space as the coordinate space for all drawing functions, which is why non-standard drawing functions tend to use
f32s for thexandyarguments.This implementation can be tricky to work with.
Solution
I'm thinking whether tiny coordinate space conversions could be used here effectively. I particularly like the idea of being able to reason about the local coordinate space in integers and having a nice alternative to magic mul/div operations right before drawing.
Alternatives
Alternatively we could explore making drawing functions operate directly on their own local coordinate space. Though I'm, not sure if this is the better solution or not.
This is somewhat related to #3.