Optimize eterm Kitty graphics frame replacement

- swap decoded frames into reusable image storage
  - recycle previous frame allocations for subsequent transfers
  - avoid full-frame copies during anonymous image replacement
  - extend tests to verify safe allocation reuse across frames
  - document eterm and eeiv in the project introduction
This commit is contained in:
Martín Lucas Golini
2026-09-04 18:45:10 -03:00
parent 7ed9b7c517
commit 0e9f2e832f
3 changed files with 29 additions and 6 deletions
+12 -1
View File
@@ -1,6 +1,7 @@
# Project Architecture: eepp & ecode
This repository contains two primary components: a core framework (`eepp`) and an application built on top of it (`ecode`).
This repository contains the core framework (`eepp`) and several applications and tools built on
top of it, including `ecode`, `eterm`, and `eeiv`.
## 1. eepp (Core Framework)
@@ -12,6 +13,16 @@ This repository contains two primary components: a core framework (`eepp`) and a
* **Relationship:** `ecode` is built *using* the `eepp` GUI framework. It acts as the primary real-world consumer of `eepp`.
* **Goal:** Development on `ecode` is often used to test, improve, and drive new features in the underlying `eepp` library.
## 3. eterm (Terminal Emulator)
`eterm` is the repository's terminal emulator. Its name is always written in lowercase: `eterm`,
not `eTerm`. Its implementation lives under `src/modules/eterm/`.
## 4. eeiv (Image Viewer)
`eeiv` is the repository's image viewer. Its application entry point is
`src/tools/eeiv/eeiv.cpp`.
## Documentation & Code References
When working on this project, rely on the following resources to understand existing implementations: