明确画布验收修复范围与行为合同

统一生成占位与参考、资源卡展示和布局交互的验收要求

补充单里程碑并行实现计划和独立评审门禁
This commit is contained in:
2026-09-17 16:02:37 +08:00
parent d85622069d
commit 733a7015af
3 changed files with 73 additions and 0 deletions
@@ -0,0 +1,29 @@
# 【实施计划】画布验收问题统一修复
| 字段 | 值 |
| --- | --- |
| Milestone | docs/project-memory/plans/【里程碑】画布验收问题统一修复-2026-09-17.md |
| Status | awaiting-review |
| Owner | 主 Agent 集成,deepseek-flash 实现与独立评审 |
## 修改边界与顺序
1. 规范独立评审通过后,在同一里程碑内并行三个 worktree。
2. 生成工作区负责生成面板、任务占位、引用、原生命令必要最小变更和工作台入口接线。
3. 展示工作区负责卡片名称/文档图标、预览表现与对应测试,不修改工作台入口及画布手势。
4. 布局工作区负责共享画布多选拖动、布局保存/整理/撤销及测试;工作台入口仅允许布局接线局部变更,集成时人工检查与生成工作区的冲突。
5. 每个实现者先自审、运行定向验证、本地中文提交并报告文件列表;主 Agent 逐项核对后集成,再由独立 Agent 先写评审计划、理解全流程、由局部到整体只读 review。
6. 主 Agent 复核问题并指派有效问题返修,重新验证后交付。远程写入另行确认。
## 验证命令
- `npm test -- <相关测试文件>`
- `npm run typecheck --workspace @genarrative/ai-game-creator-shell`
- `npm run check:encoding`
- `npm run check:doc-index`
- `git diff --check`
- 原生契约变更时补对应 Rust 定向测试;真实 Provider 调用前单独核对费用和环境。
## 风险与回滚点
生成结果登记、持久化布局及手势共享组件是主要交叉风险;独立分支保留可回滚提交,不覆盖原有工作区。依赖复用需避免 workspace 包指向旧工作区;不能因测试通过而跳过实际解析路径核对。文档临时计划在全部验收后清理。
@@ -0,0 +1,33 @@
# 【里程碑】画布验收问题统一修复
| 字段 | 值 |
| --- | --- |
| Version | 1.0 |
| Status | proposed |
| Date | 2026-09-17 |
| Parent Spec | docs/technical/【技术方案】AI游戏创作智能体App实施计划-2026-06-24.md |
## 目标与范围
作为一个里程碑统一交付:生成参考、占位生成、资源名称、文档卡、多选移动、当前栏目整理及撤销。内部可用独立 worktree 并行,统一集成验收。
## 非目标
不做拖拽对话引用、聊天复制、远程写入和无关重构。不修改数据库 schema。
## 前置条件
主规范“资源画布生成、展示与布局合同”通过独立评审;保留原工作区已有未提交文件。以当前分支 d85622069 为实现基线。
## 验收标准
- [ ] 空素材项目可打开生成占位和面板,必要规范前置在提交时验证。
- [ ] 图片引用传递真实资源身份;任务失败可重试,成功回写最新占位位置。
- [ ] 名称统一显示,文档卡无无效正文,详情与 UI JSON 能力无回归。
- [ ] 当前栏目全部整理且可撤销,其他栏目和筛选集合语义正确。
- [ ] 多选移动保持相对位置,保存与撤销为一次操作。
- [ ] 独立 review 的有效阻断问题修复并验证。
## 证据要求
定向测试、AGC 类型检查、编码/文档索引及 diff 检查;尽可能运行 UI smoke。真实客户端/Provider 未验证必须单独列出。
@@ -1,5 +1,16 @@
# AI 游戏创作智能体 App 实施计划
## 资源画布生成、展示与布局合同
- 生成工具点击后先在当前栏目创建临时占位卡,并以卡片为锚点展示独立生成浮层;占位不登记为正式素材、不进入 Agent 可引用资源集。上传仍沿用文件选择,不创建虚假生成任务。关闭编辑浮层不应丢失正在执行的任务;切换项目不得将旧项目结果或草稿写入新项目。
- 图片生成支持从现有素材选择器添加真实参考;引用携带稳定资源身份并经既有原生权限、归属与类型校验传至生成链路,不能仅拼接名称。缺少规范图不阻止打开面板;确有规范前置的操作必须在提交前满足要求,不能绕过后端校验。用户可通过现有工具栏先生成规范图。
- 占位可移动。提交复用正式生成任务、幂等与结果登记链路;成功结果使用占位最新位置,失败保留输入与引用供重试。已受理但响应不确定时先对账,不能无条件再次发起付费生成。关闭、删除占位和后台任务的行为需保持既有任务所有权,不把隐藏展示当作取消任务。
- 所有资源卡显示正式素材名称(Agent 生成的 assetName 或用户重命名),没有名称时才使用既有文件名兜底;长名称省略但可查看完整名称。文档卡以居中图标呈现,不显示无效正文片段;独立详情保留原文预览、UI JSON 识别、权限及读取预算。
- “整理画布”显式重排当前栏目全部素材,包括手动坐标;筛选不缩小整理集合,其他栏目不变。重排作为一次可撤销操作保存,失败继续使用现有写队列及冲突处理,不伪报保存成功。
- 框选多个素材后拖动任一已选卡,按统一位移移动整个选择集并保持相对位置;拖动未选卡保留单选语义。松手统一提交,整次操作可一次撤销;缩放坐标、指针取消、窗口失焦、保存失败和项目切换不得导致选择丢失或布局串写。
- 本合同不包含拖入对话批量 @、复制聊天引用、历史替换交互、SpacetimeDB schema 或新的远程公开 API。共享表现与交互优先扩展公共组件,正式资源状态仍由宿主/原生链路维护。
- 验收覆盖空素材项目进入工具、真实引用入参、成功/失败/重试与迟到响应、占位移动后落点、全类型名称、文档详情、当前栏目重排/撤销、不同缩放的多选移动/撤销以及其他栏目不变。自动化、真实客户端和真实 Provider 验证分别报告;未实际运行的路径不得标为通过。
## 资源画布交互与工作台状态同步
- 工作台向窗口标题栏发布正在运行的项目时,输入未变化不得形成重复发布与清理的渲染循环;打开项目动作始终使用当前工作台处理逻辑,退出工作台后清除其标题栏状态。