TuiPackage Map
Package Map
Choose the right @visulima/tui sub-package for your use case
Package Map
@visulima/tui is a single package with multiple entry points.
Use this page to decide which entry to import and where each API lives.
Quick Choice
| If you want to… | Use entry point | Why |
|---|---|---|
| Build a React TUI with components and hooks | @visulima/tui/react | Includes the React renderer and Ink-compatible API |
Paint terminal cells directly from a Uint32Array | @visulima/tui/core | Lowest-level runtime, direct control over render loop and buffer |
Run or study the ink-fast fork and perf experiments | @visulima/tui/ink | Standalone Ink fork + benchmark harnesses |
@visulima/tui/core
Framework-agnostic runtime backed by the Rust diff engine.
Primary APIs are exposed to TypeScript/JavaScript while rendering is handled by a native Rust diff engine.
Primary exports:
RendererTerminalGuardterminalSizeCell,StyleMasksInputParserRatatatAppcreateInlineLoop
npm install @visulima/tuiimport { Renderer, TerminalGuard, terminalSize } from "@visulima/tui/core";@visulima/tui/react
React adapter and Ink-compatible component/hook surface.
Depends on @visulima/tui/core for terminal output and native diffing.
Primary exports:
render,renderInline,renderToString- components:
Box,Text,Static,Transform,Spinner,ProgressBar,Newline,Spacer - hooks:
useInput,useApp,useFocus,useFocusManager,usePaste,useMouse,useScrollable,useTextInput, and more
npm install @visulima/tui reactimport { render, Box, Text, useInput } from "@visulima/tui/react";@visulima/tui/ink
Research/experimental entry: the ink-fast fork.
Contains:
- forked Ink implementation
- benchmark suites
- profiling harnesses
- research notes and snapshots
import { render } from "@visulima/tui/ink";