The module model
The engine core ships only base types: DekiObject, DekiComponent, DekiBehaviour, the lifecycle manager, the asset system, and the provider interfaces. Everything else (rendering, sprites, tweens, input, peripherals, networking) is a separate module with its own git repo under github.com/orgs/dekiengine.
Each module:
- Builds as its own shared library (e.g.
deki-2d.dll), never linked into the engine core. - Exports
DekiPlugin_*functions discovered at runtime byModuleLoaderviaLoadLibrary/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.
Modules can depend on other modules. deki-2d, for example, requires deki-rendering and deki-input. The loader sorts them so deki-rendering is up before anything that draws.