The bug
If .mcmeta files are used to define how the bubbles, arrow and fuel textures used inside brewing stand inventories scale with size changes, unexpected and unsightly results follow.
How to reproduce
Download and apply the attached resource packs individually
Brew stuff
Expected results
For "stretch", the square texture would stretch to accommodate the current level of progress/bubbles/fuel.
For "tile", the square texture would repeat to accommodate the current level of progress/bubbles/fuel.
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/bubbles/fuel.
For both "tile" and "nine_slice" we get the behaviour we'd previously expected for "stretch" - the texture stretches to fit the progress/bubbles/fuel.
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 "fuel", the topmost part of the "bubbles" or the bottommost part of the "arrow" 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 bubbles, rather than the top down as it does for the progress.)
Alternatively, since there aren't many frames, there could be a different sprite for each progress/bubble/fuel level, which would be cycled through.
Affects 1.20.5 pre-release 1.