25 lines
1.3 KiB
Markdown
25 lines
1.3 KiB
Markdown
# 0005: Terminal semantics stay behind a Lumbridge-owned contract
|
|
|
|
Status: accepted for the first terminal slice.
|
|
|
|
Lumbridge uses `alacritty_terminal` with default features disabled as its first
|
|
VT state engine. The dependency is mature enough to cover substantially more
|
|
terminal behavior than a new parser, but its types do not cross into runtime,
|
|
storage, IPC, or UI APIs.
|
|
|
|
`lumbridge-terminal` accepts ordered raw PTY bytes and exposes immutable
|
|
Lumbridge snapshots containing cells, styles, colors, cursor, terminal modes,
|
|
and sanitized title state. It owns terminal key and paste encoding. Protocol
|
|
replies such as device-status responses return as bytes and enter the same
|
|
bounded actor queue as all other PTY input, preserving ordering.
|
|
|
|
Clipboard writes such as OSC 52 are disabled by default. Transcript-bearing
|
|
snapshots deliberately omit `Debug`, and terminal titles are bounded and stripped
|
|
of controls. A renderer may derive plain rows for a spike, but that is not the
|
|
terminal model and must not become the persistence or automation contract.
|
|
|
|
Adopting this engine is reversible: conformance fixtures target the Lumbridge
|
|
contract, and no upstream application code is copied into this repository.
|
|
Kitty keyboard/graphics behavior, OSC 8 links, mouse modes, IME, selection, and
|
|
platform rendering remain explicit qualification work.
|