MetaCore/docs/designs/metacore-phase1-m1-m4-workstreams.md

9.8 KiB
Raw Permalink Blame History

MetaCore 第一阶段 M1-M4 分工工作流

生成时间2026-04-04
状态:草案
范围:第一阶段主干执行分工
读者:产品、架构、引擎、编辑器、渲染、工具链、测试

目的

metacore-phase1-m1-m4-tasklist-and-acceptance.md 的基础上,这份文档进一步回答一个更实际的问题:

M1-M4 应该怎么拆成可并行推进的工作流和责任域。

这份文档不重新定义里程碑目标,而是把每个里程碑映射到 5 条主工作流:

  1. 引擎核心
  2. 编辑器与工作流
  3. 渲染与资源表现
  4. 工具链与构建发布
  5. 测试与验收

建议后续排期、拆工、开 issue、分配 owner 时,优先按这 5 条工作流拆,而不是把所有任务堆成一条线。

使用原则

原则 1按责任域拆不按文件夹拆

分工时应优先看“谁对哪条能力链负责”,而不是“谁改哪个目录”。

原则 2每条工作流都要对接验收

不能只有开发 owner没有验收 owner。

原则 3允许交叉协作但必须明确主责

例如材质系统同时涉及:

  • 资源系统
  • 渲染系统
  • 编辑器 Inspector
  • 场景持久化

但必须有一个主责工作流来收口。

工作流定义

1. 引擎核心工作流

负责:

  • 项目系统
  • 资源数据库主干
  • Scene / GameObject / Component
  • Prefab 核心语义
  • 序列化与反射
  • 运行时项目加载

典型 owner

  • 架构
  • 引擎核心

2. 编辑器与工作流工作流

负责:

  • Project 面板
  • Hierarchy
  • Inspector
  • Scene View 交互
  • UI 编辑器
  • Prefab 编辑体验

典型 owner

  • 编辑器
  • 工具开发

3. 渲染与资源表现工作流

负责:

  • 模型导入结果到渲染对象的落地
  • Mesh / Material / Texture 资源表现
  • 基础 PBR
  • 灯光
  • Editor / Player 视觉一致性

典型 owner

  • 渲染
  • 资源表现

4. 工具链与构建发布工作流

负责:

  • 导入器工具链
  • cook 规则
  • 打包与发布
  • 输出目录规范
  • clean machine 验证流程

典型 owner

  • 工具链
  • 构建发布

5. 测试与验收工作流

负责:

  • smoke / integration tests 设计
  • 样板项目回归
  • 里程碑验收脚本
  • 回归矩阵维护

典型 owner

  • 测试
  • 工具链
  • 相关模块 owner 联合

M1 分工工作流

M1 目标

建立“项目 + 资源 + 编辑器可见性”的稳定主干。

引擎核心

主责任务:

  • 项目目录结构定义
  • MetaCore.project.json 字段收敛
  • Editor / Player / Tool 项目定位规则统一
  • Asset Database 初始化与查询主干
  • GUID / meta / package 记录统一

交付物:

  • 统一项目解析入口
  • 统一项目描述读写层
  • 统一资源记录模型

完成标志:

  • 从不同入口启动都能得到一致项目解析结果

编辑器与工作流

主责任务:

  • Project 面板第一版
  • 资源列表与类型显示
  • 资源选择与 Inspector 联动
  • 错误信息在 Console 中可见

交付物:

  • 可用的项目资源浏览界面

完成标志:

  • 新资源进入项目后,用户能在编辑器中明确找到它

渲染与资源表现

主责任务:

  • 本阶段只承担配合责任
  • 确保资源进入系统后不会卡住后续渲染接入

交付物:

  • 对后续模型/材质资源接入的最小渲染占位约束

工具链与构建发布

主责任务:

  • meta / package 基础生成流程
  • 刷新与扫描入口
  • 样板项目 bootstrap 规则收敛

交付物:

  • 稳定的资源进入项目时的工具链行为

测试与验收

主责任务:

  • 项目创建/打开测试
  • 项目描述文件读写测试
  • 项目定位测试
  • Asset Database 初始化/刷新测试
  • 样板项目打开回归

验收口径:

  • “项目入口 + 资源进入项目 + 编辑器可见”链路成立

M2 分工工作流

M2 目标

建立“模型导入 -> 材质 -> 场景制作 -> 保存重开”的闭环。

引擎核心

主责任务:

  • 模型资源数据结构
  • Scene 中模型资产引用语义
  • Scene 保存/打开中的资源引用稳定性
  • 重导入后 GUID 与引用保持规则

交付物:

  • 模型、材质、纹理资源与 Scene 引用关系定义

完成标志:

  • Scene 保存后不再依赖原始导入过程的偶然状态

编辑器与工作流

主责任务:

  • 模型资源拖入场景
  • Scene 层级增强
  • 多选、复制、重命名、重挂接打磨
  • Transform / Gizmo 打磨
  • 材质 Inspector 编辑
  • 灯光 Inspector 编辑

交付物:

  • 可用的 3D 场景制作工作流

完成标志:

  • 内容人员可以从导入资源开始搭一个基础场景

渲染与资源表现

主责任务:

  • glTF/.glb 导入结果到渲染对象的落地
  • Mesh / Material / Texture 资源表现
  • 基础 PBR 参数支持
  • Directional / Point / Spot Light 表现
  • Editor / Player 视觉结果尽量一致

