New:
- Support synchronized terminal update for rendering. This should eliminate tearing when rendering updates for terminals that support this feature.
- The terminal cursor is now automatically hidden during rendering and restored afterward.
- Added
Modifier.onKeyEvent
orModifier.onPreKeyEvent
to listen to keyboard events. - Send real frame times into Compose which can be used for things like animations.
Changed:
- The entrypoints (
runMosaic
andrunMosaicBlocking
) have been changed to directly accept a composable lambda. Asynchronous work should now be performed inside Compose's effect system (e.g.,LaunchedEffect
), and rendering will complete when all effects have completed. Check out our samples for more information about how to do this. - Сhange
DrawScope#drawRect
API with the ability to draw with text characters and specifyDrawStyle
(Fill
orStroke
). - Drop support for JS target. If you were using this, please file an issue so we can discuss support.