Hi Randy, thanks a lot for this.
You kind of hit the nail on the head here. But the challenge is that we need the line history to be able to recreate (re-render) the complete drawing/frame when for example doing rescaling. I am painfully aware that having this “magical” scaling ability has exactly this drawback you describe. When I designed this, I imagined more rough drawing, maybe based on the light-table, and less copying using the lasso tool. 🙂 But I appreciate why you rely on your technique, which I want to support – as well as other ways.
The immediate super low-tech practical solution is to, as a user, redraw the drawing, which you under normal circumstances doing traditional style animation would do anyway. Once you have refined or “tied down” your drawing (or even just traced it), you can get rid of your old rough sketch with all the accumulated data, solving the problem.
Of course some kind of build in automatic solution would be preferable instead. I agree. But this is theoretically not easy. One pragmatic solution could be to just let the internal vector data go, since we do have the visual outcome – the bitmap data. And you, as the user, could work fine with it from there. As long as you don’t intend to utilise the original vector data, which gives you perfect scaling with no degradation (as mentioned), but also future functionality like nudging the lines and more. So in conclusion, we might decide to make this (relying on historical vector data) optional for the user by having some kind of setting to at least making it a conscious choice between basically two ways of working. Two ways, both with pros and cons.
If you have comments or anything to add, please let me hear your points. This is super important and something we need some kind of usable solution for. Much appreciated.