Commit Graph

2898 Commits

Author SHA1 Message Date
lhk229 cf01c99fe6 类名守门补上条件类与精确 selector 匹配,堵掉两处会静默放行的漏洞
Project CI / Repository checks (pull_request) Successful in 4m13s
Project CI / Frontend tests (pull_request) Successful in 4m22s
Project CI / Native shell tests (pull_request) Successful in 12m18s
Project CI / Backend tests (pull_request) Successful in 5m31s
这条守门是为「#193 把策划选择器整段误删」设的,但它自己有两处会放行:

一、条件类进不了清单。抽取时 `.replace(/\$\{[^}]*\}/g, ' ')` 把插值整段丢掉,而两个
组件里唯一的条件类恰好长在插值里:``plan-gdd-surface${showCard ? ' …--with-card' : ''}``。
清单 25 个类里没有 `plan-gdd-surface--with-card`。它不是装饰性的:
`.game-workbench-chat .plan-gdd-surface--with-card` 的 `grid-template-rows: auto
minmax(0, 1fr)` 是审批卡内滚的边界,策划面自己是 `display: grid` + `overflow: hidden`
的外壳,删掉这条,批准后的交付行连同路径和两个按钮会被切在壳外。实测把该类的两条
规则整段删掉,改前的测试照样绿。

改成只取插值里的字符串字面量——三元的条件和变量名不是类名,不能混进清单。清单
25 → 26,新进的正是 `plan-gdd-surface--with-card`,没有杂质。

二、`styles.includes('.' + name)` 是子串匹配,`.gdd-approval-card__header` 可以冒充
`.gdd-approval-card` 的存在证据。改成要求类名后面不再跟类名字符。当前 26 个类逐一
校验都有精确 selector,所以这一处堵的是潜在放行,不是正在掩盖的缺失。

另按评审要求补一条负向钉子:单独钉住上面那条承重的行模板。存在性检查只要 `--with-card`
还剩任意一条规则就绿,而两条里只有它是承重的。

三条负向都已验证非空转:删两条规则 → 红;只删承重那条留下分隔线 → 红;把
`.gdd-approval-card__details` 改名只留派生类 → 红(改前用 includes 会绿)。

评审同时建议做 computed-style/布局断言,这里没做:appSurface 跑 jsdom,没有布局引擎,
且这套 suite 不把 styles.css 挂进 DOM。要真断言得换真实浏览器 runner,是另一件事。

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-25 10:13:34 +00:00
lhk229 763f4b5b4c 策划列布局的命中判据补上窄条,hydrate 还没回来时澄清卡不再被裁
Project CI / Repository checks (pull_request) Successful in 4m24s
Project CI / Frontend tests (pull_request) Successful in 4m55s
Project CI / Backend tests (pull_request) Successful in 6m15s
Project CI / Native shell tests (pull_request) Successful in 14m53s
上一笔只用 `:has(.plan-gdd-surface)` 认策划链路,漏了一格:`PlanGddSurface` 在
`planGddState === null` 时整个返回 null,而 `planGddState` 初值就是 null,要靠
`hydrate_game_creator_plan_gdd_state` 这一次独立 IPC 才填上。首帧竞态、以及 hydrate
持续失败(非写锁争用的错误会把 state 留在 null)这两种情形下,策划 run 照跑、
`PlanningLaneRuntimeStrip` 照渲染澄清卡,但容器上的 `:has()` 不命中,#193 那套
`display: block` + 列表 `height: 100%` + `overflow: hidden` 原样回来,卡片又被静默裁到
可视区外。

判据改成 `.plan-gdd-surface` 与 `.planning-lane-runtime-strip` 的并集。两个类都只属于
策划链路,做游戏与做素材仍走 master 的 block 列。窄条在场本身就等价于「有东西要用户
动手」,并进来之后「卡片存在」和「列布局生效」是同一件事,不再依赖另一条异步链路的
时序。

