V0.1.1 Alive on Crates.io

The
Monster
Terminal Kernel.

Stitched together from the finest Rust algorithms and brought to life with deterministic math. Runs natively in your terminal and at 60fps in the browser via WASM + WebGPU.

Rio_CRT_Active
100hBuild Time
Workspace Crates
12

Composable, focused modules

Built In
5

Days from scratch

Algorithms
30+

Alien-artifact quality

Browser Render
60

fps via WASM + WebGPU

ftui_kernel_stream
Live Session
$
Process Active
Why FrankenTUI

Built Different

Not another Ratatui wrapper. FrankenTUI is a ground-up TUI kernel with correctness guarantees, deterministic rendering, and algorithms borrowed from statistical machine learning.

Inline Mode

Stable UI at top/bottom while logs scroll above. Preserves scrollback history that other TUI frameworks destroy.

Core System Protocol

Deterministic Rendering

Buffer → Diff → Presenter → ANSI pipeline with no hidden I/O. Every frame is reproducible and testable.

Core System Protocol

One-Writer Rule

TerminalWriter serializes all stdout writes. No cursor corruption, no race conditions, no flicker.

Core System Protocol

RAII Cleanup

TerminalSession restores terminal state even on panic. Your terminal is never left in a broken state.

Core System Protocol

Composable Crates

12 focused crates: layout, text, style, runtime, widgets. Add only what you need, nothing more.

Core System Protocol

Alien Algorithms

Bayesian diff strategy, BOCPD resize coalescing, conformal prediction alerts, e-process monitoring. Not heuristics — math.

Core System Protocol

Browser Native

Compiles to WASM via wasm-pack and renders at 60fps in Chrome/Edge via WebGPU. Same code, same behavior, new platform.

Core System Protocol
Not Just Terminal

The First Real TUI Kernel in Your Browser

FrankenTUI compiles to WASM and renders via WebGPU at 60fps. Not a DOM-based emulator. Not a terminal.js wrapper. The actual kernel, compiled and running natively.

GPU-Accelerated Rendering

WebGPU draws directly to a canvas at 60fps. No DOM nodes, no layout thrashing, no reflow penalties. The GPU does the work, not the browser's layout engine.

Real Application Kernel

FrankenTUI in the browser is not an emulator parsing escape sequences — it is the actual TUI kernel compiled to WASM. Widgets, layout, diff, and presenter run natively.

Deterministic Output

Every frame is a pure function of state. The same model state produces identical pixels in native terminals and in the browser. No race conditions, no flickering.

Zero GC Pauses

Rust compiled to WASM uses linear memory with no garbage collector. Frame times are predictable and never interrupted by GC sweeps.

Architecture Comparison

FeatureFrankenTUIxterm.jshterm
Rendering approachGPU canvas via WebGPUDOM + canvas rendererDOM-based
Frame rate60fps deterministicVariable (requestAnimationFrame)Variable (DOM reflow)
Input modelFull keyboard/mouse/IME via WASM bridgeEscape sequence parsingEscape sequence parsing
ArchitectureCompiled application kernel (Rust → WASM)Terminal emulator + parser (TypeScript)Terminal emulator (JavaScript)
Update protocolFlat cell-diff patches (binary)Escape sequence streamEscape sequence stream
Resize behaviorInstant reflow + re-render (BOCPD coalesced)Escape sequence + reparseEscape sequence + reparse
Testing modelDeterministic golden checksumsScreenshot diffsIntegration tests
Memory modelRust ownership / RAII (no GC pauses)JavaScript GCJavaScript GC
Bundle size~3.4 MB WASM (includes full app)~800 KB JS (emulator only)~400 KB JS (emulator only)
See It In Action

Screenshot Gallery

From dashboards to data visualization, file browsers to visual effects. Every screenshot is a real terminal render -- no mocked designs.

How It Compares

Framework Comparison

FrankenTUI bakes correctness guarantees into the kernel layer. Features that require app-level discipline in other frameworks are enforced by the architecture.

