Files
yys-editor/docs/test/acceptance.md

179 lines
6.5 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.
# yys-editor 验收测试点(手工)
目标:覆盖“用户素材上传/管理、资产引用、Dynamic Group 规则提示、性能优化”等需求。
## 0. 基础启动与构建
步骤:
- `npm install`
- `npm run dev`
- `npm run build`
预期:
- dev 正常启动,页面可操作。
- build 成功输出 `dist/`
## 1. 资产基路径与引用一致性
步骤:
- 在编辑器中插入素材节点(式神/御魂等),保存。
- 刷新页面或重新打开。
预期:
- 素材仍能正确显示。
- 对于以 `/assets/...` 开头的资源,能够在宿主子路径部署时被正确改写(由宿主配置/注入决定)。
排查点:
- `src/utils/assetUrl.ts``setAssetBaseUrl/getAssetBaseUrl/resolveAssetUrl`
## 2. 用户素材上传与使用(我的素材)
步骤:
- 点击顶部工具栏“素材管理”,切到对应分类上传素材。
- 在画布添加一个 `assetSelector` 节点并选中打开素材选择面板AssetSelector
- 点击“上传我的素材”,选择一张图片。
- 在列表中找到该素材,点击选中。
预期:
- 新素材出现在“我的素材”分组。
- 选择后节点的 selectedAsset 生效并可渲染。
## 3. 用户素材删除与持久化
步骤:
- 上传 1 张素材。
- 删除该素材(按钮“删除”)。
- 刷新页面。
预期:
- 删除后不再出现在列表中。
- 刷新后不会复活localStorage 已同步)。
排查点:
- `src/utils/customAssets.ts``list/save/delete/createCustomAssetFromFile`
- `src/components/common/GenericImageSelector.vue` 的上传与删除逻辑。
## 4. 缺失资产的降级策略(本地自玩导出图)
目的:验证“场景 1仅 yys-editor 使用并导出图片时,缺失资产不应崩溃”。
步骤:
- 将某个节点的 avatar 修改为不存在路径或不可访问路径(用于测试)。
- 尝试导出/渲染。
预期:
- 不出现阻断性异常(可降级为占位或提示)。
备注:
- 若目前仅实现 wiki 侧降级:记录为“待补 yys-editor 侧降级策略”。
## 5. Dynamic Group 分组(基础行为)
步骤:
- 在画布上创建多个节点。
- 创建动态分组Dynamic Group将节点加入/移出分组。
预期:
- 分组操作成功。
- 分组信息能写入节点 meta用于规则检查
## 6. 规则静态检查(分组内)
步骤:
- 在同一分组中放入:
- “辉夜姬” 与 “破势”
- “千姬” 与 “腹肌清姬/蝮骨清姬”
- 只有式神但没有供火式神
- 观察右侧/控制区的规则提示列表。
预期:
- 出现对应警告提示。
- 取消分组、移除节点后提示实时更新/消失。
排查点:
- `src/utils/groupRules.ts``src/configs/groupRules.ts`
- `src/components/flow/FlowEditor.vue``scheduleGroupRuleValidation(...)` 调度时机。
## 7. 性能回归(矢量节点快速缩放)
步骤:
- 放置矢量节点VectorNode
- 快速缩放、连续拖动缩放柄。
预期:
- 明显卡顿减少,不出现“缩放一下就卡死”的体验。
排查点:
- `src/components/flow/nodes/common/VectorNode.vue` 的 RAF 合并更新逻辑。
## 8. 导出给 wiki 的兼容性(数据结构)
步骤:
- 生成一份包含分组、素材、文本等内容的 graphData。
- 将 JSON 用于 wiki 的 FlowPreview/editor。
预期:
- wiki 侧能正常 normalize 并预览(节点 off-canvas 会自动平移回可视区)。
## 9. 跨项目互通验收yys-editor <-> onmyoji-wiki/editor
目标:确认素材与规则在两个项目间的复用边界。
### 9.1 素材互通(同 origin
步骤:
- 在 yys-editor 上传“我的素材”。
- 在同一浏览器、同一 origin 打开 `onmyoji-wiki/editor` 并检查素材选择。
预期(当前实现):
- 可直接复用“我的素材”,无需重复导入。
说明:
- 素材走 localStorage`yys-editor.custom-assets.v1`)。
- 仅同 origin 互通;跨 origin 默认不互通。
### 9.2 规则互通(同 origin
步骤:
- 在 yys-editor 写入共享规则配置localStorage 键:`yys-editor.group-rules.v1`)。
- 进入 `onmyoji-wiki/editor` 检查提示是否同步。
预期(当前实现):
- yys-editor优先读取 `yys-editor.group-rules.v1`,解析失败/缺失时回退内置默认规则。
- onmyoji-wiki未对接共享规则配置源前仍使用本仓默认规则。
结论:
- 共享规则配置源已在 yys-editor 落地wiki 侧仍需按同键读取以完成双向一致。
## 10. 回归清单(状态跟踪)
- [x] 基础启动与构建通过(`npm install` / `npm run dev` / `npm run build`)。
- [ ] 资产基路径与引用一致性通过(`/assets/...` 在宿主子路径下可正确解析)。
- [ ] 用户素材上传与使用通过(我的素材可新增并可用于节点)。
- [ ] 用户素材删除与持久化通过(删除后刷新不复活)。
- [ ] 缺失资产降级策略通过(不阻断导出/渲染)。
- [ ] Dynamic Group 分组基础行为通过(分组信息写入 `meta.groupId`)。
- [ ] 分组规则静态检查通过(冲突与供火提示正确且可实时更新)。
- [ ] 矢量节点快速缩放性能回归通过(无明显卡顿/卡死)。
- [ ] 导出到 wiki 数据兼容通过wiki 侧可 normalize 与预览)。
- [ ] 跨项目素材互通通过(同 origin 可复用素材,跨 origin 不互通)。
- [ ] 跨项目规则互通方案确认(共享配置源定义、两侧读取一致)。
当前状态2026-02-27
- 已通过1 项(基础启动与构建)。
- 部分通过3 项(用户素材上传与使用、用户素材删除与持久化、跨项目规则互通方案确认)。
- 未通过/待验证7 项(其余项待完整手测或跨仓联调)。
逐项状态:
- 基础启动与构建:已通过
- 资产基路径与引用一致性:未通过(待手测)
- 用户素材上传与使用:部分通过(实现已就绪,待手测)
- 用户素材删除与持久化:部分通过(实现已修复,待手测)
- 缺失资产降级策略:未通过(待手测)
- Dynamic Group 分组基础行为:未通过(待手测)
- 分组规则静态检查:未通过(待手测)
- 矢量节点快速缩放性能回归:未通过(待手测)
- 导出到 wiki 数据兼容:未通过(待跨仓联测)
- 跨项目素材互通:未通过(待同 origin 联测)
- 跨项目规则互通方案确认部分通过yys-editor 已落地wiki 待读取同源配置)