* Basic lands have the mana symbol in their textbox rather than their actual text. That was erroneously being applied to other permanents like Elvish Mystics with only a single mana adding ability as text.
* Vehicles are rendered with a vehicle background and changed P/T box color
* Kaladesh Inventions are rendered with the invention frame
* Kaladesh Inventions use the full-frame art if they detect that you have that full art downloaded instead of normal card images.
* Changed land text-box colors to be a bit more saturated to make it clearer what colors they produce
* Added mana symbol in the textbox of basic lands instead of rules text as long as they have no additional abilities.
* Fixed problem with triggered abilities on the stack showing up with a type of "??? Ability". Not sure what the real cause is but those abilities have abilityType = null, just worked around it.
* Changed card rules text rendering to use 5 total possible text sizes to better support HD+ display resolutions.
* Made a P/T box be shown on vehicles.
* Small bugfixes, fixing crashes when characteristics like type line or name are missing for whatever reason.
* The problem was that they key for caching rendered cards did not take into account the full art / not full artness of the cards, so when someone has both full art and non-full art variants of a land from the same set it one would override the other.
* Added "frameStyle" tagging to relevant full art lands (ZEN, BFZ, UNG, UHG)
* Added support for rendering based off of frameStyle
* Outstanding bug that frameStyle doesn't seem to be replicated exactly properly
* Changed CardPanelRenderImpl to correctly invalidate its render when its panel has its isChoosable / isSelected override set. Before things like selecting cards in a draft view would not visibly have an effect as the render wasn't invalidated.
* Changed Name and Type line rendering to use Arial / Arial Narrow instead of Beleren. At small font sizes, those fonts are much more readable.
* The P/T box still uses the Beleren font, as the numbers in that font are quite readable even at small sizes.
* Changed the name / type lines to switch between Arial and Arial Narrow depending on whether there is space available using Arial or not.
* Fixed a small graphical mispositioning in rendering of keyword abilities.
* Added an option to hide set symbols entirely when rendering.
* Fixed flip walkers like Arlin Kord showing a "0" loyalty on their back face (when they should have no loyalty there).
* Removed some log files I accidentally committed.
* Fixed a bug in tokens, where they are missing their expansion symbol of they are created by another token
* Fixed the the new Rendering based CardPanel not returning the correct Image through getImage (resulting in a poor quality image in the card preview window)
All the current behavior of ScaledImagePanel seems to be useless, since the source
images are static, so we can just use the highest quality scaling possible and
cache the result using TransformedImageCache.
RotatedResizedImageCache and MultiRotatedResizedImageCache contain the caching
machinery.
A cache of rotated and resized images is added to ImageCache, and is used by
the resizing functions there.
All the resizing and rotation functions in ImageHelper are redirected to the
ones in ImageCache.
This is slightly inefficient because it will cache some calls that are never
repeated, but it prevents developers from mistakenly using uncached functions
when calls are repeated, seriously impacting performance.
Also resizing functions that only take a width or an height have been removed,
and their calls fixed to provide the other dimension. It's still possible to
specify -1 as width or height to ignore constraints in that dimension, though.
Greatly speeds up UI performance.
The current code is broken, can't touch the UI in a thread pool thread,
UI.invokeLater must be used to get back on the UI thread.
Also, it must check whether the card has been changed again before setting
the image and do nothing in that case.