The core
The engine ships the base types: Deki::Object and Deki::Component, the
lifecycle manager, the asset system and the provider interfaces a platform
implements. Rendering, sprites, input, audio, networking and every peripheral
live in packages.

One tag, everywhere
Derive from Deki::Component, tag a field DEKI_EXPORT. That tag drives the
inspector widget, serialization, undo and asset resolution. There is no second
place to register anything.

Hot reload
Edit a component, focus the editor, and it rebuilds and swaps the DLLs in place. The scene keeps running.
Software renderer
One QuadBlit pipeline, four output formats. Dirty rectangles keep partial
panel updates cheap on battery.

Packages as DLLs
Every package is a standalone shared library, never baked into the core. Ship with no rendering, no input, no audio. Just the lifecycle.
Platforms
A platform is a package. Swap the integration to retarget, and leave display and input out entirely for headless services.
| Platform | Status | What it is |
|---|---|---|
| ESP32 | Shipping | The primary target. Built against ESP-IDF, so any variant the SDK supports is in scope: SD, display and touch included, with the editor’s build pipeline running through to hardware. |
| Windows desktop | Shipping | Window, input and filesystem through SDL3. This is what the editor itself runs on. |
| Linux desktop | Experimental | Engine and editor build and run on GCC 16, verified end to end on a Steam Deck, with native file dialogs. |
Bring a hardware FPU. Transforms, tweens and rendering all lean on nativefloat; soft-float works, just much slower.
Where it is
0.x, and the number is honest: the API still moves between releases and boards keep getting added. The engine, the editor and every package are open source under Apache 2.0, atgithub.com/orgs/dekiengine, and the editor is a download.
The C++ API, the component reference and every package’s own documentation are in the docs.