-
Notifications
You must be signed in to change notification settings - Fork 30
Chapter E: Extensions Development
This note is intended to describe intentions and plans for managing the release of new and updated extensions for VASL, specifically focusing on those that will utilise SVG graphics, now the preferred image format for VASL. Included in this work will be a re-structuring of the Extensions page on VAS.info as described in this note.
Now that the vast majority of counters in the core VASL module (.vmods from version 6.7.0 onwards) are created with SVG graphics, attention is turning to Extensions, many of which (but not all) contain counter images which can and should be converted to SVG images in future iterations of those extensions. As we added SVG images to VASL in the last couple of versions, we kept all of the original PNG or GIF files in the VASL module in case we had to back up the truck and revert to those images. Fortunately, while the transition has not been particularly smooth and there have been some issues, we have not needed to do any rollbacks.
For extensions, we will be taking a different approach as we are able to learn from the lessons of introducing SVG into VASL.
The future world we want is VASL and extensions that have a single image type for each counter image required (that is, either a SVG or a PNG/GIF but not both). If we decide some counters are not worth updating to SVG, that is fine. But where we do update, we would want, at some future point, to remove the previous PNG/GIF.
We also want extensions to auto-update (or at least prompt the user to update). This is best/easiest to do if we maintain a stable file name for the extension (with no version numbers in the name).
As with many things, it is the transition from current to future state that is tricky / deadly.
To get to that brave new VASL world from where we are now, we intend to:
-
Produce extensions (new or updated) that have either SVG or PNG/GIF files, but not both, for any single image. Since those that contain any SVG files will not work with earlier than VASL 6.7.0, we should use a new name (not just a new version number) for these files.
-
Create a new block on VASL.info/extensions where we put extensions with svg images along with a honking big notice that these are not backward compatible. We will maintain the block of current set of V6 extensions, which will contain GIF/PNG images.
-
Remove just about all of the 5.X extensions from the page. Time to move on people. There may be a few that are (a) worth keeping and (b) actually still work with recent VASL versions and these will be moved to the V6 section.
-
Figure out how to auto-sync extensions as we do boards and overlays. The extensions get loaded at an earlier point in the process and we haven't been able to inject auto-syncing into the load process yet.
As a result of this, for an interim period, players could have two versions of essentially the same extension (albeit with different filenames and functionality). They only need to load one of them depending on the vintage of the game they wish to play and/or VASL version being used. This will undoubtedly cause players some confusion and difficulty.
In about 2 years, (4 VASL versions from now) we can start to cull the older extensions and just have the one which uses SVG (in whole or part). Some extensions may never get updated to use SVG graphics and that should be ok. Extensions will auto-synch as boards and overlays do now.
More details on compatibility are available at https://github.com/vasl-developers/vasl/wiki/Chapter-P:-Version-compatibility-in-VASL.
In short, for existing extensions saved with GIF/PNG files, counter images will appear when the game is opened in 6.7.0 and beyond. When using new, SVG-based extensions, counters will not appear when opening the game in 6.6.10 and earlier versions.