You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The current Kitty graphics implementation stores displayed image tiles in the same cell-backed ImageStorage used by sixel and IIP. PR #6131 restores HAS_EXTENDED as the authoritative indication that a cell still contains active image data. This is correct for sixel/IIP and prevents stale _extendedAttrs from hiding newly written text, but it also makes the current Kitty implementation use WezTerm-style overwrite behavior: writing text evicts the Kitty tiles in those cells.
Kitty graphics uses independent image placements. A placement with negative z is drawn below text, while the default non-negative z is drawn above text. Writing text into the same cells should not delete the placement. Also, C=1 only disables cursor movement after placement; it is not a layering flag.
Proposed direction
Store Kitty placements independently from the text grid and from sixel/IIP cell tiles.
Track each placement image ID, placement ID, source rectangle, destination geometry, offsets, z-index, and buffer anchor.
Render negative-z placements below text and non-negative-z placements above text without consulting stale _extendedAttrs.
Keep scrolling, resizing, image retransmission, and placement deletion consistent with the stored placement records.
Follow-up to #5860 and #6131.
The current Kitty graphics implementation stores displayed image tiles in the same cell-backed
ImageStorageused by sixel and IIP. PR #6131 restoresHAS_EXTENDEDas the authoritative indication that a cell still contains active image data. This is correct for sixel/IIP and prevents stale_extendedAttrsfrom hiding newly written text, but it also makes the current Kitty implementation use WezTerm-style overwrite behavior: writing text evicts the Kitty tiles in those cells.Kitty graphics uses independent image placements. A placement with negative
zis drawn below text, while the default non-negativezis drawn above text. Writing text into the same cells should not delete the placement. Also,C=1only disables cursor movement after placement; it is not a layering flag.Proposed direction
_extendedAttrs.Acceptance criteria
a=Tanda=pcreate independent placement records.Related KGP work remains tracked separately in #5710 (delete selectors), #5711 (Unicode placeholders), and #5712 (relative placements).