@keshav2010 Hmm as I do not know the inner workings of the code I’ll tag other developers here so that maybe they can answer you appropriately. However for point number one I can provide you a quick logical answer.
As you know animation is an optical illusion that depends on the playback speed of a successive display of sequential images. As such the playback in any animation software, is meant to help the animator estimate their own work while working. However in your workflow you do not draw and playback at the same time. While it’s not impossible it is simply not efficient or purposeful to the animator itself. The reason being that the animator is always planning the drawings to represent motion, you are not simply drawing real motion, but you are crafting the motion and as such you require utmost control, which drawing while playing back the animation would simply become a sort of “motion capture” which for most styles and techniques of animation is not useful.
Aside from obvious motion capture devices and techniques, the only instance of this type of real-time drawing capture I know of, which I consider more of a gimmick than an actually useful feature in most animation work, is in the commercial software TVPaint, where you can draw “over-time” while the timeline is playing, which means that while the strokes are being drawn, the software itself is “photographing” the state of the stroke for each frame, which can lead to a “build-up” effect.
For the rest of your queries i’ll tag @chchwy @scribblemaniac @CandyFace so maybe they can answer you more adequately about the source code. Thank you for your interest in Pencil2D