Commit Graph
32 Commits
Author SHA1 Message Date
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