d47408f31c2b4d3a469d39f54bea0e7c65f8dd0c
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)
Languages
Rust
95%
C
1.5%
Shell
1.4%
HTML
0.6%
GLSL
0.3%
Other
1.1%