Skip to content

Proxyshop v1.12.0

Compare
Choose a tag to compare
@Investigamer Investigamer released this 02 Oct 00:50
· 339 commits to main since this release

Vermillion Release

This release adds features and quality of life improvements to the GUI, introduces a CLI (command line interface) tool for Proxyshop which will soon evolve into the "headless" implementation of Proxyshop which has been long awaited, adds support for new SVG symbols, new settings, a new template, and a new template type!

Battle Templates

The Battle template type (introduced in March of the Machine) is now supported, with both a Normal and Universes Beyond treatment at-launch! We will probably also be modifying this template to create an alternative Planar template in the near future.

New Template: Classic Modern

Classic Modern is perhaps Proxyshop's first unique officially supported "custom" template that is not based on any existing MTG template. It was a product of brainstorming with other members of the community, and borrows textures from the Classic Remastered template (credit to iDerp) as well as vector frame techniques from Silvan and Chilli's vector templates (like many of our vector templates). It essentially marries together classic-looking MTG textures with a more modern frame design. It is an "Extended Art" template at launch, but in the future we plan to support a normal art frame setting. It supports Normal, Transform, AND MDFC cards so check it out!

GUI Improvements

The tools tab has received some new features, including a "targeted" showcase generation button and a bulk downscaling tool that will compress your rendered card images to reduce file size based on a quality setting and optimization toggle, you can also choose to downscale the resolution from 1200 to 800 DPI (since that's the max most companies will print at).

I've also fleshed out preview images to support separate previews for the same template on different type tabs, and added a click-to-toggle feature to switch between front and back side previews of Transform and MDFC templates!

The GUI also received some improvements to the startup checking system that checks that your fonts are installed, as well as general styling improvements with how tabs are displayed and some colors used in the app, as well as some GUI bug fixes!

Settings

We added a new setting for "Collector Promo Star". This star is found in-between the set and language code in the bottom left of the card, where there would normally be a dot. You can enable the promo star always, or only when Scryfall has marked the card promo, or just keep it disabled! Borderless Vector Template also got a new setting: Legendary Crown Texture, toggle this off to create a more flat minimalist Legendary crown similar to more recent borderless prints.

General Updates

Directory structure has been further simplified, new SVG symbols were added to support recent sets, performance improvements were made to Saga template execution time and time spent setting up the render queue, new environment variable implementation was introduced where you can define PS_VERSION in .env file (placed in root directory) to force a certain version of Photoshop to be used as well as a PS_ERROR_DIALOG variable you can set to True to enable Photoshop dialog popups when an error occurs during certain operations. In addition, there are a host of python-side improvements for creators looking to make a plugin, as well as a laundry list of bugfixes documented in the full changelog below. Enjoy the release!

v1.12.0 (2023-10-01)

Feat

  • fonts: Add checking user font folder as a fallback for startup font checking step
  • tools: New tools: Render Target Showcase, Compress Rendered Images
  • gui: Add support for multi-modal preview images and front/back face toggle preview images on click
  • symbols: Added support for CC2, LTC, LTR, PWOE, WHO, WOC, and WOE svg symbols
  • templates: New template: Modern Classic, a modern-framed vector-based template with a mix of classic textures
  • CLI: Initial architecture introduced for a headless (CLI) Proxyshop interface for quick testing, batch generation, and commands
  • templates: New template type: Battles supporting a Normal and Universes Beyond treatment, as well as a new BattleMod modifier class
  • settings: New setting: Collector Promo Star, decide whether to enable the promo star in collector info when appropriate
  • BorderlessVectorTemplate: Add setting: Legendary Crown Texture, allows user to toggle the texture on crowns

Fix

  • SplitTemplate: Disable artifact and vehicle flag for Split cards
  • enums/settings: Swap cached_property to classproperty
  • check_app_version: Control against all request exceptions
  • saga: Support edge case "Greatest Show in the Multiverse", i.e. saga with static ability
  • expansion_symbol: When expansion symbol fails to render, revert to disabling expansion symbol and warn the user
  • check_app_version: Skip this check if Github isn't reached in 3 seconds
  • frame_logic: Support "Demolition Field" non-colored land case
  • templates/normal: Repair pinlines color map and add crown shading for EtchedTemplate, fix name alignment step for Borderless tokens, fix edge case PT drop shadow logic, add preliminary code for ClassicModernTemplate
  • helpers/document: Fix rotate_clockwise orientation to positive 90 degrees
  • fonts: Prevent a crash caused by encountering unrecognized font type in font checking step
  • fonts: Relocate psd-tools font test outside main app scope
  • planar: Fix bug affecting planar cards when Scryfall Extras is disabled

Refactor

  • ClassicModernTemplate: Add MDFC support
  • VectorTemplate: Add default support for MDFC twins shape
  • test_mode: Change output directory of test renders to match their class name
  • app_templates: Add drive ID for Classic Modern template
  • src/core: Move card type map to constants, updater funcs to downloads, plan to deprecate the core module in near future
  • parse_card_info: Move art file parsing logic to scryfall utils
  • updater: Move template update funcs to downloader utils
  • ClassicModernTemplate: Finish Transform implementation on Classic Modern template
  • mkdir: Ensure mkdir across project uses 711 perms
  • main: Add console object as property to main App class
  • tools: Flesh out image compression tool, add process wrapper for tools calls
  • env: Add PS_ERROR_DIALOG env for toggling display error dialog on action descriptor execute calls
  • creator: Import updated creator inputs
  • gui/TemplateModule: Minimize and center template tabs
  • gui: Add dynamic tabbed element subclasses, rewrite validated input classes, fix Planeswalker custom rendering
  • merge_layers: Support returning layer if merge_layers receives list with one item
  • build: Update build script to use new kv directory
  • data: Move kv and spec files to data directory
  • types: Move all types submodules to new 'types' module, add new types TemplateRaw and TemplateManifest
  • BaseTemplate: Improve Vehicle check handling
  • constants: Ensure con.cwd is always the root Proxyshop directory, re-implement the PS_VERSION env variable
  • console.py: Added extensive new infrastructure for handling "logger" formatting and output in the headless console class
  • tests/text_logic.py: Readability rewrites and improve logging results
  • enums/settings.py: Add enum for "Legendary Crown Mode" setting on Modern Classic template
  • BaseTemplate: Allow 'is_vehicle' to act as a flag for toggling vehicle background behavior
  • BaseTemplate: Add promo star logic to collector info methods, add is_collector_promo bool property, refactor initial photoshop refresh check using new method 'check_photoshop'`
  • VectorTemplate: Remove unneeded alternate card type text layers now handled in modifiers, add crown_group check for legendary crown step, add more typechecking
  • enums: Add new enums tracking recognized card fonts and special icons
  • layers: Add new layer nomenclature for Battle templates
  • main,core: Update photoshop refresh step in render_process_wrapper, add preliminary template data for Classic Modern and Battle templates
  • layouts: Add preliminary BattleLayout class, add is_promo bool property
  • PhotoshopHandler: Refactor Photoshop application refresh mechanism

Perf

  • helpers/document: Reduce PNG save size by disabling interlaced, reduce JPEG save size by formatting as optimized baseline
  • templates/saga: Reduce execution time for Saga layer positioning