ddidderr fb9e33f1f2 feat(terminal): port kitty graphics protocol storage and execution
Ports ZIG/src/terminal/kitty/graphics_*.zig:
- image loading for direct, file, temp-file and shared-memory
  transmissions (rustix::shm, no unsafe), chunking, zlib and PNG decode
- image storage with placements (incl. virtual) tracked by PageList pins,
  all delete modes, byte-limit eviction and dirty tracking
- unicode placeholder decoding and placement iteration
- command execution, generic over an ExecTerminal trait

Deviations: storage methods take the PageList explicitly; evicted or
replaced placements now release their tracked pins (Zig leaks them);
file transmissions with S= truncate per the kitty spec. Zig quirks kept
for parity: delete-range matches all placements, eviction stops only
after freeing strictly more than requested, set_limit(0) resets.

Not yet wired: Screen still holds the KittyImages placeholder, so
Terminal does not implement ExecTerminal; integration steps are in
docs/rewrite/notes/ghostty-terminal-kitty.md.

Test Plan:
- cargo test -p ghostty-terminal (66 kitty tests; all Zig tests ported)
2026-10-11 22:52:07 +02:00
2026-10-11 21:27:49 +02:00
2026-10-11 21:27:49 +02:00
2026-10-11 21:27:49 +02:00
2026-10-11 21:27:49 +02:00
2026-10-11 21:27:49 +02:00
2026-10-11 21:27:49 +02:00
2026-10-11 21:27:49 +02:00
2026-10-11 21:27:49 +02:00
S
Description
No description provided
36 MiB
0 Stars 1 Watchers 0 Forks
Languages
Rust 95%
C 1.5%
Shell 1.4%
HTML 0.6%
GLSL 0.3%
Other 1.1%