Card Creator - New Update (2.12.3) - New project structure
New Project Format
Juan Delgado - Apr 21, 2020
This new update features a new project format, more open and future-proof for all the upgrades that will come to the app. You can read more about this update below after the changelog.
- New project save format based on JSON files.
- Per project icon gallery folders support.
- Automatic backups each 5 minutes if there are unsaved changes.
- The export config and zoom value in card collection screen will be saved per project.
- All images referenced outside of the project folder will be copied on project save.
- App log will be saved to the project temp folder on app close.
- Exports will use the new output folder, not need to set manually the path/name each time.
- Export folder will open automatically in the file explorer when the export is finished.
- The image file browser will open on the correct contextual folder for each type of image.
- Project icon gallery categories will appear on top in the icon selector widget.
- Each blueprint and each cardset is now a separate data file in JSON.
- Add toast message and debug log when a font isn’t found in the system.
- Updated all sample projects and default blueprint to the new format.
- Simplified start menu screen.
- Remove fullscreen mode by default on app first launch.
- Log files older than 3 days will be deleted automatically.
- [Internal] Changed some error log messages to debug messages (missing assets).
- [Internal] Remove stacktraces for debug log messages to reduce log file sizes.
- Fix TabletTop Simulator skewed image export.
- Fix fonts being reset to the default value when they can’t load for some reason.
- Fix error when opening the export screen when there are no cards in the project.
The new project format
The main target with the new format is to bring all the data that compose a project into a single project folder so you have everything in one place.
Here is a diagram showing a summary of the new project folder structure:
IMPORTANT: Please take note that the new project format CAN’T be opened in previous versions of the program.
When converting a legacy project:
- A backup of the original .cc file will be created in the /backups/ folder.
- The new project format folder will be created (if doesn’t exist) replacing the legacy .cc file.
- All the older legacy backups will be copied into the /backups/ folder.
- All images referenced will be COPIED to the /assets/images/ folder.
- All the embeded images will be extracted and stored in the /assets/images_inline/ folder.
Here there are some highlights of the new format:
- All the project data is stored as JSON files in the /data/ folder.
- Each blueprint and each cardset is now a separate file.
- All the backups of the project are in the /backups/ folder.
- The project supports it’s own image gallery using folders inside the /assets/icon_gallery/ folder.
- The new backup files are simple ZIP files containing all the JSON data files in /data/ folder.
- All the timestamps for the backups, output or log files are in UTC.
- When exporting a new set of files will be created in a new folder inside the /output/ folder.
- The /output/, /backups/ and /temp/ folders can be safely deleted, the app will recreate them when needed.
For advanced users:
- You should be able to copy easily blueprint JSON files between projects.
- You can also copy cardset JSON files between projects, but make sure that the used blueprint GUID exists in the target project or it won’t work.
- The new JSON format is more readable and programmer-friendly and thus it should be easier to manipulate either by hand or by a custom tool.
- The new format is also very friendly with version-control systems like Git (in fact, some files like .gitignore and .gitattributes are autogenerated for you, you can safely modify or delete them if you want).
That’s all, we are working hard to bring more features in the following updates like the highly anticipated CSV/Excel support.
📌 If you have feedback or want to report an issue, please join to our Discord server 💬\
📌 This update is released in the beta branch. Learn how to change to another branch here.