The bug
If .mcmeta files are used to define how the arrow texture and fire texture used inside furnace, blast furnace and smoker inventories scale with size changes, unexpected and unsightly results follow.
How to reproduce
Download and apply the attached resource packs individually
Smelt things in furnaces
Expected results
For "stretch", the square texture would stretch to accommodate the current level of progress.
For "tile", the square texture would repeat to accommodate the current level of progress.
For "nine_slice" we'd get a similar result to "tile", but only the center would repeat and there would be a continuous border.
Actual results
Before 24w44a:
For "stretch", the texture is pre-stretched and then truncated to indicate progress.
For both "tile" and "nine_slice" we get the behaviour we'd previously expected for "stretch" - the texture stretches to fit the progress.
24w44a onwards:
For "stretch", the texture is pre-stretched and then truncated to indicate the progress.
For "tile", the texture is pre-tiled and then truncated to indicate the progress. This is the correct behaviour.
For "nine_slice", the texture is pre-ninesliced and then truncated to indicate the progress. This is almost correct, however the rightmost part of the "arrow" or the topmost part of the "flames" do not use the corresponding edge of the slice if they aren't full.
How to fix
Make these use the scaling correctly. (For tile and nine_slice, it may be worth including a json parameter to indicate that the tiling occurs from the bottom up for flames, rather than the top down as it currently does for all other tiling GUI textures.)
Alternatively, since there aren't many frames, there could be a different sprite for each progress level, which would be cycled through.
Also affects 1.20.5 pre-release 2.