chore: scaffold Cargo workspace for the Ghostty rewrite

Start of the full Rust rewrite of Ghostty 1.3.1 (reference source in
../ghostty). Sets up a workspace whose crates mirror Ghostty's Zig modules
(vt, unicode, datastruct, os, input, config, terminal, font, renderer,
termio, core, apprt-gtk) so porting work can proceed in parallel per crate.

Also adds:
- docs/rewrite/{ARCHITECTURE,PLAN,STATUS,AGENT_GUIDE}.md: crate map, core
  design decisions (safe Rust, slab-based PageList, logical capacity
  accounting), phased plan, progress tracker, and porting rules.
- Workspace clippy config relaxing pedantic lints that are pure noise for
  low-level terminal code (casts, long functions).
- Shared vt types needed by several work packages up front: kitty
  keyboard flags (kitty/key.rs) and the CSI separator bitset (SepList).

Test Plan:
- cargo test -p ghostty-vt (3 tests pass)
- cargo clippy -p ghostty-vt --all-targets -- -D warnings
This commit is contained in:
ddidderr committed 2026-10-11 21:41:11 +02:00
1 parent 8dfec20bca
commit 864ef82acb
34 files changed
+759 -4

No files matched your search

Generated
+96
View File
@@ -2,6 +2,102 @@
# It is not intended for manual editing.
version = 4
[[package]]
name = "ghostty-apprt-gtk"
version = "0.1.0"
dependencies = [
"ghostty-config",
"ghostty-core",
"ghostty-input",
]
[[package]]
name = "ghostty-config"
version = "0.1.0"
dependencies = [
"ghostty-input",
"ghostty-os",
"ghostty-vt",
]
[[package]]
name = "ghostty-core"
version = "0.1.0"
dependencies = [
"ghostty-config",
"ghostty-datastruct",
"ghostty-font",
"ghostty-input",
"ghostty-os",
"ghostty-renderer",
"ghostty-terminal",
"ghostty-termio",
]
[[package]]
name = "ghostty-datastruct"
version = "0.1.0"
[[package]]
name = "ghostty-font"
version = "0.1.0"
dependencies = [
"ghostty-config",
"ghostty-terminal",
"ghostty-unicode",
]
[[package]]
name = "ghostty-input"
version = "0.1.0"
dependencies = [
"ghostty-vt",
]
[[package]]
name = "ghostty-os"
version = "0.1.0"
[[package]]
name = "ghostty-renderer"
version = "0.1.0"
dependencies = [
"ghostty-config",
"ghostty-font",
"ghostty-terminal",
]
[[package]]
name = "ghostty-rs"
version = "0.1.0"
dependencies = [
"ghostty-apprt-gtk",
"ghostty-config",
"ghostty-core",
]
[[package]]
name = "ghostty-terminal"
version = "0.1.0"
dependencies = [
"ghostty-datastruct",
"ghostty-unicode",
"ghostty-vt",
]
[[package]]
name = "ghostty-termio"
version = "0.1.0"
dependencies = [
"ghostty-config",
"ghostty-os",
"ghostty-terminal",
]
[[package]]
name = "ghostty-unicode"
version = "0.1.0"
[[package]]
name = "ghostty-vt"
version = "0.1.0"