EEngine

Engine

The object model, the asset system and the lifecycle, and the platforms that run them. Everything else is a package you add.

The core

The engine ships base types and nothing else: 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.

The engine core in the middle, packages around it, each a DLL loaded at run time

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.

Three exported floats in a header, and the same three as sliders in the editor’s inspector

Hot reload

Edit a component, focus the editor, and it rebuilds and swaps the DLLs in place. No restart, no scene reload.

Software renderer

One QuadBlit pipeline, four output formats. Dirty rectangles keep partial panel updates cheap on battery.

Three frames the engine rendered at 320 by 240 in RGB565

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.

PlatformStatusWhat it is
ESP32ShippingThe 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 desktopShippingWindow, input and filesystem through SDL3. This is what the editor itself runs on.
Linux desktopExperimentalEngine 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 native float; soft-float works, just much slower.

Where it is

0.x, and the number is honest: the API still moves between releases, the editor is not packaged for download yet, and boards are still being added. The engine and the packages are usable today, under Apache 2.0, at github.com/orgs/dekiengine.

The C++ API, the component reference and every package’s own documentation are in the docs.