Feature
FrankenTUI
Ratatuitui-rsRaw crossterm
Inline mode w/ scrollback
First-classApp-specificApp-specificManual
Deterministic buffer diff
Kernel-levelYesYesNo
One-writer rule
EnforcedApp-specificApp-specificNo
RAII teardown
TerminalSessionApp-specificApp-specificNo
Snapshot/time-travel harness
Built-inNoNoNo
Bayesian diff strategy
Built-inNoNoNo
Resize coalescing (BOCPD)
Built-inNoNoNo
Alpha blending / compositing
Porter-DuffNoNoNo
Elm architecture runtime
Built-inApp-specificApp-specificNo
Conformal prediction alerts
Built-inNoNoNo
Zero unsafe in render path
Enforced (#![forbid])MinimizedNoNo
The Code

Minimal API, Maximum Power

A complete interactive app in under 40 lines. The Elm/Bubbletea-style architecture separates model, update, and view into clean, testable functions.

examples/tick.rs
01
use
ftui_core::event::Event;
02
use
ftui_core::geometry::Rect;
03
use
ftui_render::frame::Frame;
04
use
ftui_runtime::{App, Cmd, Model, ScreenMode};
05
use
ftui_widgets::paragraph::Paragraph;
06 07
struct
TickApp {
08 ticks: u64,09}10 11#[
derive
(Debug, Clone)]
12
enum
Msg {
13 Tick,14 Quit,15}16 17
impl
From<Event>
for
Msg {
18
fn
from(e: Event) -> Self {
19
match
e {
20 Event::Key(k)
if
k.is_char('q') => Msg::Quit,
21 _ => Msg::Tick,22 }23 }24}25 26
impl
Model
for
TickApp {
27
type
Message = Msg;
28 29
fn
update(&
mut
self
, msg: Msg) -> Cmd<Msg> {
30
match
msg {
31 Msg::Tick => {32
self
.ticks += 1;
33 Cmd::none()34 }35 Msg::Quit => Cmd::quit(),36 }37 }38 39
fn
view(&
self
, frame: &
mut
Frame) {
40
let
text = format!("Ticks: {} (press 'q' to quit)",
self
.ticks);
41
let
area = Rect::new(0, 0, frame.width(), 1);
42 Paragraph::new(text).render(area, frame);43 }44}45 46
fn
main() -> std::io::Result<()> {
47 App::new(TickApp { ticks: 0 })48 .screen_mode(ScreenMode::Inline { ui_height: 1 })49 .run()50}
Syntax_Validation_Active
UTF-8_ENCODED
Built in 5 Days

From Zero to crates.io

100 hours of focused engineering. Every decision documented, every algorithm justified. Here is how the first 3 milestones unfolded.

Day 1 — 2026-01-31 14:21

Architecture Plan Locked

  • Initial commit: FrankenTUI plan documents.

  • Upgraded plan to a hybrid architecture (V5.0 → V6.1).

  • Expanded the bead graph to cover core components, dependencies, and acceptance tests.

System Log v0.1
Day 1 — 2026-01-31 17:48

Reference Library Sync

  • Added a reference library sync script + build infrastructure.

  • Fixed idempotency and Makefile bugs in the sync tooling.

  • Seeded beads for syntax highlighting, forms/pickers, and other showcase surfaces.

System Log v0.1
Day 1 — 2026-01-31 23:23

Workspace Born

  • Initialized the Rust workspace with the `ftui` crate structure.

  • Added 15 comprehensive feature beads with 46 subtasks.

  • Added a comprehensive test bead graph for 15 new feature areas.

System Log v0.1
FrankenTUI

From the Author

“You need some Alien Artifact code? I know a guy...”

Jeffrey Emanuel

@doodlestein

2026-01-31

OK, the FrankenTUI plan is finally locked in. I had to finish porting Python's rich, Golang's Charm libraries (bubbletea, lipgloss, etc), and OpenTUI to Rust first to get the various pieces into place. Going to make the beads now if you want to follow.

1346225.5K
VIEW_ORIGIN_PROTOCOL

Jeffrey Emanuel

@doodlestein

2026-02-04

FrankenTUI is done! And it's spectacular. There are a couple tiny bugs I want to fix around border alignment, and I can still make things even faster (it's already super fast). Not bad for ~4 days. I think it's the best TUI framework around.

361113123.6K
VIEW_ORIGIN_PROTOCOL

Jeffrey Emanuel

@doodlestein

2026-02-04

