I will try to show the problem with the “perfect blocks” pixel algorithm:
In all cases the lines are painted with a rectangle of 9x3 from top-left to bottom-right. The first case is the “perfect blocks” (3 blocks of 3x1 that makes the 9x3 line). If you see, the line itself is perfect, but these blocks cannot be put together to form a continuous line, e.g. Pencil tool, Shift+click to draw 3 lines of the same size/slope to continue the stroke).
In the second case (the current Aseprite algorithm, and most regular painting programs), you can see how the line looks uniform (the same process). But isolated it doesn’t make too much sense.
So, in the past we have used the “perfect blocks” but it brought this issue.
What can we do? Basically this cannot be solved automatically by an algorithm, it depends on the use case. Some users are expecting to draw regular continuous lines (Shift+clicking, or just using one end point as starting point of the next line), the current algorithm fits that case. And other users are expecting lines with “perfect blocks” (generally useful when drawing just one line or using as starting point the next expected point in the line).
At the moment the only way to use this “perfect blocks” mode in Aseprite is using Snap to Grid and configuring the grid appropriately:
We should offer an easier way to access to this functionality (maybe an option/checkbox in the context bar (“Pixel Perfect”?), or something like that for the Line tool).