chore: remove the unused cell buffer - #137
Merged
Merged
Conversation
`src/terminal/screen.zig` -- `Screen`, `Cell`, `Color`, `renderDiff`, `render` -- had no callers in src, tests, examples or the reference. It was never wired into anything. Its presence actively misled: issue #125 was opened because a complete cell-level `renderDiff` sat next to a renderer that rewrote whole frames, and it was not obvious that the two work at different granularities (cells vs. view strings). The line-level renderer is what the render loop can actually use. It also collided in the public namespace: `zz.Screen` is the screen-stack Screen while `zz.screen.Screen` was the cell buffer. Components that need a cell grid -- canvas, braille_canvas, the layer compositor -- carry their own, so nothing is left without a home.
meszmate
force-pushed
the
chore/remove-dead-screen-buffer
branch
from
August 14, 2026 03:40
c6182a5 to
ea79727
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Item 1 from the review.
src/terminal/screen.zig—Screen,Cell,Color,renderDiff,render— has no callers insrc,tests,examples, or the reference. It was never wired into anything and has no tests.Its presence actively misled. #125 was opened because a complete cell-level
renderDiffsat next to a renderer that rewrote whole frames, and it was not obvious that the two work at different granularities — cells versus view strings. The render loop deals in view strings, so the line-level renderer in #131 is what it can actually use.It also collided in the public namespace:
zz.Screenis the screen-stackScreen, whilezz.screen.Screenwas the cell buffer.Components that need a cell grid —
canvas,braille_canvas, the layer compositor — each carry their own, so nothing is left without a home.Breaking
zz.screenandzz.terminal.screenare removed. Nothing in the repo or the docs referenced them, and the library is pre-1.0, but it is a public symbol going away.If you would rather keep it as a supported building block for custom drawing, say so and I will document and test it instead — but as it stands it is 300 lines that no code path reaches.
Conflict note
Touches the same two lines of
terminal.zigandroot.zigas #131. Whichever merges second needs a one-line rebase.zig build testandzig buildclean on 0.16.0.