Currently the glyphs are stored with each span of text (DrawNode). However when drawing text and it overlaps with an existing span of text, the existing span of text needs to be split. Knowing where to split in the glyph array is complicated and bug prone.
Refactor so that each cell contains an array of glyphs that represent that cell. Then when rendering the text, batch glyphs into a glyph string which is then used as a single text render node. The resulting code is much simpler, because now the DrawNode data structure only represents visual attributes, which means they can be easily split and clipped.
https://github.com/vim/vim/pull/20674
(5 files)
—
Reply to this email directly, view it on GitHub, or unsubscribe.
Triage notifications, keep track of coding agent tasks and review pull requests on the go with GitHub Mobile for iOS and Android. Download it today!
You are receiving this because you are subscribed to this thread.![]()