top | item 46821804

Show HN: Flywheel – The Zero-Flicker Terminal Compositor for Agentic CLIs

1 points| ccheshirecat | 1 month ago |github.com

Hey guys,

Like many of you, I watched ThePrimeagen’s recent video breakdown of Claude Code’s architecture (and Theo’s subsequent defense of React/Ink). The core of the debate—whether we should be shipping a Virtual DOM and a reconciliation engine just to render text to a terminal—stuck with me. Rather than just tweet about it, I decided to build an alternative in Rust to see what a modern, high-performance approach looks like without the web-tech overhead. Meet Flywheel. It’s a TUI compositor designed to be fast, lightweight, and capable of high frame rates without eating your CPU.

Repo: https://github.com/ccheshirecat/flywheel Crates: https://crates.io/crates/flywheel-compositor

Quickstart: cargo run --example streaming_demo --release

I’d love feedback on the architecture or thoughts from anyone else building TUIs in 2026.

2 comments

order

NitpickLawyer|1 month ago

My new favorite claudism: > 100% Safe Rust No unsafe blocks.

And then when you search the code...

``` // SAFETY: We only store valid UTF-8 in the grapheme bytes Some(unsafe {

std::str::from_utf8_unchecked(&self.grapheme[..self.grapheme_len as usize]) }) ```

ccheshirecat|1 month ago

You're absolutely right!

I've - Replaced unsafe from_utf8_unchecked with safe from_utf8 - Added #![deny(unsafe_code)] at crate level - FFI module still allows unsafe (required for C ABI) - README now honestly says 'Safe Rust Core' instead of '100% Safe Rust'

Thanks to NitpickLawyer on HN for the callout