From c2b851cc36e16658757b554000075bd158083ca0 Mon Sep 17 00:00:00 2001 From: Suzumiya Date: Fri, 11 Sep 2026 11:00:31 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=87=E6=A1=A3=E5=90=8C=E6=AD=A5=EF=BC=9A?= =?UTF-8?q?=E8=B5=84=E6=BA=90=E7=AE=A1=E7=90=86=E9=A1=B5=E6=94=B9=E4=B8=BA?= =?UTF-8?q?=E6=A0=8F=E7=9B=AE=E5=88=86=E9=A1=B5=E7=BA=B5=E5=90=91=E6=BB=9A?= =?UTF-8?q?=E5=8A=A8=E7=BD=91=E6=A0=BC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - PRD §3.3:栏目页改为纵向滚动网格,顺序由 sidecar 记录的 (y, x, resourceId) 读序推出,新增列数控件与栏目内拖拽排序条文 - PRD §3.3.1:三阶段改写为当前形态(本体卡保留;阶段二改为栏目分页网格;阶段三改为未排序栏目的初始顺序派生) - PRD §3.3.2:可见性预取口径改为以栏目滚动容器为交叉根 - PRD §5.2:实现状态与字段语义改为「x / y 只承载栏目内顺序」,新增顺序阶梯、已排序栏目新资源追加末尾、列数偏好与关系说明条文 - PRD §5.2.4:删除 viewport、wheel、拖动改写坐标等画布条文,改为网格、列数与拖拽排序 - PRD §5.2.5:手动拖动合同改为拖拽排序合同 - PRD §5.2.6:删除资源依赖关系图层整节 - PRD §7.2:验收改为顺序持久化;§7.3 依赖关系图验收整节删除;§7.5 重写为栏目分页纵向网格验收,新增「纵向滚动无横向溢出」与「列数被记住」两条判据 - PRD §6/§8:分阶段范围与非目标同步 - 技术方案:原《GameAgent资源自由画板与快速编辑》改名为《AGC资源管理页纵向网格与排序》,重写为当前形态(页面形态、栏目内顺序、列数偏好、拖拽排序、关系说明),保留权威数据、焦点竞态与派生编辑条文 - 实施计划:资源卡与资源管理页边界改为栏目网格、顺序落盘、列数偏好与滚动容器可见性 - decision-log:新增 2026-09-11 决策(含用户明确判断优于 PRD 的事实依据,以及有意推翻 1da7dc62a) - pitfalls:整体改写「AGC 资源管理页真正自制的交互面」条目 - docs/README.md 与 document-map.md:更新改名后的专题文档入口 --- docs/README.md | 2 +- ...AI游戏创作】项目开发工作台PRD-2026-07-20.md | 134 +++++++----------- .../shared-memory/decision-log.md | 9 ++ .../shared-memory/document-map.md | 2 +- docs/project-memory/shared-memory/pitfalls.md | 19 +-- ...案】AGC资源管理页纵向网格与排序-2026-09-11.md | 123 ++++++++++++++++ ...案】AI游戏创作智能体App实施计划-2026-06-24.md | 23 ++- ...】GameAgent资源自由画板与快速编辑-2026-08-20.md | 124 ---------------- 8 files changed, 209 insertions(+), 227 deletions(-) create mode 100644 docs/technical/【技术方案】AGC资源管理页纵向网格与排序-2026-09-11.md delete mode 100644 docs/technical/【技术方案】GameAgent资源自由画板与快速编辑-2026-08-20.md diff --git a/docs/README.md b/docs/README.md index fe1f59936..625a242fa 100644 --- a/docs/README.md +++ b/docs/README.md @@ -31,7 +31,7 @@ - [项目开发工作台 PRD](./prd/【AI游戏创作】项目开发工作台PRD-2026-07-20.md):当前工作台页面和验收边界。 - [AGC 错误报告与诊断上传](./technical/【技术方案】AGC错误报告与诊断上传-2026-08-31.md):当前进程错误事件、应用级日志和管理员查看器合同。 - [立项策划 Agent(Fast GDD)](<./technical/【技术方案】立项策划Agent(Fast GDD)-2026-08-10.md>):旧 `project-supervisor-plan` / `project-planning` 历史会话的入口、审批和恢复合同;V2 切换时未完成旧会话强制失败。 -- [GameAgent 资源自由画板与快速编辑](./technical/【技术方案】GameAgent资源自由画板与快速编辑-2026-08-20.md) +- [AGC 资源管理页纵向网格与排序](./technical/【技术方案】AGC资源管理页纵向网格与排序-2026-09-11.md):资源栏目的纵向滚动网格、栏目内顺序、列数偏好与拖拽排序合同。 - [UI 工作流资源桥接与 Runtime 执行](./【技术方案】UI工作流资源桥接与Runtime执行-2026-08-24.md) - [UI 编辑器 Godot 容器布局](./technical/【技术方案】UI编辑器Godot容器布局模型-2026-08-18.md) - [UI 编辑器变换角点偏移编辑器](./technical/【设计】UI编辑器变换角点偏移编辑器-2026-09-03.md) diff --git a/docs/prd/【AI游戏创作】项目开发工作台PRD-2026-07-20.md b/docs/prd/【AI游戏创作】项目开发工作台PRD-2026-07-20.md index 82223966f..d9fa10b2e 100644 --- a/docs/prd/【AI游戏创作】项目开发工作台PRD-2026-07-20.md +++ b/docs/prd/【AI游戏创作】项目开发工作台PRD-2026-07-20.md @@ -13,7 +13,7 @@ 3. 右侧 Project Supervisor 对话与确认区。 4. 底部专业 Agent 状态栏。 -中央主视窗明确区分“资源总览画布”“素材创作无限画布”和“运行测试”三个状态。资源总览与素材创作不是两套项目页:前者负责 manifest 资源投影、依赖关系和类型布局,后者负责单个图片素材的无限画布创作;两者共用当前工作台中央区域。正式预览始终在客户端当前窗口内展开,只允许载入当前项目启动的 `127.0.0.1:` 本地 HTTP 预览,不调用系统外部浏览器。 +中央主视窗明确区分“资源总览”“素材创作无限画布”和“运行测试”三个状态。资源总览与素材创作不是两套项目页:前者负责 manifest 资源投影与栏目分页的纵向滚动网格(含栏目内排序),后者负责单个图片素材的无限画布创作;两者共用当前工作台中央区域。正式预览始终在客户端当前窗口内展开,只允许载入当前项目启动的 `127.0.0.1:` 本地 HTTP 预览,不调用系统外部浏览器。 ## 2. 创作工具平台接入声明 @@ -42,26 +42,28 @@ ### 3.3 资源布局 -- “按依赖”和“按类型”分别保存画布位置。 -- dependency / type 自动布局与资源卡手动拖动并存;空项目分区展览仍只提供分区空态。 -- 切换布局模式后恢复该模式 sidecar 中已有坐标;历史手动坐标只读恢复,不删除、不重置、不迁移。分区轴由旧四栏目切换为「6 类资产分类 + 项目版本栏目」后,旧 `art / code` 值按资源当前分类读时归并,坐标与 `manuallyPlaced` 原样保留。 -- 新资源首次进入某个布局时才执行默认不重叠排版;已有坐标不得被自动排序覆盖。 -- 依赖布局使用资源生成/引用关系;类型布局按资源大类、子类型、尺寸规格排序。 +- 资源管理页按栏目纵向滚动排版,每个栏目是一块纵向滚动网格;页面不提供画布平移、缩放、自由摆放、框选或依赖连线。 +- “按依赖”和“按类型”分别保存栏目内顺序。 +- 栏目内顺序由布局 sidecar 中该 `section` 记录的 `(y, x, resourceId)` 字典序推出;历史手动坐标只读恢复,不删除、不重置、不迁移。分区轴由旧四栏目切换为「6 类资产分类 + 项目版本栏目」后,旧 `art / code` 值按资源当前分类读时归并,坐标与 `manuallyPlaced` 原样保留。 +- 用户拖动卡片调整栏目内顺序后,该栏目的全部记录一次性重编码为顺序阶梯(`x = 0`,`y = 序号 × 144`)并落盘;顺序归用户所有,自动协调只保留不覆盖,新资源追加到该栏目末尾。这是用户主动排序的唯一坐标改写,没有用户动作时坐标一字不改。 +- 页面顶部提供列数控件(自动或固定 `1..6` 列);列数是本机偏好,只决定网格呈现列数,不写入布局 sidecar,也不改写任何记录顺序。 +- 新资源首次进入某个布局时才执行默认排版;已有顺序不得被自动排序覆盖。 +- 依赖布局使用资源生成/引用关系;类型布局按资源大类、子类型、尺寸规格排序。未排序栏目的初始顺序即由这两种默认排版推出的坐标决定。 - 资源分区由资源投影固定:manifest 资产按 `category` 归入 6 类资产栏目,项目版本单独成栏,前端交互不能改变分类。 -- 非空资源页支持资源卡手动拖动:超过移动阈值后乐观更新坐标与依赖线,结束时提交一次手动布局 CAS;拖动后的点击不触发详情。空画布拖拽仍只平移 viewport。 +- 栏目内支持拖动卡片排序:超过 `5px` 阈值后显示插入位,释放时提交一次布局 CAS;拖动后的点击不触发详情。不支持跨栏目拖动,改分类仍走「分类与标签」面板。 #### 3.3.1 资源管理三个串行阶段 -1. 阶段一“资源卡本体化”:`dependency / type` 两种布局共用同一个资源卡组件和预览调度器。图片与安全 SVG 直接显示主体并保留透明棋盘底;图片卡按真实纵横比在统一边界内计算展示矩形,视频、音频、文档和项目版本继续使用稳定固定卡片。资源详情是叠加在原画板上的非模态独立卡片,以元数据、Rust 权威依赖关系和版本信息为主;打开详情不得卸载“按依赖 / 按类型 / 复位”等现役画布级动作、资源卡、依赖连线或重置 viewport、搜索和排序模式。 -2. 阶段二“分区独立缩放”是历史实现;2026-08-22 起仅在项目完全没有任何资源投影时保留“按类型式分区展览”作为空态。任一栏目出现资源后,`dependency / type` 两种模式均切换为栏目分页画布,默认停留在固定栏目顺序中的第一个非空栏目;大纲展示全部栏目,空栏目计数为 0 且可打开空画布,不再提供分区高度、分区滚动和分区倍率操作。 -3. 阶段三“依赖布局聚类”(已完成):仅在 `dependency` 模式中,按固定资源分类对当前 Rust 只读图返回的同类型精确引用边和同类型聚合任务流做弱连通分组;任务流以流节点连接其成员,绝不展开成资源笛卡尔积,但只作为布局邻近提示,不绘制虚线、不进入画布关系说明。`dependencyDepth` 是唯一横向层级权威;每个相关簇先按“最小深度 -> 最小稳定资源 ID”排序,再在同层进行固定两轮由左至右、由右至左的中位数扫描,平局回退稳定资源 ID;同 SCC/环成员保持连续,环后资源继续按 Rust 深度推进。孤立资源是稳定单例组,紧凑排在相关簇之后,簇之间保持固定留白。当前栏目内同类型精确引用参与布局并在该栏目 SVG 中显示;跨分类引用不参与布局,也不在分栏画布中强行连线。搜索只隐藏卡片及任一端点被隐藏的橙色精确引用边,不重算组或压缩坐标。历史 `manuallyPlaced=true` 坐标继续原样保留并参与自动坐标避让。聚类是可派生表现,不新增 manifest 字段、sidecar schema、SpacetimeDB 表或第二套依赖真相。 +1. 阶段一“资源卡本体化”:`dependency / type` 两种布局共用同一个资源卡组件和预览调度器。图片与安全 SVG 直接显示主体并保留透明棋盘底;网格单元统一高度,图片在单元内等比完整显示(`object-fit: contain`),不拉伸、不裁剪,视频、音频、文档和项目版本继续使用稳定固定卡片。资源详情是叠加在资源管理页之上的非模态独立卡片,以元数据、Rust 权威依赖关系和版本信息为主;打开详情不得卸载“按依赖 / 按类型”等现役页面级动作、资源卡、搜索和排序模式。 +2. 阶段二“栏目分页排版”:项目完全没有任何资源投影时保留“按类型式分区展览”作为空态;任一栏目出现资源后,`dependency / type` 两种模式都是栏目分页的纵向滚动网格,默认停留在固定栏目顺序中的第一个非空栏目。大纲展示全部栏目,空栏目计数为 0 且可打开空网格;不提供分区高度、分区倍率、画布平移或缩放。 +3. 阶段三“初始顺序派生”:只在栏目从未被用户排序时决定该栏目的初始顺序。`dependency` 模式按固定资源分类对当前 Rust 只读图返回的同类型精确引用边和同类型聚合任务流做弱连通分组;任务流以流节点连接其成员,绝不展开成资源笛卡尔积。`dependencyDepth` 是唯一横向层级权威;每个相关簇先按“最小深度 -> 最小稳定资源 ID”排序,再在同层进行固定两轮由左至右、由右至左的中位数扫描,平局回退稳定资源 ID;同 SCC/环成员保持连续,环后资源继续按 Rust 深度推进。孤立资源是稳定单例组,紧凑排在相关簇之后,簇之间保持固定留白。`type` 模式按资源大类、子类型、尺寸规格稳定排序。两种模式推出的坐标只作为该栏目 `(y, x)` 读序的种子,页面不绘制任何连线;搜索只隐藏卡片,不重算分组或顺序。历史 `manuallyPlaced=true` 坐标继续原样保留并参与自动坐标避让。派生顺序不新增 manifest 字段、sidecar schema、SpacetimeDB 表或第二套依赖真相。 #### 3.3.2 本体化资源卡交互与性能合同 - 卡片默认可视区域不再显示文件名、资源名称、来源、路径、任务和媒体类型等详细文本。这些字段继续进入搜索索引和中央详情;卡片“打开详情”入口的可访问名称必须包含稳定可辨识的资源名与类别。 - 卡片外层是非交互容器;“打开详情”与“播放 / 暂停”必须是可分别键盘聚焦的同级按钮,禁止在 `