WIP:Feat/GameAgent客户端画布与资源工作台 #283
Reference in New Issue
Block a user
Delete Branch "feat/game-agent-canvas-resource-workbench-v2"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
最终目标
本 PR 服务于 GameAgent 客户端画布与资源工作台 V2.0,目标是让用户在统一资源画布中完成资源的生成、筛选、归档与调用,并为后续 GameAgent 读取主画布正式资源、版本绑定和运行预览打好工作台基础。
需求来源: GameAgent客户端画布与资源工作台 V2.0
本阶段交付(WIP)
验证
npm run ai-game-creator-shell:typechecknpx eslint apps/ai-game-creator-shell/src/view/project-development/index.tsx --max-warnings 0npm run check:encodinggit diff --checkresourceCanvasLayoutModel.test.ts:37 项通过assetCanvasSurface.test.tsx:63 项通过后续范围
WIP: 资源画本统一节点转场to WIP: GameAgent客户端画布与资源工作台 V2.0审查 head
41c9ee7db428036b7e6058070c7d29bc33557f01。发现 1 个阻塞问题:apps/ai-game-creator-shell/src/view/project-development/index.tsx:1830的resourcePageCategoriesuseMemo 只依赖canvasResources.length,但返回值依赖visibleCategoryOrder。当 manifest/资源更新后资源总数不变、但资源类别或类别可见性发生变化时,memo 不会重新计算;页面会继续使用旧的分页类别,导致新类别无法打开/滚轮切页仍指向已不存在的类别,且activePageCategory可能落回错误类别。建议把canvasResources(或稳定的类别/可见类别依赖,例如visibleCategoryOrder)纳入依赖数组,并补充“同长度但类别变化”的回归测试。风险是资源编辑/生成后 UI 与当前 manifest 不一致。行号按 new-side diff 定位;本评论对应 head:
41c9ee7db428036b7e6058070c7d29bc33557f01。由于该实例的 review 创建接口返回 422(jsontext: unexpected EOF),先以 PR 总评论回写。审查 head
41c9ee7db428036b7e6058070c7d29bc33557f01。发现 1 个阻塞问题:apps/ai-game-creator-shell/src/view/project-development/index.tsx:1830的resourcePageCategoriesuseMemo 只依赖canvasResources.length,但返回值依赖visibleCategoryOrder。当 manifest/资源更新后资源总数不变、但资源类别或类别可见性发生变化时,memo 不会重新计算;页面会继续使用旧的分页类别,导致新类别无法打开/滚轮切页仍指向已不存在的类别,且activePageCategory可能落回错误类别。建议把canvasResources(或稳定的类别/可见类别依赖,例如visibleCategoryOrder)纳入依赖数组,并补充“同长度但类别变化”的回归测试。风险是资源编辑/生成后 UI 与当前 manifest 不一致。行号按 new-side diff 定位;本评论对应 head:
41c9ee7db428036b7e6058070c7d29bc33557f01。由于该实例的 review 创建接口返回 422(jsontext: unexpected EOF),先以 PR 总评论回写。审查 head
41c9ee7db428036b7e6058070c7d29bc33557f01:发现阻塞问题,详见 PR 总评论。审查结论:request changes。阻塞问题:PR 在资源区始终挂载 game-resource-book-manager。apps/ai-game-creator-shell/src/styles.css:5173-5177 将其 overflow 设为 hidden,且 :5383-5393 的 .game-resource-book-main 绝对铺满并继续显示;当 canvasResources 为空时,该主画布仍覆盖旧的五分区展览,空项目无法纵向滚动访问“项目版本”等栏目。这违反当前资源画板合同对完全空项目的要求。请仅在存在资源时挂载分页/画本交互壳,空项目保留可滚动五分区展览,并补低高度空项目回归测试。另请先解决当前 PR 与 master 的冲突后再复审。
WIP: GameAgent客户端画布与资源工作台 V2.0to WIP:Feat/GameAgent客户端画布与资源工作台suzmii referenced this pull request2026-09-09 13:12:58 +08:00
本 PR 基于旧版 V2.0(主画布 + 子画布 + 转场)实现,与已定稿的 V3.0 需求冲突:V3 明确不再有主/子画布层级,画布改为按功能分类的资源组织板。需求统一在 Tracking Issue #309 处理,本 PR 关闭。
关闭前已 cherry-pick 到
feat/agc-canvas-resource-workbench-v3的部分:4e0ce1902建立 AGC 资源语义类型契约(canonical 资产类型目录 + legacy 读时映射,含 TS / Rust / 测试);e2a50088c修复资源依赖本地身份解析(resourceId与local-asset:<assetId>双索引)。未迁移的部分及原因:
resourceBook*/resourceCanvasController/ 转场与 hover 相关提交 —— 属于 V2 主/子画布实现,V3 不采用;resourceCanvasController代码(不在 master 上),V3 画布重写后另行处理;后续见 #309。
Pull request closed