
它是什么
一个用来打开、编辑、运行和发布 Deki 场景的桌面应用。它在进程内承载引擎,所以你用 C++ 写的组件会被编译进一个插件 DLL,并立即出现在检视器里。包也以同样的方式加载。
目前支持 Windows;Linux 也能运行,带原生文件对话框。
下载
编辑器免费且开源(Apache 2.0)。每个版本为每个平台提供一个压缩包,编译器就在里面:解压到任意位置,运行 DekiEditor 即可。不需要再安装任何东西,连 C++ 工具链都不用。
| 平台 | 压缩包 |
|---|---|
| Windows x86-64 | DekiEditor-<version>-windows-x86_64.zip |
| Linux x86-64 | DekiEditor-<version>-linux-x86_64.tar.gz |
在 GitHub 上获取最新版本,每个压缩包旁边都附有它的 SHA-256。
Windows 版本还没有代码签名,所以首次启动时会弹出 SmartScreen 的“Windows 已保护你的电脑”对话框:点击 更多信息,然后点击 仍要运行。如果想自己构建,源代码和配置指南在 github.com/dekiengine/deki-editor。
面板

层级是一棵支持多选的树。拖动即可更改父级或调整顺序,结构编辑和数值编辑共用同一份撤销历史。
| 面板 | 作用 |
|---|---|
| 检视器 (Inspector) | 多对象属性编辑器,由反射生成。不一致的值显示为 ---。 |
| 场景视图 (Scene View) | 带 gizmo、平移、缩放和选择的 2D 画布。 |
| 资源浏览器 (Asset Browser) | 以 GUID 为键、带预览的资源。 |
| 控制台 (Console) | 来自引擎、包和你的插件的日志,可筛选。 |
| 构建 (Build) | 构建固件、导出资源、烧录设备。 |
| 性能分析器 (Profiler) | 层级、平铺和火焰图视图,外加内存。 |
| 帧捕获 (Frame Capture) | 把运行模式下的帧保存为 PNG。 |
| 字体导入器 (Font Importer) | 导入 TTF / OTF,或使用预烘焙的位图字体。 |
| 开发板管理器 (Boards Manager) | 每块开发板的 MCU、内存、显示和外设。 |
| 包管理器 (Package Manager) | 安装、移除和更新包。 |
检视器自己生成
给字段加上 DEKI_EXPORT 标记。C++26 静态反射代码生成会在构建时识别它,并生成属性描述符及其序列化代码。不需要再注册任何东西。
DEKI_CATEGORY("Demo")
DEKI_DESCRIPTION("Bobs the object up and down on a sine wave.")
class Bobber : public Deki::Component
{
public:
DEKI_EXPORT DEKI_SLIDER(0, 64)
float amplitudePx = 12.0f;
DEKI_EXPORT DEKI_SLIDER(0, 4)
float speedHz = 0.6f;
void Awake() override;
void Update() override;
};

控件也由描述符决定:有范围的 float 用滑块,颜色用取色器,AssetRef<T> 用资源选择器,枚举用下拉框。
其他属性:DEKI_TOOLTIP、DEKI_GROUP、DEKI_UNIT(px)(以像素编辑以米为单位的值)、DEKI_VISIBLE_WHEN(在另一个字段允许之前隐藏该字段),以及 DEKI_EDITOR_ONLY(让字段不进入构建)。
所见即设备所绘

运行模式通过与硬件相同的 RenderToBuffer() 路径运行场景,使用屏幕的实际尺寸。编辑模式、运行模式和开发板上的画面一致,因为它们用的是同一个渲染器,而不是某个渲染器的预览。
热重载
修改后切回编辑器,HotReloadService 会对比源码树,卸载包和插件的 DLL,通过 CMake 重新构建,再重新注册组件编辑器,整个过程中场景一直在运行。
靠得住的撤销
每次编辑都是一条命令,而且命令会合并:拖动滑块只算一条撤销记录,而不是几百条。多选编辑会合并成一条命令,作用于所有选中的对象。
构建与烧录
构建面板读取开发板配置,把工具链从头到尾跑一遍:生成平台的 CMake,构建固件(ESP32 通过 ESP-IDF),把资源导出到 storage/,格式为 .tex、MessagePack .scene 和预烘焙字体,然后通过 USB 烧录。同样的导出也可以写入 SD 卡,用于离线启动。
用脚本驱动
编辑器自带一个 MCP 服务器。用 --mcp 启动后,场景、资源、包管理器、构建和截图都可以通过 JSON-RPC 访问,足以把一个项目从零做到截出一张图。本站所有编辑器截图都是这样制作的。