交付物:

  • 模型导入后的可见渲染结果
  • 第一版材质与光照链路

完成标志:

  • 导入的模型和材质在 Editor / Player 都能正确显示

工具链与构建发布

主责任务:

  • glTF/.glb 导入器第一版
  • 导入归一化
  • 材质/纹理导入产物落盘
  • 重导入触发和错误诊断

交付物:

  • 第一正式支持模型格式的生产级基础闭环

完成标志:

  • 至少一种正式格式可稳定导入、重导入和落地

测试与验收

主责任务:

  • 模型导入测试
  • 模型实例化场景测试
  • Scene 保存/重开测试
  • 材质引用测试
  • 重导入引用稳定性测试
  • 样板场景回归

验收口径:

  • “导入模型 -> 放入场景 -> 编辑 -> 保存重开”链路成立

M3 分工工作流

M3 目标

建立“Prefab 复用 + 基础 UI”的应用制作基础。

引擎核心

主责任务:

  • Prefab 核心语义
  • Prefab 与 Scene 实例关系
  • Apply / Revert 的基础数据模型
  • UiDocument 资源语义
  • UI 资源与项目/Scene 引用关系

交付物:

  • Prefab 和 UI 资源的核心模型定义

完成标志:

  • Prefab 与 UI 都成为正式资源,而非编辑器临时结构

编辑器与工作流

主责任务:

  • Prefab 创建、实例化、Apply、Revert 交互
  • Prefab Inspector 表达
  • UI 层级树
  • UI Inspector
  • UI 创建、删除、基础布局编辑

交付物:

  • Prefab 和 UI 的第一版编辑器工作流

完成标志:

  • 内容复用和 UI 编辑都能在编辑器中完成,不依赖手写文件

渲染与资源表现

主责任务:

  • UI 运行时基础显示
  • UI 元素视觉表现最小闭环
  • Prefab 实例在渲染层上的一致表现

交付物:

  • Player 中的基础 UI 可视结果

完成标志:

  • UI 资源在 Player 中可以显示

工具链与构建发布

主责任务:

  • Prefab 资源落盘与加载稳定化
  • UI 资源落盘与加载稳定化
  • 相关资源进入项目和打包流程

交付物:

  • Prefab / UI 资源成为正式构建输入

测试与验收

主责任务:

  • Prefab 创建/实例化测试
  • Apply / Revert 测试
  • UI 文档保存/重开测试
  • Player UI 显示测试
  • 样板项目回归

验收口径:

  • “复用对象模板 + 基础 UI”双链路成立

M4 分工工作流

M4 目标

建立“从项目到独立 Player 发布”的交付闭环。

引擎核心

主责任务:

  • Player 项目加载稳定化
  • 启动场景、资源、UI、运行时配置加载一致性
  • 运行时关键错误路径的主逻辑收口

交付物:

  • 独立运行的项目加载主链

完成标志:

  • Player 脱离 Editor 仍能稳定解析项目内容

编辑器与工作流

主责任务:

  • 打包入口
  • 发布参数入口
  • 输出目录和错误信息在编辑器中可见

交付物:

  • 面向用户的发布操作入口

完成标志:

  • 用户可以从编辑器发起一次正式打包

渲染与资源表现

主责任务:

  • Player 中场景、材质、灯光、UI 的一致性回归
  • 发布态资源缺失时的可见降级表现

交付物:

  • 发布态视觉一致性基线

工具链与构建发布

主责任务:

  • cook 规则固定化
  • 输出目录结构定义
  • 打包流程固定化
  • clean machine 验证脚本或流程

交付物:

  • 正式发布目录规范
  • 一条可重复执行的打包链路

完成标志:

  • 样板项目可在独立目录成功运行

测试与验收

主责任务:

  • 打包输出检查测试
  • Player 独立运行测试
  • clean machine 或近似隔离环境验证
  • 样板项目发布回归

验收口径:

  • “项目内容脱离开发环境独立运行”链路成立

推荐人员配置方式

如果团队规模较小,建议至少保证以下主责关系:

  • 一人主责引擎核心
  • 一人主责编辑器与工作流
  • 一人主责渲染与资源表现
  • 一人主责工具链与构建发布
  • 一人主责测试与验收

如果团队规模不足,可以合并:

  • 引擎核心 + 工具链与构建发布
  • 编辑器与工作流 + 测试与验收

但不建议把以下三者长期合并给同一人:

  • 引擎核心
  • 编辑器工作流
  • 渲染表现

因为这会导致主干推进过慢,且验收视角缺失。

推荐管理方式

每个里程碑建议都用同一套看板列:

  • Not Started
  • In Design
  • In Progress
  • Blocked
  • Ready for QA
  • Accepted

每个任务卡至少包含:

  • 所属里程碑
  • 所属工作流
  • 主责 owner
  • 依赖项
  • 验收方式

结论

M1-M4 已经定义了“做什么”,这份文档补上了“谁来按什么责任域推进”。

后续真正执行时,最重要的不是把所有任务排成一条顺序线,而是:

  • 用里程碑控制主依赖
  • 用工作流拆出并行面
  • 用测试与验收工作流保证每个里程碑都能真实退出

这样 MetaCore 第一阶段才不会再次滑回“功能很多,但主干不闭环”的状态。