Changing a palette colour of pixel art flooded the console with Pixi
warnings: "[BindGroup] a 'textureSource' was destroyed while still
bound to a shader", and the same for its sampler. #293 had stopped
this for a drawing, but a frame of pixel art is worn as a cut of the
sheet. The cut has a source of its own, so the sheet looked unbound,
was freed at once and took the cut with it under the shader.
- The check whether a replaced picture is still in use gets its key
too. TextureLibrary then asks the picture and every cut taken from
it.
- A sheet with a bound cut waits like a bound picture did since #293,
and both go together once the shader has taken the new frame.
Found on the way:
- The project the report came from has a sprite wearing a frame of
an eleven-frame pixel art through a shader asset.
- A nine-sliced sprite wearing the frame showed no warning, even
without the change. The first try of the e2e check used it.
Tests:
- Gate on melektaus-atx: 236 files, 3577 tests (+1)
- e2e 48: 45 checks (+1, sum 1741). 48l-iii puts a shader on the
object wearing the second frame, changes a palette colour three
times and counts the warnings.
- Counter-checks bite: without the cuts in the check the unit test
fails, and 48l-iii counts 6 warnings for 3 changes.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>