A full 3D engine with a first-class 2D layer on top. Originally written 2009–2012 and shipped on the App Store, revived and fully modernized in 2026. Open source under the Apache-2.0 license.
Dual-backend rendering
Two render backends behind one facade — Metal, Vulkan, GL3+, GLES2 and WebGL — with pixel-identical output enforced by a parity test. SDL3 windowing and input, glTF asset loading.
Six platforms, one project
A game is a folder with a manifest; the Build menu exports a macOS app, iOS app, Android APK or a self-contained browser build — each with per-project icons and launch screens; store-submittable packages are a CLI flag away.
Live Lua scripting
Game logic lives in per-object script components with designer-tunable properties, a sandbox per instance and hot-reload during Play — complete games ship with zero compiled code.
2D and organic vector art
Sprites, flipbook animation, batched particles, and flat-colour vector shapes that squash, stretch, wobble and morph as soft bodies — resolution-independent art with cooked vector clip animation.
Physics and gameplay systems
Jolt Physics with a planar 2D mode, data-driven collision layers and contact events into script; named input actions, an audio mixer with streamed music, tweens, localisation, typed saves, haptics and a defined mobile lifecycle.
Game UI
A display-scale and safe-area aware UI system: runtime-baked TTF fonts, rect-anchor layout with groups and scroll views, nine-slice panels, and whole screens authored as declarative text files.
An editor that plays out of process
Scene authoring with hierarchy, inspector, asset browser, prefabs and tile painting; Play spawns the standalone player over a debug protocol — on desktop, simulators, devices or in the browser — so a crashing game never takes the editor down.
AI-native by design
The editor hosts a Model Context Protocol server: agents open projects, edit scenes, write assets, drive Play, run tests and read back state and screenshots.