Publishing Support
This merge request adds support for publishing Inertia apps. You can do so both in the editor and from the CLI.
CLI publishing
Use this command:
inertia-editor publish --project /path/to/your/game/project -r linux-x64 -o /path/to/your/build/output
inertia-editor is assumed to be your editor binary. --project points to your code/source assets, and -o is where you want the published app to go. Publish destination must be an empty or non-existent directory. You can also pass -f to force the engine to delete any existing data at the output path, but remember, it'll delete data. So...don't point it at your precious family photos.
GUI publishing
From the main editor window, File -> Publish*.
Choose the output path, hit Start, and wait.
New features
- Support for binary asset serialization
- Better support for generic types in the serializer
- Support for package file streaming
- Boot scene is now stored as an asset reference
- Fixed Rider project configuration
Note about CLI publishing
Publishing an app with Inertia requires an OpenGL-capable GPU, because the engine needs to import and process graphics assets. It uses SDL's offscreen driver, so should not require a desktop environment, but you still need a functioning GPU driver.
Also, the -r option doesn't actually work yet. You can only publish for Linux on x64 CPUs currently, because that happens to be the hardware I use. I just haven't exposed a friendly way to change this, but it's trivial to implement.
NixOS
A published Inertia app won't run on NixOS systems directly. It'll crash, thinking Wayland is missing. I'm not sure why, I don't yet know how to fix it. However, steam-run is usable as a workaround. I suspect the engine is pulling an incorrect SDL library, but it shouldn't be, since we vendor it. Argh.