Deferring all I/O to a Scripting Language (ex. Janet)
Created on 2021-02-04T19:09:23-06:00
Since you should use dump formats and allow external scripts to deal with nuance, it then stands to question if you should just export an API and be done with it.
For example the application exposes an API which is then used to pickle or unpickle data. A scripting language then hooks in to that API and is called when the user makes the request. Now adding ex. WebP support to an image editor is a matter of putting a Janet script in a folder and you're done. Any custom engine texture shit is also just a user script. And you provide the script to create your dump file as the example of how to use the API for anything.
I was recalcitrant to this idea in the past because of performance concerns. But nobody else cares about those. And maybe scripting languages are indeed fast enough to deal with importing/exporting data especially since the heavy lifting like compression can be farmed out to C anyway.