DEKI/ENGINE docs
Deki 0.19.0
Modular C++ 2D engine for embedded displays and desktop
Loading...
Searching...
No Matches
Class List
Here are the classes, structs, unions and interfaces with brief descriptions:
 NDeki
  NDetailA class entry for a component the codegen never saw (a test double, a type defined in a .cpp)
   CTypeNameProbe
   CTypeNameStorage
   CTypeShortNameStorage
  NProjectSettings
   CFileHeader
   CDisplaySettings
   CRuntimeSettings
  NSceneFormat
   CSceneMsgPackParserMessagePack parser for compiled scene files, made for embedded targets: it allocates nothing and its recursion depth is capped (kMaxDepth)
   CSceneMsgPackWriterWrites a scene in the compiled MessagePack format (editor only)
  CAllocContextWho asked for an allocation, filled in by the compiler
  CAssetLookupTable
  CAssetManager
  CAssetPackReader
  CAssetRefTyped asset reference: use it like a T*
  CAssetRefBaseThe untyped part of AssetRef, so the asset system can reach guid and ptr without knowing T
  CAutoSetupRegistrar
  CBufferOwning array of T, freed when it goes out of scope
  CColorAn RGBA colour, 8 bits per channel, with conversions to and from packed formats (RGB565, RGB888, ARGB8888, RGBA8888), floats and HSV
  CComponentThe base class of every component
  CComponentFactoryCreates components by type id and tells which class an id belongs to
  CComponentMetaComponent metadata for runtime reflection
  CComponentRegistry
  CComponentsMigrationRegistrar
  CComponentTypeInfoEverything the engine knows about one component class
  CCoreProjectSettings
  CDPackEntry
  CDPackHeader
  CEngineEngine singleton: owns the scene system, lifecycle and frame loop
   CFrameTimingsHow long the parts of a frame took, in milliseconds of the engine's clock: update (input, lifecycle, update callbacks), render and present
  CEngineHost
  CEngineSettings
  CFieldRefCompact field descriptor, the one piece of reflection on every platform
  CFileSystemHolds the process-wide filesystems
  CFPSCounter
  CHostMemoryProviderMemory provider over the C heap (malloc/free), for any host with a normal C library heap: the editor, desktop and simulator builds, tests
  CICameraCamera interface for coordinate conversion
  CIClipProvider
  CIDisplayWhat a display package implements: setup, presenting frames, events and UI overlays
  CIFileSystemWhat a filesystem package implements: file operations, path conversion and USB storage mode
  CIInputSystemThe input system as the engine sees it, so it need not link to the implementation in the input package DLL
  CIMemoryProviderThe platform's memory, as the engine sees it, so the engine has no platform-specific allocation code: a microcontroller with external RAM uses its SDK's capability allocator, a part without it or a desktop uses malloc
  CIPackageWhat a hardware peripheral package (SD card, GPS, WiFi, ...) implements
  CIPowerDevice power management (sleep and wake)
   CSleepInfo
  CIRenderSystemThe render system as the engine sees it, so it need not link to the implementation in the rendering package DLL
  CISortableProvider
  CITimeProviderThe platform's millisecond clock, such as SDL_GetTicks() on SDL3 or esp_timer_get_time() / 1000 on ESP32
  CLoadedPack
   CAssetInfo
  CLogSystem
  CMat44x4 matrix in the layout OpenGL/GLSL expect: column-major, m[col][row]
  CMemoryThe engine's memory, in named regions
   CRegionWhere an allocation lives
  CMemoryStats
  CNodeRef
  CObject
  CObjectRefAn object reference the user assigns in the editor
  CObjectRefBase
  CPackageConfigRuntime configuration of one hardware package on a board: pin assignments (GPIO numbers) and string settings, loaded from the platform JSON
  CPackIndexEntry
  CPlatformSetupComponentRuns the boot scene's SetupComponents (such as SDCardComponent) one at a time, in order, waiting for each to finish, then loads the startup scene
  CPower
  CPropertyBindingA resolved PropertyRef: where the field lives and what it is
  CPropertyInfoProperty metadata, one per component type and field
  CPropertyRefA picked field of a component on an object
  CRect
  CSceneA scene: objects with components, and Deki's basic unit of content
  CSceneSystemLoads and owns the root scene, the scene that is running, and keeps the persistent objects that outlive scene changes
  CScreenAnchorKeeps its object at a point on the screen, such as the top-left corner, on every screen size and while the camera moves
  CSettingsRegistryRegistry of project-settings types, which packages can add to
  CSettingsTypeInfo
  CSetupComponentBase class for components that need asynchronous setup at boot
  CTexture2D
   CHeaderHeader of a texture file. The file is [Header][pixel data][metadata]
  CTimeThe engine's clock, independent of the platform
  CUnitProjectSettings
  CVectorGrowable array of T whose growth can fail
  CVector22D vector for positions, directions and scales
  CVector33D vector for positions, directions, scales and rotations
 NDekiEditor
  NCMakeGen
   CFrameworkDependencyOne thing a package needs from a build framework, from package.json: "dependencies": { "<framework id>": [ "bare-name", { "name": "...", ... } ] }
   CFeatureEntryOne entry of a package's "features": a compile definition the package brings, the component types it provides, and whether it may be left out
   CPackageEntryPackage manifest data, parsed from package.json and package.cmake
  NLocalization
   CLanguage
   CScopedPackageWhile it lives, Tr and TrLabel look in package's own table first, so text a package's class shows (its component, property and enum names) reads as that package translates it even when the editor or another package translates the same English word differently: deki-fsm's "Add" (an arithmetic operation) is not the editor's "Add" button
  NMotion
   CRowHoverList rows that ImGui draws (tree nodes, selectables) with a fading highlight
  CAssetCacheContextEverything a cache handler needs to write the cache files for one asset
  CAssetDataWhat an asset's .data sidecar file holds: its GUID and its import settings as JSON, keyed by type name
  CAssetDatabaseStatic asset import and GUID lookup for editor tools, like Unity's AssetDatabase
  CAssetExportContextWhat an asset export encoder is given
  CAssetExportTargetThe target an asset is stored for: a platform and its screen's format
  CAssetFileWatcherOS file watcher that feeds AssetPipeline::Tick()
   CEvent
  CAssetInfoA discovered asset
  CAssetPickerAsset picker popup
  CAssetPickerEntry
  CAssetPipelineThe asset import pipeline, like Unity's: finds assets, gives them GUIDs and compiles them into the cache
  CAssetTypeEditor
  CAssetTypeEditorRegistry
  CAssetTypeHandler
  CAssetTypeRegistry
  CAtlasFrame
  CBuilderDefinition
  CBuilderRegistryThe available firmware builders: the backends packages and plugins contribute, plus builder DLL plugins loaded from ~/.deki-editor/builders/
  CBuildOptions
  CBuildProgress
  CBuildStripSettings
  CChromaKeySettings
  CCliToolA tool a package adds to the editor's command line and MCP server
  CCliToolContextWhat a package's CLI tool may use of the running editor
  CCommandAn undoable edit
  CCommandHistoryThe undo/redo history. Commands that arrive close together can merge
  CComponentDef
  CComponentUsage
  CCompoundCommandSeveral commands undone and redone as one
  CCreateMenuEntryAn item in the hierarchy's right-click "Create Object" menu, registered by a package
  CCreateMenuRegistry
  CCustomEditorCustom editor for one component type, like Unity's CustomEditor: it can replace the component's Inspector UI and tell the scene view its size
  CCustomEditorRegistry
  CDeadMemoryMemory that is about to be freed, described as byte ranges
  CDecodedImage
  CDeployTargetOne thing a build can be deployed to, as the backend enumerates them
  CDialogButtonSpec
  CDownloadProgress
  CEditorApplicationThe editor's state as seen by EditorWindow and CustomEditor code, like Unity's static editor access: auto& app = EditorApplication::Get(); const char* projectPath = app.GetProjectPath(); Deki::Object* selected = app.GetActiveObject();
  CEditorAssetsLoads assets onto the GPU for the editor, cached by GUID: uint32_t texId = EditorAssets::Get()->LoadTexture(guid, &w, &h); Deki2D::BitmapFont* font = EditorAssets::Get()->GetBitmapFont(bakedGuid);
  CEditorExtension
  CEditorHttpUtilsHTTP and archive helpers for the whole editor
   CArchiveLinkA symbolic link in an archive: its entry name and the path it points to, as the archive stores them
  CEditorPathsWhere the editor keeps its files
  CEditorSettingsThe editor's own settings, saved per user
   CPackageDepInfo
  CEditorUIThe editor's UI controls and inspector drawing, for CustomEditor code: auto& ui = EditorUI::Get(); ui.DrawDefaultInspector(); ui.PropertyField("speed");
   CFloatCallbacks
   CIntCallbacks
   CVecCallbacks
   CEnumCallbacks
   CTextCallbacks
   CEditCallbacksBytes
   CWidgetBackend
  CEditorWindowBase class for standalone editor windows
  CEditorWindowMeta
  CFallbackDef
  CFeatureDecision
  CFileInspector
  CFileInspectorRegistry
  CFirmwareBuilderBase
  CGuidCacheMaps asset paths to GUIDs, read from the .data sidecar files and cached in a JSON file
  CIAssetImporterBase interface for asset importers
  CIBuildActivitySink
  CImportResult
  CIPlatformEditorUIA builder's own settings UI in the platform editor
  CITargetBuilderA build backend: everything the editor knows about one kind of target
  CNodeCanvas
  CNodeCanvasEventsWhat happened this frame. Every field is false or zero unless its event fired
  CNodeCanvasLinkOne link to draw, by node ids and pin indices
  CNodeCanvasNodeOne node to draw. Pin labels are for display; events report pin indices
  CNodeCanvasPaletteCanvas colours, packed as EditorUI::Rgba does: a<<24 | b<<16 | g<<8 | r
  CPackageDecision
  CPickerItemOne entry in a SchematicPicker list
  CPlatformConfigWhat the editor knows about a platform: its identity, the framework whose backend builds for it, that backend's settings (carried, not interpreted), its screen, compiler flags, what it offers packages and what it needs from them, and the scene it boots
  CPlatformOriginStatus
  CPlatformRegistryThe available platforms, all loaded from JSON: the project's own, those its packages offer, and board packs
  CPlatformSyncResult
  CPlatformTemplate
  CPostInstallDef
  CSceneViewThe scene view's current render context, for gizmo code to read:
  CSceneViewContextEverything BeginObject() needs to set up an object's gizmo context
  CSpriteFrameDataA sprite frame's pixel rect within its texture, registered by frame GUID and used for rendering
  CSpriteSettings
  CStripPlan
  CSubAssetInfoAn item inside a parent asset, such as a sprite frame or a LOD level
  CSubComponentDef
  CTargetContentConflict
  CTexData
  CTexHeader
  CTextureImporter
  CTextureSettings
  CTextureTargetSettingsOne target's own values
  CToolchainComponent
  CToolchainComponentManagerManages a builder's toolchain components as its BuilderDefinition describes them: detects them, downloads and installs them, and checks for updates
  CToolchainVersionInfo
  CVersionCheckDef
 NDekiEditorInternal
  CEditorFactoryInfoHow to make one kind of editor extension
  CEditorRegistryCollects the editor factories that static initializers register when a DLL loads
  CEditorRegistrarRegisters editor class T at static init: a static prototype for metadata, and a factory that makes new instances on demand
 CCoreDependencyA dependency the editor manages itself; the user never edits it
 CDekiBuilderAbiWhat the plugin was compiled against
 CDekiReflectionAbiLayout fingerprint of the structs that cross DLL boundaries
 CDependencyInfo
 CIPackageInstallerHow packages get installed
 CIPackageSourceWhere packages come from
 CPackageEntryOne package as the package manager sees it