Typically composables will redraw during composition or if there is a state change on a parameter that is being read during the DrawScope lambda. In compose, there are observations to state parameters made at various lifecycle steps, (measurement/layout/draw) and anytime a state parameter is changed that is read in those steps, that step is re-executed.