# `tek_tui` the `Tui` struct (the *engine*) implements the `tek_input::Input` and `tek_output::Output` traits. at launch, the `Tui` engine spawns two threads, a **render thread** and an **input thread**. (the application may spawn further threads, such as a **jack thread**.) all threads communicate using shared ownership, `Arc` and `Arc`. the engine and application instances are expected to be wrapped in `Arc`; internally, those synchronization mechanisms may be used liberally.