This commit is contained in:
@@ -0,0 +1,24 @@
|
||||
# 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.
|
||||
Reference in New Issue
Block a user