Implemented headless mode using MinimalPlugins and ScheduleRunnerPlugin
to enable running the app without rendering, controlled via Unix socket.
Changes:
- Added conditional compilation based on 'headless' feature flag
- Use MinimalPlugins with 60 FPS ScheduleRunner in headless mode
- Skip rendering plugins (Camera, Rendering, DebugUI, SessionUI)
- Made cube mesh/material assets optional for headless spawning
- Direct NetworkingPlugin + PersistencePlugin instead of MarathonPlugin
- Use app.run() instead of platform executor in headless mode
This enables:
- Running multiple instances for multi-client testing
- Automated testing via marathonctl without GUI overhead
- Background server instances for development
- CI/CD integration for networking tests
Refs #131, #132
Signed-off-by: Sienna Meridian Satterwhite <sienna@r3t.io>