chuan
d84ca3a313
feat: share runtime keybindings with components
...
- add component-level keybinding injection contract
- inject runtime keybinding registry when components enter runtime or overlay
- cover focused component behavior with shared runtime keybindings
2026-06-04 02:54:07 +08:00
chuan
60bce3c12c
feat: add runtime input listeners
...
- add runtime-level input listener registration with consume support
- expose runtime keybinding registry for global shortcuts
- cover input interception and focus dispatch behavior with tests
2026-06-04 02:47:25 +08:00
chuan
54a71c1645
chore: add package and ci foundation
...
- add README and public API boundary documentation
- configure package metadata and CI validation
2026-06-04 02:40:53 +08:00
chuan
e2d534170f
feat: add terminal image foundation
...
- add terminal image service and image component
- protect image lines and clean up kitty image ids
2026-06-04 02:28:58 +08:00
chuan
41c0d91d77
feat: add autocomplete foundation
...
- add reusable autocomplete provider contracts
- integrate slash command completions with editor select list
2026-06-04 02:23:06 +08:00
chuan
83967fa691
feat: add component infrastructure
...
- add focusable runtime state and invalidate entry
- add theme primitives and reusable components
- add component checks for focus and cancellation
2026-06-04 02:17:07 +08:00
chuan
0be34a9c16
feat: improve ansi text utilities
...
- measure text with grapheme-aware terminal widths
- add ansi-aware truncate slice and wrap checks
2026-06-04 02:10:46 +08:00
chuan
48fa673daf
feat: improve overlay composition
...
- preserve base content around overlay regions
- add ANSI-aware column slicing for overlay segments
- align overlay rows with bottom viewport
2026-06-04 01:55:13 +08:00
chuan
b22030c76d
feat: improve render pipeline
...
- add render frame viewport state
- wrap render writes in synchronized output
- reset terminal styles per rendered line
2026-06-04 01:51:17 +08:00
chuan
9cef923d55
feat: add keybinding registry
...
- add key id and keybinding registry defaults
- route input components through action matching
2026-06-04 01:45:26 +08:00
chuan
e7b659fb8f
feat: add terminal session lifecycle
...
- add replaceable terminal session abstraction
- manage terminal modes on start and stop
- route runtime and example through terminal session
2026-06-04 01:39:45 +08:00
chuan
31766b2a78
feat: improve editor layout flow
...
- split editor implementation by responsibility
- add editor submit events and soft wrap layout
- support modified enter input for editor submission
2026-06-04 01:24:22 +08:00
chuan
895d7401fe
feat: update editor keyboard
2026-06-04 01:13:45 +08:00
chuan
18e1f90f62
feat: upgrade select list items
...
- add SelectItem model with labels and descriptions
- support filtering, wrap-around, scroll info, and selection change
- demonstrate select list filtering in Example
2026-06-04 01:01:28 +08:00
chuan
ea8a5b08d7
chore: move core file to new folder
2026-06-04 00:58:25 +08:00
chuan
47ce443327
feat: improve editor interactions
...
- add editor history, word navigation, and undo redo
- preserve overlay cursor focus when editor is open
- demonstrate editor shortcuts in Example
2026-06-04 00:56:38 +08:00
chuan
8a71a27944
feat: add overlay layout options
...
- add configurable overlay sizing and anchors
- support non-capturing overlays and focus handles
- demonstrate overlay options in Example
2026-06-04 00:44:28 +08:00
chuan
2ab090d724
feat: buffer terminal input sequences
...
- add stdin buffer for escape sequences and bracketed paste
- parse control keys and CSI modifier combinations
- simplify example to focus on interactive components
2026-06-04 00:37:20 +08:00
chuan
02ef36eff5
chore: udpate target
2026-06-04 00:24:48 +08:00
chuan
a9297ba5cd
feat: add advanced components
...
- add editor select list markdown and loader components
- update example to preview advanced components and overlay interactions
2026-06-04 00:12:01 +08:00
chuan
d49c7644d0
chore: add some comments
2026-06-03 23:29:26 +08:00
chuan
1d8ad20315
feat: add overlay manager
...
- compose visible overlays into rendered lines
- add runtime APIs for showing and hiding overlays
- restore focus when overlays close
- add help overlay example
2026-06-03 23:19:48 +08:00
chuan
6da88b6a67
feat: position hardware cursor
...
- add cursor marker extraction for rendered lines
- move the terminal cursor after full and differential renders
- update input to use the real cursor instead of a block glyph
2026-06-03 23:07:28 +08:00
chuan
e2311f6e99
feat: add basic components
...
- add text, box, and single-line input components
- support input change, submit, and cancel callbacks
- update example to compose the page from library components
2026-06-03 22:46:18 +08:00
chuan
9ec681b724
feat: add differential renderer
...
- track previous rendered lines and terminal size
- redraw only changed rows after the initial full render
- expose redraw counters in the example
2026-06-03 22:19:47 +08:00
chuan
7103f8acc0
feat: add terminal text measurer
...
- measure terminal display width for text and escape sequences
- truncate rendered lines to terminal columns
- add width and truncation examples
2026-06-03 22:14:35 +08:00
chuan
d385348c62
feat: add full screen renderer
...
- implement renderer that clears and redraws all lines
- switch example to the library renderer
2026-06-03 22:03:42 +08:00
chuan
ac1985bc5c
feat: add tui runtime
...
- wire terminal input parsing to focused components
- render the root component tree through the renderer
- update example to exercise runtime dispatch
2026-06-03 22:00:24 +08:00
chuan
0fd4465aa8
feat: add default input parser
...
- define standard key names for normalized input events
- parse common terminal key sequences and bracketed paste
- update example to display parsed input events
2026-06-03 21:53:18 +08:00
chuan
0d9a36b6a6
feat: add console terminal io
...
- implement console-backed terminal input and resize polling
- implement console-backed terminal output helpers
- add example program for manual IO verification
2026-06-03 21:48:00 +08:00
chuan
49e368de72
feat: initialize interfaces and model
2026-06-03 21:35:48 +08:00
chuan
ca09cf7273
feat: create default lib
2026-06-03 20:55:40 +08:00