ActiveFramePool implemented a LRU cache to keep tracking the most recent accessed key frames A key frame will be unloaded if it's not accessed for a while (at the end of cache list) The ActiveFramePool will be updated whenever Editor::scrubTo() gets called
A Sub Painter class is meant to be used in existing painter classes It does not and should not cary the same responsibility as a Painter class It works as a sort of utility class for functionality that makes sense to reuse Eg
Use this struct to store user related data that will later be added to the backup This struct is meant to be safely shared and stored temporarily, as such don't store ptrs here... All data stored in here should be based on ZII (zero is initialization) principle Only store what you need