MetaCore/docs/designs/metacore-phase1-scope.md

264 lines
5.7 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# MetaCore 第一阶段范围定义
生成时间2026-03-27
状态:草案
范围:第一阶段
## 目的
这份文档定义 MetaCore 第一阶段到底要交付什么、要给未来预留什么,以及明确不准备在这一阶段完成什么。
目标是防止范围漂移,同时保留真实的产品野心:
**MetaCore 第一阶段要成为一个足够完整的引擎版本,能够支撑工业数字孪生应用开发,并为后续扩展到 VR 虚拟维修训练留下清晰路径。**
## 第一阶段产品定义
MetaCore 第一阶段是:
- 一个以 Windows 为先的 C/S 引擎与编辑器栈
- 能用于构建工业三维可视化和数字孪生类应用
- 具备实时数据接入接口
- 在架构上为未来 XR 和 B/S 扩展保留空间
- 底层采用 EnTT ECS编辑器界面采用 ImGui主渲染后端采用 Filament运行时 UI 规划采用 RmlUi
- 编辑期优先使用 JSON 和可读元数据,发布期通过 Cook 生成二进制运行时资产
MetaCore 第一阶段不是:
- 一个完整行业平台
- 一个完整 VR 训练平台
- 一个浏览器优先的引擎
- 一个要在广度上正面对标 Unity 的通用引擎
## 第一阶段完成陈述
当 MetaCore 能够被用于构建并交付一个 Windows C/S 工业三维可视化应用,并且具备以下能力时,第一阶段才算完成:
- 项目与资源管理
- 场景制作
- 运行时打包
- 实时数据源集成
- 场景对象状态绑定
- 稳定的运行时执行
并且同一套架构仍然保留了通往以下方向的清晰路径:
- VR 应用开发
- B/S 嵌入式产品化
## 第一阶段功能分层
### 1. 引擎核心
必须包含:
- 应用生命周期
- 平台抽象
- 日志
- 模块与服务基础设施
- 反射与序列化
- package 格式与资产标识
### 2. 场景与对象系统
必须包含:
- 场景模型
- GameObject 层级
- 组件模型
- Transform 编辑
- 场景保存与加载
- prefab 基础工作流
### 3. 渲染与运行时
必须包含:
- 场景渲染
- 相机系统
- 基础光照
- 视口渲染
- 运行时 Player
### 4. 项目与资源系统
必须包含:
- 项目结构
- 资源导入
- 元数据生成
- 资源数据库
- package 与 cook 流程
- 启动场景与 runtime config
### 5. 编辑器系统
必须包含:
- Hierarchy 面板
- Scene 视图
- Inspector
- Project 面板
- Console
- Undo / Redo
- 对象与组件编辑
### 6. 支撑应用开发的 RuntimeData 层
必须包含:
- 实时数据 adapter 接口
- 数据源定义
- 数据点定义
- 场景 binding 定义
- 运行时更新分发
- 诊断与降级行为
## 第一阶段必须具备的功能
这些功能构成第一阶段闭环。
### 引擎与编辑器
- 打开项目
- 加载启动场景
- 编辑场景
- 保存并重新加载场景
- 查看并修改对象属性
- 导入并管理项目资源
- 打包并运行独立 Windows 客户端
### RuntimeData
- 定义数据源
- 定义逻辑数据点
- 把数据点绑定到场景目标
- 用外部更新驱动运行时场景状态
- 可见地处理 source fault 和 stale data
### 交付
- 在编辑器外运行一个已打包的样板项目
- 把样板项目交付为 Windows C/S 应用
## 第一阶段支持的 binding 目标
第一阶段只应支持受控白名单。
### 初始必须支持
- `Transform.Position`
- `MeshRenderer.Visible`
- `MeshRenderer.BaseColor`
- `Light.Intensity`
- `Light.Color`
### 后置目标
- 任意组件字段绑定
- UI 文本绑定
- 动画参数绑定
- 骨骼状态绑定
## 第一阶段必须预留的区域
这些不需要在第一阶段完全产品化,但架构必须给它们留口子。
### XR 与 VR
- 输入系统不能从设计上只服务桌面
- 运行时逻辑不能默认只有键鼠交互
- 对象模型和运行时系统要能复用于训练场景
### B/S 与嵌入
- 场景和资源格式不能锁死桌面形态
- RuntimeData 模型要能脱离编辑器被服务化
- Player 运行时不能依赖编辑器专属系统
### 行业解决方案分层
- 第一阶段的应用逻辑不能把某一种客户业务流程硬编码进引擎核心
## 第一阶段明确不做的内容
这些内容不进入第一阶段完成定义。
- 完整 B/S 运行时产品
- 嵌入式 SDK 产品化
- 完整 VR 虚拟维修训练工作流
- XR Interaction Toolkit 等价能力
- 训练评分与回放系统
- AI 辅助工作流
- 仿真编排平台
- 大规模工业协议矩阵
- 多人协作编辑
- Unity 级别的编辑器广度
- 通用可视化脚本平台
## MVP / V1 / V1.5 分层
### MVP
目的:
- 证明引擎闭环是真的
包括:
- 引擎主循环与运行时壳
- 项目与场景基础
- 编辑器基础
- Windows 独立运行
- RuntimeData 子系统骨架
- mock adapter
- 基础 scene binding
- 一个样板项目
### V1
目的:
- 证明 MetaCore 能支撑第一类真实交付场景
包括:
- 稳定的资源与 package 流程
- 稳定的 prefab 基础
- 一个简单 live adapter
- runtime config 持久化
- binding config 持久化
- 最小 binding 编辑 UI
- runtime diagnostics
- 更强的回归覆盖
### V1.5
目的:
- 让 MetaCore 更像引擎,而不是 pilot 壳
包括:
- 更成熟的编辑器工作流
- 更强的诊断能力
- 更清晰的 Runtime / Editor 分离
- 更稳的资源工作流
- 更明确的 XR 与 B/S 架构预留
## 验收标准
MetaCore 第一阶段应该按以下标准判断。
### 产品验收
- 开发者可以使用 MetaCore 构建一个小型工业三维可视化应用
- 运行时应用可以响应外部数据更新
- 打包后的应用可以独立在 Windows 上运行
### 工程验收
- Runtime 与 Editor 边界清晰
- 数据接入以独立子系统实现,而不是散落在各处逻辑里
- 核心工作流具备回归测试