Releases: kristoferlund/ratcn
Release list
v0.0.3
Try ratcn in your own terminal, no Rust installation or account needed:
ssh ratcn.comBrowse interactive components, switch themes, and explore demo apps in the live showcase. Start with a button, then try a Kanban board or a multi-step wizard.
Breaking
Ratcn::render(frame, area, state, theme, declare)now takesareasecond. Passframe.area()for the whole frame or a pane rectangle. The area bounds floating placement, layer copies, and modal dimming, but does not clip arbitrary base paint or restrict input routing.
Added
Ratcn::render_into(buffer, area, state, theme, declare)renders into a caller-owned buffer for offscreen content and previews. The caller allocates and clears the buffer and handles windowing; no cursor metadata is returned.FocusState::none()andis_none()represent no focused component, distinct from default startup focus. This does not disable input: input can focus the tree again, and closing a modal restores a saved no-focus state.- The
cargo-ratcnCLI:cargo ratcn initsets up an existing terminal project, keeping Cargo’s default main or installing a starter;cargo ratcn addcopies components from the project’s resolvedratcnpackage. - A terminal showcase with reusable buffer-based demos and a Getting started guide.
Changed
- The website and documentation are now at ratcn.com.
Fixed
- Wide glyphs cut by a layer’s clipping edge no longer paint over host content outside the render area; complete glyphs at the edge remain intact.
Both ratcn and cargo-ratcn are published as 0.0.3.
Full changelog: v0.0.2...v0.0.3
v0.0.2
ratcn 0.0.2 adds Checkbox, Cycle, ProgressWidget, and ScrollArea, plus a terminal session with adaptive themes. The runtime now declares once and paints afterward, with runtime-owned hover, gestures, and viewports. Lists, selects, and text measurement are faster, every theme has been retuned, and the guides and demos follow the new APIs throughout.
This preview release contains broad breaking API changes. Pin the version exactly and consult the full changelog when upgrading.
cargo add ratcn@=0.0.2 --features crosstermv0.0.1
First public release.
ratcn is a component library for Ratatui apps: themeable
terminal UI components that you can copy, paste, and own in your application
code.
What ships
Button · List · Select · Tabs · Dialog · Toast ·
BarChart · Tooltip
Most come in two halves: a plain Ratatui widget that only draws, usable on its
own with no runtime, and an interactive component that adds focus, keyboard,
mouse, and messages on top. BarChart and Toast are paint-only; Dialog is
interactive only.
Your app keeps its loop and its state. The library enters at exactly two call
sites — Ratcn::render and Ratcn::handle_event — and components never write
state; they return messages for your update to apply.
Install
cargo add ratcn --features crosstermUse --features ratzilla instead to run in the browser, or no feature at all
for the paint-only widgets.
Preview status
The API will break. This is an early release and the public surface is still
moving, so pin an exact version and expect to edit when you upgrade.
There is no install CLI yet — copying a component into your project is a manual
file copy today.
Planned next: text input, multi-line text area, and a scroll area.
If you want a specific component or pattern, please open an issue.
Requirements
Rust 1.88 or later (1.90 for the browser build).