一份代码,多领域落地。
从 JSON 编辑器到 3D CAD,一个底座全部搞定。
把不变的东西做到极致通用,让变化的东西以最低成本接入。插件之间共享同一套数据模型,天然互通。
高性能底座 + 多语言生态,用 C++ 做最稳定通用的底层,用脚本做最灵活敏捷的业务表达。
直接对接 OpenSceneGraph、VTK、OpenCASCADE、Qt 等业界标准库,无需中间层,零性能损耗。
零成本抽象、确定性内存管理、编译期优化。仿真、点云、CAD 等场景的不可替代保障。
Python、JavaScript、Lua 均可自然接入。C++ 做底座,脚本做业务,各取所长。
所有模块零外部依赖,可独立编译、独立测试。插件开发者无需关心 UI 渲染、命令管理、数据持久化。
统一数据模型。一切可见数据都是 EItem 树节点 —— JSON 键值对、3D 几何体、网络设备,同一套接口。字符串驱动的对象创建,无需 new,无需 #include。
统一数据模型编译期自动生成类型"说明书":类名、属性、类型约束、可调操作。ui_ 前缀属性自动出现在属性面板,零 UI 胶水代码。
自动化万能类型容器。整数、浮点、字符串、向量、颜色、矩阵、数组 —— 一个容器统一传递。反射、属性面板、序列化、命令系统共享同一份数据,零转换损耗。
类型统一标准生命周期:regist → beforeInit → init → afterInit。DLL/SO 两阶段加载。已累计 15+ 插件,覆盖 UI、数据格式、传感器、网络、3D 等领域。
15+ 插件每次操作封装为可撤销命令,携带 undo/redo 委托和序列化快照。树节点的增删改移自动生成命令入栈,插件无需手动管理撤销逻辑。
undo/redoEItem 树一键序列化为 JSON。每个子类只需实现 packData/unpackData。数据在版本控制、跨平台迁移和 AI 辅助编辑中均易于处理。
JSON 持久化13 个平台无关的抽象 UI 元素。插件代码只依赖抽象接口,完全不感知底层 GUI 框架。当前由 Qt 实现,理论上可替换为任何框架。
EItem 层级树的直接映射。多选、拖拽排序、增删改移自动生成撤销命令。树视图即数据视图。
反射系统根据 EVariant 类型自动生成编辑控件。整数→数字框,字符串→文本框,颜色→取色器。零 UI 胶水代码。
基于 QScintilla,语法高亮、行号、括号匹配。与树视图双向同步 —— 点击树节点高亮对应文本,编辑文本自动更新树。
三种后端:OSG+OpenGL、VSG+Vulkan、VTK+Qt。一套 EItem 抽象,多种渲染管线。场景状态一键 JSON 序列化。
继承 EItem,声明 ui_ 属性,反射系统自动处理一切。
从 JSON 编辑器到点云处理器,从网络扫描到 CAD 建模。
不变的部分做到极致通用,变化的部分以最低成本接入。
EEditor 正在证明:这不是梦。