Proxyshop v1.11.0
Maelstrom Release
This release continues to improve on core templates, reduces and improves the Proxyshop font list, reduces execution time, expands useful startup checks, fixes text formatting inconsistences across all templates, and squashes a ton of bugs!
New Templates: Saga and Class REDUX
The Saga and Class templates have been completely redone using crisp and beautiful vector layers, with Universes Beyond versions as an added bonus — and all from the same PSD file! More free space! Not to mention the new Saga template supports both front and back face Transform Sagas! These puppies are beautiful, give them a spin.
Replacing and Reducing Fonts
With this new release we removed problematic fonts that were outdated, some of which were replaced with a better alternative.
- Relay-Medium is gone! It was quietly replaced with Gotham-Medium some time ago, but now the transition is complete.
- Beleren-Bold, Beleren2016-Bold and JaceBeleren have all been replaced by one Beleren font to rule them all: BelerenProxy-Bold! Make sure to install it. You can uninstall the old ones if you wish. This font takes the best parts of all 3 and combines them, enforcing the beautiful P/T star across all our templates now, for example.
- NDPMTG has sadly been replaced by a new separately maintained font Proxyglyph! This comes with several new symbols supported, with even more to come! Additionally, custom creators will be able to take advantage of several different symbol libraries within this same font, more on this in the near future. Don't forget to install it! Proxyshop won't work without it.
- MagicSymbols2020 has been removed, the only symbols we used from this font were rolled into Proxyglyph.
Old Friends, New Capabilities
Some of our existing templates have received new features! The Classic Template now has an optional Extended Art mode, the Leveler template can now automatically size and position each level text. All Planeswalker templates now format and position their text MUCH faster than before. My personal favorite new addition is the overhauls added to the fan favorite Borderless Template! The colors and opacity have been reworked, and a ton of new settings were introduced. New settings include a color limit modifier for blending even more than 2 colors on the frame, an artifact color mode governing which elements are colored on colored artifacts, a dark/light color toggle for lands, a dark/light color toggle for front face Transform/MDFC cards, a color treatment toggle for Hybrid cards, a toggle for disabling text drop shadow, and piecemeal toggles governing which elements get colored for multicolor cards. Check it out!
Performance Enhancements
Improving on the changes made last version, text formatting and positioning have received even more cuts to execution time. Text scaling will also now perform faster and will be much more accurate. Formatting of text will have fewer inconsistencies or other formatting errors. The dreaded mana symbol spacing issue has been fixed!
Custom Template Features
One of the biggest under the hood improvements is the introduction of Template Modifier Classes. These classes add piecemeal functionality to your templates, allowing a template to quickly integrate transform functionality, or MDFC functionality, or anything under the sun! If you wanna start creating super dynamic templates that support a lot of card types, these are the way to work that functionality in quickly and by the book!
PSD Updates
Outside the code, every template across the board has received small improvements, mainly focusing on text. Nearly every rules text layer has been rebuilt from scratch using best practices, text formatting on cards has never been better, smoother, crisper, you get the picture. Document sizes have been trimmed to the bone while preserving all the functionality you expect. You'll need to update just about every template, but gosh darn is it worth it!
That's the big picture stuff, feel free to check out the full changelog below. If you enjoy the app, please consider becoming a Patron so you can help fuel future app development 😀
v1.11.0 (2023-08-14)
Feat
- paste_scryfall_scan: When scryfall scan is enabled in settings we will now use bleed edge to correctly position the art instead of a reference box
- ClassicTemplate: Add support for Extended Art setting, fix broken Promo Star setting
- fonts: Additional step during startup font check that detects outdated fonts
- Borderless: New settings: Artifact color mode, enable/disable drop shadow text, dark/light toggle for land color, dark/light toggle for front face DFC cards, color treatment toggle for Hybrid cards, color limit mode ranging from 1 to 5, and piecemeal toggle for various multicolor elements
- leveler: Leveler template now supports automatic ability text sizing and positioning
- BaseTemplate: Add properties: frame_layer_methods, text_layer_methods, and general_methods. These act as lists where you can inject methods that should be run at various stages of the render sequence
- gui: Add step to the launch diagnostic that checks if a new version is released
- settings: Added support for colorpicker settings in plugin Templates
- Class: Brand new and improved Class template, uses the same PSD as the updated Saga template, also supports Universes Beyond treatment
- Saga: Brand new and improved Saga template using vector layers, supports both side Transform and a Universes Beyond treatment as well
- templates: Introduced "Mod" templates, reusable template classes that act as modifiers to add piecemeal functionality such as Transform layers, or MDFC layers
Fix
- BorderlessVectorTemplate: Fix a bug affecting token cards in custom creator and textless renders
- BasicLandDarkMode: Artist info now filled properly
- adventure: Update adventure layout data for alternate language, split AdventureTemplate and AdventureMod
- planeswalker: Fix alternate language processing logic
- scryfall: Prevent infinite retry loop
- basic_land: Additional fixes for alternate languages
- scryfall: Fix a bug affecting some Planar cards (they count as "extras"), fix a bug that returns the wrong face for meld cards
- text_layers: Prevent a bug that can ruin flavor divider positioning, fix a bug that occurs when both flavor and oracle text are missing
- basic_land: Fix alternate language bug with Basic Land templates
- plugins/MrTeferi: Prevent sketch action from running in test mode, fix Crimson fang issues, shift Transform behavior to using modifier class
- SilvanExtendedTemplate: Fix legendary crowns causing a crash for Colorless cards
- split: Fix typo that caused split template to break
- svg: Fixed SVG expansion symbols: M15, AFR
- ClassicRemasteredTemplate: Rewrote duplicate setting description
Refactor
- normal: Utilize modifiers across some normal template classes, implement new mask and shape enabling steps, update and fix various templates
- PrototypeMod: Implement prototype modifier class
- planar: Update scryfall scan step in accordance with new scan importing behavior
- MutateMod: Implement a mutate modifier class
- LevelerMod: Implement a leveler modifier class
- saga-cards: Retool old saga card template class into a modifier which passes the saga card functionality onto the new vector template
- class-cards: Retool old class card template class into a modifier which passes the class card functionality onto the new vector template
- VectorTemplate: Implement additional shape and mask enabling steps, optional tooling to improve on the Vector template workflow
- templates: Continue to improve the template modifier system, moving away from a _mods module and instead placing them in their relevant modules based on template type
- regex: Implement new regex pattern for matching nested version number strings
- helpers/masks: New helper utility: copy_vector_mask, works like copy_layer_mask but acts only on vector masks
- enums: Add new LAYERS nomenclature and remove useless Photoshop enum line
- utils/objects: Add classproperty decorator, update PhotoshopHandler to fix descriptor conversion bug, deprecate scale_by_height/width in favor of scale_by_dpi
- split: Improved readability of Split template code
- token: Improved Token template formatting by aligning typeline and rules text after text formatting
- double_faced: Rework existing MDFC and Transform templates to use new template Mod infrastructure
- layouts: Moves remaining Planeswalker data logic out of templates and into layouts, fixes several alternate language issues and missing data issues
- helpers/adjustments: Updates create_color_layer and create_gradient_layer to accept keyword arguments to modify their behavior, such as rotation and scale
- helpers/layers: New helper utility: merge_group, merges a target LayerSet into a single ArtLayer
- helpers/masks: New helper utility: apply_mask, applies a given layer's mask
- helpers/text: New helper utilities: get_font_size, set_text_size, set_text_leading, set_composer_single_line
- helpers/position: New helper utility: position_dividers, Positions a list of dividers between a list of text layers
- get_rgb_from_hex: New function to create SolidColor RGB object from a hex value using hexValue API
- constants: Remove relocated color maps
- plugins/SilvanMTG: Update SilvanMTG template classes using new infrastructure
- enums: Added a host of default color maps for various MTG frame elements
- settings: StrEnum used to track settings options now supports a "Default" enum natively, updated get_option and get_setting methods, added preliminary settings for BorderlessVector
- layers: Introduced new layer name nomenclature, added new LayerObject type
- console: Created first draft of headless Console object that responds to the user in terminal/commandline
- VectorTemplate: Introduced new template module _vector.py for tracking core vector template architecture
- env: Modify environment variable system to use one clean .env file to govern localized behaviors
- PhotoshopHandler: Enable error dialogs when executing Action Descriptors in development environment
- exceptions: Start building out a comprehensive library of known COMErrors
- masks: Add new helper function: delete_mask
- transform_icon: Default transform icon will now be considered the triangle formerly called "convertdfc"
- console: Use Logger for printing exceptions during development, improve formatting of error.txt log file
- env: Remove unused kivy logging ENV, remove KIVY_NO_CONSOLELOG toggle for development mode
- layers: Add new terminology for Saga layers
- logging: Kivy logging now only prints for error messages
- target_replace: Deprecated Targeted Text Replace setting as it is no longer needed
Perf
- text_layers: Disable seemingly unnecessary steps during text formatting, needs further bulk testing to verify
- helpers/position: Continue to improve performance of layer aligning and positioning
- planeswalker: Reworked Planeswalker code for better performance and readability, updated method hierarchy to delineate planeswalker-specific steps from ordinary steps
- format_text: Improve execution time of text scaling and positioning functions, deprecate format_flavor_text
- expansion_symbol: Improve coverage of SVG symbols by checking for a replacement set code in the symbol library