守门加在已有的策划样式测试里(同一处已经钉着 #193 误删的几条规则):断言这条 flex 列
规则的 `:has()` 必须包含窄条类。已验证非空转——把并集改回单一类,这条断言变红。

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-25 10:03:24 +00:00
lhk229 f039337d06 策划链路恢复列布局,澄清卡与输入框不再被静默裁出可视区
Project CI / Repository checks (pull_request) Successful in 4m19s
Project CI / Frontend tests (pull_request) Successful in 4m45s
Project CI / Backend tests (pull_request) Successful in 6m16s
Project CI / Native shell tests (pull_request) Successful in 14m16s
现象:立项策划提交需求后,界面永远停在「任务已接收」,澄清问答卡不出现。后端、
模式判定、链路判据、readOnly、数据传递全部正确,卡片也确实渲染了——314px 高、
visible、opacity 1,只是被画在裁剪线外面。实测窄条 top=858 而容器 bottom=788,
超出 384px;scrollHeight 1235 vs clientHeight 734,输入框和状态行也一起在外面。

根因是 #193(5802048c3「Codex/agent chat layout fix」)重写这块布局时:

  - 给 .game-workbench-chat .project-supervisor-conversation 加了 display: block,
    杀死它从基础规则继承的 display: grid,行模板 minmax(340px,1fr) auto auto auto
    整个失效;
  - 把消息列表从 flex: 1 1 auto 改成 height: 100%,于是它独吞整列高度;
  - 删掉了 .game-workbench-chat .project-supervisor-composer 的 4 条规则,所以列表
    上那条 padding-bottom: 196px(本意是给「浮起来的输入框」留位)从来没有对应的
    定位规则,那个模型压根没成立过。

容器又是 overflow: hidden,所以排在列表后面的成员全部被无声裁掉。

只给策划链路恢复:`:has(.plan-gdd-surface)` 仅在策划面在场时命中,做游戏与做素材
保持 master 的 block 列原样不动。用 flex 列而不是 grid——子元素个数随「待确认命令」
的有无浮动,固定行模板会错位;而且既有的 .plan-gdd-surface { flex: 0 0 auto } 本来
就是照 flex 写的,容器变成 flex 之后它才第一次真正生效,此前一直是死声明。

另加 overflow-y: auto 兜底:审批卡展开到 52dvh 且窄条同时在场时理论上仍可能超出,
届时给滚动条而不是继承裁剪。这个 bug 的全部代价都来自「悄悄裁掉」。

顺带补一条 appSurface 用例,覆盖「首页做方案 → 自动建项目 → 自动投递 → 工作台出
澄清卡」这条此前零覆盖的路径。必须说明:它拦不住本次这类问题——jsdom 没有布局引擎,
高度恒为 0,裁剪与溢出对它天然不可见。它守的是数据流,不是版面。

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-25 09:43:32 +00:00
lhk229 b8dd1dc828 Merge branch 'master' into fix/design_frontend
Project CI / Repository checks (pull_request) Successful in 3m27s
Project CI / Frontend tests (pull_request) Successful in 4m16s
Project CI / Backend tests (pull_request) Successful in 4m56s
Project CI / Native shell tests (pull_request) Failing after 3m33s
2026-08-25 16:25:22 +08:00
lhk229 f829cef774 补回同批被删的单栏工作台规则,策划项目不再一打开就是空画布
Project CI / Repository checks (pull_request) Failing after 8s
Project CI / Backend tests (pull_request) Failing after 10s
Project CI / Frontend tests (pull_request) Successful in 3m58s
Project CI / Native shell tests (pull_request) Has been cancelled
上一发只按三组策划类根提取,漏了挂在工作台布局上的 is-conversation-only——
TSX 侧(planningStartMode && resources.length === 0 时给 game-workbench-layout
拼类名)经 #159 完整在主线上,规则同样死在 #193 那一刀里。症状:做方案项目一
打开,左边一整片空资源画布(文档 0 项、美术 0 项),本该收成单栏让对话铺满。

按「现有代码引用 + 现有 css 无规则 + #193 前有规则」三条同时成立做了全仓清点:
28 个被删类里受害者仅此一个,其余 27 个的引用方已在同批重构中移除,不属误删。

守门测试显式钉住这两条规则——它们不在策划组件文件里,靠类名推导扫不到。

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-25 08:10:37 +00:00
kdletters 7cb79e3aa4 发布 AGC 标准版 0.1.7
Project CI / Repository checks (push) Successful in 3m59s
Project CI / Frontend tests (push) Successful in 4m42s
Project CI / Backend tests (push) Successful in 5m9s
Project CI / Native shell tests (push) Successful in 13m42s
同步 AI 游戏创作器的 package、Cargo、Tauri 与锁文件版本。

更新版本一致性脚本及其测试夹具。
2026-08-25 16:08:54 +08:00
lhk229 d170326a6b 恢复被 #193 误删的策划前端全部样式,并加上组件到样式的守门测试
Project CI / Repository checks (pull_request) Successful in 3m29s
Project CI / Frontend tests (pull_request) Successful in 4m27s
Project CI / Backend tests (pull_request) Successful in 5m44s
Project CI / Native shell tests (pull_request) Successful in 12m53s
症状:立项策划界面整体裸奔——审批卡、阶段进度条、交付行没有任何框和布局,
「查看 GDD 正文」弹层因 backdrop 丢掉 fixed 定位而内联平铺进消息流。

成因:策划前端经 squash PR #159 完整进入 master,组件(TSX)至今与源分支最终态
逐字节一致;随后 #193「Codex/agent chat layout fix」重写聊天区样式时,把
styles.css 里策划前端的选择器整段删除——gdd-approval-card 34 条、plan-gdd* 17
条、planning-lane-runtime-strip 上限——未搬往任何其他文件(全仓检索为 0)。同一
个 PR 把 project-development.suite.ts 大幅重写,原有的 CSS 守门断言一并消失,
所以没有任何测试变红。

修复:从 5802048c3^ 原样取回全部 42 个规则块,整段追加在 styles.css 末尾并注明
来历。这些选择器在当前文件中出现次数为 0,纯加法、零冲突,不触碰 #193/#194 有意
重构的聊天区规则;追加在末尾也保持了原有的同权重覆盖关系(策划窄条的上限仍压过
调试面板的 240px 天花板)。

守门:plan-gdd.suite.ts(两轮样式重构都未被触碰的文件)新增一条测试,类名清单
直接从 GddApprovalCard / PlanningLaneRuntimeStrip 源码推导,逐个断言 styles.css
里有对应规则,另单独锁弹层 backdrop 的 fixed 定位。A/B 验证:抽掉恢复段即红,报
「styles.css 缺少 .plan-gdd-surface 的规则」。组件加新类而样式缺失、或样式再次
被顺手清理,这条都会拦住。

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-25 07:55:22 +00:00
kdletters c09a511aaa Codex/fix pr188 191 ci (#194)
Project CI / Repository checks (push) Successful in 2m24s
Project CI / Frontend tests (push) Successful in 2m54s
Project CI / Backend tests (push) Successful in 4m33s
Project CI / Native shell tests (push) Successful in 14m29s
Reviewed-on: http://192.168.35.82/git/GenarrativeAI/Genarrative/pulls/194
Co-authored-by: kdletters <kdletters@qq.com>
Co-committed-by: kdletters <kdletters@qq.com>
2026-08-25 15:41:55 +08:00
kdletters a265a0ff92 AGC 标准版升级至 0.1.6
Project CI / Repository checks (push) Failing after 4m14s
Project CI / Frontend tests (push) Failing after 5m8s
Project CI / Backend tests (push) Failing after 5m11s
Project CI / Native shell tests (push) Failing after 5m25s
统一 AI 游戏创作器的 package、Cargo 与 Tauri 版本号。

隔离 Developer Key 与 GUI 平台会话,并约束 DirectProject 原生 patch 路径。

补充对应回归测试与项目决策记录。
2026-08-25 15:18:01 +08:00
lhk229 31ebe4c78c 修复残留问题 (#192)
Project CI / Repository checks (push) Failing after 3m37s
Project CI / Frontend tests (push) Failing after 5m42s
Project CI / Backend tests (push) Failing after 5m40s
Project CI / Native shell tests (push) Failing after 5m27s
agent.db 是纯 append、全仓没有 rotation,而有界尾窗的记录数上限(16384)比写侧
的扫描上限(100 万)低两个数量级。截断掐掉的永远是更旧的记录,所以「命中」与截
断无关;只有「没命中」时才真的分不清「没写过」和「没看见」。

- plan_gdd_decision_audit_state_locked:截断判断从遍历前的无条件 Err 挪到遍历后、
  且只在没命中时报。原先任何写够记录的项目都会永久停在 needs-reconciliation——
  audit 明明就在窗口里,函数照样报错,文案还指向「identity 不一致」。
- approval_terminal_observation_exists_locked:不再把截断位丢给 `_`。没命中且截
  断时返回 Err 而不是 Ok(false),交给调用方既有的具名 projection gap 分支,不再
  让一次视野缺失冒充恢复缺口被反复重放。
- 收束闸 Err 分支标题改为「Fast GDD decision audit 无法确认」。Err 现在有 identity
  冲突和尾窗截断两种来源,具体原因由 detail 里的 error 原文给出。
- AGENT_DB_MAX_BOUNDED_RECORDS 改 pub(crate),让回归测试能精确把 fixture 撑过截
  断线,不必在测试里埋魔数。

新增 truncated_tail_scan_still_confirms_records_inside_the_window 钉住这两处:把
任一处改回旧行为都会让它失败。

recovery_scan.rs 的七槽审计是同样的形状,但它断言的是精确基数而非存在性,截断确
实证不了基数,另行处理。

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>

---------

Co-authored-by: 段舒康 <kdletters@qq.com>
Reviewed-on: http://192.168.35.82/git/GenarrativeAI/Genarrative/pulls/192
Co-authored-by: 孔令弘 <ink29535@proton.me>
Co-committed-by: 孔令弘 <ink29535@proton.me>
2026-08-25 14:27:31 +08:00
kdletters 96c2e4be44 发布AGC标准版0.1.5
Project CI / Frontend tests (push) Failing after 4m48s
Project CI / Repository checks (push) Failing after 5m3s
Project CI / Native shell tests (push) Failing after 5m48s
Project CI / Backend tests (push) Failing after 5m50s
同步Node、Tauri与Cargo版本

更新workspace与配置版本门禁
2026-08-25 14:26:36 +08:00
kdletters c6a9c00439 同步远端主线并发布 UI 工作流修复
Project CI / Repository checks (push) Failing after 4m16s
Project CI / Backend tests (push) Failing after 5m3s
Project CI / Frontend tests (push) Failing after 5m4s
Project CI / Native shell tests (push) Failing after 5m48s
- 合并远端客户端布局与版本修复
- 保留多模态 UI 工作流与鉴权错误分类
2026-08-25 13:57:01 +08:00
kdletters 96c5444972 修复 Codex app-server 鉴权错误分类
- 识别 401/403 上游鉴权失败并归类为 unauthorized

- 增加错误分类回归测试并保持敏感诊断脱敏

- 更新 UI 工作流 Runtime 鉴权失败门禁说明
2026-08-25 13:47:35 +08:00
kdletters 10786c9672 打通多模态 UI 工作流与 Agent Runtime 路由
- 接入 Codex app-server 原生图片输入与隔离暂存

- 统一 UI 识别、合并、绑定到 Agent Runtime Provider

- 增加页面自动发现、UI 资源桥接与阶段持久化

- 同步画布编辑器投影、测试与技术文档
2026-08-25 13:06:46 +08:00
wuxiangwanzi 5802048c30 Codex/agent chat layout fix (#193)
Project CI / Repository checks (push) Failing after 4m12s
Project CI / Frontend tests (push) Failing after 4m18s
Project CI / Native shell tests (push) Failing after 5m9s
Project CI / Backend tests (push) Successful in 5m45s
Co-authored-by: kdletters <kdletters@qq.com>
Reviewed-on: http://192.168.35.82/git/GenarrativeAI/Genarrative/pulls/193
Co-authored-by: 五香丸子 <15518898337@163.com>
Co-committed-by: 五香丸子 <15518898337@163.com>
2026-08-25 12:36:51 +08:00
kdletters 23ea6d4906 升级AGC标准发行版patch版本
Project CI / Repository checks (push) Failing after 4m43s
Project CI / Frontend tests (push) Failing after 3m36s
Project CI / Backend tests (push) Successful in 8m28s
Project CI / Native shell tests (push) Failing after 6m43s
将AI游戏创作壳版本升级到0.1.4

同步Tauri、Cargo及版本校验门禁
2026-08-25 10:49:15 +08:00
wuxiangwanzi 07afb6d753 增加资源页签新资源红点 (#191)
Project CI / Native shell tests (push) Failing after 5m3s
Project CI / Backend tests (push) Successful in 6m1s
Project CI / Repository checks (push) Failing after 3m53s
Project CI / Frontend tests (push) Failing after 3m20s
按项目会话追踪非当前栏目新增资源并在切换后清除
为页签名称添加红点样式和无障碍标识
补充资源页签行为测试及工作台文档

---------

Co-authored-by: 段舒康 <kdletters@qq.com>
Reviewed-on: http://192.168.35.82/git/GenarrativeAI/Genarrative/pulls/191
Co-authored-by: 五香丸子 <15518898337@163.com>
Co-committed-by: 五香丸子 <15518898337@163.com>
2026-08-25 10:48:12 +08:00
wuxiangwanzi 77b090fc77 隐藏首页模糊项目提示 (#188)
Project CI / Frontend tests (push) Failing after 3m2s
Project CI / Backend tests (push) Successful in 4m40s
Project CI / Repository checks (push) Failing after 2m37s
Project CI / Native shell tests (push) Failing after 4m13s
首页默认项目状态改为空
移除最近项目标题下的解释性副标题
补充首页视觉规则并更新界面测试

---------

Co-authored-by: 段舒康 <kdletters@qq.com>
Co-authored-by: kdletters <kdletters@qq.com>
Reviewed-on: http://192.168.35.82/git/GenarrativeAI/Genarrative/pulls/188
Co-authored-by: 五香丸子 <15518898337@163.com>
Co-committed-by: 五香丸子 <15518898337@163.com>
2026-08-25 10:47:20 +08:00
kdletters 9f8a24fc23 解锁AGC直连Codex原生工具
Project CI / Backend tests (push) Successful in 4m6s
Project CI / Repository checks (push) Successful in 3m31s
Project CI / Frontend tests (push) Successful in 4m5s
Project CI / Native shell tests (push) Successful in 14m2s
精简DirectProject系统提示词与浏览器证据回传
开放受沙箱约束的原生文件搜索命令和Skill
通过本地凭据代理隔离Provider真实密钥
保留agc_tools账本与Runtime持久化权威
同步更新AGC技能包指纹和架构文档
2026-08-24 22:21:23 +08:00
kdletters 4b35a0cabd Merge pull request '恢复资源排列胶囊分段按钮' (#190) from codex/restore-resource-sort-segmented-control into master
Project CI / Repository checks (push) Successful in 3m24s
Project CI / Frontend tests (push) Successful in 3m35s
Project CI / Native shell tests (push) Successful in 17m42s
Project CI / Backend tests (push) Successful in 4m58s
Reviewed-on: http://192.168.35.82/git/GenarrativeAI/Genarrative/pulls/190
2026-08-24 21:56:53 +08:00
wuxiangwanzi 84f993260a 恢复资源排列胶囊分段按钮
Project CI / Repository checks (pull_request) Successful in 3m0s
Project CI / Frontend tests (pull_request) Successful in 3m39s
Project CI / Backend tests (pull_request) Successful in 4m51s
Project CI / Native shell tests (pull_request) Successful in 19m37s
将依赖与类型恢复为同一胶囊内的左右分段按钮。

保留按依赖与按类型的无障碍名称并恢复可见短文案。

新增真实 DOM 结构回归,防止后续合并再次拆散按钮组。
2026-08-24 21:51:25 +08:00
lhk229 3d8e0211db 5分钟策划agent (#159)
Project CI / Repository checks (push) Successful in 3m54s
Project CI / Frontend tests (push) Successful in 4m20s
Project CI / Backend tests (push) Successful in 4m33s
Project CI / Native shell tests (push) Successful in 16m31s
Co-authored-by: 段舒康 <kdletters@qq.com>
Reviewed-on: http://192.168.35.82/git/GenarrativeAI/Genarrative/pulls/159
Co-authored-by: Linghong <ink29535@proton.me>
Co-committed-by: Linghong <ink29535@proton.me>
2026-08-24 21:44:44 +08:00
suzmii 532c6d51fd 完善 Game Agent 资源画布与图片精修生成事务 (#181)
Project CI / Repository checks (push) Successful in 4m5s
Project CI / Frontend tests (push) Successful in 4m48s
Project CI / Backend tests (push) Successful in 6m6s
Project CI / Native shell tests (push) Successful in 15m24s
## 背景

本合并请求整合 Game Agent 资源管理的栏目分页自由画布,以及图片持续精修、候选生成和本地恢复事务。

当前远端比较基线:

- base:`master` @ `b00a3f80576949567bf3320f0c6c92b4ed0a649d`
- head:`codex/game-agent-resource-section-pages` @ `5795d2f9b8797c342dcf2920ccefec2a3ff3f472`
- 相对 base:28 commits、33 files(`+3746 / -1333`)

## 主要改动

### 资源管理分页自由画布

- 固定展示“设计文档 → 美术资源 → 音乐音效 → 游戏代码 → 项目版本”五个栏目;空栏目仍可从悬浮 Dock 打开空画布。
- `按依赖` 与 `按类型` 共用栏目分页画布;每个“排序模式 + 栏目”组合独立保存 viewport。
- 普通滚轮使用有界意图队列切换栏目;Ctrl/Meta + 滚轮以指针为锚点缩放;空白拖拽可沿 x/y 无限平移,不以资源 extent 作为导航边界。
- 资源卡支持拖拽布局与一次 CAS 持久化;切页、排序切换和卸载会统一取消拖拽及 pointer capture。
- 资源详情为非模态独立卡片:打开、切换或关闭详情不卸载背景画布、资源卡或依赖连线,也不重置 viewport、搜索或排序状态。
- 顶部已移除“生成视频 / 生成音效 / 生成背景音乐 / 新增 UI 设计”的手动入口;保留播放、未完成编辑恢复、排序和画布复位,以及资源详情中的既有编辑动作。

### 图片持续精修与生成事务

- 图片资源可进入唯一活动精修草稿,支持原生批量导入、图片下方快速编辑卡、候选图层、任务侧栏和“设为最终图”。
- 生成成功只合并候选图层和 generation 权威事实,不以全量 hydrate 覆盖生成期间的本地编辑。
- 候选媒体、图层和公开 generation 记录写入并回读成功后,才推进私有 `candidate-ready`。
- 候选确认接入 Surface 保存 FIFO 与重新打开 hydrate;revision-sensitive 操作等待确认屏障。
- 失败归档和正式图提交采用可恢复中间态,避免中断后出现幽灵任务、重复 revision 或不一致的正式资产。

### 合同与文档

- `acknowledgeCandidateLayers`、`importLocalImages`、`archiveFailedGeneration` 为必选 Host Port;不支持的宿主返回结构化 `unsupported-capability`。
- 同步更新 TypeScript / Rust 合同、Tauri command 可达性、PRD、技术方案与项目共享记忆。
- 明确资源栏目无限画布合同:普通平移不夹取;资源 extent、图片测量、布局变更和 resize 不得重置用户 viewport;仅首次可测量布局与显式复位按真实卡片包围盒适配内容。

## 验证

CI run [#1290](https://git.genarrative.world/git/GenarrativeAI/Genarrative/actions/runs/1290) 针对当前 head 已完成且四项均成功:

- [x] Repository checks
- [x] Frontend tests(235 test files、3166 tests passed;App Surface 410 tests)
- [x] Backend tests
- [x] Native shell tests

另有本地定向检查:

- [x] `npm run agc:typecheck`
- [x] 资源画布、App Surface、Asset Canvas 与资源实时集成定向回归
- [x] Rust 候选确认、候选中断恢复、失败归档与恢复定向测试
- [x] `cargo fmt --check`
- [x] `npm run check:encoding`
- [x] `git diff --check`

## 评审 provenance

- review #247、#248、#252 都针对旧 head,当前在 Gitea 中均标记为 stale;不将其写作“已处理 #247”或当前 head 的评审结论。
- review #253 针对旧 `5456a1d…` head,提出 PRD 退役入口、共享 pitfalls 的 extent 旧合同和 PR 正文事实更新三项 P2;对应文档已在 `5795d2f…` head 修复并推送。
- 早期由 PR #176 引入的候选持久化、归档、Host Port 与快速编辑卡问题,当前已在 base/head 中具备对应修复,不作为本轮重复阻断项。
- 当前 head 仍需新的、针对最新提交的审批;历史 stale review 不能替代当前 head approval。

## 影响范围

- 修改 AI 游戏创作 App 的资源管理、图片精修、Tauri 本地持久化与恢复语义,以及共享合同和权威文档。
- 会调整本地资源布局、精修 draft 和私有 generation ledger 的状态机。
- 不修改 SpacetimeDB schema,不新增或变更 `/api/external/v1` 路由。

---------

Co-authored-by: kdletters <kdletters@qq.com>
Reviewed-on: http://192.168.35.82/git/GenarrativeAI/Genarrative/pulls/181
Co-authored-by: suzmii <suzmii@qq.com>
Co-committed-by: suzmii <suzmii@qq.com>
2026-08-24 20:42:58 +08:00
kdletters b00a3f8057 移除资源画布顶部手动生成入口
Project CI / Repository checks (push) Successful in 6m9s
Project CI / Frontend tests (push) Successful in 6m19s
Project CI / Backend tests (push) Successful in 7m23s
Project CI / Native shell tests (push) Successful in 15m50s
删除资源画布顶部的生成视频、生成音效、生成背景音乐和新增 UI 设计按钮
移除仅服务于这些入口的前端 handler 与入口配置
保留 Agent 语义生成、已有资源编辑、生成动画和未完成任务恢复能力
补充顶部入口消失与画布级操作保留的定向回归测试
同步更新 AGC 配置白名单、技术方案与项目决策记录
2026-08-24 18:29:43 +08:00
suzmii 15a524e6e0 Feat: 完善 Game Agent 资源画板与图片精修链路 (#176)
Project CI / Native shell tests (push) Successful in 13m19s
Project CI / Repository checks (push) Successful in 3m31s
Project CI / Frontend tests (push) Successful in 4m16s
Project CI / Backend tests (push) Successful in 5m7s
## 摘要

本 PR 将 Game Agent 资源管理页升级为真实自由画板,并打通图片资源的快速编辑、候选生成、导入、失败归档与正式图提交流程。

同时补齐图片精修的事务恢复、候选身份校验、生成中任务恢复、鉴权重试,以及“设为最终图”后游戏运行资源的稳定刷新链路。

## 主要变更

### 1. 资源管理页自由画板

- “按依赖”视图改为统一自由画板:
  - 支持指针拖拽平移
  - 滚轮平移
  - `Ctrl / Meta + wheel` 以指针为锚点缩放
  - 支持复位和全量资源适配
- 增加隐藏导航边界:
  - 边界由全量资源世界范围加安全留白决定
  - 搜索过滤不会缩小边界
  - 用户不能把全部资源拖出可视区域
- 图片资源卡按真实宽高比展示:
  - 预览读取真实 `pixelWidth / pixelHeight`
  - 布局碰撞、世界范围、依赖连线共同消费同一资源矩形
  - 非图片资源保持固定卡片尺寸
- 点击资源改为非模态详情卡:
  - 背景画板不卸载
  - 顶部工具栏、搜索、排序、缩放状态不重置
  - 图片详情不再进入全屏页

### 2. 图片资源快速编辑与精修画布

- 点击图片资源后直接显示快速编辑卡。
- 图片精修顶栏收敛为紧凑操作:
  - 返回
  - 导入
  - 定位当前最终图
  - 撤销 / 重做
- 删除、修改、设为最终图进入选中图片的上下文卡片。
- 快速编辑生成不再阻塞整张画布:
  - 立即创建生成占位卡
  - 占位卡可拖动并持久化位置
  - 右上任务列表显示排队 / 生成中 / 完成 / 失败状态
  - 任务列表可折叠
- 生成失败只影响当前任务:
  - 保留失败占位
  - 可显式归档失败任务
  - `reconciliation-required` 任务不允许删除
- 原生多选图片导入:
  - 使用 Tauri 原生文件选择
  - 后端批量安全读取
  - 一次推进草稿 revision
  - 失败不留下半导入状态

### 3. 候选图与正式图事务

- 生成成功只加入草稿私有候选层,不直接修改 manifest。
- “设为最终图”是唯一正式资源切换入口。
- refine 保持原 asset ID 和来源身份,不追加新的业务资产身份。
- 正式文件使用不可变路径:

  ```text
  assets/canvas/<name>--<commitId>.png

---------

Co-authored-by: kdletters <kdletters@qq.com>
Reviewed-on: http://192.168.35.82/git/GenarrativeAI/Genarrative/pulls/176
Co-authored-by: suzmii <suzmii@qq.com>
Co-committed-by: suzmii <suzmii@qq.com>
2026-08-24 16:27:33 +08:00
kdletters e6105cdcf9 提升AGC标准安装包patch版本
Project CI / Repository checks (push) Successful in 4m31s
Project CI / Frontend tests (push) Successful in 5m9s
Project CI / Backend tests (push) Successful in 6m8s
Project CI / Native shell tests (push) Successful in 14m34s
同步标准客户端版本到0.1.2

更新workspace与配置版本门禁
2026-08-24 15:34:57 +08:00
kdletters c59b8d4a1e 接入 External v1 抠图工具
Project CI / Frontend tests (push) Successful in 4m34s
Project CI / Repository checks (push) Successful in 4m38s
Project CI / Backend tests (push) Successful in 5m24s
Project CI / Native shell tests (push) Successful in 14m14s
将 agc_remove_background 切换到 External v1 异步契约

补齐稳定幂等身份、画布目录上下文与有界队列投影

同步 Skill、技术方案与项目决策记录
2026-08-24 15:16:02 +08:00
kdletters 03add97d30 Merge remote-tracking branch 'origin/master' 2026-08-24 15:04:12 +08:00
kdletters 275cab876c 开放受控抠图语义工具
新增 agc_remove_background 工具目录与客户端桥接

绑定登录账号、画布目录、稳定任务身份与有界队列结果

同步 Skill、技术方案和项目决策记录

补充工具参数、队列投影与内容指纹测试
2026-08-24 15:03:37 +08:00
wuxiangwanzi 1334648246 优化客户端登录界面视觉 (#185)
Project CI / Repository checks (push) Successful in 2m28s
Project CI / Frontend tests (push) Successful in 3m28s
Project CI / Backend tests (push) Successful in 4m41s
Project CI / Native shell tests (push) Successful in 14m6s
登录检查、登录页和错误页统一使用陶泥儿产品形象与平台浅色主题。

优化登录卡片、输入控件、切换按钮及窄屏布局。

补充认证界面测试并同步更新客户端技术方案。

---------

Co-authored-by: 段舒康 <kdletters@qq.com>
Co-authored-by: kdletters <kdletters@qq.com>
Reviewed-on: http://192.168.35.82/git/GenarrativeAI/Genarrative/pulls/185
Co-authored-by: 五香丸子 <15518898337@163.com>
Co-committed-by: 五香丸子 <15518898337@163.com>
2026-08-24 14:38:15 +08:00
suzmii aa8e3507d1 新增 External v1 去背景生成链路 (#184)
Project CI / Repository checks (push) Successful in 4m20s
Project CI / Frontend tests (push) Successful in 4m31s
Project CI / Backend tests (push) Successful in 5m45s
Project CI / Native shell tests (push) Successful in 14m53s
新增外部去背景 API、MCP 工具与异步队列契约

补齐来源归属、媒体类型、幂等重放和画布原子持久化校验

修复 provenance 重建、assetKindOverride 门禁与 revision retry 竞态

同步 Python helper、Skill、OpenAPI 及项目文档

---------

Co-authored-by: kdletters <kdletters@qq.com>
Reviewed-on: http://192.168.35.82/git/GenarrativeAI/Genarrative/pulls/184
Co-authored-by: suzmii <suzmii@foxmail.com>
Co-committed-by: suzmii <suzmii@foxmail.com>
2026-08-24 14:37:32 +08:00
kdletters 042eb05b0e 提升AGC标准安装包patch版本
Project CI / Repository checks (push) Successful in 3m24s
Project CI / Frontend tests (push) Successful in 4m5s
Project CI / Backend tests (push) Successful in 5m4s
Project CI / Native shell tests (push) Successful in 13m0s
同步Tauri、Cargo与Node版本到0.1.1

更新AGC配置检查门禁
2026-08-24 12:42:56 +08:00
kdletters 299b52d71b Merge remote-tracking branch 'origin/master'
Project CI / Repository checks (push) Successful in 4m6s
Project CI / Frontend tests (push) Successful in 4m51s
Project CI / Backend tests (push) Successful in 6m15s
Project CI / Native shell tests (push) Successful in 15m50s
# Conflicts:
#	apps/ai-game-creator-shell/src-tauri/src/project/resource_editor.rs
2026-08-24 12:21:29 +08:00
kdletters 46053832fd 补齐 Codex 语义媒体资源能力
新增登记资源查询与媒体创建/派生工具

接入画布上下文、幂等账本与 warning 回放

更新客户端 Skill、技术方案与决策记录

补充资源生成与传输失败回归测试
2026-08-24 12:05:27 +08:00
kdletters 2449e77461 修复切换账号后画布资源不可编辑 (#182)
Project CI / Frontend tests (push) Successful in 5m10s
Project CI / Backend tests (push) Successful in 5m37s
Project CI / Repository checks (push) Successful in 4m24s
Project CI / Native shell tests (push) Successful in 13m9s
## 变更

- 新增按服务 origin、平台 userId / Developer Key 摘要和本地 projectId 分区的 External Editor 项目绑定
- 新增按当前 principal、远端项目、本地 assetId、源 SHA-256、媒体类型和 canonical kind 分区的资源绑定
- manifest 中的 canvasProjectId / resourceId / assetObjectId 仅保留来源信息,不再作为当前账号的可编辑授权
- 切换账号后从本地正式资源重新上传、confirm、登记;图片、视频、角色动画、素材画布参考、art-spec 派生和 Direct 恢复统一使用当前账号绑定
- prepared / accepted / running 账本继续冻结原 principal;账号变化或远端结果不确定时停止补偿并保留现场等待对账
- 同步技术方案、decision log 和 pitfalls

## Review 结论

- 两路独立代码 review 均未发现剩余 P0-P2
- Review 发现并关闭了 max-pass 测试误放宽问题,恢复为绑定最大轮次的强断言
- 首轮 CI 暴露两处本 PR import 排序错误,已在独立提交 09486f142 中修复并复核

## 验证

- Rust 完整测试:2301 passed,0 failed,16 ignored
- Rust 集成与构建测试:5 + 2 + 14 passed
- repository-ci 本地同构门禁通过:lint、typecheck、139 表 SpacetimeDB schema guard、403 个 appSurface 测试、web/admin-web build
- External Editor procedure 真实 smoke 通过:精确重放、冲突、删除 fail-close、并发和孤儿检查
- Encoding check:5594 files
- git diff --check 通过
- Gitea Project CI run 1253:Repository checks、Frontend、Backend、Native shell tests 全部通过
- 当前 head a0b8415be 已合并 origin/master 44ee28c43,PR 无冲突

## 后续依赖

PR #176 暴露了这一公共账号身份缺陷。该 PR 合并后,#176 需要 rebase,并删除或接入其局部 canonical cache,不能保留第二套账号绑定系统。

Reviewed-on: http://192.168.35.82/git/GenarrativeAI/Genarrative/pulls/182
Co-authored-by: kdletters <kdletters@qq.com>
Co-committed-by: kdletters <kdletters@qq.com>
2026-08-24 11:33:37 +08:00
wuxiangwanzi 44ee28c43f 让运行视窗按内容自适应 (#180)
Project CI / Repository checks (push) Successful in 3m38s
Project CI / Frontend tests (push) Successful in 3m55s
Project CI / Backend tests (push) Successful in 4m7s
Project CI / Native shell tests (push) Failing after 9m31s
为本地预览注入只读尺寸桥并校验 iframe 消息来源

按可用区域等比缩放完整游戏画面并移除横纵滚动条

补充前端与 Rust 回归测试并同步运行视窗文档

---------

Co-authored-by: kdletters <kdletters@qq.com>
Reviewed-on: http://192.168.35.82/git/GenarrativeAI/Genarrative/pulls/180
Co-authored-by: 五香丸子 <15518898337@163.com>
Co-committed-by: 五香丸子 <15518898337@163.com>
2026-08-24 10:54:06 +08:00
kdletters 0b546c9e4c 完善AGC受控客户端能力
Project CI / Repository checks (push) Successful in 4m44s
Project CI / Frontend tests (push) Successful in 6m6s
Project CI / Backend tests (push) Successful in 6m8s
Project CI / Native shell tests (push) Failing after 12m41s
补齐美术复用与显式重生成模式、稳定回合身份和幂等补偿恢复
收紧付费授权、四切片资源身份及告警投影边界
限制Direct Codex仅写真实game目录并接入受控联网搜索
持久化Direct用户与助手消息并修复同进程恢复竞争
同步审核Skill、技术文档、项目记忆和回归测试
2026-08-23 22:34:16 +08:00
wuxiangwanzi e3b229ac78 调整 Agent 对话栏 Logo 与工作台布局 (#183)
Project CI / Repository checks (push) Successful in 5m34s
Project CI / Frontend tests (push) Successful in 6m5s
Project CI / Backend tests (push) Successful in 12m14s
Project CI / Native shell tests (push) Successful in 22m32s
放大 Agent 栏产品 Logo 并接入正式钱包入口
移除工作台外层卡片圆角与间距,改用区域底色和竖向分隔
将资源依赖/类型切换整理为联通分段按钮

---------

Co-authored-by: kdletters <kdletters@qq.com>
Reviewed-on: http://192.168.35.82/git/GenarrativeAI/Genarrative/pulls/183
Co-authored-by: 五香丸子 <15518898337@163.com>
Co-committed-by: 五香丸子 <15518898337@163.com>
2026-08-23 22:09:47 +08:00
Git Hooks Test 8fe439feba 修复AGC资源生成的序列帧持久化与画布完成上下文
Project CI / Repository checks (push) Successful in 4m20s
Project CI / Frontend tests (push) Successful in 4m35s
Project CI / Backend tests (push) Successful in 6m59s
Project CI / Native shell tests (push) Successful in 17m52s
- 本地manifest资产新增imageSequenceFrames和imageSequenceDurationMs,角色动画完成后随账本恢复并写回manifest

- 新建视频、音效和背景音乐时创建或复用同名画板项目与素材库目录,并携带projectId、assetFolderId和canvasCompletion

- 资源编辑请求指纹纳入generationMode,旧账本继续通过legacy指纹兼容

- 同步更新共享契约、前端资源投影、实施计划文档与定向测试
2026-08-23 21:37:27 +08:00
Git Hooks Test e0319e80f0 补齐AGC资源生成能力并接入视频动画与音频生成
- 资源编辑命令新增create生成模式,支持无源视频、音效和背景音乐生成

- 图片聚焦态新增角色动画生成入口,提交角色动画接口并下载预览视频登记为本地媒体

- 资源页新增生成视频、生成音效、生成背景音乐入口

- 统一资源编辑面板按生成模式区分新建媒体资源与编辑现有资源

- 补充资源生成与角色动画定向测试,并更新AI游戏创作App实施计划文档
2026-08-23 21:37:27 +08:00
wuxiangwanzi b1ee6d816d 优化Agent对话用户消息气泡 (#179)
Project CI / Repository checks (push) Successful in 3m42s
Project CI / Frontend tests (push) Successful in 4m19s
Project CI / Backend tests (push) Successful in 5m16s
Project CI / Native shell tests (push) Successful in 15m27s
将用户消息改为右侧气泡显示。

统一项目对话、Agent聊天页和Agent对话弹窗样式。

补充消息宽度、换行、圆角和移动端友好布局。

---------

Co-authored-by: kdletters <kdletters@qq.com>
Reviewed-on: http://192.168.35.82/git/GenarrativeAI/Genarrative/pulls/179
Co-authored-by: 五香丸子 <15518898337@163.com>
Co-committed-by: 五香丸子 <15518898337@163.com>
2026-08-23 19:06:05 +08:00
wuxiangwanzi 814fc343e2 优化客户端主界面表现 (#177)
Project CI / Repository checks (push) Successful in 4m11s
Project CI / Frontend tests (push) Successful in 5m52s
Project CI / Backend tests (push) Successful in 5m59s
Project CI / Native shell tests (push) Successful in 12m34s
调整首页品牌区、创作类型按钮和输入框视觉比例。

重做最近项目横向信息卡并展示类型、更新时间和进度。

补充本地项目修改时间只读字段及首页回归测试。

同步更新 GameAgent 客户端实施文档。

---------

Co-authored-by: kdletters <kdletters@qq.com>
Reviewed-on: http://192.168.35.82/git/GenarrativeAI/Genarrative/pulls/177
Co-authored-by: 五香丸子 <15518898337@163.com>
Co-committed-by: 五香丸子 <15518898337@163.com>
2026-08-23 16:50:14 +08:00
Git Hooks Test c98bf4a17a 新增AGC受控联网搜索工具
Project CI / Native shell tests (push) Failing after 2m9s
Project CI / Repository checks (push) Successful in 4m23s
Project CI / Frontend tests (push) Successful in 4m34s
Project CI / Backend tests (push) Successful in 5m59s
在DirectProject的agc_tools MCP中按webSearchEnabled开关新增agc_web_search工具。

通过客户端loopback工具桥固定访问Bing RSS并返回有界公开HTTPS结果。

保持Codex原生webSearch禁用,并同步搜索开关到系统提示词与连接池隔离边界。

补充MCP目录、参数校验、结果过滤、真实搜索链路和配置回归测试,并更新技术文档。
2026-08-23 16:04:25 +08:00
kdletters 1a909704aa 预览镜像同时内置本地环境配置
Project CI / Repository checks (push) Successful in 2m52s
Project CI / Native shell tests (push) Failing after 2m50s
Project CI / Frontend tests (push) Successful in 4m11s
Project CI / Backend tests (push) Successful in 4m44s
预览 API 与 worker 通过 BuildKit secret 内置 .env.local

补齐预览控制面固定 .env.local 校验与文档

更新 Docker 构建边界测试
2026-08-23 14:29:46 +08:00
kdletters 78ebe063f3 修复Jenkins Web构建npm版本漂移
Project CI / Native shell tests (push) Failing after 2m18s
Project CI / Repository checks (push) Successful in 4m7s
Project CI / Frontend tests (push) Successful in 4m35s
Project CI / Backend tests (push) Successful in 5m30s
新增 Jenkins 用户级 npm 10.9.7 版本隔离引导
在 Web Build 各独立 shell 复用固定 npm 后执行 workspace 安装与门禁
收紧生产运维检查并同步 npm workspaces 文档与共享决策
2026-08-23 04:11:18 +08:00
kdletters 5c58539052 修复AGC配置脚本导入顺序
Project CI / Native shell tests (push) Failing after 2m49s
Project CI / Repository checks (push) Successful in 3m57s
Project CI / Frontend tests (push) Successful in 4m50s
Project CI / Backend tests (push) Successful in 5m31s
按仓库 ESLint 规则整理 TypeScript 导入分组,解除 master 推送门禁
2026-08-23 01:59:21 +08:00
kdletters d8a7e814f2 实现AGC直连增量进度反馈
新增 direct turn update 事件与安全活动、正文增量、序号及终态生命周期
接入 Codex app-server 活动观察并限制高频活动通知
在 AGC 项目聊天渲染过程卡并保护项目与回合隔离、乱序门禁和自动跟随
补齐 direct 增量反馈的前端、Rust 回归测试与 Direct Interaction Event v1 文档
2026-08-23 01:54:28 +08:00
kdletters 01b10aafb2 修复素材画布生成恢复与模态交互
素材生成凭据失败保留原幂等身份并支持登录后恢复
素材生成在远端提交、下载暂存和正式提交前复验会话与草稿状态
稳定 staging token 支持半提交修复并对冲突和文件系统异常失败关闭
素材画布三类模态框增加焦点圈闭、背景隔离和焦点恢复
Tauri 命令可达性改为 TypeScript AST 扫描并收紧 allowlist
补充生成恢复、取消态、staging 与模态交互回归及项目决策记录
2026-08-23 01:54:28 +08:00
Git Hooks Test 32da013545 修复AGC Skill跨平台指纹漂移
Project CI / Native shell tests (push) Failing after 2m5s
Project CI / Repository checks (push) Successful in 3m34s
Project CI / Frontend tests (push) Successful in 4m14s
Project CI / Backend tests (push) Successful in 5m58s
统一以UTF-8 LF规范化内容计算Skill与清单指纹
安装隔离Skill时写入规范化文本避免Windows混合换行
增加LF与CRLF等价及安装结果回归测试
同步Skill Pack版本与实施文档、技术方案和踩坑记录
2026-08-23 01:20:28 +08:00
JenkenB b7a6f853d5 修复 AGC 内置 Skill 内容指纹 (#175)
Project CI / Repository checks (push) Successful in 3m50s
Project CI / Native shell tests (push) Failing after 1m36s
Project CI / Frontend tests (push) Successful in 3m55s
Project CI / Backend tests (push) Successful in 4m30s
## 变更

- 重算并修正三项内置 AGC Skill 的内容指纹
- 将审核 Skill Pack 版本提升至 2026-08-22.2
- 补充指纹回归防范记录

## 验证

- AGC Skill Pack Rust 单测 4/4 通过
- npm run check:encoding 通过
- git diff --check 通过

---------

Co-authored-by: 段舒康 <kdletters@qq.com>
Reviewed-on: http://192.168.35.82/git/GenarrativeAI/Genarrative/pulls/175
Co-authored-by: 高物 <253518756@qq.com>
Co-committed-by: 高物 <253518756@qq.com>
2026-08-22 16:53:36 +08:00