Project
Roadmap
The planned and deferred features of tui4s, each with its GitHub issue.
No version of tui4s is published yet. The first release is 0.1.0-RC1 (ADR 0014). Each line below is an open issue on GitHub. The issue has the details and the decision that it waits for. The issue list is the current state.
Integrations
- A ZIO DSL module (
tui4s-zio) over kyo-ui: #18. - A Cats Effect DSL module (
tui4s-cats) over kyo-ui: #19. - The assistant: Codex app-server as a provider: #48.
Input
- Mouse input (click, wheel) as an opt-in: #20.
- The kitty keyboard protocol, so that the terminal reports Shift-Enter: #23.
inputFilterandinputMaskon text inputs: #31.- One-line inputs:
onChangeon each edit, not only on Enter: #32.
Rendering
- The terminal cursor shows under an overlay that does not trap the focus: #30.
- Viewports: a stick-to-bottom mode: #43.
- The painter: a wide glyph that the right edge of a clip cuts: #44.
- The rendering cost: the scroll of a list is O(rows);
ToastsandSpinnerrender on each tick: #33. - The runtime cost of tui4s (from the bench numbers): #50.
API
- A
ui"""..."""template interpolator (intent only, ADR 0017): #21. Tui.run: the promise copy of the run result: #46.
Widgets and composables
- tui4s-widgets on the web: the unit scale, a click on
RadioGroup, a list that follows: #25. - tui4s-use:
useProcessholds a scheduler thread; aLocalStoragetest; CRLF: #45. - More widgets: form validation, a file picker, a Markdown viewer, a calendar, a line chart: #47.
Web and kyo-ui
These issues are drafts for kyo-ui. The maintainer posts them upstream (ADR 0019).
- A keydown on a field in a nested region is lost (kyo-ui JS): #26.
- A handled keydown cannot prevent the default (kyo-ui JS): #27.
- Each Enter submits the form that holds the field (kyo-ui JS): #28.
- A
Stylesheetcannot override inline styles (kyo-ui): #29. - Bound inputs lose keys that come fast (kyo-ui JS): #37.
- A bound value goes into the DOM
valueattribute (kyo-ui JS): #38. - A cell or
chlength unit (kyo-ui): #39.
Kyo and jatatui
- Remove the own signal watcher of the runner when Kyo fixes the
Signal.observeleak: #8. - Measure the split frames again when Kyo closes the lost wakeup of
observe: #9. - kyo-kernel 1.0.0-RC7 has JMH in compile scope: #40.
- A runner outside the package
kyocannot honourUI.scrollIntoView: #41. - jatatui:
NativeLoaderleaves one/tmp/jni-*directory per start: #42.
Benchmarks
- Stage 2: Form, Todo, Log viewer, Chat, Cells: #22.
- A person of each ecosystem reviews each implementation: #34.
- One run on a dedicated machine, with the published numbers: #51.
Platforms
The assistant
- Document the provider defaults of the assistant: #35.
- Split
Surfaceinto data and aKeyVaultcapability: #36.
Propose a feature
Open an issue on GitHub. Give the use case, a small kyo-ui example of the UI, and what tui4s does today.