# MetaCore 第一阶段 Roadmap 生成时间:2026-04-04 状态:草案 范围:第一阶段主干能力推进节奏 读者:产品、架构、引擎、编辑器、渲染、工具链、测试、交付 ## 目的 这份文档把已经完成的能力清单、里程碑和 backlog,进一步收敛成一份真正可执行的 roadmap。 它回答的问题是: - 第一阶段应该按什么节奏推进 - 每个阶段的主目标是什么 - 哪些工作可以并行,哪些不能乱序 - 每个阶段什么时候可以退出 - roadmap 完成后,团队是否可以进入正式开发 ## 相关文档 - [metacore-engine-feature-baseline.md](D:/MetaCore/docs/designs/metacore-engine-feature-baseline.md) - [metacore-phase1-m1-m4-tasklist-and-acceptance.md](D:/MetaCore/docs/designs/metacore-phase1-m1-m4-tasklist-and-acceptance.md) - [metacore-phase1-m1-m4-workstreams.md](D:/MetaCore/docs/designs/metacore-phase1-m1-m4-workstreams.md) - [metacore-m1-backlog.md](D:/MetaCore/docs/designs/metacore-m1-backlog.md) - [metacore-m2-backlog.md](D:/MetaCore/docs/designs/metacore-m2-backlog.md) - [metacore-m3-backlog.md](D:/MetaCore/docs/designs/metacore-m3-backlog.md) - [metacore-m4-backlog.md](D:/MetaCore/docs/designs/metacore-m4-backlog.md) ## 核心判断 第一阶段 roadmap 的目标不是“把所有功能都铺满”,而是按正确顺序做通一条引擎主干: 1. 项目与资源进入引擎 2. 内容在引擎中可被制作 3. 内容与 UI 可被复用和组织 4. 项目可被独立发布和运行 如果这四条链依次成立,第一阶段就是健康推进的。 ## Roadmap 总览 ```text Stage A:M1 项目与资源主干 -> Stage B:M2 模型、材质、场景制作闭环 -> Stage C:M3 Prefab 与 UI 基础 -> Stage D:M4 Player、打包、发布闭环 ``` 推荐理解方式: - `Stage A`:让项目和资源进入系统 - `Stage B`:让内容制作成立 - `Stage C`:让应用组织成立 - `Stage D`:让交付成立 ## 建议节奏 如果以较稳健的第一阶段推进为目标,建议按 4 个执行阶段推进,而不是把所有 backlog 同时铺开。 建议节奏可以按下面理解: - `Stage A`:先收地基 - `Stage B`:再做内容生产 - `Stage C`:再做复用与 UI - `Stage D`:最后收发布闭环 如果团队规模较小,建议严格串行主里程碑,只允许少量前瞻设计并行。 如果团队规模较大,可以在主依赖不被破坏的前提下,让后一个阶段做设计预研,但不建议大规模越级实现。 --- ## Stage A:M1 项目与资源主干 ### 目标 建立统一项目语义、统一资源入口和基础可见性。 ### 本阶段要证明什么 MetaCore 不再只是“能打开一个编辑器”,而是正式围绕项目和资源工作。 ### 主任务来源 - [metacore-m1-backlog.md](D:/MetaCore/docs/designs/metacore-m1-backlog.md) ### 核心任务 - 统一项目根目录解析 - 统一项目描述文件模型 - 项目创建与打开流程 - startup scene 规则统一 - Asset Database 初始化主干 - meta / GUID / package 记录统一 - 资源导入基础入口 - Project 面板第一版 - 资源刷新、重命名、移动基础规则 - 样板项目规范化 - M1 回归测试矩阵 ### 可并行部分 - 项目描述文件模型 - Project 面板第一版 - 样板项目规范化 ### 不应乱序的部分 - 没有统一项目解析,不应推进正式项目创建流程 - 没有 Asset Database 主干,不应推进正式导入入口 - 没有资源可见性,不应进入 M2 主实现 ### 退出条件 - 用户可以创建并打开项目 - Editor / Player 对项目解析一致 - Project 面板可见项目资源 - 资源进入项目后进入 Asset Database - meta / GUID / package 基础记录稳定 ### 阶段产出 - 一个稳定的项目入口 - 一个稳定的资源入口 - 一个可用的资源浏览起点 --- ## Stage B:M2 模型、材质、场景制作闭环 ### 目标 建立正式的内容制作闭环。 ### 本阶段要证明什么 MetaCore 可以从“围绕资源工作”进一步变成“围绕内容制作工作”。 ### 主任务来源 - [metacore-m2-backlog.md](D:/MetaCore/docs/designs/metacore-m2-backlog.md) ### 核心任务 - 首批模型导入策略定型 - 模型资产数据模型 - `glTF/.glb` 导入器第一版 - Mesh / Material / Texture 导入产物落地 - 导入归一化规则 - Project 面板模型资源增强 - 模型资源实例化到场景 - Scene 层级编辑增强 - Transform / Gizmo 工作流打磨 - 材质资源正式化 - 材质 Inspector 与材质指派工作流 - 基础光照工作流 - Scene 保存/重开中的资源引用稳定化 - 重导入与引用保持 - M2 回归测试矩阵 ### 可并行部分 - 导入器第一版 - Project 面板模型资源增强 - Scene 层级编辑增强 - Transform / Gizmo 打磨 ### 不应乱序的部分 - 没有模型资产数据模型,不应直接铺开多个格式导入器 - 没有 Scene 中资源引用规则,不应推进复杂重导入逻辑 - 没有正式材质资源,不应继续在 `MeshRenderer` 上堆临时字段 ### 退出条件 - 第一种正式支持模型格式可导入 - 模型资产可进入场景 - 用户可以编辑 Transform、材质和灯光 - Scene 可保存并重开 - 重导入不打断核心引用 ### 阶段产出 - 一条可用的 3D 场景制作链 - 一套正式进入场景的模型与材质资源语义 --- ## Stage C:M3 Prefab 与 UI 基础 ### 目标 建立内容复用链和基础应用界面链。 ### 本阶段要证明什么 MetaCore 不只是能做静态场景,而是开始具备“做应用”的基础能力。 ### 主任务来源 - [metacore-m3-backlog.md](D:/MetaCore/docs/designs/metacore-m3-backlog.md) ### 核心任务 - Prefab 资源模型正式化 - 从对象树创建 Prefab - Prefab 实例化工作流 - Prefab Apply / Revert 第一版 - Prefab 编辑器表达 - UiDocument 正式资源化 - UI 节点模型与基础控件 - UI 编辑器第一版 - UI 运行时渲染第一版 - UI 与项目/Scene 引用关系 - Prefab / UI 资源进入构建链 - M3 回归测试矩阵 ### 可并行部分 - Prefab 主线 - UI 主线 ### 不应乱序的部分 - 没有 Prefab 资源模型,不应直接做复杂 Apply / Revert - 没有 UiDocument 正式资源化,不应推进复杂 UI 编辑器 - 没有 Player UI 显示,不应把 UI 只停留在编辑器侧 ### 退出条件 - Prefab 复用链成立 - UI 文档与基础 UI 编辑链成立 - Player 可以显示基础 UI - Prefab 和 UI 都进入正式构建链 ### 阶段产出 - 一条内容复用链 - 一条基础界面制作链 --- ## Stage D:M4 Player、打包、发布闭环 ### 目标 让项目内容脱离开发环境,进入正式交付形态。 ### 本阶段要证明什么 MetaCore 第一阶段不是“只能在开发机里演示的编辑器”,而是能产出独立运行结果的引擎工具。 ### 主任务来源 - [metacore-m4-backlog.md](D:/MetaCore/docs/designs/metacore-m4-backlog.md) ### 核心任务 - Player 项目加载链统一 - 构建输出目录规范 - cook 规则固定化 - 编辑器打包入口 - 独立输出目录生成 - 发布态资源加载一致性 - 运行时日志与错误诊断 - 发布目录与移交规范 - clean machine 验证流程 - M4 回归测试矩阵 ### 可并行部分 - 编辑器打包入口 - 发布目录与移交规范 - 日志与诊断补强 ### 不应乱序的部分 - 没有统一 Player 加载链,不应定义正式交付目录 - 没有稳定输出目录,不应宣称具备交付闭环 - 没有 clean machine 验证,不应把发布链视为完成 ### 退出条件 - 用户可以从项目生成独立 Windows 输出目录 - 输出目录包含运行所需最小内容 - Player 脱离 Editor 与源工程目录可运行 - 场景、模型、材质、UI、配置可正确加载 ### 阶段产出 - 一条完整的发布链 - 一套可以移交的交付目录 --- ## 关键依赖关系 ### 硬依赖 - `M2` 依赖 `M1` - `M3` 依赖 `M2` - `M4` 依赖 `M3` ### 可前置设计、不可前置实现的项 - 可以在 `M1` 后半段开始预研 `glTF/.glb` 导入器设计 - 可以在 `M2` 后半段开始预研 Prefab / UI 数据模型 - 可以在 `M3` 后半段开始预研打包目录和 Player 加载链 ### 当前不应抢占主线的事项 - 更广泛的模型格式矩阵 - 更复杂的 RuntimeData 增强 - VR/XR 工作流 - B/S 产品化 - AI 辅助编辑 - 高级渲染 feature ## 风险与节奏控制 ### 风险 1:过早横向铺太多资源类型 控制方式: - 先把 `glTF/.glb` 做成正式闭环 - 不要在第一条链没稳时分散到多个复杂格式 ### 风险 2:编辑器体验先行、底层语义未收敛 控制方式: - 资源、Prefab、UI 都必须先有正式模型,再补编辑器体验 ### 风险 3:发布链最后才发现路径和资源假设不成立 控制方式: - 从 M1 开始就统一 Editor / Player / Tool 的项目语义 - 从 M2 / M3 开始就让正式资源进入构建视角 ### 风险 4:团队同时做太多里程碑,导致每条链都不闭环 控制方式: - 一次只让一个主里程碑处于实现主导状态 - 后续里程碑只允许预研和设计前置 ## 建议管理节奏 ### 每个阶段建议包含 4 类评审点 1. 设计评审 2. 实现评审 3. 样板项目回归 4. 退出评审 ### 每个阶段建议维护的状态 - `Design Ready` - `Implementation In Progress` - `Feature Complete` - `QA In Progress` - `Accepted` ### 每个阶段都应回答的三个问题 1. 这条主链现在是否真的跑通了 2. 目前是否还依赖临时 fallback 或 demo 假设 3. 如果现在暂停开发,这一阶段成果是否可被下阶段稳定继承 ## Roadmap 完成后,是否可以开始开发 结论: **可以开始开发,而且应该开始。** 但要注意,不是“roadmap 一写完就全团队同时铺开所有 backlog”,而是: - roadmap 完成,说明方向、依赖和退出条件已经足够清晰 - 下一步应进入正式执行 - 执行顺序应从 `M1 P0` 开始,而不是并行开满 M1-M4 更准确地说,roadmap 完成后,团队应进入: **按里程碑收敛的正式开发阶段。** 这意味着: - 先把 M1 P0 任务卡开出来 - 给每张卡指定 owner、依赖和验收方式 - 以 M1 退出条件为第一阶段短期目标 - M2/M3/M4 只做必要的前置设计,不抢主线资源 ## 建议的立即下一步 Roadmap 之后,建议马上做这 5 件事: 1. 把 `M1 backlog` 转成实际任务卡 2. 给 `M1 P0` 任务指定 owner 3. 建立第一版看板 4. 明确样板项目作为固定回归输入 5. 开始执行 `M1-01` 到 `M1-07` ## 结论 roadmap 的意义,不是再增加一层文档,而是把前面的设计文档收口成“可开始执行”的节奏。 所以答案很明确: **是的,roadmap 完成后就应该开始开发。** 但正确的开始方式是: - 从 M1 开始 - 从 P0 开始 - 从主链开始 - 从可验收的任务卡开始 只要按这个节奏推进,MetaCore 第一阶段就会从“概念正确”进入“执行正确”。