Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

draw-frame vs full-refresh #17

Open
patrickbkr opened this issue May 23, 2024 · 2 comments
Open

draw-frame vs full-refresh #17

patrickbkr opened this issue May 23, 2024 · 2 comments

Comments

@patrickbkr
Copy link

TW::Input.draw-frame calls self.full-refresh while TW::SpanBuffer.full-refresh calls self.draw-frame. This feels inconsistent.

@japhb
Copy link
Owner

japhb commented May 23, 2024

Oh yes, agreed that this is a mess, and a known one at that. It came from merging two different designs that I had for how to optimize relayouts and redraws while still supporting the basic Terminal-Print animation model. I'd already done some cleanup of this (the easy bits mostly), so what you see now isn't quite as bad as it once was, but this all needs some sit-down-and-design time.

FWIW the reason this is not trivial to design is that there's a complex interaction of the above goals with Z layering, popovers, and partially-transparent layers that needs to be thought through thoroughly (sorry, couldn't resist that phrasing 😉).

@patrickbkr
Copy link
Author

Simply removing Input.draw-frame worked. (I did that so I could make my RichText do both Input and SpanBuffer, both of which provided a draw-frame.)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants