The renderings: Flow<Screen> provided to WorkflowLayout.take() can fire a lot more often than is useful, especially in large apps that don't use initialState / StateFlow.value effectively. Can take buffer what it receives, keeping only the latest, and take care to call [show] either once or never for frame clock tick?
Remember that it is absolutely fine to drop renderings; each time a new rendering appears it means that the combined workflow state has changed, and the previous ones are now invalid. We're not an animation tool.
The
renderings: Flow<Screen>provided toWorkflowLayout.take()can fire a lot more often than is useful, especially in large apps that don't useinitialState/StateFlow.valueeffectively. Cantakebuffer what it receives, keeping only the latest, and take care to call [show] either once or never for frame clock tick?Remember that it is absolutely fine to drop renderings; each time a new rendering appears it means that the combined workflow state has changed, and the previous ones are now invalid. We're not an animation tool.