dankamongmen / notcurses

blingful character graphics/TUI library. definitely not curses.
https://nick-black.com/dankwiki/index.php/Notcurses
Other
3.61k stars 114 forks source link

notcurses-input pixel plot never recedes in framebuffer console #2147

Open dankamongmen opened 3 years ago

dankamongmen commented 3 years ago

See #2133 for the xterm side of this long struggle.

dankamongmen commented 3 years ago

so what exactly do we do here? do we need explicitly draw zero-alpha pixels? does that work? does it retain underlying glyphs?

dankamongmen commented 3 years ago

or is it like sixel, where we print over it? blitting transparence would probably be faster, actually...but does it work?

dankamongmen commented 3 years ago

yes, it does appear to work! i made a quick tgrid which just writes all 0s, and it cleared grid while leaving everything else up.

dankamongmen commented 3 years ago

hrmm or maybe not. if i write a 0xffffffff, we get white annihilating, but if i write 0x00000000 at the same place, nothing is cleared.

dankamongmen commented 3 years ago

if we write 0xff000000, it clears properly! yay!

dankamongmen commented 3 years ago

ahhh but it does blow away text =[ of course, because this is opaque black

dankamongmen commented 3 years ago

if that's true, the only way to get this done is to zap all cells and then redraw, or blit all black, redraw occupied cells, and then redraw. the former is better if there's little text in the area; the latter is better if it's relatively full. that sucks, ugh. i don't understand how sixel is working if it's not scrubbing either, though? we hit scrub whenever we come through clean_sprixels() with SPRIXEL_HIDE. which we're not, we're SPRIXEL_INVALIDATED. so how does sixel work?!!?!

dankamongmen commented 3 years ago

so with ncplayer and sixel we're doing 3/4/0, aka draw-clean-draw. and we do indeed have flicker. but that's not what's happening with notcurses-input.

dankamongmen commented 3 years ago

lol can we do whatever we're doing for plots for ncplayer?

dankamongmen commented 3 years ago

hrmmm no we flicker ever without the hide. weird, what's going on?

dankamongmen commented 2 years ago

this is really hard. punting past 3.0.0.