Description
We currently save our files in a JSON
format which lists all the items and their properties.
We also save the imported images in a dedicated folder to always have the original available even if the user resizes it or reduces the quality on the canvas.
Everything is packed together into a .akira
file, which is actually a .zip
file.
I'm looking for ways to reduce the file size without losing quality.
JSON content
@esodan suggested to convert the JSON
file into a binary representation of GLib.Variant
.
That sounds like a good idea, but I have no idea how to do it and, so I'm totally open to suggestions and contributions.
Image size
We want to keep the originally imported image inside the saved file, but I'd like to find a way to reduce the file size in case the user imports many large images into its project.
Is there some sort of conversion, or non destructive compression that can be reverted on loading?
The images are automatically deleted from the saved file if the user removes every instance of those from the canvas, so there's no problem from that point of view.