master
Widgets (CodeEditor, TextField, Dialog) plus clipboard/text internals, extracted from the kiln workspace. No game-engine dependency. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
kiln-ui
Reusable, game-agnostic terminal UI widgets built on ratatui.
Extracted from the kiln project so the same widgets can drive any ratatui front-end (a game editor, a text editor, …). The crate has no game-engine dependency.
Widgets
code_editor::CodeEditor— a hand-written, modeless, keyboard-only full-screen code editor: selection, undo/redo, word/paragraph motion, system clipboard, and syntect syntax highlighting. (Highlighting is currently hardcoded to Rhai; a pluggable syntax/theme is a planned follow-up.)text_field::TextField— a single-line editable field (the building block for dialog inputs).dialog::Dialog<Ctx>— modal text-entry and filterable-list dialogs, generic over a host context they mutate only through callbacks.CursorOverlay/render_overlay/dim_area— the modal-overlay scaffolding: a widget paints into a buffer and returns where the caret goes; the host places it.
Notes
- Not WASM-compatible: pulls in
syntect(highlighting) andarboard(system clipboard). The ratatui core itself is WASM-friendly. - ratatui version: pinned to
0.30.x. Consumers exchange ratatui types with these widgets, so theirratatuimust unify with this crate's.
Development
cargo build
cargo test # pure-logic unit tests, no TTY required
Description
Languages
Rust
100%