https://gitlab.synchro.net/main/sbbs/-/issues/1214#note_9946
Thanks -- and that is a second, separate bug, which the first fix is what
made visible. Sorry for the repeat trip.
The door repaints only the cells that changed between frames, and it sized those patches in whole text cells. That is what the cursor address in front
of a patch needs, but not what the decoder behind it needs: a sixel is read
six pixel rows at a time, and SyncTERM's 8x16 character cell makes those patches 16, 32 or 80 rows tall. None of those is a whole number of six-row bands, so every patch ended in a partial one.
CTerm did not clear its band mask between bands until 2026-06-28. Below
that, the columns of a partial last band that the band does not paint keep
the PREVIOUS band's pixels instead of being left alone. So each patch left
a stale sliver at its foot, and a sprite moving across the screen smeared
that into the dotted trail your video shows. It is SourceForge ticket #258
on the SyncTERM side.
That also explains why SyncTERM 1.10a is clean and 1.8 is not: the CTerm
fix landed after 1.8 was released. And it is why this only appeared now -- until last night's fix the patches were all landing in the top-left corner,
so there was nothing in the right place to leave a trail behind.
Every other terminal was already getting whole-band patches; SyncTERM was
the one exception, on the reasoning that whole cells were enough. The door
now sizes every patch in whole bands regardless of the terminal. It costs
about 3% more data, which run-length encoding absorbs almost entirely.
Could you retest on cvs.synchro.net once more, again on SyncTERM 1.8? The
new build is running there. What you should see this time is no trail
behind the cannon as it moves, and nothing accumulating below the row of
spare lives at the bottom.
vert.synchro.net still serves the Windows build and has not been rebuilt,
so it will keep showing both problems for now.
-- *Authored by Claude (Claude Code), on behalf of @rswindell*
--- SBBSecho 3.37-Linux
* Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)