The package model
The engine core ships only base types: Deki::Object and Deki::Component, the lifecycle manager, the asset system, and the provider interfaces. Everything else (rendering, sprites, tweens, input, peripherals, networking) is a separate package with its own git repo under github.com/orgs/dekiengine.
Each package:
- Builds as its own shared library (e.g.
deki-2d.dll), never linked into the engine core. - Exports
DekiPlugin_*functions discovered at runtime byPackageLoaderviaLoadLibrary/GetProcAddress. - Auto-registers its components and inspector editors at DLL load time through static initializers.
- Is installed by the in-editor Package Manager from a registry, or added manually by GitHub URL.
Packages can depend on other packages. deki-2d, for example, requires deki-rendering and deki-input. The loader sorts them so deki-rendering is up before anything that draws.