Here's some of the advanced math that goes into making FrankenTUI so fast. This is why I refer to it as an 'Alien Artifact.' This goes beyond clever engineering, like using SIMD and making things friendly for cache lines. This is more like 'you've dedicated your life to math':

60213.1K
VIEW_ORIGIN_PROTOCOL

Jeffrey Emanuel

@doodlestein

2026-02-01

OK we've got beads now. 171 of them to be exact (I might still add a few more). That means we're basically 90% of the way there in terms of my own involvement. After this point, it's mostly machine tending and account swapping: totally mechanical and formulaic.

614614.1K
VIEW_ORIGIN_PROTOCOL

Jeffrey Emanuel

@doodlestein

2026-02-01

If you want to see them, I used bv's nice static page export feature to make a site (this took literally 20 seconds): https://dicklesworthstone.github.io/beads-for-frankentui/

3062.0K
VIEW_ORIGIN_PROTOCOL

Jeffrey Emanuel

@doodlestein

2026-02-04

It has been an extremely active 24 hours for FrankenTUI development, with countless new features and functionality added (including massive numbers of tests and verifications). Have you ever seen a terminal like this? Because I know I haven't! Can't wait to start building stuff!

16410619.7K
VIEW_ORIGIN_PROTOCOL

Jeffrey Emanuel

@doodlestein

2026-02-05

More fun with FrankenTUI. It now supports complete Mermaid diagrams with multiple rendering formats, dynamic layout and resizing, etc. Forgive the drifting AV sync towards the end... OBS started choking because I have too much stuff going on and CC couldn't figure out how to fix.

54665.5K
VIEW_ORIGIN_PROTOCOL

Jeffrey Emanuel

@doodlestein

2026-02-07

I'm also going back and rewriting all my TUI applications in FrankenTUI, starting with cass, where I'm completely replacing the venerable ratatui. It's going to look and feel so much better. Anything is possible now. No one can stop Mary Shelley's FrankenTUI.

50333.4K
VIEW_ORIGIN_PROTOCOL

Jeffrey Emanuel

@doodlestein

2026-02-07

The dev speed is unparalleled. Clankers love it because it was MADE by a clanker (well, tons of them with me egging them on to greatness). 'FCBC'.

20122.1K
VIEW_ORIGIN_PROTOCOL

Jeffrey Emanuel

@doodlestein

2026-02-07

Definitely the coolest use case so far, and shows how qualitatively different FrankenTUI is than other projects. The performance is so insane that it opens up new vistas. 'Quantity has a quality all its own' applies to raw execution speed

0031.4K
VIEW_ORIGIN_PROTOCOL

Jeffrey Emanuel

@doodlestein

2026-02-07

Other examples of people doing cool stuff with the Bride of FrankenTUI:

1041.0K
VIEW_ORIGIN_PROTOCOL

Grok

@gaborcsapo

2026-02-04

The Bayesian math and evidence ledger aren't overhead — they're what makes FrankenTUI fast. The Beta posterior avoids scanning unchanged rows (602 Kcells/s sparse). BOCPD collapses resize storms into single renders. VOI keeps overhead under 2%. These are targeted, low-cost models that prevent expensive work.

VIEW_ORIGIN_PROTOCOL

Ready to Build?

Add FrankenTUI to your Rust project with a single command. Ship terminal interfaces with correctness guarantees from day one.

terminal
$cargo add ftui
MIT License · Free & Open Source
Get Started
Origin_Protocol

Crafted by
Jeffrey Emanuel.

This entire system was architected and built using the AI Flywheel — an interactive ecosystem of specialized autonomous agents.

Neural_Containment_Field v4.2
Neural_Network_Online

The AI
Flywheel.

A high-velocity AI engineering ecosystem designed for building systems like FrankenTUI.

FrankenTUI wasn't built manually. It was architected and implemented through a recursive feedback loop of specialized AI agents, each handling a different layer of the kernel hierarchy.

Active_Nodes
14
Stability
100%
Uptime
14d
SIGNAL_LOCK_STABLE

The development process for FrankenTUI was a recursive feedback loop. Specialized agents handled different layers of the kernel hierarchy, from the zero-unsafe core to the Bayesian diffing strategy.

FrankenTUI Origin
Flywheel_Generated