MetaCore/docs/designs/metacore-m3-backlog.md

506 lines
8.8 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 M3 Backlog
生成时间2026-04-04
状态:草案
范围M3 Prefab 与 UI 基础
读者:架构、引擎、编辑器、渲染、工具链、测试
## 目的
这份文档把 M3 从“里程碑目标”进一步下钻为“可以直接开卡的 backlog”。
M3 的核心不是单独做 Prefab 或单独做 UI而是建立两条新的应用制作链
- 可复用对象模板链
- 基础应用界面链
也就是:
**场景中的内容不再只能手工复制维护,应用界面不再只能靠硬编码或占位逻辑。**
## M3 成功定义
M3 完成时MetaCore 至少应满足:
- 用户可以从对象树创建 Prefab并实例化到 Scene
- Prefab 的基础 Apply / Revert 成立
- UI 文档成为正式资源
- 用户可以创建和编辑基础 UI
- Player 可以显示基础 UI
- Scene / 项目可以稳定引用 Prefab 和 UI 资源
---
## M3-01 Prefab 资源模型正式化
### 背景
Prefab 相关结构已出现,但需要从“接口和测试存在”推进到“正式资源模型成立”。
### 目标
定义 Prefab 资源的正式数据模型和持久化边界。
### 交付结果
- Prefab 资源数据结构
- Prefab 与 Scene 实例关系定义
- Prefab 根对象和子树承载规则
- Prefab 元数据正式化
### 依赖
- M2 完成
### 建议 owner
- 引擎核心
### 验收标准
- Prefab 成为正式资源,而非临时编辑器结构
- Prefab 与 Scene 实例关系可序列化、可恢复
---
## M3-02 从对象树创建 Prefab
### 背景
如果不能从现有 Scene 内容提取 Prefab复用工作流无法开始。
### 目标
建立从对象树创建 Prefab 的工作流。
### 交付结果
- 从选中对象树创建 Prefab 的入口
- Prefab 资源生成
- Scene 对象与 Prefab 关系建立
### 依赖
- `M3-01`
### 建议 owner
- 编辑器与工作流
- 引擎核心配合
### 验收标准
- 用户可以从一棵对象树创建 Prefab
- 生成后的 Prefab 可在 Project 面板中看到
- Scene 中原对象关系明确
---
## M3-03 Prefab 实例化工作流
### 背景
Prefab 只有资源,没有实例化,就没有复用价值。
### 目标
支持从 Prefab 资源创建 Scene 实例。
### 交付结果
- 从 Project 面板实例化 Prefab
- Prefab 实例对象树生成
- 实例与 Prefab 来源关系建立
### 依赖
- `M3-01`
- `M3-02`
### 建议 owner
- 编辑器与工作流
- 引擎核心配合
### 验收标准
- 用户可以把 Prefab 放入场景
- 多次实例化结果稳定
- 保存重开后实例仍可识别其 Prefab 来源
---
## M3-04 Prefab Apply / Revert 第一版
### 背景
如果实例改动无法回收或回写Prefab 只是复制模板,不是真复用系统。
### 目标
建立 Prefab 的基础 Apply / Revert 语义。
### 交付结果
- 实例修改记录的最小模型
- Apply 第一版
- Revert 第一版
- 基础冲突和不可回写情况的处理规则
### 依赖
- `M3-03`
### 建议 owner
- 引擎核心
- 编辑器与工作流配合
### 验收标准
- 用户可以对实例做基础修改并应用回 Prefab
- 用户可以将实例恢复到 Prefab 基线
- 保存重开后 Prefab 关系和基础修改状态不丢失
---
## M3-05 Prefab 编辑器表达
### 背景
Prefab 需要在编辑器里被明确识别和管理。
### 目标
补齐 Project / Inspector / Scene 中的 Prefab 表达。
### 交付结果
- Project 面板识别 Prefab
- Inspector 显示 Prefab 来源和状态
- Scene 中实例操作规则清晰
### 依赖
- `M3-03`
- `M3-04`
### 建议 owner
- 编辑器与工作流
### 验收标准
- 用户能一眼识别哪些对象是 Prefab 实例
- 用户能看到 Prefab 来源和基本操作入口
---
## M3-06 UiDocument 正式资源化
### 背景
当前 UI 更偏资源结构和测试原型,需推进到正式项目资源。
### 目标
把 UiDocument 做成正式一等资源。
### 交付结果
- UiDocument 资源结构收敛
- UI 资源保存/加载规则
- Project 面板识别 UI 资源
### 依赖
- M2 完成
### 建议 owner
- 引擎核心
- 编辑器与工作流配合
### 验收标准
- UI 文档成为正式资源,可在项目中创建和打开
- 保存和重开行为稳定
---
## M3-07 UI 节点模型与基础控件
### 背景
没有正式节点模型和最小控件集,就谈不上 UI 工作流。
### 目标
收敛基础 UI 节点模型与控件集合。
### 交付结果
- Panel
- Text
- Image
- Button
- UI 节点层级关系
- 基础属性集
### 依赖
- `M3-06`
### 建议 owner
- 引擎核心
- 编辑器与工作流
### 验收标准
- 用户可以创建上述基础 UI 节点
- 节点层级与属性可被稳定保存和恢复
---
## M3-08 UI 编辑器第一版
### 背景
只有数据结构,没有编辑器,就还不能算可用 UI 系统。
### 目标
做出 UI 编辑器第一版。
### 交付结果
- UI 层级树
- UI Inspector
- 创建节点
- 删除节点
- 调整基础布局与属性
### 依赖
- `M3-06`
- `M3-07`
### 建议 owner
- 编辑器与工作流
### 验收标准
- 用户可以不用手改文件创建和组织 UI
- UI 编辑器保存并重开后状态一致
---
## M3-09 UI 运行时渲染第一版
### 背景
UI 如果只能在编辑器中编辑,不能在 Player 中显示,应用链路仍然不完整。
### 目标
实现 Player 中的基础 UI 显示能力。
### 交付结果
- UI 资源加载到 Player
- 基础控件显示
- 基础分辨率适配
### 依赖
- `M3-07`
- `M3-08`
### 建议 owner
- 渲染与资源表现
- 引擎核心配合
### 验收标准
- Player 能显示基础 UI
- 不同窗口尺寸下 UI 至少保持可用
---
## M3-10 UI 与项目/Scene 引用关系
### 背景
UI 需要成为项目与场景的一部分,而不是孤立文档。
### 目标
定义 UI 资源与项目、Scene、运行时之间的引用关系。
### 交付结果
- 项目默认 UI 或启动 UI 规则
- Scene 或项目引用 UI 资源的规则
- 保存和重开时 UI 引用稳定
### 依赖
- `M3-06`
- `M3-09`
### 建议 owner
- 引擎核心
### 验收标准
- 项目或 Scene 可以稳定引用 UI 资源
- Player 启动时可加载默认 UI
---
## M3-11 Prefab / UI 资源进入构建链
### 背景
Prefab 和 UI 如果不进入正式构建链M4 之前就会积累隐患。
### 目标
让 Prefab 和 UI 资源成为正式构建输入。
### 交付结果
- Prefab 资源加载/落盘稳定
- UI 资源加载/落盘稳定
- 相关资源能进入后续打包链
### 依赖
- `M3-03`
- `M3-06`
- `M3-09`
### 建议 owner
- 工具链与构建发布
- 引擎核心配合
### 验收标准
- Prefab 和 UI 资源在编辑器和运行时之间语义一致
- 后续打包链可以把它们当作正式输入
---
## M3-12 M3 回归测试矩阵
### 背景
Prefab 和 UI 都横跨资源、编辑器、运行时,没有测试会很快回归。
### 目标
建立 M3 的最小稳定验收矩阵。
### 交付结果
- Prefab 创建测试
- Prefab 实例化测试
- Prefab Apply / Revert 测试
- UI 文档保存/重开测试
- Player UI 显示测试
- 样板项目回归
### 依赖
- `M3-01``M3-11`
### 建议 owner
- 测试与验收
- 各模块 owner 联合
### 验收标准
- M3 主链均有回归覆盖
- 样板项目可以稳定验证 Prefab 和 UI 链路
---
## 建议优先级
### P0
- `M3-01` Prefab 资源模型正式化
- `M3-02` 从对象树创建 Prefab
- `M3-03` Prefab 实例化工作流
- `M3-04` Prefab Apply / Revert 第一版
- `M3-06` UiDocument 正式资源化
- `M3-07` UI 节点模型与基础控件
- `M3-09` UI 运行时渲染第一版
- `M3-10` UI 与项目/Scene 引用关系
### P1
- `M3-05` Prefab 编辑器表达
- `M3-08` UI 编辑器第一版
- `M3-11` Prefab / UI 资源进入构建链
### P2
- `M3-12` M3 回归测试矩阵
说明:
- `M3-12` 依赖前面链路收敛,不代表不重要
- 一旦 P0/P1 基本成立,应立刻补齐回归矩阵
## 推荐执行顺序
```text
M3-01
-> M3-02
-> M3-03
-> M3-04
-> M3-05
-> M3-06
-> M3-07
-> M3-08
-> M3-09
-> M3-10
-> M3-11
-> M3-12
```
Prefab 与 UI 两条线可以部分并行:
- Prefab 主线:`M3-01 -> M3-05`
- UI 主线:`M3-06 -> M3-10`
但在 M3 结束前,应通过 `M3-11` 汇合到统一构建链中。
## 建议任务卡字段
后续如果转到看板,建议每个任务卡都带上:
- `Milestone`: `M3`
- `Workstream`: 引擎核心 / 编辑器与工作流 / 渲染与资源表现 / 工具链与构建发布 / 测试与验收
- `Priority`: `P0/P1/P2`
- `Owner`
- `Depends On`
- `Definition of Done`
- `Validation`
## 结论
M3 的本质不是单点增加 Prefab 或 UI而是建立两条对应用制作非常关键的能力链
- 内容复用链
- 界面制作链
只有这两条链成立MetaCore 才开始从“能搭场景”进一步变成“能做应用”的引擎工具。