9.1 KiB
MetaCore M1 Backlog
生成时间:2026-04-04
状态:草案
范围:M1 项目与资源主干
读者:架构、引擎、编辑器、工具链、测试
目的
这份文档把 M1 从“里程碑目标”进一步下钻为“可以直接开卡的 backlog”。
每个 backlog 项都尽量包含:
- 背景
- 目标
- 交付结果
- 依赖
- 建议 owner
- 验收标准
建议后续直接按本文件拆 issue 或任务卡。
M1 成功定义
M1 完成时,MetaCore 至少应满足:
- 用户可以创建并打开项目
- Editor / Player / Tool 能按统一规则定位项目
- 项目描述文件读写稳定
- Project 面板能显示项目资源
- 资源进入项目后能进入 Asset Database
- meta / GUID / package 基础记录稳定生成
M1-01 统一项目根目录解析
背景
当前项目路径解析逻辑分散在 Editor、Player 和局部工具中,存在 fallback 和相对路径依赖。
目标
抽出统一的项目根解析入口,统一所有入口程序的项目定位行为。
交付结果
- 公共项目解析帮助层
- Editor / Player / Tool 共用同一套解析规则
- 项目路径优先级规则文档化
依赖
- 无
建议 owner
- 引擎核心
验收标准
- 从不同工作目录启动,能解析到同一项目
- 命令行传入项目路径时优先级明确且行为一致
- 不再依赖临时相对路径 fallback 才能正常运行
M1-02 统一项目描述文件模型
背景
MetaCore.project.json 已存在,但字段语义和读写责任边界还不够收敛。
目标
定义项目描述文件的正式最小字段集合,并统一读写入口。
交付结果
- 项目描述数据结构
- 统一读写实现
- 最小字段清单
- 字段缺失和错误格式处理规则
依赖
M1-01
建议 owner
- 引擎核心
验收标准
- 保存后重新打开结果一致
- 缺字段时行为可预测
- 损坏文件时有明确报错
M1-03 项目创建流程
背景
当前更偏已有样板项目驱动,还没有形成明确的正式项目创建流程。
目标
建立最小项目创建能力,让 MetaCore 的项目不是手工拼目录生成。
交付结果
- 新建项目入口
- 标准目录结构创建
- 默认
MetaCore.project.json - 默认场景和必要目录初始化
依赖
M1-02
建议 owner
- 编辑器与工作流
- 工具链配合
验收标准
- 用户可创建一个新项目并立即打开
- 项目创建后目录结构符合规范
- 默认项目可在 Editor 中正常启动
M1-04 项目打开流程
背景
打开项目目前更多是隐式解析,而不是明确工作流。
目标
建立正式的项目打开流程,包括错误处理和 UI 反馈。
交付结果
- 打开项目入口
- 项目有效性校验
- 项目切换行为
- 打开失败时的提示
依赖
M1-01M1-02
建议 owner
- 编辑器与工作流
验收标准
- 用户能选择并打开现有项目
- 非法项目目录会被拒绝并提示原因
- 切换项目后编辑器状态可恢复到一致状态
M1-05 startup scene 规则统一
背景
startup scene 现在已经存在,但 Editor 和 Player 的解释路径应进一步统一。
目标
统一 startup scene 的定位、读取、设置和异常处理规则。
交付结果
- startup scene 读取规则
- startup scene 设置规则
- 缺失/损坏场景的降级规则
依赖
M1-02
建议 owner
- 引擎核心
验收标准
- Editor / Player 对同一项目的 startup scene 行为一致
- startup scene 缺失时有明确日志和降级路径
- 修改 startup scene 后项目描述同步正确
M1-06 Asset Database 初始化主干
背景
资源系统已有基础,但还需要收敛成明确的初始化和扫描主干。
目标
建立项目打开后的 Asset Database 初始化主流程。
交付结果
- 项目扫描入口
- 资源记录加载/生成流程
- 初始化后的统一查询状态
依赖
M1-01M1-02
建议 owner
- 引擎核心
- 工具链配合
验收标准
- 打开项目后资源数据库处于稳定可查询状态
- 已存在资源能被识别和记录
- 多次打开同一项目结果一致
M1-07 meta / GUID / package 记录统一
背景
meta、GUID、package 已经出现,但还需要更严格的一致性规则。
目标
统一资源身份与持久化元数据的最小规则。
交付结果
- GUID 生成和持久化规则
.mcmeta的最小结构- package 记录与资源记录的对应关系
依赖
M1-06
建议 owner
- 引擎核心
- 工具链
验收标准
- 同一资源重复打开项目后 GUID 稳定
- meta 缺失或损坏时有明确行为
- package 与资源记录关系可追踪
M1-08 资源导入基础入口
背景
资源进入项目的路径要统一,不应该由测试或脚本间接驱动。
目标
建立基础资源导入入口,让文件进入项目后被正式纳管。
交付结果
- 导入入口
- 导入后生成 meta / package / 资源记录
- 导入结果反馈到 Project 面板和 Console
依赖
M1-06M1-07
建议 owner
- 工具链与构建发布
- 编辑器与工作流配合
验收标准
- 导入一个资源后,Asset Database 和 Project 面板都能看到它
- 导入失败不会静默
- 导入后必要元数据生成完整
M1-09 Project 面板第一版
背景
资源系统没有稳定可见入口时,整个内容工作流都会不顺。
目标
做出可用的 Project 面板第一版。
交付结果
- 目录树
- 资源列表
- 资源类型显示
- 与 Inspector 联动
依赖
M1-06M1-08
建议 owner
- 编辑器与工作流
验收标准
- 用户能在 Project 面板中看到项目资源结构
- 新导入资源能立刻被定位
- 资源选择能联动详情面板或 Inspector
M1-10 资源刷新、重命名、移动基础规则
背景
如果资源移动、重命名、刷新规则不清晰,后续导入链会很脆。
目标
明确资源刷新、重命名、移动的最小规则和失败面。
交付结果
- 刷新策略
- 重命名策略
- 移动策略
- 基础引用保持规则
依赖
M1-06M1-07M1-08
建议 owner
- 引擎核心
- 工具链
- 编辑器配合
验收标准
- 刷新后资源视图与数据库一致
- 重命名/移动后资源仍能被识别
- 基础引用不会被无故打断
M1-11 样板项目规范化
背景
样板项目目前兼有演示和验证角色,需要变成规范基线。
目标
把样板项目收敛成正式基线项目结构。
交付结果
- 样板项目目录职责说明
- 自动生成内容与手工内容边界
- 样板项目可作为持续回归输入
依赖
M1-03M1-05M1-06
建议 owner
- 工具链与构建发布
- 测试与验收配合
验收标准
- 新人可以直接理解样板项目结构
- 样板项目能稳定被 Editor 和 Player 打开
- 生成内容不会污染不该写入的目录
M1-12 M1 回归测试矩阵
背景
没有测试矩阵,M1 很容易在后续 M2/M3 中被回归破坏。
目标
给 M1 建立最小但稳定的测试与验收矩阵。
交付结果
- 项目创建/打开测试
- 项目描述文件读写测试
- startup scene 测试
- 项目路径解析测试
- Asset Database 初始化/刷新测试
- 样板项目回归流程
依赖
M1-01到M1-11
建议 owner
- 测试与验收
- 各模块 owner 联合
验收标准
- M1 核心链路均有自动化或半自动回归
- 样板项目可作为固定验收输入
- 后续改动可以快速判断是否破坏 M1 主干
建议优先级
P0
M1-01统一项目根目录解析M1-02统一项目描述文件模型M1-05startup scene 规则统一M1-06Asset Database 初始化主干M1-07meta / GUID / package 记录统一M1-09Project 面板第一版
P1
M1-03项目创建流程M1-04项目打开流程M1-08资源导入基础入口M1-10资源刷新、重命名、移动基础规则M1-11样板项目规范化
P2
M1-12M1 回归测试矩阵
说明:
M1-12虽然放在 P2,是因为它依赖前置能力收敛,不代表不重要- 一旦 P0/P1 功能基本落地,应立即补齐
M1-12
推荐执行顺序
M1-01
-> M1-02
-> M1-05
-> M1-06
-> M1-07
-> M1-09
-> M1-03 / M1-04
-> M1-08
-> M1-10
-> M1-11
-> M1-12
建议任务卡字段
后续如果转到看板,建议每个任务卡都带上:
Milestone:M1Workstream: 引擎核心 / 编辑器与工作流 / 工具链与构建发布 / 测试与验收Priority:P0/P1/P2OwnerDepends OnDefinition of DoneValidation
结论
M1 的本质不是“做几个项目系统相关功能”,而是把这条主链做稳:
项目可以被统一识别,资源可以被统一纳管,编辑器可以稳定把这些内容展示给用户。
只要这条主链没稳,M2 及以后都会建立在不稳定地基之上。