Fixed
- GIF plays briefly, then freezes / reverts to the still cover (#49, Tizen). The image cache couldn't decode the GIF (SDL_image on Tizen has no GIF reader), so it treated the file as corrupt and deleted it — while the animation code was reading that same file. The cover fell back to the still image, the cache downloaded the GIF again (one megabyte per round), the animation came back for a moment, and the cycle repeated on the cache's 2 s / 10 s retry clock. A GIF with a GIF signature is now left on disk for the animator.
- Frame rate collapsing to ~30 fps with an animated cover in focus (same report, visible in the log photos as
swap=118…146 ms). Each frame went GPU → CPU → wasm heap → GPU. Frames now go straight from the canvas to the texture on the GPU.
Not verified on a Samsung here; the whole chain is in the reporter's log, what's left to see is the effect.
Notes
- The
.ipkinstalls on rooted webOS TVs (Homebrew Channel / dev mode). - The
.wgtis unsigned — sign it with your own Tizen certificate to install.
Assets re-cut after publishing
Both files were replaced shortly after this release went out, with no change to the code. The first build carried a batch of resized artwork in which two folders had been shrunk below the size the app actually draws them at — the title logos ended up at 448 px wide against a 560 px draw, so the hero logo was being upscaled on screen.
The art is now sized from the largest draw width across every call site that consumes each folder:
logo 700 px (largest draw 560, x1.25 slack)
editorial 1920 px (goes through the hero path, cap 1920)
cinematic 1920 px (hero cap)
poster 288 px (card drawn at 214, x1.25 slack)
Net effect versus 1.0.51: the package still shrinks, from 47 MB to 35 MB, because one folder genuinely was four times wider than it is ever drawn. It just does not shrink as far as the first build of this tag claimed.
Neither of the original files had been downloaded when they were replaced.