[x] Combines the manifest and template map for included and plugin templates into a single manifest file. The file is app_manifest.json for th app, and manifest.json for plugins. Each template will have a name (ex: Normal), class name (ex: NormalTemplate), file name (ex: normal.psd), and optionally a google drive ID (ex: sefwer34_oijt35o5i-gerthe475).
[x] Splits the Global Settings into two categories: System settings which applies to the entire app and all templates, and cannot be overwritten on a per-template basis (as it usually doesn't make sense to do so), and Main Settings which applies to all templates by default but can be changed on a per-template basis.
[x] Adds a reset to defaults button next to each template. This button will be hidden if the template doesn't have its own settings file. If the button is visible and is clicked, that template's settings file will be deleted and the template will now use the Global Settings instead.
[x] Adds neat little icons for the settings and clear settings buttons. These icons use the native Windows font [Segoe UI Emoji](https://learn.microsoft.com/en-us/typography/font-list/segoe-ui-emoji) which has also been included with the repo on the off-change your Windows installation did not include this font.
[x] Templates are now disabled (grayed out) on the GUI if the template PSD file is not found on startup. When you download a missing template, the button will be become enabled.
[x] Fetching a list of available updates is now much faster, thanks to extensive rewrites and a ThreadPoolExecutor for the Google Drive API calls.
[x] Fetching Scryfall data for cards is now much faster, thanks to extensive rewrites to the Scryfall utilities module and a ThreadPoolExecutor used during the layout generation step.
[x] Scryfall and MTGJson data will now be more consistent and calls to these API's will result in fewer dropped requests thanks to efficient enforced rate limiting and exception handling. Also fixed a bug handling MTG set data where the file will not fail to be read due to a previous thread blocking file I/O.
[x] New setting: Import Scryfall Scan, will import a scan of the card as a reference image for making manual adjustments. This used to be enforced for templates such as Planeswalker and Planar, but now its a toggle feature for all templates with the ability to overwrite in child template classes.
[x] FIXED: Custom creator not working with Saga and Planeswalker cards.
[x] FIXED: Frame logic for new case where normal mana is mixed with hybrid mana, ex: Maelstrom Muse and Ajani, Sleeper Agent
[x] FIXED: Bugs relating to certain transform cards and transform icons.
[x] FIXED: Crash caused by multiline Saga and Class abilities.
[x] FONTS: NDPMTG updated to add true hybrid phyrexian symbols, Keyrune updated to add multiple layers for ONC and MOC. Keyrune will now be maintained separately from the source repo to ensure support for multi-layered expansion symbols and address any additional issues.
Key features of this rewrite:
app_manifest.json
for th app, andmanifest.json
for plugins. Each template will have a name (ex: Normal), class name (ex: NormalTemplate), file name (ex: normal.psd), and optionally a google drive ID (ex: sefwer34_oijt35o5i-gerthe475).[Segoe UI Emoji](https://learn.microsoft.com/en-us/typography/font-list/segoe-ui-emoji)
which has also been included with the repo on the off-change your Windows installation did not include this font.