Skip to content

Commit 7699884

Browse files
Remove in-repo ink-compat package and mark compatibility as redesign WIP (#37)
Co-authored-by: Rezo <r.bolkvadze@cupidmedia.com>
1 parent bdeffc0 commit 7699884

85 files changed

Lines changed: 9 additions & 6811 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

README.md

Lines changed: 8 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -34,25 +34,9 @@ The result is per-frame rendering costs closer to compiled TUI frameworks than t
3434
3. `@rezi-ui/node` transports drawlists/events to `@rezi-ui/native`.
3535
4. The Zireael engine diffs/presents output to the terminal.
3636

37-
## Three ways to use it
37+
## Two ways to use it
3838

39-
### 1) Ink compatibility (React)
40-
41-
> ⚠️ **Experimental** — The Ink compatibility layer is in active development.
42-
> Some Ink apps may not work yet. The target is complete drop-in compatibility.
43-
>
44-
For existing Ink apps, the entry point is `@rezi-ui/ink-compat`:
45-
46-
```diff
47-
- import { render, Box, Text, useInput, useApp } from "ink";
48-
+ import { render, Box, Text, useInput, useApp } from "@rezi-ui/ink-compat";
49-
```
50-
51-
```bash
52-
npm install @rezi-ui/ink-compat @rezi-ui/core @rezi-ui/node react
53-
```
54-
55-
### 2) JSX runtime (no React)
39+
### 1) JSX runtime (no React)
5640

5741
`@rezi-ui/jsx` is a standalone JSX runtime that produces Rezi VNodes directly.
5842

@@ -87,7 +71,7 @@ await app.start();
8771
npm install @rezi-ui/jsx @rezi-ui/core @rezi-ui/node
8872
```
8973

90-
### 3) Native `ui.*` API
74+
### 2) Native `ui.*` API
9175

9276
Direct VNode authoring (no React, no JSX runtime):
9377

@@ -138,6 +122,9 @@ Selected results from `benchmarks/2026-02-11-pty` (`--io pty`, measures the PTY/
138122
| Tree construction (items=1000) | 1.81ms | 11.27ms | 53.15ms |
139123
| Rerender (single update) | 353µs | 414µs | 16.52ms |
140124

125+
Note: `Ink-on-Rezi` measurements above refer to the previous compatibility prototype.
126+
A redesigned Ink compatibility layer is currently in progress and is intentionally withheld until it passes stricter correctness and stability validation.
127+
141128
A separate terminal competitor suite compares Rezi against blessed (Node.js) and ratatui (Rust) on viewport-sized PTY workloads at 120×40. In these scenarios, Rezi is within 3–5x of ratatui while remaining roughly 30–50x faster than Ink (`benchmarks/2026-02-11-terminal`):
142129

143130
| Scenario (PTY) | ratatui | blessed | Rezi (native) | Ink |
@@ -153,7 +140,6 @@ Full results, methodology, and limitations: [BENCHMARKS.md](BENCHMARKS.md)
153140
flowchart TB
154141
App["Application code"] --> Core["@rezi-ui/core"]
155142
JSX["@rezi-ui/jsx"] -.-> Core
156-
InkCompat["@rezi-ui/ink-compat"] -.-> Core
157143
Core -->|"ZRDL drawlist"| Node["@rezi-ui/node"]
158144
Node -->|"SharedArrayBuffer / transfer"| Native["@rezi-ui/native"]
159145
Native --> Engine["Zireael (C)"]
@@ -176,11 +162,12 @@ Node.js 18+ required (18.18+ recommended). Prebuilt native binaries are publishe
176162
| [`@rezi-ui/core`](https://www.npmjs.com/package/@rezi-ui/core) | Runtime-agnostic widgets, layout, styling, input model |
177163
| [`@rezi-ui/node`](https://www.npmjs.com/package/@rezi-ui/node) | Node.js backend and transport (worker/inline) |
178164
| [`@rezi-ui/native`](https://www.npmjs.com/package/@rezi-ui/native) | N-API addon binding to the native engine |
179-
| [`@rezi-ui/ink-compat`](https://www.npmjs.com/package/@rezi-ui/ink-compat) | Ink API surface implemented on top of Rezi (React) |
180165
| [`@rezi-ui/jsx`](https://www.npmjs.com/package/@rezi-ui/jsx) | JSX runtime (no React reconciler) |
181166
| [`@rezi-ui/testkit`](https://www.npmjs.com/package/@rezi-ui/testkit) | Test utilities and fixtures |
182167
| [`create-rezi`](https://www.npmjs.com/package/create-rezi) | Scaffolding CLI |
183168

169+
Ink compatibility is being redesigned and will be published again only after it is tested and proven across complex real-world workloads.
170+
184171
## Quick start
185172

186173
```bash

package.json

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,6 @@
77
"packages/core",
88
"packages/node",
99
"packages/testkit",
10-
"packages/ink-compat",
1110
"packages/native",
1211
"packages/jsx",
1312
"packages/bench",

packages/bench/tsconfig.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,5 +9,5 @@
99
"jsxImportSource": "react"
1010
},
1111
"include": ["src/**/*.ts", "src/**/*.tsx"],
12-
"references": [{ "path": "../core" }, { "path": "../ink-compat" }]
12+
"references": [{ "path": "../core" }]
1313
}

packages/ink-compat/package.json

Lines changed: 0 additions & 41 deletions
This file was deleted.

packages/ink-compat/src/__tests__/Newline.test.tsx

Lines changed: 0 additions & 63 deletions
This file was deleted.

packages/ink-compat/src/__tests__/Static.test.tsx

Lines changed: 0 additions & 71 deletions
This file was deleted.

packages/ink-compat/src/__tests__/Transform.test.tsx

Lines changed: 0 additions & 55 deletions
This file was deleted.

packages/ink-compat/src/__tests__/api.surface.test.ts

Lines changed: 0 additions & 49 deletions
This file was deleted.

0 commit comments

Comments
 (0)