Crate Index
FrankenTUI is a 20-crate Rust workspace. The tables below list each crate with its purpose, status, crates.io availability, and link to its detail page in this site.
As of this page’s last revision, 3 of 20 crates are published to
crates.io: ftui-core, ftui-layout, ftui-i18n. The remainder are in the
publish queue — prefer workspace path dependencies for the full stack.
Core Architecture
| Crate | Purpose | Status | crates.io | Docs |
|---|---|---|---|---|
ftui | Public facade + prelude | Implemented | No | /overview/architecture |
ftui-core | Terminal lifecycle, events, capabilities, animation, input parsing, gestures | Implemented | Yes | /core/overview |
ftui-render | Buffer, diff, ANSI presenter, frame, grapheme pool, budget system | Implemented | No | /render/overview |
ftui-style | Style + theme system with CSS-like cascading | Implemented | No | /style/overview |
ftui-text | Spans, segments, rope editor, cursor, BiDi, shaping, normalization | Implemented | No | /text/overview |
ftui-layout | Flex + Grid solvers, pane workspace system (9K+ lines), e-graph optimizer | Implemented | Yes | /layout/overview |
ftui-runtime | Elm/Bubbletea runtime, effect system, subscriptions, rollout policy, telemetry schema (13K+ line program.rs) | Implemented | No | /runtime/overview |
ftui-widgets | 80+ direct Widget / StatefulWidget implementations | Implemented | No | /widgets/overview |
ftui-extras | Feature-gated add-ons, VFX rasterizer (opt-level=3) | Implemented | No | /extras/overview |
Backend & Platform
| Crate | Purpose | Status | crates.io | Docs |
|---|---|---|---|---|
ftui-backend | Backend abstraction layer | Implemented | No | /platforms/overview |
ftui-tty | TTY terminal backend | Implemented | No | /platforms/tty-backend |
ftui-web | Web/WASM adapter with pointer/touch parity | Implemented | No | /platforms/web-backend |
ftui-showcase-wasm | WASM build of the demo showcase | Implemented | No | /platforms/wasm-showcase |
Testing & Verification
| Crate | Purpose | Status | crates.io | Docs |
|---|---|---|---|---|
ftui-harness | Test harness, shadow-run comparison, benchmark gate, rollout scorecard, determinism fixtures | Implemented | No | /testing/program-simulator |
ftui-pty | PTY-based test utilities | Implemented | No | /platforms/pty-utilities |
ftui-demo-showcase | 46 interactive demo screens + snapshot tests | Implemented | No | /demo-showcase/overview |
doctor_frankentui | Integrated TUI capture, seeding, suite reporting, diagnostics, coverage gating | Implemented | No | /doctor-frankentui/overview |
Supporting
| Crate | Purpose | Status | crates.io | Docs |
|---|---|---|---|---|
ftui-a11y | Accessibility tree and node structures | Implemented | No | /a11y-i18n/a11y-tree |
ftui-i18n | Internationalization support | Implemented | Yes | /a11y-i18n/i18n-locales |
ftui-simd | SIMD acceleration | Reserved | No | — |
ftui-simd is Reserved: the crate exists but is not yet implemented. It
is the only first-party crate that may eventually contain unsafe code (for
SIMD intrinsics). See safety & correctness
for the zero-unsafe policy elsewhere.
Status Legend
- Implemented — shipped with tests and docs.
- Reserved — crate exists as a placeholder; no implementation yet.
Status Summary
| Status | Count |
|---|---|
| Implemented | 19 |
| Reserved | 1 |
| Total | 20 |
| crates.io | Count |
|---|---|
| Published | 3 |
| In queue | 17 |
Adding a FrankenTUI Crate to Your Project
# Cargo.toml
[dependencies]
# Published:
ftui-core = "*"
ftui-layout = "*"
ftui-i18n = "*"
# Workspace path (for the rest, until they hit crates.io):
ftui = { path = "../frankentui/crates/ftui" }
ftui-render = { path = "../frankentui/crates/ftui-render" }
ftui-runtime = { path = "../frankentui/crates/ftui-runtime" }
ftui-widgets = { path = "../frankentui/crates/ftui-widgets" }