The frame manager manages the priority frame in the main thread.
Once the FrameManager has started there is always an open frame in the main thread. If a model
object is committed in any frame then the frame manager schedules the current frame to commit
with the Choreographer and a new frame is open. Any model objects read during composition are
recorded in an invalidations map. If they are mutated during a frame the recompose scope that
was active during the read is invalidated.
Inherited extension functions
This global operator is TEMPORARY, and should be removed whenever an answer for contextual composers is reached.
fun ensureStarted(): Unit
@TestOnly fun <T> framed(block: () -> T): T
@TestOnly fun <T> isolated(block: () -> T): T
fun nextFrame(): Unit
@TestOnly fun <T> unframed(block: () -> T): T