released

abstract suspend fun <T> released(block: suspend () -> T): T

Gives the terminal back while block runs, as it was before Mosaic started, and then takes it over again and draws everything anew.

Meanwhile nothing is drawn, input is left for the other programs to read, and writes to stdout and stderr are no longer intercepted. On the alternate screen, the regular screen is shown. Changes to the state are drawn once block returns.

Concurrent calls run one after another.