Architecture¶
Rezi is built as a layered system: a runtime-agnostic UI core, a Node.js backend, and a native rendering engine.
Runtime stack¶
flowchart TB
App["Application Code"] --> Core["@rezi-ui/core"]
JSX["@rezi-ui/jsx"] -.-> Core
InkCompat["@rezi-ui/ink-compat"] -.-> Core
Core --> Node["@rezi-ui/node"]
Node --> Native["@rezi-ui/native"]
Native --> Engine["Zireael C Engine"]
subgraph Runtime-Agnostic
Core
end
subgraph Node.js Runtime
Node
Native
end
Data flow (high level)¶
- Your
viewfunction produces a widget tree (VNodes) in@rezi-ui/core. - The core runtime computes layout, focus, and render updates.
- The Node backend sends drawlists (ZRDL) and event batches (ZREV) across the native boundary.
- Zireael performs terminal I/O and diff-based rendering.